CN102800307B - 乐音生成装置 - Google Patents
乐音生成装置 Download PDFInfo
- Publication number
- CN102800307B CN102800307B CN201210184809.5A CN201210184809A CN102800307B CN 102800307 B CN102800307 B CN 102800307B CN 201210184809 A CN201210184809 A CN 201210184809A CN 102800307 B CN102800307 B CN 102800307B
- Authority
- CN
- China
- Prior art keywords
- mentioned
- moment
- zero cross
- cross point
- voice data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H1/00—Details of electrophonic musical instruments
- G10H1/36—Accompaniment arrangements
- G10H1/40—Rhythm
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H2240/00—Data organisation or data communication aspects, specifically adapted for electrophonic musical tools or instruments
- G10H2240/325—Synchronizing two or more audio tracks or files according to musical features or musical timings
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Electrophonic Musical Instruments (AREA)
Abstract
本发明提供一种乐音生成装置,CPU(21)按照基于乐曲数据中包含的时间信息的经过时间,读取并再生上述音频数据。接着,判断多个演奏操作键中的某个演奏操作键的操作时刻是否与上述乐曲数据所示的发音时刻一致。当在此判定为不一致时,将音频数据的读取位置从与操作时刻对应的零交叉点,跳到与发音时刻相对应的零交叉点,在此以后,继续进行普通的音频数据的读取再生。
Description
相关申请的交叉参考
本申请基于先前在2011年4月6日递交的日本专利申请No.2011-84222和2011年8月26日递交的日本专利申请2011-185697,并享受其优先权的好处;其全部内容被收容于本申请中,以资参考。
技术领域
本发明涉及通过按键乐音数据和音频数据协作的乐音生成装置。
背景技术
在电子乐器中,所谓的“自动伴奏”的功能为人们熟知。在自动伴奏的功能中,存储有预定的乐曲的自动伴奏模式的数据,按照预定拍子,依次读入其数据,发出构成自动伴奏的乐音。演奏者一边听该自动伴奏,一边在由乐曲规定的时刻,按动预定的部分(一般为旋律)的键,由此,发出完成的乐曲的乐音。
在自动伴奏模式中,在符合自动伴奏模式所示的伴奏序列的发音时刻,发出相当于预定的代码的组成音的乐音。另外,在自动伴奏模式中,还包含构成旋律音的对旋律等的伴奏音与节奏音。
这样的自动伴奏具有与演奏者通过操作按键产生乐音相同的发音形式。即,在按照伴奏序列的发音时刻,将包含音高和音色的音符开事件(note on event)发送给音源部,音源部从存储有波形数据的ROM,对于指定的音色的数据,按照符合音高的速度,读取波形数据,由此,输出预定的音色和音高的乐音波形数据。
在具有这样的自动伴奏功能的电子乐器中,并不限于演奏者熟练地进行乐曲的演奏,具有没有在标准的按键时刻,按键的情况或者按键错误的情况。在日本特开2000-206965号文献或日本特开2007-114539号文献中公开的电子乐器中,此时,使自动伴奏模式的读取恰当,防止产生仅伴奏随便地进行的情况。
另一方面,人们提出了下述的电子乐器,其接收来自音频播放器等其它的音响设备的音频数据,或接收对来自麦克风等的音响信号进行采用得到的音频数据,可以再生这样的音频数据和从音源部发出的乐音波形数据双方。
例如,可考虑下述的装置,将音频数据作为自动伴奏进行再生,使旋律音成为根据演奏者的键操作通过音源部形成的乐音波形数据。此时,因为按照预定的采样频率读取音频数据,所以具有下述的问题,难以在演奏者无法在标准的按键时刻按键时,与演奏者的演奏相配合地控制音频数据的读取。
发明内容
本发明的目的在于提供一种乐音生成装置,在作为自动伴奏再生音频数据时,能够对应于演奏者的键操作,实现恰当的音频数据的读出。
本发明的目的通过下述的乐音生成装置实现,该乐音生成装置具备:
存储单元,其存储乐曲数据以及作为上述乐曲数据的乐曲的伴奏数据的音频数据,上述乐曲数据包含构成乐曲的乐音的音高和表示发音时刻的时间信息;
乐音数据生成单元,其根据多个演奏操作键的操作,生成预定的乐音的乐音数据;以及
音频数据再生单元,其按照基于上述乐曲数据中包含的时间信息的经过时间,读取并再生上述音频数据,
上述音频数据再生单元具备:
操作判断单元,其判断上述多个演奏操作键中的某个演奏操作键的操作时刻是否与上述乐曲数据所示的发音时刻一致;
再生控制单元,其在通过该操作判断单元判定不一致时,将上述音频数据的读取位置从与上述操作时刻相对应的零交叉点跳到与上述发音时刻对应的零交叉点,之后继续进行通常的音频数据的读出再生。
附图说明
图1为表示本实施方式的电子乐器的外观的图;
图2为表示本发明的实施方式的电子乐器的结构的方框图;
图3为在本实施方式中,进行歌曲伴奏时的乐曲数据和其按键时刻的例子的图;
图4为在本实施方式中,进行歌曲伴奏时的乐曲数据以及其按键时刻的例子的图;
图5为在本实施方式中,进行歌曲伴奏时的乐曲数据和其按键时刻的例子的图;
图6A为表示本实施方式的乐曲数据的数据结构例子的图,图6B为存储在处理的过程中设定的数据的寄存器组的例子的图;
图7A为表示在本实施方式的电子乐器中进行的主流程的例子的流程图,图7B为表示本实施方式的计时器中断处理的例子的流程图;
图8为更具体地表示本实施方式的键盘处理的例子的流程图;
图9为表示本实施方式的课程键盘处理的例子的流程图;
图10为表示本实施方式的歌曲处理的例子的流程图;
图11为表示本实施方式的歌曲开始处理的例子的流程图;
图12为表示本实施方式的乐音再生处理的例子的流程图;
图13为表示本实施方式的循环点查找处理的例子的流程图;
图14为说明本实施方式的循环点的检测的例子的图;
图15为表示本实施方式的歌曲音频再生处理的例子的流程图;
图16A以及图16B为表示本实施方式的歌曲音频再生处理的例子的流程图;
图17为表示本实施方式的音源发音处理的例子的流程图;
图18为表示在本实施方式中,乐曲的按键(音符开)和离开键(音符关)的时刻和音频数据的例子的图;
图19为表示演奏者的提前按键时的音频数据的例子的图;
图20为表示本发明的另一实施方式的乐曲数据的数据结构例子的图;
图21为表示另一实施方式的循环点查找处理的例子的流程图。
用于准备的实施例的具体描述
下面参照附图,对本发明的实施方式进行说明。图1为表示本实施方式的电子乐器的外观的图。如图1所示的那样,本实施方式的电子乐器10具有键盘11。另外,在键盘11的上部,具有用于进行音色指定,后述的按照音频数据的歌曲伴奏的开始./结束等的开关(参照标号12,13),显示与演奏的乐曲有关的各种的信息,比如,音色,乐谱等的显示部15。本实施方式的电子乐器10例如具有61个键(C2~C7)。
图2为表示本发明的实施方式的电子乐器的结构的方框图。如图2所示,本实施方式的电子乐器10包括CPU21,ROM22,RAM23,音响系统24,键盘11,输入接口(I/F)14,显示部15,与具有上述开关11,12的开关组16。
CPU21进行电子乐器10的整体的控制,键盘11的键的按动,构成开关组16的开关(比如,参照图1的标号12,13)的操作的检测、按照键或开关的操作的音响系统24的控制,符合音频数据的歌曲伴奏等的各种处理。
ROM22存储CPU21进行的各种的处理,比如,开关的操作,键盘中的某个键的按键,与按键相对应的乐音的发音,符合音频数据的歌曲伴奏等的程序。另外,ROM22具有存储用于生成钢琴、吉他、小提琴、喇叭、单簧管等各种音色的乐音的波形数据的波形数据区域;存储包含应按动的键和该按键时刻的乐曲数据的乐曲数据区域;以及存储音频数据的音频数据区域。RAM23存储从ROM22读出的程序、在处理的过程中产生的数据。另外,在RAM23中还具有存储经由输入I/F14,从其它的音响装置30接收的音频数据的音频数据区域。音频数据是按照预定的采样频率进行采样得到的,例如PCM数据,从音频数据区域的开始地址依次存储数据值。
输入I/F 14能够与其它的音响装置30连接,可接受来自其它的音响装置30的音频数据。音频数据通过CPU21,存储在RAM23的音频数据区域。此外,音频数据与从起始地址的数据开始的经过时间相对应。
音响系统24包括音源部26,音频电路27,扬声器28和音频数据再生部29。音源部26例如在从CPU21接收到有关按动的键的信息或自动伴奏模式的信息时,从ROM22的波形数据区域读出预定的波形数据,生成并输出预定的音高的乐音数据。另外,音源部26也可将波形数据,特别是小鼓、低音大鼓、铙钹等打击乐器的音色的波形数据原样不变地作为乐音数据输出。另外,音频数据再生部29按照采样频率,另外依照基于乐曲数据中包含的时间信息的经过时间,读出在音频数据区域中存储的音频数据。另外,音频数据再生部29如后所述,接受2个循环点(循环源时刻和循环目的地时刻),能够进行循环点之间的音频数据的循环再生。音频电路27将乐音数据和音频数据合成,对合成后的数据进行D/A变换处理后对其进行放大。由此,从扬声器28输出声音信号。
图3~图5是表示在本实施方式中,进行歌曲伴奏时的乐曲数据和其按键时刻的例子的图。在图3中,在标准时刻的乐曲数据中,在最初的休止符(时间t0)后,按键(接通),在时间t1(1)后离键,并且在时间t2(1)后,进行下一个按键(按键时间t1(2))。在实际的按键动作(标号320)中,适当地进行了最初的按键和离键。但是,在离键后经过t2(1),在时刻T(参照标号322),应当按动下一个键,但是经过t2’(<t2(1))(参照标号310),在时刻T’(参照标号321),进行了下一次的按键。即,按键提前了T-T’(=t2(1)-t2’)。因此,在此以后,乐曲数据的读入需要提前T-T’(参照标号311)。
在图4中,在实际的按键动作(标号420)中,适当地进行了最初的按键和离键。但是,在图4的例子中,在最初的离键后,即使经过了t2(1)后也没有按动下一个键(参照标号410)。例如,如图5所示的那样,认为在最初的键的离键后,在经过时间t”(>t2(1))后,在时刻T”(参照标号521)进行了按键。此时,按键延迟了t”-t2(1)。因此,乐曲数据的读入需要延迟t”-t2(1)(参照标号512)。另外,在标号511所示的时间,无法读出音频数据的新的地址的数据。
在本实施方式中,如后述的那样,通过按动按键而产生乐音是通过音源部26生成的乐音,但是,歌曲伴奏通过音频数据的再生来实现,所以如图3或图5所示的那样,在按键提前或延迟时,需要使音频数据的读出适当化。在本实施方式中,通过后述的方式,实现读出的适当化。
图6A为表示本实施方式的乐曲数据的数据结构例子的图,图6B为存储在处理过程中设定的数据的寄存器组的例子的图。如图6A所示的那样,乐曲数据600包括表示时间间隔的时间的记录(参照标号601,603,605),具有应按动的键的音高的音符开事件的记录(参照标号602)和具有应离键的音高的音符关事件的记录(参照标号604)。
最初的时间的记录存储直到最初的按键为止的期间的时间t0。该时间t0相当于乐曲的前奏的时间。另外,在音符开事件的记录与音符关事件的记录之间的时间的记录中存储的时间t1表示按键时间。另外,在音符关事件的记录和音符开事件的记录之间的时间的记录中存储的时间t2表示从离开某个键开始,到按压下一个键的时间间隔。
如图6B所示的那样,RAM23中的寄存器组610具有经过时间寄存器,时间信息寄存器,本次音高信息寄存器,下次音高信息寄存器,歌曲经过时间寄存器,正解标志,状态寄存器,循环再生标志。在经过时间寄存器中,存储有在歌曲处理期间经过的时间。在时间信息寄存器中,存储音符开事件之间的时间间隔(Δt=t1+t2)。在本次音高信息寄存器和下次高信息寄存器中,存储在音符开事件的记录中包含的音高信息。另外,歌曲经过时间寄存器存储有从歌曲开始起的经过时间。在状态寄存器中存储有电子乐器10的演奏状态。
下面对在本实施方式的电子乐器10中进行的处理进行说明。图7A表示在本实施方式的电子乐器中进行的主流程的例子的流程图。另外,图7B为表示本实施方式的计时器中断处理的例子的流程图。在计时器中断处理中,进行图7A所示的主流程时,按照预定的时间间隔,分别使作为中断计数器的经过时间计数器与歌曲经过时间计数器的计数值增加(步骤711,712)。另外,计时器中断处理可通过CPU21的指示,停止计数器。
如图7A所示的那样,电子乐器10的CPU21在接通了电子乐器10的电源时,进行包括RAM23中的数据,显示部15的图像的清除的初始化处理(初期化处理)(步骤701)。当初始化处理(步骤701)结束时,CPU21检测构成开关组16的各个开关的操作,实施开关处理,该开关处理执行按照检测出的操作的处理(步骤702)。
例如,在开关处理(步骤702)中,检测音色指定开关,歌曲伴奏用的乐曲数据的指定开关,歌曲再生开关的操作。例如,当歌曲再生开关接通时,CPU21将规定值存储在寄存器组610中的状态寄存器中。另外,当歌曲再生开关断开时,在状态寄存器中,存储表示歌曲再生停止状态的值。
当开关处理(步骤702)结束时,CPU21进行键盘处理(步骤703)。图8为更详细地表示本实施方式的键盘处理的例子的流程图。在键盘处理中,CPU21对键盘11的键进行扫描(步骤801)。把作为键的扫描结果的事件(音符开或音符关)临时存储于RAM23中。CPU21参照存储于RAM23中的键的扫描结果,判断某个键是否具有新的事件(步骤802)。当在步骤802判断为“是”时,CPU21参照状态寄存器,判断演奏状态是否为“正在再生歌曲”(步骤803)。
当在步骤803判断为“是”时,进行课程键盘处理(步骤804)。另一方面,当在步骤803判断为“否”时,执行普通的键盘处理(步骤805)。在步骤805,CPU21判定键事件是音符开(按键),还是音符关(离开键)。如果是音符开,则CPU21生成包含被按动的键的音高的信息的音符开事件,将其输出给音源部26。如果是音符关,则生成包含离开的键的音高的信息的音符关事件,将其输出给音源部26。
接着,对课程键盘处理(步骤804)进行说明。图9为表示本实施方式的课程键盘处理的例子的流程图。如图9所示的那样,CPU21判断键事件是否是新的音符开(步骤901)。当在步骤901判断为“是”时,CPU21生成包含被按动的键的音高的信息的音符开事件,将其输出给音源部26(步骤902)。另外,当在步骤901判断为“否”时,生成包含离开的键的音高的信息的音符关事件,将其输出给音源部26(步骤903)。在该步骤903后,课程键盘处理结束。
在进行步骤902后,CPU21判断新的音符开的键的音高是否与存储在下次音高信息寄存器中的音高一致(步骤904)。当在步骤904判定为“否”时,结束课程键盘处理。当在步骤904判断为“是”时,CPU21将寄存器组中的正解标志设定为“1”(步骤905)。该正解标志是在演奏者进行的按键与下次应该按动的键一致时,设定为“1”的标志。
然后,CPU21判断当前,作为歌曲伴奏数据的音频数据是否正在循环再生(步骤906)。关于是否正在循环再生,判断寄存器组中的循环再生标志是否为“1”即可。当在步骤906判定为“否”时,CPU21查找提前按动对应的跳动源时刻(步骤907),当在步骤906判定为“是”时,CPU21查找延迟按动对应的跳动源时刻(步骤908)。跳动源时刻是从按键时刻开始,按照时间序列未来并且附近的预定的相位(例如,数据值从负转移为正)的零交叉点。
当键盘处理(步骤703)结束时,CPU21进行歌曲处理(步骤704)。图10为表示本实施方式的歌曲处理的例子的流程图。如图10所示的那样,CPU21参照状态寄存器,判断演奏状态是否表示“正在再生歌曲”(步骤1001)。当在步骤1004判定为“否”时,CPU21参照状态寄存器,判断演奏状态是否表示“歌曲开始”(步骤1002)。当在步骤1002判定为“否”时,结束歌曲处理。当在步骤1002判定为“是”时,CPU21进行歌曲开始处理(步骤1003)。
图11是表示本实施方式的歌曲开始处理的例子的流程图。如图11所示,CPU21根据存储于ROM22中的乐曲数据的起始的记录,获得时间t0(步骤1101)。该时间t0作为初始的时间信息Δt,存储于寄存器组中的时间信息寄存器中。CPU21从下一地址的记录中取得音符开事件,将音符开事件中包含的音高信息存储于本次音高信息寄存器中(步骤1102)。另外,CPU21取得下一音符开事件的记录,将该下一音符开事件中包含的音高信息存储于时间音高信息寄存器中(步骤1103)。
另外,CPU21允许基于计时器中断处理的歌曲经过时间计数器的动作,开始歌曲经过时间的测量(步骤1104),并且将音频数据再生的开始指示给音频数据再生部29(步骤1105)。另外,CPU21在状态寄存器中存储表示“正在再生歌曲”的信息,来作为演奏状态(步骤1106)。
当在步骤1001判定为“是”时,CPU21进行歌曲乐音再生处理(步骤1004)。图12为表示本实施方式的歌曲乐音再生处理的例子的流程图。如图12所示,CPU21取得经过时间寄存器的寄存值(步骤1201)。接着,CPU21判断是否应该计算时间信息Δt(步骤1202)。当在步骤1202判定为“是”时,将关于本次按动的键的音符开事件的记录的下一记录中的时间t1,与音符关事件的记录中的下一记录中的时间t2相加,将加法运算值t1+t2存储于时间信息寄存器中(步骤1203)来作为时间信息Δt。另外,当在步骤1202中应该计算时间信息Δt时,是变更了本次音高信息寄存器和下次音高信息寄存器的值的情况。
接着,CPU21计算Δt-经过时间(步骤1204)。在步骤1201~1204,判断从上次按键(音符开)的时刻开始的经过时间经历Δt,是否到达了下次的按键(音符开)的时刻。在步骤1205中,参照步骤1204的结果,表示了在从上次的按键的时刻开始经过了Δt时(在步骤1205中为“是”),虽然到达了应进行下次按键的时刻,但还未按键。因此,当在步骤1205判定为“是”时,CPU21进行循环点查找处理(步骤1206)。
图13为表示本实施方式的循环点查找处理的例子的流程图。如图13所示,CPU21根据本次音高寄存器中的本次音高信息,计算作为该音高的周期的循环周期(步骤1301)。该循环周期为音频数据的循环的基本周期。CPU21在音频数据中,从当前正在再生的地址追溯过去,来查找零交叉点(步骤1302)。CPU21计算零交叉点间的平均周期(步骤1303)。另外,在此,查找的零交叉点全部为相位相同的零交叉点。即,如果最初发现的零交叉点为上升(数据值从负转为正的)零交叉点,则其它发现的零交叉点也全部为上升的零交叉点。
CPU21判断循环周期和平均周期的差异的绝对值是否在允许范围内(即,小于预定的阈值)(步骤1304)。当在步骤1304判定为“否”时,CPU21进一步追溯音频数据的时间序列查找下一零交叉点(步骤1302)。另一方面,当在步骤1304判定为“是”时,CPU21将上述差异的绝对值在允许范围内的零交叉点作为音频数据的循环点中的循环目的地的点,存储在RAM23中(步骤1305)。另外,循环点存在循环目的地的点和循环源的点。在本实施方式中,存储与上述零交叉点对应的时刻(循环目的地时刻),来作为表示循环目的地的点的信息。另外,如后所述,在本实施方式中,标准的按键时刻与规定的相位(上升,即数据值从负转为正)的零交叉点一致。因此,循环源的点是与标准的按键时刻对应的点。因此,在本实施方式中,存储与标准的按键时刻对应的时刻(循环源时刻)来作为表示循环源的点的信息。
然后,CPU21将寄存器组中的循环再生标志设定为“2”(步骤1306)。另外,循环再生标志表示音频数据的循环再生状态,标志为“2”的情况表示循环再生开始状态。另外,标志为“1”的情况表示循环再生状态,标志为“0”的情况表示没有进行循环再生的状态。
图14为说明本实施方式的循环点的检测的例子的图。在图14中,音符关(离键)的时刻由标号1401表示,本来的下一个音符开(按键)的时刻由标号1402表示。从某个键的音符开到下一音符开的时间为Δt(参照标号1400)。另外,作为歌曲伴奏的音频数据由标号1400表示。此外,上述的已按动以及离开的(标号1401)的键的音高为A4=440Hz,循环周期为2.27msec。
在图14中,当在本来的下一音符开中没有进行实际的按键时,CPU21测量音频数据的零交叉点(相同相位的零交叉点)之间的周期。在最初的处理中,从本来的音符开的时刻,按照时间序列进行追溯,确定1组的零交叉点,此间的波形(参照标号1411)的平均周期为2.22msec。例如在本实施方式中,当把与A4的音高有关的阈值设为0.01msec时,因为|2.27-2.22|≥阈值,所以在图13的步骤1304判定为“否”,在下一步骤1302,进一步按照时间序列进行追溯,确定2组的零交叉点。
计算各自之间的2个波形(标号1411,1412)的平均周期(2.245msec)。在此,因为|2.27-2.245|≥阈值,所以再次返回步骤1302。在步骤1302,进一步按照时间序列进行追溯,确定3组的零交叉点,计算各自之间的3个波形(参照标号1411~1413)的平均周期(2.263msec)。在此,由于|2.27-2.263|≥阈值,所以再次返回步骤1302。
在步骤1302,进一步按时间序列追溯,确定4组的零交叉点。计算各自之间的4个波形(参照标号1411~1414)的平均周期(2.27msec)。在此,由于|2.27-2.27|<阈值,所以在步骤1304中判定为“是”,由4个波形1411~1414构成的区间(参照标号1420)为循环区间,其起点和终点(参照标号1422,1421)为循环点。在本实施方式中,上述起点与循环目的地时刻对应,终点与循环源时刻对应。
如此获得与当前发音中的乐音的音高匹配的周期的波形的区间,反复读取该区间的波形,由此,能够输出对于演奏者来说没有不适感的歌曲伴奏音。
当歌曲乐音再生处理(步骤1004)结束时,CPU21进行歌曲音频再生处理(步骤1005)。图15和图16A以及图16B为表示本实施方式的歌曲音频再生处理的例子的流程图。如图15所示,CPU21判断循环再生标志是否为“2”(步骤1501)。循环再生标志为“2”表示循环再生开始状态。当在步骤1501判定为“是”时,进入图16B的步骤1611。当在步骤1501判定为“否”时,CPU21判断循环再生标志是否为“1”(步骤1502)。循环再生标志为“1”表示循环再生状态。当在步骤1502判定为“是”时,CPU21进入图16A的步骤1601。
当在步骤1502判定为“否”时,即,在再生标志为“0”时(没进行循环再生时),CPU21判断正解标志是否为“1”(步骤1503)。当在步骤1503判定为“否”时,结束歌曲音频再生处理。当在步骤1503判定为“是”时,表示演奏者早于标准的按键时刻,按动了下一个应按动的键(提前按键)。此时,CPU21参照经过时间计数器,判断是否到达了跳动源时刻(步骤1504)。当在步骤1504判定为“否”时,结束歌曲音频处理。
跳动源时刻是从已按动的键的按键时刻开始,按照时间序列未来且临近的零交叉点。因此,在本实施方式中,可检测零交叉点,使音频数据的接缝平滑。当在步骤1504判定为“是”时,CPU21将正解标志重新设定为“0”(步骤1505)。另外,CPU21根据跳动源时刻,更新歌曲经过时间(步骤1506)。即,通过使跳动源时刻与本实施方式的跳动目的地时刻所对应的下一应该按动的键的标准的按键时刻一致,实现接缝平滑,并且与演奏者的提前按键相对应的音频数据的再生。然后,CPU21参照乐曲数据,分别对本次音高信息,时间信息Δt和下次音高信息进行更新(步骤1507~1509)。
然后说明在步骤1502中判定为“是”情况。当在步骤1502判定为“是”时,是已经进行了循环再生的状态。此时,CPU21判定正解标志是否为“1”(步骤1601)。当在步骤1602中判定为“否”时,结束歌曲音频数据再生处理。
当在步骤1601判定为“是”时,表示演奏者晚于标准的按键时刻按动了下一应按压的键(延迟按动)。当在步骤1601判定为“是”时,CPU21参照经过时间计数器,判断是否到达跳动源时刻(步骤1602)。当在步骤1602判定为“否”时,结束歌曲音频处理。当在步骤1602判定为“是”时,CPU21将循环再生标志重新设定为“0”(步骤1603)。然后,进行步骤1505~1509的处理。
然后,说明在步骤1501中判定为“否”情况。当在步骤1501判定为“是”时,CPU21把在图13的步骤1305设定的2个循环点(循环源时刻和循环目的地时刻)输出给音频数据再生部29(步骤1611)。另外,CPU21停止基于计时器中断处理的歌曲经过时间计数器的计数(步骤1612),并且还停止经过时间计数器的计数(步骤1613)。其原因在于,在循环再生中,在循环源时刻和循环目的地时刻之间,对音频数据进行循环再生,不伴随乐曲数据自身的行进。另外,CPU21将循环再生标志设定为“1”(步骤1614)。然后,歌曲音频再生处理结束。
当歌曲处理(步骤704)结束时,CPU21执行音源发音处理(步骤705)。图17为表示本实施方式的音源发音处理的例子的流程图。在图17的音源发音处理中,音频数据再生部29根据来自CPU21的指示和接收的信息,执行步骤1701~1712。另外,音源部26执行步骤1713。
如图17所示,音频数据再生部29判断循环再生标志是否为“1”(步骤1701)。当在步骤1701判定为“否”的场合,进行通常的音频数据的读出。即,音频数据再生部29判断是否到达了按照采样率的数据读出时刻(步骤1702)。当在步骤1702判定为“是”时,音频数据再生部29根据音频数据的数据读出地址,读出音频数据(步骤1703),将其输出给音频电路27(步骤1704)。接着,音频数据再生部29使音频数据区域的数据读出地址步进(步骤1705)。
当在步骤1701判定为“是”时,音频数据再生部29判断音频数据的数据读出地址是否到达了与循环源时刻对应的值(步骤1706)。当在步骤1706判定为“是”时,音频数据再生部29将数据读出地址变更为在跳动时刻进行应答的值(步骤1707)。另外,跳动目的地时刻是与已按动的键的标准的按键时刻相当的时刻。
接着,音频数据再生部29判断是否到达按照采样率的数据读出时刻(步骤1708)。当在步骤1708判定为“是”时,音频数据再生部29根据音频数据的读出地址,读出音频数据(步骤1709),使其与随着时间经过而衰减的包络线(envelop)进行乘法运算(步骤1710)。然后,音频数据再生部29将乘法运算后的音频数据输出给音频电路27(步骤1711)。另外,音频数据再生部29使音频数据区域的数据读出地址步进(步骤1712)。
如此,当进行通常的音频数据的再生或音频数据的循环再生时,执行音源部26的乐音数据发音处理(步骤1703)。步骤1701~1712与步骤1713可以并列地执行。在乐音数据发音处理中,音源部26如果从CPU21接收音符开事件,则从ROM22通过按照音高的速度,读出按照音符开事件的音色的波形数据,将规定的包络线与读出的波形数据相乘,将乘法运算后的数据输出给音频电路27。另外,如果从CPU21接收音符关事件,则进行按照音符关事件的音高的数据的消音。
当音源发音处理(步骤705)结束时,CPU21执行其它的处理(例如,向显示部15的图像显示等:步骤706),然后返回到步骤702。
图18表示在本实施方式中,乐曲的按键(音符开)和离键(音符关)的时刻和音频数据的例子,图19表示演奏者提前按键时的音频数据的例子。如图18所示,在本实施方式中,乐曲数据1800的按键时刻预先与音频数据1810的规定相位(在本例子中,数据值从负转为正)的零交叉点一致(参照标号1811,1812)。在本例子中,最初的标准的按键时刻的按键(参照标号1811)和下一标准的按键时刻的按键之间的波形由相同相位的零交叉点来限定(标号1821)。同样,下一标准的按键时刻的按键与其下一标准的按键时刻之间的波形也由相同相位的零交叉点限定。另外,在本实施方式中,标准的按键时刻与音频数据的规定的相位的零交叉点一致,但是,并不限于此。
在图19中,演奏者在早于标准时刻的时刻进行了最初的按键(参照标号1911)。此时,在音频数据中,发现从演奏者的按键时刻,按照时间序列未来并且临近的零交叉点(参照标号1931)。因此,在上述零交叉点,最初的标准的按键时刻的按键(参照标号1811)和下一标准的按键时刻的按键之间的波形(标号1941)接合。另外,在图19中,时刻1931和1912之间的波形1941与图18的波形1821一致,时刻1912和时刻1913之间的波形1942与图18的波形1822一致。
如此在本实施方式中,在演奏者提前按键时,在音频数据中发现按照时间序列未来并且临近的零交叉点,由此,接合数据值从零而开始的与标准的按键时刻相对应的音频数据来进行再生。因此,即使具有早于标准的按键时刻的按键,进行符合该提前按键的音频数据的读出,并且其接缝也平滑,没有产生深的噪音。
另外,在演奏者在标准的时刻没有按键的情况下,在没有按键的期间,如参照图14说明的那样,在循环目的地时刻(标号1422)和循环源时刻(标号1421)之间,进行音频数据的循环再生。然后,当用户进行了应按动的键的按动时,从与从按键时刻开始按照时间序列未来并且临近的零交叉点所对应的跳动源时刻开始,在与已按动的键的标准的按键时刻相当的时刻即跳动目的地时刻,切换音频数据的读出地址。因此,与提前按动时相同,进行按照延迟按键的音频数据的读出,并且其接缝也平滑,不会产生不快的噪音。
此外,在本实施方式中,以键的标准的按键时刻与音频数据的预定的相位的零交叉点一致的方式构成音频数据,但是,并不限于此。此时,上述跳动目的地时刻,可采用从与键的标准的按键时刻对应的音频数据开始按照时间序列未来并且临近的预定相位的零交叉点。
在本实施方式中,在CPU21判断键的按键时刻早于在乐曲数据中规定的发音时刻时,在音频数据中发现从键的按键时刻开始按照时间序列位于一个方向上临近的并且预定相位的第1零交叉点。另外,根据上述按键操作的乐曲数据的标准的发音时刻,发现从标准的发音时刻按照时间序列位于一个方向上临近的并且预定相位的第2零交叉点。CPU21将上述第1零交叉点的信息和第2零交叉点的信息输出给音频数据再生部29。音频数据再生部29使音频数据的读出从第1零交叉点跳到第2零交叉点,其后继续通常的音频数据的读出。
由此,即使在存在提前按键的情况下,也能够进行与该按键的标准的发音时刻(按键时刻)对应的音频数据的再生,可防止在演奏者的按键与音频数据的再生之间产生偏差的情况。另外,通过实现将相同相位的零交叉点连接的音频数据的读出,可防止在音频数据的接缝中产生噪音的情况。
此外,在本实施方式中,在使音频数据的读出从第1零交叉点跳到第2零交叉点时,CPU21更新为基于标准的发音时刻的经过时间,按照更新后的经过时间,音频数据再生部39读出音频数据。因此,即使在演奏提前按键的情况下,也能够使经过时间恰当化。
另外,在本实施方式中,CPU发现从按键时刻开始按照时间序列未来的并且临近的第1零交叉点,并且根据标准的发音时刻(按键时刻),发现从该标准的发音时刻开始按照时间序列未来的并且临近的第2零交叉点。通过发现从按键时刻开始按照时间序列未来的并且临近的零交叉点作为第1零交叉点,由此可一边考虑处理时间一边适合地实现从第1零交叉点向第2零交叉点的转移。
特别是在本实施方式中,在音频数据中,预定相位的零交叉点位于与乐音的发音时刻(按键时刻)对应的时刻。CPU21检测与标准的发音时刻(按键时刻)对应的规定相位的第2零交叉点。由此,可容易检测第2按键时刻。
本发明并不限于以上的实施方式。例如,在上述实施方式中,在基于当前正在发音的乐音的音高信息(本次音高信息)的循环周期中,确定其平均周期近似的多个循环波形。但是,并不限于此。例如如果在乐曲数据中附加了代码名,则也可根据与当前正在发音的乐音相关联的代码名,将基于其根音的循环周期与音频数据的循环波形的周期进行比较。
图20是表示本发明的另一实施方式的乐曲数据的数据结构例的图。如图20所示,在另一实施方式中,分别与乐曲数据2000的音符开事件(参照标号2001,2011)相关联,设置代码信息(参照标号2002,2012)的记录。代码信息例如包括CM7,Cm7,Am7,D7等表示根音的信息。
图21是表示本实施方式的循环点查找处理的例子的流程图。如图21所示,CPU21获得与本次音高寄存器中的本次音高信息相关联的乐曲数据中的记录信息(步骤2101)。接着,CPU21根据代码信息中包含的根音,计算作为根音的周期的循环周期(步骤2102)。例如,如果代码信息为AM7,Am7等根音为A,示例地计算基于A3(220KHz)的循环周期(4.5454msec)。在此,考虑八度音,根音采用较低的音高。
后续的步骤2103,2104与图13的步骤1302,1303相同。接着,CPU21判断循环周期和平均周期的n倍(n=1,2,4)的差异的绝对值是否在允许范围内(即,小于规定的阈值(步骤2105)。在步骤2105中,考虑音频数据为上述根音的1个八度音,2个八度音高乐音的可能性。
当在步骤2105判定为“否”时,CPU21进一步追溯音频数据的时间序列,查找下一零交叉点(步骤2103)。当在步骤2105判定为“是”时,CPU21将上述差异的绝对值在允许范围内的零交叉点作为音频数据的循环点中的,循环目的地的点存储在RAM23中(步骤2106),并且将循环再生标志设定为“2”(步骤2107)。
以上对本发明的实施方式进行了具体说明,但是,本发明的范围并不限于上述实施方式,在本发明的范围内包含记载于权利要求书中的发明及其等同的范围。
Claims (9)
1.一种乐音生成装置,其具备:
存储单元,其存储乐曲数据以及作为上述乐曲数据的乐曲的伴奏数据的音频数据,上述乐曲数据包含构成乐曲的乐音的音高和表示发音时刻的时间信息;
乐音数据生成单元,其根据多个演奏操作键的操作,生成预定的乐音的乐音数据;以及
音频数据再生单元,其按照基于上述乐曲数据中包含的时间信息的经过时间,读取并再生上述音频数据,
上述音频数据再生单元具备:
操作判断单元,其判断上述多个演奏操作键中的某个演奏操作键的操作时刻是否与上述乐曲数据所示的发音时刻一致;
再生控制单元,其在通过该操作判断单元判定不一致时,将上述音频数据的读取位置从与上述操作时刻相对应的零交叉点跳到与上述发音时刻对应的零交叉点,之后继续进行通常的音频数据的读取再生。
2.根据权利要求1所述的乐音生成装置,
上述操作判断单元判断上述操作时刻是否早于上述发音时刻;
上述再生控制单元具备:
跳动源检测单元,其在上述操作时刻早于上述发音时刻时,在上述音频数据中,发现从上述演奏操作键的操作时刻开始按时间序列在一方向上的相近并且预定相位的第1零交叉点;
跳动目的地检测单元,其根据基于上述演奏操作键的操作的乐曲数据的标准的发音时刻,发现从该标准的发音时刻开始按时间序列在一方向上的相近并且预定相位的第2零交叉点;
读取控制单元,其使音频数据的读取从上述跳动源检测单元检测的第1零交叉点跳到上述跳动目的地检测单元检测的第2零交叉点,之后继续进行通常的音频数据的读取。
3.根据权利要求2所述的乐音生成装置,其中:
上述音频数据再生单元在使音频数据的读取从上述第1零交叉点跳到上述第2零交叉点时,更新为基于上述标准的发音时刻的经过时间,按照上述更新后的经过时间,读取上述音频数据。
4.根据权利要求2所述的乐音生成装置,其中:
上述跳动源检测单元发现从上述演奏操作键的操作时刻开始按时间序列是未来的并且相近的第1零交叉点,
上述跳动目的地检测单元根据上述标准的发音时刻,发现从该标准的发音时刻开始按时间序列是未来的并且相近的第2零交叉点。
5.根据权利要求2所述的乐音生成装置,其中:
在上述音频数据中,预定相位的零交叉点位于与上述乐音的发音时刻对应的时刻,
上述跳动目的地检测单元检测与上述标准的发音时刻对应的预定相位的第2零交叉点。
6.根据权利要求1所述的乐音生成装置,其中:
上述操作判断单元还判断在经过上述发音时刻之前,是否对上述演奏操作键进行了操作,
上述再生控制单元具备:
跳动目的地检测单元,其根据基于上述演奏操作键的操作的乐曲数据的标准的发音时刻,从上述音频数据检测从该标准的发音时刻开始按时间序列在一方向的相近的第1零交叉点;
操作判断单元,其判断在上述乐曲数据所示的发音时刻经过之前,是否操作了产生与该发音时刻对应的音高的乐音的上述演奏操作键;
循环目的地检测单元,其在通过上述操作判断单元判断没有操作上述演奏操作键时,检测所述第一零交叉点之前的零交叉点中的、位于将上述第1零交叉点作为起点的区间的终点所对应的位置的第2零交叉点,所述区间与发出的乐音的音高所匹配的周期成比例;
循环读取单元,其将该第2零交叉点和上述第1零交叉点之间的区间作为循环区间,反复读取上述音频数据;
跳动源检测单元,其在该循环读取单元开始读取后,通过上述操作判断单元判定操作了上述演奏操作键时,从上述音频数据检测从该演奏操作键的操作时刻开始按时间序列位于一方向上的相近的第3零交叉点;以及
控制单元,控制上述音频数据再生单元,使音频数据的读取从上述检测到的第3零交叉点跳到上述检测到的第1零交叉点,在此之后继续通常的音频数据的读取。
7.根据权利要求6所述的乐音生成装置,其中:
上述音频数据再生单元在使音频数据的读取从上述第3零交叉点跳到上述第1零交叉点时,更新为基于上述标准的发音时刻的经过时间,按照上述更新后的经过时间,读取上述音频数据。
8.根据权利要求6所述的乐音生成装置,其中:
上述跳动源检测单元发现从上述演奏操作键的操作时刻开始按时间序列是未来的并且相近的第3零交叉点,
上述跳动目的地检测单元根据上述标准的发音时刻,检测从上述标准的发音时刻开始按时间序列是未来的并且相近的第1零交叉点。
9.根据权利要求6所述的乐音生成装置,其中:
在上述音频数据中,预定相位的零交叉点位于与上述乐音的发音时刻对应的时刻,
上述跳动目的地检测单元检测与上述标准的发音时刻相对应的预定相位的第1零交叉点。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011-084222 | 2011-04-06 | ||
JP2011084222A JP5732982B2 (ja) | 2011-04-06 | 2011-04-06 | 楽音生成装置および楽音生成プログラム |
JP2011-185697 | 2011-08-29 | ||
JP2011185697A JP5742592B2 (ja) | 2011-08-29 | 2011-08-29 | 楽音生成装置、楽音生成プログラム及び電子楽器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102800307A CN102800307A (zh) | 2012-11-28 |
CN102800307B true CN102800307B (zh) | 2014-12-17 |
Family
ID=46965080
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210184809.5A Active CN102800307B (zh) | 2011-04-06 | 2012-04-06 | 乐音生成装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US8723011B2 (zh) |
CN (1) | CN102800307B (zh) |
RU (1) | RU2502119C1 (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013050530A (ja) | 2011-08-30 | 2013-03-14 | Casio Comput Co Ltd | 録音再生装置およびプログラム |
JP5610235B2 (ja) * | 2012-01-17 | 2014-10-22 | カシオ計算機株式会社 | 録音再生装置およびプログラム |
JP6402878B2 (ja) * | 2013-03-14 | 2018-10-10 | カシオ計算機株式会社 | 演奏装置、演奏方法およびプログラム |
US9047854B1 (en) * | 2014-03-14 | 2015-06-02 | Topline Concepts, LLC | Apparatus and method for the continuous operation of musical instruments |
US10635384B2 (en) * | 2015-09-24 | 2020-04-28 | Casio Computer Co., Ltd. | Electronic device, musical sound control method, and storage medium |
JP6428689B2 (ja) * | 2016-03-23 | 2018-11-28 | カシオ計算機株式会社 | 波形読込み装置、方法、プログラム、及び電子楽器 |
JP6414164B2 (ja) * | 2016-09-05 | 2018-10-31 | カシオ計算機株式会社 | 自動演奏装置、自動演奏方法、プログラムおよび電子楽器 |
US10923088B2 (en) | 2017-01-19 | 2021-02-16 | Inmusic Brands, Inc. | Systems and methods for transferring musical drum samples from slow memory to fast memory |
JP7143576B2 (ja) * | 2017-09-26 | 2022-09-29 | カシオ計算機株式会社 | 電子楽器、電子楽器の制御方法及びそのプログラム |
JP7251050B2 (ja) * | 2018-03-23 | 2023-04-04 | カシオ計算機株式会社 | 電子楽器、電子楽器の制御方法及びプログラム |
CN115461809A (zh) * | 2020-09-04 | 2022-12-09 | 罗兰株式会社 | 信息处理装置以及信息处理方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1131308A (zh) * | 1994-12-26 | 1996-09-18 | 雅马哈株式会社 | 自动演奏装置 |
CN101064101A (zh) * | 2006-04-25 | 2007-10-31 | 雅马哈株式会社 | 乐音合成装置和方法 |
CN101226739A (zh) * | 2007-01-17 | 2008-07-23 | 雅马哈株式会社 | 用于人类演奏者的乐器和自动伴奏系统 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2599363B2 (ja) | 1985-12-13 | 1997-04-09 | カシオ計算機株式会社 | ループ領域自動決定装置 |
JP2623809B2 (ja) * | 1989-01-19 | 1997-06-25 | ヤマハ株式会社 | 自動押鍵指示装置 |
US5189237A (en) * | 1989-12-18 | 1993-02-23 | Casio Computer Co., Ltd. | Apparatus and method for performing auto-playing in synchronism with reproduction of audio data |
JP2707853B2 (ja) * | 1991-03-01 | 1998-02-04 | ヤマハ株式会社 | 押鍵指示装置 |
JP3239411B2 (ja) * | 1992-01-08 | 2001-12-17 | ヤマハ株式会社 | 自動演奏機能付電子楽器 |
RU2100848C1 (ru) * | 1993-05-18 | 1997-12-27 | Ровнер Яков Шоел-Берович | Портативное устройство для исполнения музыкальных произведений |
RU2154308C2 (ru) * | 1998-06-24 | 2000-08-10 | Белецкий Сергей Владимирович | Способ воспроизведения наименований музыкальных звуков темперированного строя в двенадцатислоговой системе и устройство для его осуществления |
JP3788085B2 (ja) * | 1999-01-19 | 2006-06-21 | カシオ計算機株式会社 | 演奏教習装置及び演奏教習処理プログラムを記録した記録媒体 |
JP4403658B2 (ja) * | 2001-01-18 | 2010-01-27 | ヤマハ株式会社 | 楽曲データ出力装置及び楽曲データ出力方法 |
FR2843479B1 (fr) * | 2002-08-07 | 2004-10-22 | Smart Inf Sa | Procede de calibrage d'audio-intonation |
JP4513713B2 (ja) | 2005-10-21 | 2010-07-28 | カシオ計算機株式会社 | 演奏教習装置および演奏教習処理のプログラム |
JP4320782B2 (ja) * | 2006-03-23 | 2009-08-26 | ヤマハ株式会社 | 演奏制御装置、およびプログラム |
RU2393548C1 (ru) * | 2008-11-28 | 2010-06-27 | Общество с ограниченной ответственностью "Конвент Люкс" | Устройство для изменения входящего голосового сигнала в выходящий голосовой сигнал в соответствии с целевым голосовым сигналом |
-
2012
- 2012-04-05 RU RU2012113303/08A patent/RU2502119C1/ru active
- 2012-04-05 US US13/440,850 patent/US8723011B2/en active Active
- 2012-04-06 CN CN201210184809.5A patent/CN102800307B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1131308A (zh) * | 1994-12-26 | 1996-09-18 | 雅马哈株式会社 | 自动演奏装置 |
CN101064101A (zh) * | 2006-04-25 | 2007-10-31 | 雅马哈株式会社 | 乐音合成装置和方法 |
CN101226739A (zh) * | 2007-01-17 | 2008-07-23 | 雅马哈株式会社 | 用于人类演奏者的乐器和自动伴奏系统 |
Also Published As
Publication number | Publication date |
---|---|
RU2502119C1 (ru) | 2013-12-20 |
CN102800307A (zh) | 2012-11-28 |
US20120255424A1 (en) | 2012-10-11 |
US8723011B2 (en) | 2014-05-13 |
RU2012113303A (ru) | 2013-10-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102800307B (zh) | 乐音生成装置 | |
JP3293745B2 (ja) | カラオケ装置 | |
US8314320B2 (en) | Automatic accompanying apparatus and computer readable storing medium | |
CN104050952B (zh) | 演奏装置及演奏方法 | |
JPH09127941A (ja) | 電子楽器 | |
JP3239411B2 (ja) | 自動演奏機能付電子楽器 | |
JP2012220593A (ja) | 楽音生成装置および楽音生成プログラム | |
JPH11109980A (ja) | カラオケ装置 | |
JP2000330580A (ja) | カラオケ装置 | |
JP6149890B2 (ja) | 楽音生成装置および楽音生成プログラム | |
JP2001228866A (ja) | カラオケ装置用の電子打楽器装置 | |
JP3724366B2 (ja) | 演奏判定装置および演奏判定方法 | |
JP5742592B2 (ja) | 楽音生成装置、楽音生成プログラム及び電子楽器 | |
JP2002268637A (ja) | 拍子判定装置、及びプログラム | |
US20090249043A1 (en) | Apparatus, method and computer program for processing instruction | |
JP2002304175A (ja) | 波形生成方法、演奏データ処理方法および波形選択装置 | |
JP5912269B2 (ja) | 電子楽器 | |
JP2006292954A (ja) | 電子楽器 | |
JP3767418B2 (ja) | 自動演奏装置及び自動演奏制御プログラム | |
JP2601039B2 (ja) | 電子楽器 | |
JP2005062766A (ja) | 自動演奏装置 | |
JP6102975B2 (ja) | 楽音生成装置、楽音生成プログラム及び電子楽器 | |
JP3818296B2 (ja) | 和音検出装置 | |
JP2003099039A (ja) | 楽曲データ編集装置及びプログラム | |
JP4619495B2 (ja) | 自動伴奏装置及び自動伴奏方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |