乐音生成装置、携带终端装置、乐音生成方法及存储媒体 【技术领域】
本发明涉及可以生成旋律音的简易构成的乐音生成装置、包括该乐音生成装置的携带终端装置、乐音生成方法及记录实行该乐音生成方法的程序存储媒体,其适用的携带终端装置。背景技术
已知以往的乐音生成装置包括使用硬件生成乐音的硬件乐音生成装置和将乐音生成程序实施于计算机中生成乐音的软件乐音生成装置。
以往的硬件乐音生成装置的构成例如图25所示。在图25中,CPU(CentralProceSing Unit)110将MIDI(Musical Instrument Interface)数据和、后述的SMAF(Synthetic Music Mobile Application Format)数据等的音乐内容数据111供给到音源硬件115。此时,MIDI数据和SMAF数据是从外部转送来的,作成从存储单元可以读出的数据。在音源硬件115中具有由序列器132和硬件构成的音源部133。序列器132具有硬件固有控制数据生成部132a和、时间管理部132b,其中硬件固有控制数据生成部132a是将MIDI数据和SMAF数据变换成音源硬件115所固有的控制数据,而时间管理部132b是按照数据中地时间管理信息控制乐音的发音定时。
这样构成的硬件乐音生成装置中,进行再生乐音时,在根据含在控制数据中的事件和事件的表示时间间隔的间隔数据和、表示发音持续时间的导通时间数据的定时中,时间管理部132b向硬件固有控制数据生成部132a给予数据输出的指示。接受该指示后,硬件固有控制数据生成部132a将变换了的硬件固有控制数据输出给音源部133。音源部133中根据供给的硬件固有控制数据生成乐音后输出。用此方法可以再生乐音。
另外,以往的软件乐音生成装置的构成例如图26所示。在图26中,CPU210具有序列器功能单元232。该序列器功能单元232,是通过CPU210实施序列器程序来实现的,序列器功能单元232具有硬件固有控制数据生成单元210a和、时间管理单元210b。硬件固有控制数据生成单元210a是将MIDI数据和SMAF数据211变换成音源硬件215固有的控制数据的单元,时间管理单元210b是根据数据中的时间管理信息,控制发出乐音定时的单元。硬件固有控制数据生成单元210a变换的MIDI数据和SMAF数据211是由外部转送来的数据,或从存储单元读出的数据。另外,从硬件固有控制数据生成乐音的音源硬件215上具有由硬件构成的音源部233。
这样构成的软件乐音生成装置中,再生乐音时,CPU210的时间管理单元210b,在变换了的硬件固有控制数据中含有的表示事件和事件的时间间隔的持续时间数据和表示发音持续时间的导通时间数据的定时中,向硬件固有控制数据生成单元210a给予数据输出指示。接受指示后,硬件固有控制数据生成单元210a将变换了的硬件固有控制数据输出给音源硬件215。音源硬件215中,按照供给的硬件固有控制数据,音源部233生成乐音后输出。由此,可以再生乐音。
可是,在用硬件实现乐音生成装置的硬件乐音生成装置中,由于序列器132进行音乐内容数据的变换及时间管理,所以序列器132的结构变得复杂。由此,存在序列器132的电路规模变大成本提高的问题。
另外,在用软件实现乐音生成装置的软件乐音生成装置中,由于CPU210进行音乐内容数据的变换及时间管理,所以CPU210的处理任务加重了。由此,需要高速的CPU。特别是CPU主要进行通信控制等的重要度高的其他处理时,具有为了进行序列器处理必须有高价的高速的CPU的问题。
进而,在以往的硬件乐音生成装置及以往的软件乐音生成装置中,在再生乐音时是从乐曲的开始再生。于是,作为移动电话机等的收信旋律再生乐音时,存在着只能听到乐曲的开始部分的问题。发明内容
本发明的第1目的在于,不扩大硬件的电路规模的同时,不需要软件的加重处理的条件下提供了乐音生成装置、具有该乐音生成装置的携带终端装置、乐音生成方法及记录实现乐音生成方法的程序的存储媒体。
本发明的第2目的在于,在该乐音生成装置及携带终端装置中,可从乐曲的任意位置再生乐音。
为了达到上述第1目的,按照本发明的第1方式,提供乐音生成装置,其特征在于,具有软件处理单元和音源硬件单元,该软件处理单元是将音乐内容数据变换成可再生的音源硬件控制数据,该音源硬件单元是在每达到根据含在上述音源硬件控制数据中的时间管理信息的定时时,按照上述音源硬件控制数据中的乐音生成用的参数生成乐音。
根据这样的乐音生成装置,由于用软件处理单元进行将音乐内容数据变换成音源硬件控制数据的变换处理,用音源硬件单元进行时间管理,所以可以使设置在音源硬件单元的序列器的电路规模变小。此时,时间管理可用计数器单元在简易的构成下进行。另外,对于软件处理单元由于不必进行为了时间管理的处理,所以可减轻软件处理单元的处理负担,不需要高速的CPU。
上述乐音生成装置,其特征在于,具有存储上述音乐内容数据的存储单元,上述软件处理单元利用处理的余量时间,实行将存储在上述存储单元的上述音乐内容数据变换成上述音源硬件控制数据的处理,将变换了的上述音源硬件控制数据存储到上述存储单元中。
按照优选的方式,软件处理单元可通过利用处理的余量时间进行变换处理,防止负荷集中在软件处理单元,进而降低作成高速的软件处理单元的必要性。
上述音源硬件单元,其特征在于,具有可存储所规定量的上述音源硬件控制数据的缓冲存储器单元,上述软件处理单元变换每个可存储在上述缓冲存储器单元的数据量,将变换了的上述音源硬件控制数据转送到上述缓冲存储器单元。
上述音源硬件单元,其特征在于,具有计数器单元,其是根据上述软件处理单元供给的起始信号开始计数,计数每单位基准时间发生的时钟信号;音源控制寄存器,其是根据上述乐音生成用的参数控制乐音生成;写入单元,在上述计数器单元的计数值大于上述时间管理信息值时,将持续于该时间管理信息的音源硬件控制数据中的上述参数写入到上述音源控制寄存器。
特别是为了达到上述第2个目的,上述乐音生成装置具有存储任意演奏开始位置的数据的点寄存器单元,上述音源硬件单元根据从对应于存储在该点寄存器单元的演奏开始位置的音源硬件控制数据生成乐音。
按照优选的方式,具有存储任意演奏开始位置的数据的点寄存器单元,由于,根据从对应于存储在此的演奏开始位置的数据的位置的音源硬件控制数据生成乐音,所以可从作成音乐内容数据的乐曲的任意位置再生。由此,在将再生的乐音作为收信旋律使用时,可从曲的适宜位置听到收信旋律。
更优选的是,在上述软件处理单元中,其特征在于,在将上述音乐内容数据变换成上述音源硬件控制数据时,时间管理信息作成相同值的同时,当表示乐音生成用的参数写入音源控制寄存器中的地址的变址信息连续时,将接续于时间管理信息的变址信息作为开始的变址信息,将接续于该变址信息的乐音生成用的参数变换成对应连续变址信息的多个参数。
按照优选的方式,其特征在于,通过在将时间管理信息成为相同值的同时,表示将乐音生成用的参数写入到音源控制寄存器中的地址的变址信息连续时,将接续于时间管理信息的变址信息作为开始的变址信息,继续将乐音生成用的参数变换成多个参数,可降低音源硬件控制数据量,可减轻软件处理单元及音源硬件单元的负担。
更优选的是,上述音源硬件单元具有计数器单元,该计数器单元是根据对应于从上述软件处理单元供给的起动信号开始计数,计数每单位基准时间发生的时钟信;音源控制寄存器,该音源控制寄存器是根据上述乐音生成用的参数控制乐音的生成;写入单元,当上述计数器单元的计数值大于上述时间管理信息值时,将接续于该时间管理信息的音源硬件控制数据中的上述参数写入到上述音源控制寄存器中,在上述参数由多个参数构成时,一边将每个上述变址信息表示的地址增量的同时,一边将各个参数数据写入到上述音源控制寄存器中。
更优选的是,上述软件处理单元具有将上述音源硬件控制数据分离成上述乐音生成用的参数和上述时间管理信息的分离单元。
进而优选的是,上述音源硬件控制数据是由上述时间管理信息和将至少指定1对上述音源控制寄存器的地址的变址及应该写入该地址的上述参数数据构成的组作为单元而构成。
进而更优选的是,上述音源硬件控制数据的各个上述单元是由时间管理信息、上述变址及上述参数数据构成。
进而更优选的是,上述时间管理信息具有表示紧后的数据是否是上述时间管理信息的上述值的数据的时间管理信息识别地址。
为了达到上述第1目的,按照本发明的第2方案提供的携带终端装置,其特征在于,具有软件处理单元,其将音乐内容数据变换成可再生的音源硬件控制数据;乐音生成装置,其具有根据含在上述音源硬件控制数据的时间管理信息达到定时值时,按照上述音源硬件控制数据中的乐音生成用的参数生成乐音的音源硬件单元;进行携带终端功能处理的处理装置。其中上述软件处理单元是作为上述处理装置的功能的一部分来实现。
使用此携带终端装置,可得到与上述相同的效果。
特别是为了达到上述第2目的,优选的是上述携带终端装置中,上述音乐生成装置具有存储任意演奏开始位置数据的点寄存器单元,上述音源硬件单元根据从对应于存储在该点寄存器单元的演奏开始位置的数据的位置的音源硬件控制数据生成乐音。
按照此优选的方式可得到与上述相同的效果。
为了达到上述第1个目的,按照本发明的第3个方案提供的乐音生成方法,其特征在于,按照以下步骤进行的,即通过软件将音乐内容数据变换成可再生的音源硬件控制数据,每当达到根据含在上述音源硬件控制数据中的时间管理信息的定时时,按照上述音源硬件控制数据中的乐音生成用的参数生成乐音。
按照此乐音生成方法可得到与上述相同的效果。
为了达到上述第1目的,提供存储媒体,其是存储实行上述乐音生成方法的程序的计算机可读出的存储媒体。
该程序是由以下构成的:
按照上述存储媒体可得到与上述相同的效果。附图说明
图1表示将具有本发明的乐音生成装置的本发明的携带终端装置应用于移动电话机时的第1实施方式的构成例的图;
图2表示关于本发明的第1实施方式的乐音生成装置的构成例的图;
图3A表示SMAF格式的数据结构的图;
图3B表示其数据结构中的痕迹磁道块(Score Track Chunk)数据结构的图;
图4是在SMAF格式中,表示痕迹磁道块(Score Track Chunk)中的序列器数据块的数据结构图;
图5是在时间轴上表示SMAF数据的一个例子的序列器数据的数据图;
图6是在本发明的第1实施方式的乐音生成装置中,表示将省略了音源硬件控制数据的时间管理信息的音源控制寄存器标图对应的数据,对应于变换前的SMAF数据所示的图;
图7是在本发明的第1实施方式的乐音生成装置中,表示音源控制寄存器标图的表示图;
图8是在本发明的第1实施方式的乐音生成装置中,表示含有时间管理信息的音源硬件控制数据的第1数据构成的图;
图9是在本发明的第1实施方式的乐音生成装置,表示音源硬件控制数据的第1数据所构成的数据例的图;
图10是本发明的第1实施方式的乐音生成装置中,表示将音源硬件控制数据的第1数据所构成的数据整理成每个数据组的图;
图11是在本发明的第1实施方式的乐音生成装置中,表示写入由音源硬件控制数据的第1数据所构成的数据的定时的图;
图12是在本发明的第1实施方式的乐音生成装置中,表示音源硬件控制数据的第2数据所构成的图;
图13是在本发明的第1实施方式的乐音生成装置中,表示音源硬件控制数据的第2数据所构成的数据例的图;
图14是在本发明的第1实施方式的乐音生成装置中,表示音源硬件控制数据的第2数据所构成的数据整理成每个数据组的图;
图15是在本发明的第1实施方式的乐音生成装置中,表示再生第1构成的音源控制寄存器数据时,用音源硬件的序列器进行的再生处理的流程图;
图16是在本发明的第1实施方式的乐音生成装置中,表示再生第2构成的音源控制寄存器数据时,用音源硬件的序列器进行的再生处理的流程图;
图17表示本发明的第2实施方式的乐音生成装置的构成例的图;
图18表示本发明的第3实施方式的乐音生成装置的构成的图;
图19是在本发明的第3实施方式的乐音生成装置中,表示音源硬件控制数据的第3数据构成图;
图20是在本发明的第3实施方式的乐音生成装置中,表示用1行表示对应多个事件的音源控制寄存器数据的具体例的图;
图21是在本发明的第3实施方式的乐音生成装置中,表示再生起动处理的流程图;
图22是在本发明的第3实施方式的乐音生成装置中,表示再生起动处理的时间管理信息部处理的流程图;
图23是在本发明的第3实施方式的乐音生成装置中,表示再生起动处理的地址部处理的流程图;
图24是在本发明的第3实施方式的乐音生成装置中,表示再生起动处理的数据部处理的流程图;
图25表示用以往硬件构成的乐音生成装置的构成图;
图26表示用以往软件构成的乐音生成装置的构成。具体实施方式
以下,参照图说明本发明的实施方式。
图1是表示将具有本发明的乐音生成装置的本发明的第1实施方式的携带终端装置应用于移动电话机的构成例及基站。
图1表示的移动电话机1一般具有可伸缩的天线25,通过无线与基站2连接着。天线25与具有变频·解频功能的通信部13连接着。中央处理器10是通过实施电话功能程序,控制移动电话机1的各部的操作的系统控制部,表示操作时的经过时间,具有用特定的时间间隔发生定时器中断的定时器。另外,CPU10进行后述的数据变换处理等的乐音生成关联处理。RAM11是设定了下述区的RAM(Randon AcceS Memory),即可以设定从下载中心等下载的作成配信格式的音乐内容数据的容纳区,下载中心是通过基站连接的、变换音乐内容数据的音源硬件控制数据的容纳区及CPU10的工作区等。RAM12是容纳了以下内容的ROM(Read Only Memory),即容纳了CPU10实行的送信、收信的各种电话功能程序和乐音生成关联处理等的程序、预先设置了的音源硬件控制数据等的各种数据。
另外,通信部13对天线25收信的信号进行解频的同时,变频送信的信号后供给到天线25。被通信部13解频的的受话信号在音声处理部(编码/解码)14中被译码,例如,从话筒21输入的通话信号在音声处理部14中,被压缩符号化。音声处理部14将声音高能率压缩符号化/译码化,例如作成CELP(Code Excited LPC)系和ADPCM(适当差份PCM符号化)方式的编码/译码。音源硬件15从受话用喇叭22放出从音声处理部14来的受话信号,通过再生变换了的音源硬件控制数据,可以生成收信旋律、保留音后输出。此外,收信旋律从收信用喇叭23放音,保留音与受话信号混合后,从受话用喇叭22放出声音。
音乐内容数据的格式是作成配信时方便的MIDI格式和SMAF格式,CPU10可以将这些格式的音乐内容数据通过变换成音源硬件15固有的格式的音源硬件控制数据进行再生。变换的音源硬件控制数据可以存储在RAM11中。音源硬件15根据音源硬件控制数据再生乐音,此时,设置着FIF0,其可暂时地在内部存储规定量的音源硬件控制数据。该FIF0可以作成可存储一曲量的音源硬件控制数据的储存容量,但是存储容量小,不能存储一曲量的音源硬件控制数据时,在FIF0上产生规定量空区时,音源硬件15将FIF0数据要求的信号给予CPU10,CPU10继续读出RAM11或RAM12中存储的音源硬件控制数据的后续,转送到音源硬件15。这样一来,使用小容量的FIF0也可以再生大数据量的音源硬件控制数据的乐曲。
进而,界面(1/F)16是为了从笔记本电脑等外部设备20下载音乐内容数据等的界面。输入部17是移动电话机1所具有的从“0”到“9”的播号键或由各种按键构成的输入单元。显示部18是表示对应于电话功能的菜单、播号键等的键的操作的显示器。震动期19是通过收信时代替收信音乐使移动电话机1的本体震动,将收信告知用户的震动器。此外,各功能组块是通过母线24进行数据的授受。
图2表示的本发明第1实施方式的音乐生成装置的构成,在移动电话机1中,作为音源硬件15使用着。但是省略了受话用喇叭22、收信用喇叭23及与其有关联的构成。此外,图中的CPU10和音源硬件15或者RAM11在图中没有表示,但是,通过母线24进行数据的授受。
在图2所示的本发明的乐音生成装置中,在RAM11的区域11a内容纳着作为音乐内容数据的文件化的MIDI数据和SMAF数据等。在CPU10中,有处理余量或者空时间等时,或者有音乐内容数据的再生指示时,CPU10从RAM11的区域11a读出音乐内容数据实行变换成音源硬件控制数据的变换处理,将变换后的音源硬件控制数据的容纳在RAM11的区域11b中。在区域11a内,可以存储多个曲量的音乐内容数据,在区域11b中,也存储多个曲量的音源硬件控制数据。
如上所述,CPU10从RAM11的区域11a读出音乐内容数据实行变换成音源硬件控制数据的变换处理,将变换后的音源硬件控制数据容纳在RAM11的区域11b中。这种变换处理是由CPU10中的音源控制生成单元10b实行的,但是音源控制生成单元10b是用软件来实现的。在存储控制器10a中,在将音乐内容数据变换成音源硬件控制数据时,存储控制器10a以从RAM11的区域11a应该变换的音乐内容数据为开始顺次地读出,供给到音源硬件控制数据生成单元10b。音源硬件控制数据生成单元10b解译供给的音乐内容数据逐步变换成音源硬件控制数据。变换了的音源硬件控制数据,由存储控制器10a顺次地写入RAM11的区域11b中。这样,CPU10可以将音乐内容数据变换成音源硬件控制数据。
此外,一边用CPU10进行数据变换的同时,一边进行音乐再生时,存储控制器10a可以向音源硬件15的FIF0(First-In First t-Out)31内写入变换了的音源控制数据f。
音源硬件15具有可以容纳规定量的音源硬件控制数据的FIF031,序列器32可以从FIF031顺次地读出音源硬件控制数据。FIF031设置成可将音源硬件控制数据,例如可以容纳32个单词量的先输入、先输出的存储单元,从先输入的音源硬件控制数据顺次地读出。另外,从FIF031读出音源硬件控制数据后,所设定的既定量的空区发生在FIF031上时,FIF031将FIF031数据要求信号e送到CPU10的存储控制10a,接着要求将音源硬件控制数据f转送到FIF031。通过这样,即使使用小容量的FIF031也可以再生作成大数据量的音源硬件控制数据的乐曲。
音源硬件15的序列器32具有数据译码器电路32b,译码器电路32b将从FIF031读出的音源硬件控制数据分离成时间管理信息和音源控制寄存器数据。此时,前置于时间管理信息,附加时间管理信息识别地址时,在时间管理信息识别地址后将例如1字节的数据作为时间管理信息进行分离。时间管理信息识别地址及除了时间管理信息的数据的音源控制寄存器写入数据是用乐音生成用的参数数据的寄存器写入控制器32c的控制基写入音源部33的音源控制寄存器33a中。寄存器写入控制器32c是用寄存器写入容许信号d输出的定时,将音源控制寄存器数据写入音源控制寄存器33a中,但是,由寄存器写入容许信号d与后述的时间管理信息的持续时间值和导通时间的值和计数器(定时器)32a的计数值一致的定时输出。
序列器32中的计数器32a作成标准时间单位、例如计数每1ms所输出的时钟,该计数是在从CPU10输出的序列起始信号g被加上时而开始的。另外,序列起始信号g,是将数据“01h”写入在音源控制寄存器33a中的序列器32所具有的寄存器01h内,通过将D0(start)设置成“1”指示序列器开始。通过这样,序列器32开始序列器的处理,计数器32a开始计数时,计数器32a将数据译码开始信号a施加在数据译码电路32b上。接受后,数据译码电路32b从FIF031读出音源硬件控制数据,分离时间管理信息。分离了的时间管理信息b送往计数器32a。而后,在计数器32中,计数值大于时间管理信息b时,计数器32a将寄存器写入容许信号d施加在计数器写入控制器32c上,被数据译码器电路32b分离了的音源控制寄存器写入数据c写入到音源控制寄存器33a。通过这样,在音源部33中,基于音源控制寄存器数据c的乐音被生成,可以进行输出。接着,数据译码器电路32b从FIF031读出下一个音源硬件控制数据。
而后,数据译码器电路32b从FIF031读出的下一个音源硬件控制数据,分离下一个的时间管理信息后,反复地进行与上述相同的处理。也就是,在计数器32a中,当计数值大于下一个时间管理信息b时,计数器32a将寄存器写入的容许信号d施加在寄存器写入控制器32c上,将用数据译码电路32b分离了的以下的音源控制寄存器写入数据c写入音源控制寄存器33a。由此,在音源部33中,基于下一个的音源控制寄存器写入数据c的乐音被生成后输出。接着,数据译码器电路32b从FIF031读出下一个的音源硬件控制数据。这样地通过从FIF031顺次读出下一个的音源硬件控制数据,可以在音乐部33中再生乐音。
以下,对音乐生成装置有再生指示时的图2所示的音乐生成装置的操作进行说明。
首先,对于SMAF格式进行说明。图3A、3B及图4表示SMAF格式的数据结构。如图3A所示,SMAF作成块(Chunk)结构,由内容信息块(ContentsInfo Chunk)40、痕迹磁道块(Score Track Chunk)41、PCM音响磁道块(PCMAudio Track Chunk)42等块构成。内容信息块40是包括内容信息和定义的块,痕迹磁道块41是容纳音源序列磁道的块,PCM音响磁道块42是用事件形式容纳压缩ADPCM和MP3(MPEG Audio layer3)、TwinVQ等的PCM系的音响发音的块。
如图3B表示痕迹磁道块41的数据。如此图所示,痕迹磁道块41是由格式型(Format type)、序列型(Sequence type)等的数据和、安装数据块(Setup Date Chunk)43、序列数据块(Sequence Date Chunk)44等的块构成。格式型数据是定义该块的实际格式的状态,例如可定义成范德丰.基准等。序列型数据表示2种序列数据中的一种类型,型式中有射流序列型和付序列型。安装数据块43是容纳音色数据和有效设定等的块,序列数据块44是容纳作成实体演奏数据的序列数据的块。
接着,图4表示容纳在序列数据块44的序列数据的数据结构。如图所示,序列数据是将1字节的持续时间(Duration)数据和作成2字节或3字节的事件(Event)数据相互排列构成。此时,在事件数据前一定存在持续时间数据。持续时间数据是表示配置在其前面的事件和其后的事件的时间间隔的时间信息。另外,在事件中有控制发音的音调信息(Note MeSage)、控制音量和调制等的控制信息、可以送去厂家独自的独占信息(ExclusiveMeSage)等的事件。进而音调信息是由表示指定的发音通道的通道号(Channel Number)、表示发音的音高的音符号(Note Number)、表示发音期间的导通时间(Gatetime)的各个数据构成。
图5是将由图4所示的持续时间数据1~持续时间数据3和事件数据1~事件数据3构成的序列数据表示在时间轴上的图。例如,若将事件1、事件2、事件3作成发音的音调信息,在持续时间1表示的时间经过的时候开始事件1的发音。另外,在事件1的发音开始后表示导通时间1的时间经过的时候停止事件1的发音。从持续时间1表示的时间经过的时候,进而在持续时间2表示的时间经过的时候,开始事件2的发音。接着,事件2的发音开始后在导通时间2表示的时间经过的时候停止事件2的发音。进而,从持续时间2表示的时间经过的时候,在持续时间3表示的时间经过的时候,开始事件3的发音。接着,事件3的发音开始后在导通时间3表示的时间经过的时候停止事件3的发音。以后,将图4所示的序列数据称为SMAF数据。
返回图2,在CPU10的音源硬件控制数据生成单元10b中,将作为音乐内容数据的例如SMAF数据变换成音源硬件控制数据。在此,变换的音源硬件控制数据,在再生时依次传送到音源硬件15上,音源部33根据音源硬件控制数据生成乐音。因此,音源硬件控制数据构成对应于音源部33的音源控制寄存器33a的寄存器标图的数据。在此,表示变换SMAF数据的音源硬件控制数据的例子,但尽管在音源硬件控制数据中含有相当于持续时间和导通时间的时间管理信息,但时间管理信息不能写入音源控制寄存器33a中。于是,图6表示将省略了音源硬件控制数据的时间管理信息的、与音源控制寄存器标图相对应的数据对应于变换前的SMAF数据。
在图6中,SMAF数据的持续时间数据“00”和程序变换信息的事件“003047”变换成变址“18h”和数据“10h”。但是,“h”是用16进位表示的。变址表示图7所示的音源控制寄存器33a的音源控制寄存器标图所表示的寄存器的地址。此时,各寄存器作成1字节的容量的寄存器,用变址“01h”作为地址的一条寄存器,用变址“18h”~“1Fh”作成地址的8条寄存器、用变址“B0h”~“BFh”作成地址的16条寄存器、用变址“C0h”~“CFh”作成地址的16条寄存器、用变址“E0h”~“EFh”作成地址的16条寄存器具备在音源控制寄存器33a中。另外,仅是用变址“01h”作成地址的寄存器具备在图2所示的序列器32内。另外,变址的长度作成1字节,各寄存器作成8位结构,所以数据长度也可用1字节构成。
另外,用变址“18h”~“1Fh”作成地址的8条各寄存器作成通道n的音色号和以下的通道n+1的音色号指定用的寄存器。由此,可指定16通道分的音色。另外,用变址“B0h”~“BFh”作成地址的16条的各寄存器容纳作成与各键的音高频率成比例的数据的10位的F号内的下位8位。进而,用变址“C0h”~“CFh”作成地址的16条的各寄存器容纳在D0、D1留下的上位2位的F号,在D2、D3、D4中容纳有3位的音频程信息,在D5中容纳键通信息。由此,可指示16通道的各通道的F号及由音频程构成的音高和键通。进而,用变址“E0h”~“EFh”作成地址的16条的各寄存器容纳在D0~D4作成5位的通道容量信息。由此,可指示16通道的各通道的通道音量值。
因此,通过变换成变址“18h”和数据“10h”,可在寄存器18h中容纳数据“10h”,由此,分别在通道1指定音色号“0h”的音色,在通道2指定音色号“ih”的音色。
另外,以下的SMAF数据的持续时间数据“00”和通道容量信息的事件“0037 7F”变换成变址“E0h”和数据“1Fh”。变换了的数据成为容纳在寄存器E0h的数据“1Fh”中,用数据“1Fh”作为通道1的音量值指定“1Fh”。
接着,以下的SMAF数据的持续时间数据“00”和音符信息的事件“2C50”变换成变址“B0h”和数据“B2h”及变址“C0h”和数据“32h”。变换了的数据成为容纳在寄存器B0h的数据“B2h”和容纳在寄存器C0h的数据“32h”中,通过由数据“B2h”(以2进位“10110010”)组成的第0位~第8位和数据“32h”(以2进位“00110010”)的D0、D1组成的第9位、第10位构成的10位“1010110010”指定通道1的F号。另外,用数据“32h”的D2、D3、D4的“100”的3位指定通道1的音频程。进而,用数据“32h”的D5的“1”在通道1上指示键打开。
进而,以下的SMAF数据的持续时间数据“5C”和信息的事件“2B20”变换成变址“B0h”和数据“8Bh”及变址“C0h”和数据“32h”。变换了的数据成为容纳在寄存器B0h的数据“8Bh”和容纳在寄存器C0h的数据“32h”中,通过由数据“8Bh”(以2进位“10001011”)组成的第0位~第8位和数据“32h”(以2进位“00110010”)的D0、D1组成的第9位、第10位构成的10位“1010001011”指定通道1的F号。另外,用数据“32h”的D2、D3、D4的“100”的3位指定通道1的音频程。进而,用数据“32h”的D5的“1”在通道1上指示键打开。
对应于向SMAF数据变换它的音源部控制寄存器标图如上述地进行对应,接续数据也同样地进行变换。
另外,SMAF数据的音符信息的事件“2C50”和事件“2B20”以16进位表示,其中的“50”“20”是作为发音持续时间键闭的导通时间数据,即,通过这些音调信息的发音在基准时间经过“50h”或“20h”时,必须停止发音。即,在从发音开始基准时间经过“50h”或“20h”时,为了关闭倍频程,必须有指示的音调信息,该音调信息是将持续时间数据作成“50h”或“20h”的同时,键开/键闭信息作成“0”。
这样的音调信息未表示在图6中,但在数据变换时,解释变换前的SMAF数据后,通过音源硬件控制数据生成单元10b而自动生成。在此,为了进行此说明,图8是表示包括时间管理信息的音源硬件控制数据的第1数据构成,图9是表示变换了图6所示的SMAF数据的第1数据结构的音源硬件控制数据的数据例,图10是表示对图9所示的音源硬件控制数据整理成每个数据组。
如图8所示,对于音源硬件控制数据的第1数据构成,将时间管理信息识别地址和时间管理信息作成组数据,时间管理信息识别地址作成前置于时间管理信息的。即,在检查时间管理信息识别地址时,表示后续的数据是时间管理信息。接续该时间管理信息,如图6所说明的,配置用变址和数据作成组的数据为1组以上。变址,如上所述是表示具备在音源控制寄存器33a的各寄存器的地址的信息,后续的数据作成写入到用该地址表示的寄存器中的数据。用前置的时间管理信息表示写入到寄存器的定时。对于音源硬件控制数据生成单元10b,将SMAF数据变换成图8所示的数据构成的音源硬件控制数据。
图9是表示通过音源硬件控制数据生成单元10b解释图6所示的SMAF数据变换了的音源硬件控制数据。在图9所示的音源硬件控制数据中除了时间管理信息之外还附加序列终了数据。即,先头数据可作成作为时间管理信息识别地址定义的“FFh”,接着,继续作为持续时间数据的时间管理信息“00h”。以后接续的数据与上述的变址“18h”和数据“10h”组组成的数据、变址“E0h”和数据“1Fh”组成组的数据、变址“B0h”和数据“B2h”及变址“B0h”和数据“32h”组成组的数据接续。由此,指定通道1及通道2的音色及通道1的音量的同时,通道1的键开和音高被指示。
接着,虽然接续的数据未表示在图6中,但是在通道1发音中的乐音是停止发音的数据。另外,前述的通道1的发音开始的适当时间作成前置了的时间管理信息“00h”的适当时间。而且,由于在导通时间经过了的定时停止发音,所以停止发音的数据的时间管理信息成为相当于导通时间的数据值。即,构成数据,其是通过作为时间管理信息识别地址的“FFh”和时间管理信息“50h”的组数据和其后接续的变址“B0h”和数据“B2h”及变址“C0h”和数据“12h”组成组的数据停止发音的数据。通过该数据在经过“50h”基准时间时,在寄存器B0h中容纳数据“B2h”,在寄存器C0h中容纳数据“12h”。由此,通过由数据“B2h”(以2进位“10110010”)组成的第0位~第8位和数据“12h”(以2进位“00010010”)的D0、D1的“10”的第9位、第10位构成的10位“1010110010”指定通道1的F号。另外,用数据“12h”的D2、D3、D4的“100”的3位指定通道1的音频程。进而,用数据“12h”的D5的“0”在通道1上指示键关闭。由此,指定的音频程和由F号构成的通道1的乐音在经过“50h”基准时间时停止放音。
以后接着的数据与上述说明相同地写入到音源控制寄存器33a中。在音源硬件控制数据的最后,接续时间管理信息识别地址的“FFh”和时间管理信息“01h”组构成的数据,附加由变址“01h”和数据“00h”(以2进位“00000000”)组构成的数据。此时,数据“00h”设定在寄存器01h中,该寄存器01h是从近前的事件在经过“01h”的基准时间经过的适当时间具备在音源控制寄存器33a中的序列器32上。因此,图7所示的寄存器01h的D0成为“0”,在序列器32上指示序列终了。即用变址“01h”和数据“00h”构成序列终了数据。
接着,图10是表示通过音源硬件控制数据生成单元10b解释SMAF后,变换的数据的第1构成的音源硬件控制数据整理成每个数据组。如该图所示,作成组的数据作成时间管理信息识别地址和时间管理信息的组及变址和数据的组。以下,参照图2及图10说明作为再生这样变换的音源硬件控制数据的乐曲指定时如图2所示的本发明的乐音生成装置的操作。但是,音源硬件控制数据在CPU10中再生前被变换存储在RAM11的区域11b中。
在CPU10的存储控制器10a将对应于从RAM11的区域的11b指示的乐曲的如图10所示的音源硬件控制数据f以32字节读出转送到音源硬件15的FIF031上。同时,CPU10将序列起动信号g供给到序列器32的计数器32a中。
另外,序列起动信号g将数据“01h”写入到音源控制寄存器33a的寄存器的一部分的寄存器01h中,通过将其D0(Start)设定在“1”指示序列开始。由此,序列器32起动序列处理,接受序列起始信号g的计数器32a开始以基准时间单位为时钟计数的同时,将数据译码器起始信号a施加在数据译码器电路32b。接受后,数据译码器电路32b从FIF031读出每1个字节数据。此时,读出的数据是时间管理信息识别地址“FFh”时,进而读出1个字节的数据,但是如图10所示,由于接续时间管理信息识别地址的数据是时间管理信息,所以将该时间管理信息b设定在计数器32a中。
进而,数据译码器电路32b从FIF031继续读出数据,但由于与读出的变址“18h”接续读出的数据“10h”也是音源控制寄存写入器数据,所以送到寄存写入器控制器32c中。寄存写入控制器32c进行在将变址“18h”作成地址的寄存器18h中写入数据“10h”的准备。此时,设定在计数器32a上的时间管理信息由于作成“00h”,所以即时地将来自计数器32a的寄存器写入容许信号d施加在寄存写入控制器32c,寄存写入控制器32c将数据“10h”写入音源控制寄存器33a的寄存器18h。寄存器18h是指定通道1和通道2的音色号的寄存器,由此指定由音源部33生成的乐音的通道1和通道2的音色。
接着,译码器电路32b从FIF031继续读出数据,但由于与读出的变址“E0h”接续读出的数据“1Fh”也是音源控制寄存器写入数据,所以送到寄存器写入控制器32c中。寄存器写入控制器32c进行将变址“E0h”作成地址的寄存器E0h中写入数据“1Fh”的准备。此时也由于设定在计数器32a的时间管理信息作成“00h”,所以即时从计数器32a将寄存器写入容许信号d施加到寄存器写入控制器32c上,寄存器写入控制器32c将数据“1Fh”写入到音源控制寄存器33a的寄存器E0h中。由于寄存器E0h是指定通道1的通道容量的寄存器,所以由此指定由音源部33生成的乐音的通道1的通道容量。
接着,数据译码器电路32b从FIF031读出接续数据,但由于与读出的变址“B0h”和接续读出的数据“B2h”也是音源控制寄存器写入数据,所以送到寄存器写入控制器32c中。寄存器写入控制器32c进行将变址“B0h”作成地址的寄存器B0h中写入数据“B2h”的准备。此时也由于设定在计数器32a的时间管理信息作成“00h”,所以即时从计数器32a将寄存器写入容许信号d施加到寄存器写入控制器32c上,寄存器写入控制器32c将数据“B2h”写入到音源控制寄存器33a的寄存器B0h中。寄存器B0h是指定通道1的F编号的下位8位的寄存器。
接着,数据译码器电路32b从FIF031接续读出数据,但由于与读出的变址“C0h”接续读出的数据“32h”也是音源控制寄存器写入数据,所以送到寄存器写入控制器32c中。寄存器写入控制器32c进行在将变址“C0h”作成地址的寄存器C0h中写入数据“32h”的准备。此时也由于设定在计数器32a的时间管理信息作成“00h”,所以即时从计数器32a将寄存器写入许可信号d施加到寄存器写入控制器32c上,寄存器写入控制器32c将数据“32h”写入到音源控制寄存器33a的寄存器C0h中。寄存器C0h是指定通道1的F编号的上位2位和音频程的同时,指示通道1的键打开/键关闭的寄存器,作为键打开,设定“1”(D5=1)。由此,指示通道1的键打开,设定在音源控制寄存器33a的音频程及F编号的音高、容量及音色的乐音在通道1开始生成。
接着,数据译码器电路32b从FIF031读出接续数据,但由于与读出的数据是时间管理信息识别地址“FFh”,所以将时间管理信息识别地址“FFh”接续的时间管理信息“50h”作为时间管理信息b设定在计数器32a中。接着,数据译码器电路32b从从FIF031读出接续数据。读出的数据是变址“B0h”,是音源控制寄存器写入数据,所以与接着读出来的数据“B2h”一起,送到寄存器写入控制器32c。寄存器写入控制器32c,进行将变址Boh”作成地址B0h中写入“数据B2h”的准备。此时,设定在计数器32a的时间管理信息作成“50h”,所以可以待机到计数器32a的计数值直到50h。
以下,数据编码电路32b从FIF031读出接续的数据。读出的数据是变址“C0h”,是音源控制寄存器写入数据,所以与接着读出来的数据“12h”一起,送到寄存器写入控制器32c。寄存器写入控制器32c,进行在变址“Coh”作成地址C0h中,写入数据“12h”的准备。此时,设定在计数器32a的时间管理信息作成“50h”,所以可以待机到计数器32a的计数值直到50h。而且计数器32a的计数值经过向前50h时刻50h的定时,从计数器32a将寄存器写入容许信号d施加在寄存器写入控制器32c。接受后,寄存器写入控制器32c将数据“B2h”写入音源寄存器33a的寄存器B0h的同时,将数据“12h”写入寄存器C0h。寄存器Boh是指定通道1的F号的下位8位字节的寄存器,寄存器C0h是指定通道1的F编号的上位2字节和倍频程的同时,用该D5指示通道1的键开/键关的寄存器,作为键关被设定为“0”(D5=0)。为此,被指定的倍频程和F号的音高在音源部33生成的通道1的乐音被指示在键关,停止乐音的生成。
计数器32a的计数值达到50h以上时,数据译码电路32b从FIF031继续读出数据,但是读出的数据是时间管理信息识别地址“FFh”,所以将时间管理信息识别地址“FFh”上接续的时间管理信息“0Ch”作为时间管理信息b设定在计数器32a中。接着,数据编码电路32b从FIF031读出接续数据,读出的数据是变址“B0h”,是音源控制寄存器写入数据,所以与接着读出来的数据“8Bh”一起,送到写入控制器32c。写入控制器32c,进行将变址“B0h”作成地址B0h中,写入数据“8Bh”的准备。此时,设定在计数器32a的时间管理信息作成“0Ch”,所以可以待机到计数器32a的计数值直到0Ch。
接着,数据编码电路32b从FIF031读出接续数据。读出的数据是变址“C0h”,是音源控制寄存器写入数据,所以与读出的数据“32h”一起被送到写入控制器32c。写入控制器32c进行将数据“32h”写入到将变址“C0h”作成地址B0h内的准备。此时,设定在计数器32a的时间管理信息作成“0Ch”,所以可以待机到计数器32a的计数值直到0Ch。而且,计数器32a的计数值从前进时刻50h经过0Ch时间后的时刻5Ch(=50h+0Ch)的定时,从计数器32a将寄存器写入容许信号d施加在寄存器写入控制器32c。接受后,寄存器写入控制器32c将数据“8Bh”写入音源寄存器33a的寄存器B0h的同时,将数据“32h”写入寄存器C0h。寄存器B0h是指定通道1的F编号的下位8字节的寄存器,寄存器C0h是指定通道1的F编号的上位2字节和倍频程的同时,指示通道1的键开/键关的寄存器,作为键开被设定为“1”(D5=1)。为此,通道1被指定键开,被设定在音源控制寄存器33a的及F号的音高、音量及音色的乐音在通道1生成。
接着,数据编码电路32b从FIF031读出接续数据。读出的数据是时间管理信息识别地址“FFh”,所以将接续时间管理信息识别地址“FFh”的时间管理信息“20h”作为时间管理信息b设定在计数器32a。接着,数据编码电路32b从FIF03 1读出接续数据,读出的数据是变址“B0h”,是音源控制寄存器写入数据,所以与接着读出来的数据“8Bh”一起,送到寄存器写入控制器32c。寄存器写入控制器32c进行将数据32h写入到将变址“C0h”作成地址B0h内的准备。此时,设定在计数器32a的时间管理信息作成“20h”,所以可以待机到计数器32a的计数值进行到20h。
接着,数据编码电路32b从FIF031读出接续数据。读出的数据是变址“C0h”,音源控制寄存器写入数据,所以与读出的数据“12h”送到寄存器写入控制器32c,寄存器写入控制器32c进行将数据”12”写入到将变址“C0h”作成地址C0h内的准备。此时,设定在计数器32a的时间管理信息作成“20”,所以可以待机到计数器32a的计数值进行到20h。而且,计数器32a的计数值从前进时刻20h经过7Ch(=5h+20Ch)的定时,从计数器32a将寄存器写入容许信号d施加在寄存器写入控制器32c。接受后,寄存器写入控制器32c将数据“8Bh”写入音源寄存器33a的寄存器B0h的同时,将数据“12h”写入寄存器C0h。寄存器B0h是指定通道1的F号的下位8字节的寄存器,寄存器C0h是指定通道1的F编号的上位2字节和倍频程的同时,指示通道1的键开/键关的寄存器,作为键开被设定为“0”(D5=0)。为此,在音源部33生成的倍频程和F编号所指定的音高通道1的乐音的倍频程被指示,乐音的生成停止。
以下,按顺序读出每个字节,进行同样的处理。而且,最后,从FIF031读出与变址“01h”接续的数据“00h”。另外,这些数据前置后,时间管理信息识别地址“FFh”和时间管理信息“01h”从FIF031读出。时间管理信息“01h”作为时间管理信息b被设定计数器32a,从FIF031读出。该时间管理信息“01h”作为时间管理信息设定在计数器32a,从FIF031接续读出的变址“01h”作为音源控制寄存器写入数据c被送到寄存器写入控制器32c。进而,数据译码电路32b将从FIF031读出的数据“00h”送到寄存器写入控制器32c。寄存器写入控制器32c进行向变址“01h”作为地址的寄存器01h中写入数据“00h”(以2进位“00000000”)的准备。此时,设定在计数器32a的时间管理信息作成“01h”。所以,计数器32a的计数值可待机到01h。而且,计数器32a的计数值是经过01h时间的定时,所以从计数器32a将寄存器写入容许信号d施加在寄存器写入控制器32c。接受该信号后,寄存器写入控制器32c将数据“00h”写入音源控制寄存器33中的序列器32所备有的寄存器01h。寄存器01h的D0将序列器起动/停止指示到序列器32,此时,作为序列器停止是设定在“0”(D0=0)。由此,序列器终了,序列器32结束序列处理。这样,由变址“01h”和数据“00h”构成的数据是序列器终了的数据。
在以上的说明中,向音源控制寄存器33写入的各数据的定时表示在图11中。
在图11中,横轴表示时间,但是标准时间单位是1ms时间值是以16进位表示。因此,时间单位是以hms表示的。首先,计数器32a在开始计数的时刻0hms中,将时间管理信息作成“00h”的数据写入音源控制寄存器32a。此时,被写入的数据作成如图10所示的变址“FFh”乃至数据“32h”构成的5组的音源控制寄存器写入数据A。而且,经过50hms后,达到时刻50mhs时时间管理信息“00h”的下一个时间管理信息“50h”接续的数据被写入音源控制寄存器33a。此时,写入的数据作成如图10所示的变址“B0h”乃至数据“12h”构成的2组的音源控制寄存器写入数据B。
进而,经过0Chms后,达到时刻5Chms时时间管理信息“50h”的下一个时间管理信息“0Ch”接续的数据被写入音源控制寄存器33a。此时,写入的数据作成如图10所示的变址“B0h”乃至数据“32h”构成的2组的音源控制寄存器写入数据C。再进而,经过20hms后,达到时刻7Chms时,时间管理信息“0Ch”的下一个时间管理信息“20h”接续的数据被写入音源控制寄存器33a。此时,写入的数据作成如图10所示的变址“B0h”乃至数据“12h”构成的2组的音源控制寄存器写入数据D。再进而,经过0Dhms后,达到时刻89hms时,时间管理信息“20h”的下一个时间管理信息“0Dh”接续的数据被写入音源控制寄存器33a。此时,写入的数据作成如图10所示的变址“B3h”乃至数据“32h”构成的2组的音源控制寄存器写入数据E。
以下的数据虽然图中没有表示,但是同样地是写入音源控制寄存器33a。而且,最后变址“01h”和数据“00h”构成的序列器终了数据如前所述,写入音源控制寄存器33a中所具有的寄存器01h,此时,计数器32a的计数也停止。而后,当有再生指示时,计数器32a被清除重新开始计数。
这样,音源控制寄存器33a上顺次地写入时间管理信息接续的数据一直到下一个时间管理信息出现为止。而且,用图11所示的定时将乐音生成数据写入音源控制寄存器33a,所以,在音源部33中,乐音生成的定时如图5所示。
以下,图12表示了音源硬件控制数据生成单元10b变换的音源硬件控制数据的第2数据构成例,在图13中表示了对应具体图6的第2构成的音源硬件控制数据的数据例,将图13表示的第2构成的音源硬件控制数据作为一组的每个数据组进行整理后,表示在图14中。
在第2数据构成中,如图12所示,音源硬件控制数据是将时间管理信息和变址和数据作为一组的数据而构成的。也就是,前置数据后,配置变址,前置变址后配置时间管理信息的构成。如上所述,变址是音源控制寄存器33a所具有的各寄存器所表示的地址信息,后续的1字节的数据写入用地址表示的寄存器内。而且,写入寄存器的定时是用1字节或者2字节的时间管理信息表示的。时间管理信息作成2字节时最初的1字节的MSB作成“1”。另外,与第1构成不同,在第2构成中,时间管理信息必须变址前置后配置。这样,第2构成的音源硬件控制数据,可以作成3字节或者4字节为一组的数据,在组的先头配置时间管理信息。
图13表示了通过音源硬件控制数据的生成单元10b解释图6表示的SMAF数据后变换成第2数据构成的音源硬件控制数据的例。第2数据构成的音源硬件控制数据,如图12所示,是将时间管理信息、变址、数据作为一组而构成的,图14表示了将图13表示的第2数据构成的音源硬件控制数据的整理成各组。以下,参照这些图和图2说明再生第2数据构成的音源硬件控制数据。但是,第2数据构成的音源硬件控制数据在CPU10中再生前被变换存储在RAM11的区域11b中。
CPU10中的储存控制器10a读出由RAM11的区域11b指示的图14表示的第2构成的音源硬件控制数据f,例如32字节,转送到音源硬件控制中的FIF031。同时,CPU10将序列器的起始信号g供给到序列器32的计数器32a。
序列器的起始信号g将数据“01h”写入音源控制寄存器33a的一部的寄存器的寄存器01h中,通过将D0(start)设定为“1”指示序列器开始。用此,序列器32开始序列器的处理,接受序列器的起始信号g的计数器32a开始标准单位的时钟的计数,同时在数据译码电路32b上施加数据译码起始信号a。接受该信号后数据译码电路32b从FIF031读出每1个字节的数据。此时,读出的先头的数据是时间管理信息,该数据“00h”作为时间管理信息b设定在计数器32a。此时,时间管理信息的MSB是“0”,所以该组的全体数据是3字节。
与读出的变址“18h”接续地读出数据“10h”由于是音源控制寄存器写入数据,所以被送到寄存器写入控制器32c。寄存器写入控制器32c进行将数据“10h”写入到变址“18h”作为地址的寄存器18h的准备。此时,设定在计数器32a上的时间管理信息作成“00h”,所以即时地,将从计数器32a来的寄存器写入容许信号d施加在寄存器写入控制器32c,寄存器写入控制器32c将数据“”写入音源控制计数器32a。寄存器1 8h由于是指定通道1和通道2的音色号的寄存器,所以,用此可以指定在音源部33生成了的乐音的通道1和通道2的音色。
接着,数据译码电路32b从FIF03 1读出接续的组数据,但读出的先头的数据是时间管理信息,将该数据“00h”作为时间管理信息b设定在计数器32a中。此时,由于时间管理信息的MSB是“0”,该组的全体的数据量也成为3字节。接续读出的索引“E0h”数据“1Fh”也是音源控制寄存器写入数据,所以送到寄存器写入控制器32c中。寄存器写入写入控制器32c进行将数据“1Fh”写入到以变址“E0h”作成地址的寄存器E0h的准备。此时,设定在计数器32a的时间管理信息作成“00h”,所以,即时地,从计数器32a来的寄存器写入容许信号d施加在寄存器写入控制器32c,寄存器写入控制器32c,将数据“1Fh”写入音源控制寄存器33a的寄存器E10h。寄存器E10h由于是指定通道1的通道音量的寄存器,所以,通过它,可以指定在音源部33生成的乐音的通道1的通道容量。
接着,数据译码器电路32b从FIF031读出组数据,但是读出的先头的数据是时间管理信息,该数据“00h”作为时间管理信息b被设定在计数器32a。此时,时间管理信息的MSB由于是“0”,所以该组的全体的数据量也是3字节。读出来的变址“B0h”后,相继续读出的数据“B2h”也是音源控制寄存器写入数据,所以被送到寄存器写入控制器32c,寄存器写入控制器32c进行将数据“B2h”写入以变址“B0h”为地址的寄存器B0h的准备。此时,计数器32a上所设定的时间管理信息作成“00h”,所以即时地,从计数器32a来的寄存器写入容许信号d施加在寄存器写入控制器32c,寄存器写入控制器32c将数据“B2h”写入音源控制寄存器33a的寄存器B10h。寄存器B10h是指定通道1的F号的下位8字节的数据。
进而,数据译码器电路32b从FIF031读出组数据,但是读出的先头的数据是时间管理信息,该数据“00h”作为时间管理信息b被设定在计数器32a。此时,时间管理信息的MSB由于是“0”,所以该组的全体的数据量也是3字节。与读出来的变址“C0h”后相继续读出的数据“32h”也是音源控制寄存器写入数据,所以被送到寄存器写入控制器32c。寄存器写入控制器32c进行将数据“32h”写入以变址“C0h”为地址的寄存器B0h内的准备。此时,计数器32a上所设定的时间管理信息作成“00h”,所以即时地,从计数器32a来的寄存器写入容许信号d施加在寄存器写入控制器32c,寄存器写入控制器32c,将数据“32h”写入音源控制寄存器33a的寄存器C0h。寄存器C0h指定通道1的F号的上位2字节和倍频程的同时,指定通道1的键开/键关,作为键开是设定在“1”(D5=1)。用此,指示了通道1的键开,在通道1开始生成设定在音源控制寄存器33a的倍频程及F号的音高、音量及音色的乐音。
进而,数据译码器电路32b从FIF031读出组数据,但是读出的先头的数据是时间管理信息,该数据“00h”作为时间管理信息b被设定在计数器32a。此时,时间管理信息的MSB由于是“0”,所以该组的全体的数据量也是3字节。与读出来的变址“E0h”后相继续读出的数据“1Fh”也是音源控制寄存器写入数据,所以被送到寄存器写入控制器32c。寄存器写入控制器32c进行将数据“32h”写入以变址“E0h”为地址的寄存器B0h内的准备。此时,计数器32a上所设定的时间管理信息作成“00h”,所以即时地,从计数器32a来的寄存器写入容许信号d施加在寄存器写入控制器32c,寄存器写入控制器32c将数据“1Fh”写入音源控制寄存器33a的寄存器E0h。寄存器E0h是指定通道1的容量,所以,指定了音源部33生成的乐音的通道1的通道容量。
进而,数据译码器电路32b从FIF031读出组数据,但是读出的先头的数据是时间管理信息,该数据“00h”作为时间管理信息b被设定在计数器32a。此时,时间管理信息的MSB由于是“0”,所以该组的全体的数据量也是3字节。与读出来的变址“B0h”后相继续读出的数据“B2h”也是音源控制寄存器写入数据,所以被送到寄存器写入控制器32c。寄存器写入控制器32c进行将数据“B2h”写入以变址“B0h”为地址的寄存器B0h内的准备。此时,计数器32a上所设定的时间管理信息作成“00h”,所以即时地,从计数器32a来的寄存器写入容许信号d施加在寄存器写入控制器32c,寄存器写入控制器32c将数据“B2h”写入音源控制寄存器33a的寄存器B0h。寄存器B0h是指定通道1的F号的下位8位。
进而,数据译码器电路32b从FIF031读出组数据,但是读出的先头的数据是时间管理信息,该数据“00h”作为时间管理信息b被设定在计数器32a。此时,时间管理信息的MSB由于是“0”,所以该组的全体的数据量也是3字节。与读出来的变址“C0h”后相继续读出的数据“32h”也是音源控制寄存器写入数据,所以被送到寄存器写入控制器32c。寄存器写入控制器32c进行将数据“32h”写入以变址“C0h”为地址的寄存器C0h内的准备。此时,计数器32a上所设定的时间管理信息作成“00h”,所以即时地,从计数器32a来的寄存器写入容许信号d施加在寄存器写入控制器32c,寄存器写入控制器32c将数据“B2h”写入音源控制寄存器33a的寄存器B0h。寄存器B0h是指定通道1的F号的上位2位和音频程。作为键开设定“1”(D5=1)。由此,通道1的键开被指示,设定在音源控制寄存器33a的音频程及F号音高、音量及音色的乐音,在通道1开始生成。
进而,数据译码器电路32b从FIF031读出组数据,但是读出的先头的数据是时间管理信息,该数据“50h”作为时间管理信息b被设定在计数器32a。此时,时间管理信息的MSB由于是“0”,所以该组的全体的数据量也是3字节。接着从FIF031读出数据译码器电路32b。读出的数据是变址“B0h”,是音源控制寄存器写入数据,所以与读出来的数据“B2h”一起送到寄存器写入控制器32c。寄存器写入控制器32c进行将数据“B2h”写入以变址“B0h”为地址的寄存器B0h内的准备。此时,计数器32a上所设定的时间管理信息作成“50h”,所以,计数器32ad计数值待机到50h。
计数器32a的计数值是经过50h时间的时刻50h的适应时间,将来自计数器32a的寄存器容许信号d施加在寄存器写入控制器32c上。接收后,寄存器写入控制器32c将数据“B2h”写入到音源控制寄存器33a的寄存器B0h中。寄存器B0h是指定通道1的F编号的下位8位的寄存器。
接着,数据译码器电路32b从FIF031读出组数据。读出的先头的数据是时间管理信息,将该数据“00h”作为时间管理信息b设定在计数器32a上。此时,由于时间管理信息的MSB是“0”,所以该组的全体的数据成为3字节。读出的数据由于是索引“C0h”是音源控制寄存器数据,所以与读出的数据“12h”一起送到寄存器写入控制器32c中。寄存器写入控制器32c,进行将数据“12h”写入到将索引“C0h”作为地址的寄存器“C0h”中的准备。此时,由于设定在计数器32a的时间管理信息作成“00h”,所以即时地从计数器32a将寄存器容许信号d施加在寄存器写入控制器32c上。接受信号后,寄存器写入控制器32c将“12h”写入到音源控制寄存器33a的寄存器C10h.。寄存器C10h.指定通道1的F号的上位2位和音频程的同时,是指示通道1的键开/键关的数据,作为键开设定为“0”(D=50)。由此,在音源部可以指示生成2组的数据指定的音频程和F号的音高的通道的乐音键关,乐音的生成停止。
此外,指示键关的时间管理信息“50h”是对应SAMF数据的导通时间。
以下,同样地读出每组数据,将数据写入音源控制寄存器写入数据译码器电路32b。而且,数据译码电路32b从FIF031读出组数据时,作为读出先头的数据时间管理信息是“80h”。此时时间管理信息的MSB由于是“1”,所以该组的时间管理信息是用2字节表示的。读出来的时间管理信息“32h”后,将读出的数据“80h”及“32h”作为时间管理信息b设定在计数器32a。这时的全体的数据量是4字节。数据译码器电路32b从FIF031连续读出,定时读出的数据是变址“C0h”,是音源控制寄存器写入数据,所以与读出来到数据“32h”一起被送到寄存器写入控制器32c,寄存器写入控制器32c进行将数据“32h”写入变址“C0h”为地址的寄存器C0h的准备。此时,计数器32a上所设定的时间管理信息作成“80h 32h”,所以计数器32a的计数值待机到(80h32h)。
而且,计数器32a的计数值用经过(80h 32h)时间的定时,将计数器32a来的容许信号d施加在寄存器写入控制器32c。接受该信号后,寄存器写入控制器32c将数据“32h”写入音源控制寄存器33a的寄存器C0h。寄存器C0h指定通道1的F号的上位2字节和音频程的同时,指定通道1的开/键关的寄存器,键开设定在“1”(D5=1)。
以下,顺序地读出每一个字节的数据,进行同样的处理。最后,从FIF031读出时间管理信息“01h”和变址“01h”和数据“00h”构成的组。该时间管理信息“01h”作为时间管理信息b设定在计数器32a,从FIF031读出的变址“01h”作为音源控制寄存器写入数据c送到寄存器写入控制器32c。进而,数据译码电路32b将从FIF031读出的数据“00h”送到寄存器写入控制器32c。寄存器写入控制器32c进行将数据“00h”写入变址“01h”为地址的寄存器“01h”(2进制“00000000”)的准备。此时,计数器32a上所设定的时间管理信息作成“01h”,所以计数器32a的计数值待机到01h。而且,计数器32a的计数值通过经过1进位01时间的定时将计数器32a来到寄存器写入容许信号d施加在寄存器写入控制器32c。接受该信号后,寄存器写入控制器32c将数据“00h”写入音源控制寄存器中的一个序列器32所备有的寄存器01h,6寄存器01h的D0是将此时的序列器起始/停止信号指示在序列器32的寄存器,此时作为序列器停止设定在“0”(D0=0)。这样,序列器终了,序列器32结束序列器的处理。这样,由变址“01”和数据“00h”构成组的数据是序列器终了的数据。
以下,图15表示了再生第1的构成的音源控制寄存器数据时,用音源硬件控制15的序列器32实施再生处理的流程图。
在图15所表示的流程图中,序列器起始信号g从CPU10加在序列器32上时,再生处理则开始,在步骤S1数据译码器电路32b从FIF031读入先头的1字节的数据。接着,在步骤S2,读入的数据用数据译码器电路32b判断时间管理信息识别地址是否正确。当该数据是FFh,时间管理信息识别地址的情况下判断为YES后进入步骤S3,数据译码器电路32b从FIF031进一步读入1字节的数据。这里读入的数据成为时间管理信息,所以,该数据被设定在计数器32a。而且,在步骤S4判断是否仅是经过设定在计数器32a上的时间管理信息所表示的时间。如果没有经过时,要待机到经过时间为止,如果判断是经过了表示的时间,则进入步骤S5。此外,时间的经过是在计数器32a的计数成为设定的时间管理信息的值时,判断为经过。
在步骤S5中,数据译码器电路32b从FIF031进而读入1字节的数据。接着,用数据译码器电路32b判断在步骤S6读入的数据是否是时间管理信息识别地址。当判断读入的数据不是时间管理信息识别地址(FFh)时,将送到步骤S7的读入数据送往音源控制寄存器33a。但是,该数据是变址,成为指定音源控制寄存器33a的寄存器。接着,在步骤S8,数据译码器电路32b从FIF031进一步读入1字节的数据,但是该数据成为步骤S7送来的变址组的数据,在步骤S9用该变址指定的音源控制寄存器33a的寄存器被数据寄存器写入。例如,再生起始时,在图9及图10所表示的例中,最初送到音源控制寄存器33a的是变址18h和数据“10h”构成的数据。
接着,判断步骤S5及步骤S8所读入的2字节的数据,其序列器是否终了(S10)。这里,序列器终了的数据,如图9及图10所示是变址18h和数据“00h”构成的数据。用此读入的数据是变址01h和数据“00h”构成的组数据时,判断序列器终了数据,再生处理结束。另外,若判断不是序列结束数据,回到步骤S5数据译码器电路32b读入从FIF031进而接续的1个字节的数据。接着,用数据译码器电路32b判断步骤S6读入的数据是否是时间管理信息识别地址。在此,若判断读入的数据是时间管理信息识别地址(FFh),回到步骤S3数据译码器电路32b读入从FIF031进而接续的1个字节的数据。在此,由于读入的数据是时间管理信息,所以该数据设定在计数器32a。然后判断是否仅经过用步骤S4设定在计数器32a的时间管理信息表示的时间。没有经过的时,要待机到经过为止,判断经过时则进入步骤S5。
以下,进行同样的处理,判断步骤S10读入的数据是序列器终了数据时,再生处理终了。此时,在以前的步骤的步骤S7及步骤S9,序列器终了的数据写入音源控制寄存器33a,用此,在序列器32中,再生处理终了。此外,通过进行从步骤S10向步骤S5的返回处理,在时间管理信息识别地址读入前可以将多个数据用一个时间管理信息送到音源控制寄存器33a。通过送入这些数据可以控制音源部33的键开/键关、发音的音高、音量和音色等。另外,在步骤S2读入的数据不是时间管理信息地址时,用数据译码器电路32b判断时,判断出不是第1构成的音源控制寄存器数据时再生处理终了。进而,虽然在流程图上没有表示,但是发生来自FIF031的数据读入错误时,也可以终了再生。
第16图表示了再生第2构成的音源控制寄存器数据时,音源硬件15的序列器32所实施的再生处理的流程图。
在图16中所表示的流程图中,将序列器的起始信号g从CPU10施加到序列器32上时,再生处理起动。在步骤S21数据译码器电路32由FIFO31读入先头的1字节的数据。如图12所示的那样,先头的数据是时间管理信息,所以在步骤S22中判断该数据的MSB是否是“1”。如果判断该数据的MSB是“1”时,时间管理信息判断2字节的构成后,进入步骤S23,数据译码器电路32b从FIF031读入1字节的数据。读入的2字节的时间管理信息被设定在计数器32a上。另外在步骤S24判断读入的MSB不是“1”时,则将读入的1字节的时间管理信息设定在计数器32a。而且,判断在步骤S24中是否仅经过设定在计数器32a上的时间管理信息所表示的时间。如果没有经过则待机到经过为止,若经过,则进入步骤S25。另外,时间的经过大于设定成计数器32a计数的时间管理信息的值时,则判断为经过了。
在步骤S25中,数据译码器电路32b从FIF031进一步读入2字节数据。读入的2字节的数据是接续时间管理信息的数据,如图12所示,由于作成变址和数据,所以将步骤S26读入的2字节的数据送到音源控制寄存器33a。此时,变址所指定的音源控制寄存器33a的寄存器内被写入接续变址的数据。例如,再生开始时,在图13及14所示的例中,最初送到音源控制寄存器33a的数据,是由变址18h和数据“10h”构成的数据。
接着,在步骤S27中判断步骤S25读入的2字节的数据,是否是序列器终了数据。这里,序列器终了数据如图13及图14所表示的那样是由变址01h和数据“00h”构成的数据。因此,读入的组是由变址01h和数据“00h”构成的数据组时,可判断为序列器终了数据,终止再生。另外,判断不是序列器终了数据时,返回到步骤S21,反复地进行上述的操作。
用此方法,可以顺次地读出3字节或者4字节为一组的数据,其中的变址和数据顺次地送到音源控制寄存器33a,在相应的寄存器内写入。这样,音源部33根据写入的音源控制寄存器33a的数据,生成乐音。此外,判断步骤S27读入的数据是序列器终了数据时,则再生处理终了,但是此时,通过前述的步骤的步骤S26,序列器终了的数据写入的音源控制寄存器33a。因此,此时,在序列器33a中,再生处理终了。
如以上所述,在音源硬件15上的序列器32的再生处理,是进行时间管理和将数据送到音源控制寄存器33a的处理。而且,时间管理是与时间管理信息分离设定在计数器32a,通过比较监视设定了的时间管理信息和计数器32a的计数值来进行的。将数据送到音源控制寄存器33a的数据,当与计数器32a的计数值大于时间管理信息值时,可以通过接受输出的寄存器写入容许信号进行,所以,硬件可以是简单的构成。由此,序列器32的电路规模也可以变小。
此外,通过序列器起始信号g计数器32a开始计数的同时,通过序列器起始信号g,将“1”设定在音源控制寄存器33a的一部分的寄存器的寄存器01h的D0(start)。这样,序列器起始信号g作为电平信号,根据序列器起始信号g的电平,开始计数器32a的计数,同时也可以将“1”设定在寄存器的寄存器01h的D0(start)。另外,在序列器起始信号g中含有变址“01h”和数据“01h”构成的数据时,也可通过该数据将“1”设定在寄存器的寄存器01h的D0(start)。
以下,在图17中,说明本发明第2实施方式的乐音生成装置的构成,本发明第2实施方式涉及的含在移动电话中的乐曲可从任意位置进行再生。
图17中的第2实施方式的乐音生成装置,收纳着表示再生曲时的演奏位置的演奏开始的点(point)数据寄存器区域11c设置在RAM11上。此点上,是与上述的图2所示的第1实施方式的乐音生成装置不同的构成。因此仅对此加以说明。
在RAM11中的寄存器区域11c中,收纳着表示再生曲时的演奏位置的演奏开始的点数据。该演奏开始点数据用户可以任意地设定。设定时,对收信的旋律或者保留音可以选择的曲中,从移动电话1所备有的菜单选择设定从那一个位置再生。此时,在开始演奏的适宜的位置,将多个标卡插入到音源硬件控制数据中,音源硬件控制数据是可以改变曲的音乐内容或者音乐的数据,通过将其中一个标卡的位置作为起始点地进行选择,可以设定演奏开始的位置。插入标卡的位置可以是例如序曲、主曲、插曲、结尾曲等的先头。而且CPU10,在音源硬件控制数据变换单元10b中,可以将选择的曲的音乐内容数据变换成音源硬件控制数据。变换了的音源硬件控制数据容纳在RAM11中的区域11b中。
在此,指示再生时,CPU10读出容纳在RAM11的寄存器区域11c的演奏开始的点数据,从RAM11的区域11b读出来自对应演奏开始的点数据的位置的音源硬件控制数据,依次输送到音源硬件15中。根据输送到音源部的音源硬件控制数据生成来自用演奏开始的点数据表示的位置的乐音。另外,在音乐内容数据的先头部分存在音色数据、节奏数据和容量数据等的设定数据时,设定数据也变换成音源硬件控制数据容纳到RAM11的区域11b中。在指示再生时,最初从区域11b读出对应于设定数据的音源硬件控制数据输送到音源硬件15。由此,即使将乐曲从途中再生作成设定在乐曲中的音色、节奏、音量的乐音也被再生。
在此,在操作收信键等指示再生停止时,作为容纳在RAM11的寄存器区域11c的演奏开始的点数据,容纳再生终了的位置信息,以便在下次再生该乐曲时从再生停止的位置可再生。此时,若演奏开始的点数据作成从实际终了再生的乐曲的位置在后方作为最初检测出的标板的位置的起动点时,可从演奏开始时适宜的位置再生。另外,再生停止的指示,在移动电话机1中在输入部17的收信键的操作、删除保存的操作或切断通信电线时进行。
如上所述,作为容纳到寄存器区域11c的演奏开始的点数据,作成变换了音乐内容数据的音源硬件控制数据的演奏开始的位置的地址数据。由此,在每变更演奏开始的位置时,可不需要从演奏开始的位置将音乐内容数据变换成音源硬件控制数据。
进而,再设定移动电话机1时,使容纳在寄存器区域11c的演奏开始的点数据初期化。甚至,在收信旋律曲变更时,使容纳在寄存器区域11c的演奏开始的点数据初期化。
接着,图18表示本发明的第3实施方案的移动电话机1的乐音生成装置的结构。在如图18所述的乐音生成装置中,作成可降低变换了的音源硬件控制数据量的结构,在此结构中,作成与上述图2所示的本发明的乐音生成装置不同的结构。在此,仅对于此结构进行以下的说明。
在如图18所示的本发明的第3实施方案的乐音生成装置中,对于RAM11,将作为音乐内容数据的文件化了的MIDI数据和SMAF数据等容纳在区域11a中。另外,在CPU10中存在处理中有富裕时间等时或有音乐内容数据的再生指示时,CPU10进行从RAM11的区域11a读出音乐内容数据并将其变换成音源硬件控制数据的变换处理,将变换后的音源硬件控制数据容纳在RAM11的区域11b中。在区域11a中可储存多个乐曲的音乐内容数据,在区域11b中,也可储存多个乐曲的音源硬件控制数据。
在此,图19是表示在如图18所示的本发明的第3实施方案的乐音生成装置中,作为一个例子的变换了SMAF数据的音源硬件控制数据(第3例)。如图19所示的,音源硬件控制数据是由相当于持续时间或导通时间的时间管理信息和音源控制寄存器写入数据构成。
而且,构成音源控制寄存器写入数据的变址如上述,是表示音源控制寄存器33a所具有的各寄存器的地址的信息,后续的数据作成写入寄存器的数据,该寄存器是用地址表示。图18表示的本发明的第3实施方式的乐音生成装置中,其特征在于,如图19中音源硬件控制数据的第2行所示那样,有变址用多个字节(图中的例是2字节)表示的情况,以及数据用多个字节(图中的例是3字节)表示的情况,进而如第3行所示的那样,时间管理信息用多个字节(图中的例是2字节)表示的情况。
这里,可以用多个字节表示时间管理信息,是为了扩大表示事件和事件间隔的持续时间数据和表示发音期间的导通时间数据的范围。例如,时间管理信息作成1字节时,只能表示0~255的范围,单位时间作成1ms时,只能表示0~255ms的范围。因此,时间管理信息作成2字节时,可以表示0~65535(216~1),单位时间作成1ms时,可以表示0~65535ms的时间。但是图18所示的本发明的第3实施方案的乐音生成装置中,使用各字节的MSB来表示是否有后续的字节,所以各字节可使用位数分别是下位7位,可以表示到0~16383(214~1)。而且,将时间管理信息作成最大3字节时,可以表示超过0~16383ms时间的范围。
另外,可以用多个字节表示变址其理由是,图18所示的本发明的第3实施方案的乐音生成装置中,使用各字节的MSB表示后续的字节是否存在,所以可以使用的位数是1字节的下位7位。于是,如图7中所示,作为音源控制寄存器33a的变址,尽管甚至变址“BFh”也是必要的,对于下位7的位数的1字节只能表示到“7Fh”。因此,用2字节表示变址时,例如,作成变址“6Fh 8Fh”时,MSB将“1”的字节作为上位字节,除去各个的字节的MSB,通过结合可以表示变址“EFh”。图18所示的本发明的第3实施方案的乐音生成装置的规格,有余量下,变址最大可到3字节。
进而,可以用多个表示数据是由于,在与时间管理信息同值的定时中,同种的事件使用多个通道时,可以用1行表示对应多个的音源控制寄存器寄存器写入数据的缘故。此外,在音源控制寄存器33a中,写入同种事件中的数据的地址是作成如图7所示的音源控制寄存器图所表示的那样的连续地址,利用这些,可以用1行表示对应多个事件的音源控制寄存器寄存器写入数据。
参照图20说明用1行表示对应多个事件的音源控制寄存器寄存器写入数据的具体例。
图20中,对比表示着SMAF数据和、变换SMAF音源硬件控制数据,SMAF数据的第1行的持续时间数据“00”和“通道编号0”中的通道容量信息的事件“00 37 7F”被变换成时间管理信息“80h”、变址“60h 81h”、和数据“9Fh”。另外SMAF数据的第2行的持续时间数据“00”和“通道编号1”中的通道音量信息的事件“00 77 55”被变换成时间管理信息“80h”、变址“61h 81h”、和数据“95h”。SMAF数据的第3行的持续时间数据“00”和“通道编号2”中的通道音量信息的事件“00 F7 28”被变换成时间管理信息“80h”、变址“62h 81h”、和数据“85h”。进而SMAF数据的第4行的持续时间数据“00”和“通道编号3”中的通道音量信息的事件“00 F7 28”被变换成时间管理信息“80h”、变址“63h 81h”和数据“8Ah”。
此外,变址“60h 81h”用变址“E0h”表示、变址“61h 81h”用变址“E1h”表示、变址“62h 81h”用变址“E2h”表示、变址“63h 81h”用变址“E3h”表示,其理由如下进行说明。图18所示的本发明的第3实施方案的乐音生成装置中,可以用1字节或2字节或3字节表示变址数据,此时,如上所述,各字节中的有效位数作成下位7位。而且,变址数据中的先头字节的MSB作成“0”时,进而意味着与上位的变址字节接续着,该MSB作成“1”时,意味着是变址字节。
即,图20所表示的变址数据的先头的字节是“60h”,其MSB是“0”,所以与上位的变址字节成为连续的连接。与其接续的变址字节是“81h”,其MSB是“1”,所以与该变址字节的最上位的字节连接着。这样变址字节作成多个字节时,可以从下位的字节到来。而且,从上位的字节并列修改的变址数据成为“81h 61h”,从该变址数据生成的变址(寄存器的地址)分别是用字节的下位7位表示,所以用2进位表示时,则成为“00 0000 1110 0000”,明显的位数成为下位的8位。因此用16进位表示下位8位时,成为“E0h”。这样,变址数据“60h 81h”意味着“E0h”,同样变址“61h 81h”用变址“E1h”表示、变址“62h 81h”用变址“E2h”表示、变址“63h 81h”用变址“E3h”表示。
对应这些变址的事件,由于是连续的通道的通道音量信息,对应的寄存器的地址是连续的,所以可以作成图20所示的连续的变址,进而,时间管理信息也作成同值“80h”。此外,时间管理信息也可以用多个字节表示,时间管理信息的字节的MSB作成“0”时,则意味着更上位的时间管理信息字节的接续,该MSB作成“1”时,则意味着最上位的时间管理信息字节。而且,各字节中的有效字节作成下位7位。即,从图20表示的第1行到第4行的时间管理信息数据作成“80h”,是最上位,从该时间管理信息数据生成了的时间管理信息成为构成下位7位的“00h”。该时间管理信息设定在序列器32中的定时器32a上。
作成图20所示的连续的变址的同时,时间管理信息也作成相同值时,通过将对应的数据连续地配置,可用1行的音源硬件控制数据表示用多行表示的SMAF数据。即,如图20箭头下部所示的,从图20的SMAF的第1行第4行可变换成时间管理信息数据“80h”、变址“60h 80h”和数据“1Fh15h 05h 8Ah”和1行的音源硬件控制数据。此时,变址作成连续的变址的先头变址,接续数据除去最终数据变换成各个数据的有效的下位7位的数据。即,先头的数据“9Fh”变换成数据“1Fh”、第2个数据“95h”变换成数据“15h”、第3个数据“85h”变换成数据“05h”,第4个数据“8Ah”不变。它是将MSB作为“1”,第4个数据“8Ah”为了表示其数据是最终数据字节而不变。但是,第4个数据值作成除去MSB的“0Ah”。在时间管理信息是同值而变址连续时,由于可以用1行的音源硬件控制数据表示多行的SMAF数据,所以可降低音源硬件控制数据的量。
接着,参照图21~图24所示的流程图说明图18所示的本发明第3实施方案的乐音生成装置的操作。
在如图21所示的再生起动处理的流程图中,若从CPU10将序列起动信号g加到序列器32时,从计数器32a将译码器起动信号a输出到数据译码器电路32b,开始再生起动处理。由此,步骤S30进行后述的时间管理信息部处理。该时间管理信息部处理是数据译码器电路32b实行的处理,根据从FIF031每1字节读入的时间管理信息数据生成时间管理信息,在计数器32a设定生成的时间管理信息。对于该实施方案,时间管理信息数据作成由1字节~3字节构成的。步骤S31判断是否仅经过用设定在计数器32a的时间管理信息表示的时间。在不经过时,待机到经过,在判断是经过时,进行步骤S32。另外,时间的经过在成为设定计数器32a的计数的时间管理信息值以上时可判断是经过,在经过时,从计数器32a将寄存器许可信号d输出到寄存器控制器32c。
在步骤S32中进行后述的地址部处理。该地址部处理是数据译码器电路32b及地址控制器32d实行的处理,根据从FIF031每1字节读入的变址数据,控制地址控制器32d,以便生成将后续的数据写入到音源控制寄存器33a的寄存器的地址。对于该实施方案,变址数据作成由1字节~3字节构成的。
在步骤S32中,若生成地址,在步骤S33中进行后述的地址部处理。该数据部处理是数据译码器电路32b及地址控制器32d、寄存器控制器32c实行的处理,作成从FIF031将每1字节读入的数据写入到音源控制寄存器33a中。对于该实施方案,数据作成由1字节~3字节构成的。写入到音源控制寄存器33a中的数据是乐音发生用的数据,使用该乐音发生用的数据,音源部可生成乐音。该数据部处理由于在步骤S31后实行,在音源控制寄存器33a达到用时间管理信息表示的时间时写入乐音发生用的数据,所以乐音在用时间管理信息表示的时间时发生。
在步骤S33的数据部处理终了时,回到步骤S30进行步骤S30~步骤S33的处理,由此,可依次读出从FIF031变换了SMAF数据的音源硬件控制数据,在音源部33中,可自动演奏。
接着,参照图22所示的流程图详细说明再生起动处理的步骤S30的时间管理信息部处理。
在图22所示的时间管理信息部处理中,在处理起动时,在步骤S40中数据译码器电路32b从FIF031读入1个字节的音源硬件控制数据。在此,读入的音源硬件控制数据,作成是其先头数据的时间管理信息数据或MSB是“1”的数据接续的时间管理信息数据。接着,判断在步骤S41中读入的1个字节的时间管理信息数据的MSB是否是“1”。在此,在判断MSB为“0”时,由于有接续的上位的时间管理信息数据字节,所以步骤S42进行读入的1个字节的时间管理信息数据可写入到时间管理信息第1个字节用 寄存器中。在步骤S43中数据译码器电路32b作成从FIF031读入接续的1个字节的时间管理信息数据。
接着,在步骤S44中判断读入的第2个字节的时间管理信息数据的MSB是否是“1”。在此,在判断MSB为“0”时,由于有进而接续的上位的时间管理信息数据字节,所以步骤S45进行读入的第2个字节的时间管理信息数据可写入到时间管理信息第2个字节用临时 寄存器中。在步骤S46中数据译码器电路32b作成读入从FIF031进而接续的1个字节的时间管理信息数据。接着,判断在步骤S47中读入的1个字节的时间管理信息数据的MSB是否是“1”。在此,在判断MSB为“0”时,意味着有进而接续的上位的时间管理信息数据字节,但由于对于第3实施方案的规格最大作成3个字节,所以在判断MSB为“0”时成为错误。在此,在判断MSB为“0” 时,错误处理后,返回到再生起始处理的步骤S31。
另外,在步骤41中,判断MSB为“1”时,由于读入的第1字节的时间管理信息数据成为最上位的字节,所以从步骤S48中读入的第1个字节的下位7位生成时间管理信息,生成的时间管理信息设定在定时器32a上。接着,在步骤S48中全部的临时寄存器删除,返回到再生起动处理的步骤S31。
进而,在步骤S44中判断MSB为“1”时,由于在步骤S43中读入的第2字节的时间管理信息数据成为最上位的字节,所以将该第2字节的时间管理信息数据作为步骤S48中的上位字节,将写入到时间管理信息第1个字节用临时寄存器中的第1个字节的时间管理信息数据作为下位字节,从各字节内的下位7位生成时间管理信息。生成的时间管理信息设定在定时器32a上。接着,在步骤S49中全部的临时寄存器删除,返回再生起动处理的步骤S31。
进而,在步骤S47中判断MSB为“1”时,由于在步骤S46中读入的第3字节的时间管理信息数据成为最上位的字节,所以将该第3字节的时间管理信息数据作为最上位字节,将写入到时间管理信息第2个字节用寄存器中的第2个字节的时间管理信息数据作为中位字节,将写入到时间管理信息第1个字节用临时寄存器中的第1个字节的时间管理信息数据作为下位字节,在步骤S48中从各字节内的下位7位生成时间管理信息。生成的时间管理信息设定在定时器32a上。接着,在步骤S49中删除全部的临时寄存器,返回再生起动处理的步骤S31。
举出具体例子说明这样的时间管理信息部处理时,例如作成时间管理信息数据的数据列是“03h 37h 81h”。于是,由于从FIF031最初读入的1个字节的数据“03h”的MSB成为“0”,所以在步骤S42中读入的数据“03h”读入到时间管理信息第1个字节用临时寄存器中。进而,从FIF031读入的1字节的数据“37h”的MSB也成为“0”,所以在步骤S45,数据“37h”写入时间管理信息第2字节用的临时寄存器。再进而,从FIF031进一步读入的1字节的数据“81h”的MSB也成为“1”,所以读入的数据“81h”是最上位的字节。因此,将在步骤S48的数据“”作为最上位字节、写入时间管理信息第1字节用的临时寄存器的数据“”作为中位字节、写入时间管理信息第1字节用的临时寄存器的数据“03h”作为最下位字节,将它们结合时生成“00h 5Bh 83h”。生成的时间管理信息的“00h 5Bh 83h”设定在计数器32a。
参照图23流程图说明再生处理中步骤S32的地址部处理的详细内容。
图23表示的地址处理中,处理起始后,在步骤S50数据译码器电路32b从FIF031读入1字节的音源硬件控制数据。读入的音源硬件控制数据由于是后续时间管理信息数据,所以是变址数据。接着,判断在步骤S51读入的1字节的变址数据中的MSB是否为“1”。这里,当MSB判断为“0”时,有接续上位的变址字节,所以进入步骤S52将读入的1字节的变址数据写入地址第1字节用临时寄存器。而且,在步骤S53,数据译码电路32b写入从FIF031读入的第2字节的变址数据。
以下,判断在步骤S54读入的第2字节的变址数据中的MSB是否为“1”。这里,当MSB判断为“0”时,进而有接续上位的变址字节,所以进入步骤S52将读入的第2字节的变址数据写入地址第2字节用临时寄存器。而且,在步骤S53,数据译码电路32b从FIF031进一步读入第3字节的变址数据。接着,判断在步骤S57读入的第3字节的变址数据中的MSB是否为“1”。这里,当MSB判断为“0”时,意味进而有接续上位的变址字节,但是在第3实施方式的规格中,由于变址数据作成最大3字节,所以判断为“0”时,错误处理后,可以返回到再生处理的步骤S33。
在步骤S51中,当MSB被判断为“1”时,读入的第1字节的时间管理信息数据成为最上位,所以步骤S58读入的第1字节的变址数据被转送到地址控制器32d,在地址控制器32d中,从被转送的变址数据的下位字节生成了音源控制寄存器32a中的寄存器的地址。该地址供给音源控制寄存器32a,寄存器写入控制器32c供给的数据写入该地址的寄存器。接着削除步骤S59中所有的临时寄存器,返回到再生起始处理步骤S33。
进而,判断在步骤S54中的MSB是否为“1”。步骤S53读入的第2字节的变址数据是最上位,所以,该第2字节的上位字节的变址数据和写入变址第1字节用临时寄存器的第1字节的下位字节的变址数据,在步骤S58被转送到地址控制器32d。而且,在地址控制器32d中,从被转送的2字节的变址数据的下位7位生成了在音源控制寄存器33a的地址。该地址供给音源控制寄存器33a,从寄存器写入控制器32c供给的数据写入该地址的寄存器。接着削除步骤S59中所有的临时寄存器,返回到再生起始处理步骤S33。
进而,在步骤S57中,当MSB被判断为“1”时,在步骤S56读入的第3字节的变址数据成为最上位,所以在步骤S53中,将该第3字节的最上位的字节的变址数据和、写入变址第2字节用临时寄存器的第2字节的中位字节的变址数据和写入变址第1字节用临时寄存器的第1字节的中位字节的最下位变址数据,转送到地址控制器32d。而且,从地址控制器32d转送来的3字节的变址数据的各字节的下位7位生成了音源控制寄存器33a中的寄存器地址。该地址供给音源控制寄存器33a,从寄存器写入控制器32c供给的数据写入到该地址的寄存器。接着削除步骤S59中所有的临时寄存器,返回到再生起始处理步骤S33。
参照图24流程图说明再生处理中步骤S33的数据部处理的详细内容。
图24表示的数据处理中,处理起始后,在步骤S60数据译码器电路32b从FIF031读入1字节的音源硬件控制数据。读入的音源硬件控制数据由于是后续变址数据的乐音生成装置,所以,在步骤S61中,供给寄存器写入控制器32c。寄存器写入控制器32c,将从计数器32a输出的定时供给的寄存器写入容许信号d的数据写入音源控制寄存器32a。此时,通过步骤S32中处理部,地址控制部32d将应该写入的数据的寄存器的地址供给音源控制寄存器32a。另外,寄存器写入容许信号d将从计数器32a输出的定时供给的数据写入到音源控制寄存器32a。此时,此时,通过步骤S32中地址处理部,地址控制部32d将应该写入的寄存器的地址供给音源控制寄存器32a。另外,寄存器写入容许信号d,在再生起始处理的步骤S3 1的处理中,已经从计数器32a输出着,所以将该数据写入到由地址控制器32d输出的地址的寄存器中。
进而,在步骤S62中,在数据译码器中判断读入的1字节的数据中的MSB是否为“1”,当MSB被判断为“0”时,由于有接续字节,进入步骤S63,数据译码电路32b对地址控制器32d上进行使现在的地址仅增加1的指示。地址控制器32d接受指示后使现在的地址仅增加1,将增量的地址施加在音源控制器33a。这是由于当作成上述的多个字节的数据时各个的数据的时间管理信息是同值的,变址即地址是连续的缘故。步骤S63的处理终了时,返回到步骤S60,数据译码电路32b从FIF031读入1字节的数据。读入的数据,在步骤S61供给寄存器写入控制器32c,由于已经从寄存器写入控制器32c输出,所以寄存器写入控制器32c要将供给的接续数据立即写入音源控制寄存器33a的增量了的地址的寄存器中。
接着,在步骤S62中,在数据译码器电路32b中判断连续读入的1字节的数据中的MSB是否为“1”。当MSB被判断为“0”时,由于有接续字节,进入步骤S63,数据译码电路32b对地址控制器32d上进行使现在的地址仅增加1的指示。地址控制器32d接受指示后使现在的地址仅增加1,将增量的地址施加在音源控制器33a。步骤S63的处理终了时,,返回到步骤S60,数据译码器电路32b从FIF031读入进一步接续的1字节的数据。读入的数据在步骤S61供给到寄存器写入控制器32c,由于寄存器写入容许信号d已经从计数器32a输出,所以寄存器写入控制器32c要将供给的接续数据立即写入音源控制寄存器33a的增量了的地址的寄存器中。接着在步骤S56中,在数据译码器电路32b中判断连续读入的1字节的数据中的MSB是否为“1”。当MSB被判断为“1”时,由于读入的数据是最终的数据,所以返回到再生处理的步骤S30中。另外,当MSB被判断为“0”时,由于有接续字节,要反复地进行处理直到上述的步骤S63乃至步骤S62的处理判断为“0”时为止。这样,即使对应多个事件的音源控制寄存器写入数据用1行表示时,也可以将各个乐音生成用的数据写入到寄存器。
可是,从FIF031读出的1字节的数据上的MSB是作为标记使用的。因此,从FIF031读出的1字节的数据进行对应上述写入的寄存器值的上述处理时,也可将寄存器中的MSB掩码或者忽视,着重于下位7位的处理。
如上所述,图18所示的本发明的第3实施方式的乐音生成装置中,音源硬件控制数据变换单元10b将容纳在RAM11的区域11a的音乐内容数据变换成音源硬件控制数据,但是,此时如图20所示,时间管理信息作成同值,变址成为连续的值时,对应多个事件的音源控制寄存器写入数据进行变换处理,使得可用1行表示。
这里,发出再生指示时,CPU10从RAM11中的区域11b读出对应再生指示了的乐曲的音源硬件控制数据,顺次第转送到音源硬件15。音源部33根据转送来的音源硬件控制数据生成乐音。此外,在音乐内容数据的先头部分存在有音色数据、节奏数据、音量数据等的设定编排数据时,设定编排数据也变换成音源硬件控制数据容纳到RAM11中的区域11b内。而且,发出再生指示时,从区域11b读出对应设定编排数据的音源硬件控制数据,转送到音源硬件15,接着,从区域11b读出对应设定编排数据的音源硬件控制数据,顺次转送到音源硬件15。
在音源硬件15中,通过FIF031读入的音源硬件控制数据用数据译码电路32b译码后,从分离的时间管理信息数据生成时间管理信息,设定在计数器32。该时间管理信息的生成处理是通过图22所示的时间管理信息进行的,所以时间管理信息数据由多个字节构成也可以生成时间管理信息。另外,数据译码电路32b根据时间管理信息后续的变址数据进而控制地址控制器32d,以便在写入后续的数据的音源控制寄存器33a中生成寄存器的地址。该生成地址的处理是通过图23所表示的地址处理部实施的,所以,即使变址数据是多个字节构成也可以生成地址。
进而,数据译码电路32b将接续变址数据的乐音生成装置的数据供给寄存器写入控制器32c,寄存器写入控制器在设定了计数器32a的时间管理信息的时刻,可以输出寄存器写入的容许信号d的定时,将音源控制寄存器33a供给的数据写入由地址控制器32d指示的地址位置。由此,根据在音源部33写入的乐音生成用数据生成乐音。另外,由于将数据写入音源控制寄存器33a的处理通过图24所示的数据部处理实行,所以在数据由多个字节构成时,一边每一个表示写入的寄存器的地址,一边将各个字节的数据依次写入相对于音源控制寄存器33a中。如上述说明,在将本发明的乐音生成装置适用于作为本发明的携带终端装置的移动电话机时,在移动电话机1通过基站2从下载中心等下载新的音乐内容数据时,可将了的音乐内容数据如上述地变换成音源硬件控制数据后进行再生。另外,在移动电话机1中有收信时,通过将对应于作为收信预先指定的乐曲的音源硬件控制数据从RAM11读出后进行再生,可放音收信。
另外,本发明的乐音生成装置不仅只适用于作为携带终端装置的上述移动电话机,且可适用于可输出乐音的携带信息机器和可输出乐音的携带型个人计算机等。此时,也可于文件和图象内容同期再生音乐内容数据。
另外音源硬件15的音源部33可通过频率变调方式的音源,即FM音源而构成。FM音源是将通过FM音源频率变调生成的高调波利用于乐音的合成的,可在比较简单的电路发生具有包括非调和音的高频率成分的波形。FM音源可从自然乐器的合成音到电子音发生宽的乐音。对于FM音源使用称为等价地发生正弦波的操作器的发振器,例如可通过将第1的操作器和第2的操作器纵向接续构成FM音源。另外,在操作器上可以反馈赠本身的输出来构成FM音源。
进而,作为音源硬件15的音源部33的音源方式,不仅限于FM音源方式,且可作成波形音源(PCM音源、ADPCM音源)方式、物理模型音源方式等,作为音源的构成可使用DSP等的硬件音源。
上述实施方式通过作为软件的程序的形态来实现,当然达到本发明的目的是不用待言的。
进而,将记录了实现上述实施方案的功能的软件的程序的存储媒体供给到系统和装置,其系统和装置的计算机(或CPU和MPU)读出容纳在存储在媒体中的程序,也可以达到本发明的目的。
此时,从存储媒体读出的程序编码本身实现上述实施方案的新的功能,存储了其程序编码的存储媒体构成了本发明。
作为为了供给程序编码的存储媒体,例如可使用上述软盘、硬盘、光盘、磁盘、CD-ROM、CO-R、DVD-ROM、半导体存储器、磁带、不挥发性的磁卡、ROM等。另外,通过其他的MIDI设备和通信网络也可以从服务计算机供给程序。
另外,通过读出计算机读出的程序,不仅实现了上述实施方案的功能,且根据其程序编码的指示,在计算机上操作的OS等可以进行一部分或全部的实际处理,当然,也包括了通过处理,实现上述实施方式的功能的条件。
进而,从存储媒体读出的程序编码,被写入到插入有计算机的功能扩张板和连接在计算机上的功能扩张单元所具有的存储器后,根据该程序编码的指示,计算机的功能扩张板和计算机上的功能扩张单元所具有的CPU可以进行一部分或全部的实际处理,当然,也包括了通过处理,实现上述实施方式的功能的条件。
本发明的乐音生成装置是通过软件的变换处理装置,实施将音乐内容变换成音源硬件控制数据的变换处理,由于是用音源硬件进行时间管理,所以设置在音源硬件上的序列器的电路规模可以减少,适用于不用使用高速的CPU的终端装置。