具体实施方式
以下,参照附图说明本发明的实施例。
图1是表示本发明实施例的乐音产生装置中的硬件结构的图。本实施例
的乐音产生装置接受来自外部的输入操作,适用于输出声音和图像的娱乐装
置。
本实施例的乐音产生装置包括主CPU(Central Processing Unit:中央处
理单元)110、存储器120、图像处理器130、子CPU210、声音处理器220、
存储器230、缓冲器240、以及扬声器300。而且,主CPU110、存储器120、
图像处理器130用高速总线150来连接,而子CPU210、声音处理器220、存
储器230、缓冲器240用低速总线250来连接。高速总线150和低速总线250
通过总线接口240来连接。
在存储器120中,存储声音库310和音源文件330。在存储器230中,
存储声音库320和乐谱数据340。
在缓冲器240中,有存储从子CPU210向主CPU110传送的数据的MC
区域241、存储从子CPU210向声音处理器220传送的数据的SP区域242、
以及存储从主CPU110向声音处理器传送的PCM数据350的PCM区域243。
主CPU110以60Hz的频率来工作。主CPU110例如也可以使用处理能力
为300MIPS左右的CPU。在将本乐音产生装置应用于娱乐装置时,主CPU110
主要进行用于图像输出的处理,控制图像处理器130。即,根据未图示的时
钟发生器产生的时钟信号,以1/60秒为一个周期,来进行各周期内规定的图
像输出的处理。图4(a)是图示该情况的图。主CPU110在每个1/60秒内进
行图像关系的处理G。在该周期内进行的所有处理提前结束的情况下,在下
个周期到来前不进行处理。利用该空出的时间B进行以下说明的有关音响输
出的处理(参照图4(c))。
从声音库310中读取规定的程序来执行有关音响输出的处理。以下,说
明其细节。
主CPU110从缓冲器240的MC区域241中读取音符数据350。根据读
取的音符数据,主CPU110进行声音合成,生成PCM(Pulse Code Modulation:
脉冲码调制)数据。音符数据350例如是图2和图3所示的包含表示音色和
该音色对应的声音状态的记述的文本数据。音符数据例如表示与声音的发声、
声音的停止、发声的声音的高度中的至少其中一个有关的声音的状态。音符
数据350由子CPU210生成,存储在缓冲器240的MC区域241或SP区域
242中。将音符数据350构成在子CPU210在各周期中输出的块351中。
图2所示的音符数据的示例被分割为4个块。在各块351中,至少包含
表示该块大小的“Date size=XX、表示该块生成的时刻的Time code=NN”这
样的记述。该时间码表示的时刻以毫秒为单位来表示。其中,该时刻用于把
握与其他音符数据的相对时刻,不需要与实际的时刻一致。也可以使用可判
别数据的生成顺序的序列号来代替时间码。
数据块351a中包含的“Program Change P0=2”、“Program Change P1=80”
分别指‘在部分0设定标示符为2的乐器’、‘在部分1设定标示符为80的乐
器’。而“Volume P0=90”、“Volume P1=100”分别指‘部分0的音量为90’、
‘部分1的音量为100’。
图3的数据块351b中包含的“Key on P0=60”、“Key on P1=64”分别指
‘部分0以60这样的声音(中央‘哆’)发声’、‘部分0以64这样的声音(中
央‘咪’)发声’。数据块351中包含的“Key on P1=67”指‘部分1以67这
样的声音(中央‘嗦’)发声’。数据块351d中包含的“Key off P0=60”、“Key
off P1=64”分别指‘停止部分0以60这样的声音(中央‘哆’)输出’、‘停
止部分0以64这样的声音(中央‘咪’)输出’。这些音符数据350由子CPU210
生成,存储在缓冲器240的MC区域241中。
PCM数据360是从音源文件330中取出音符数据350表示的各部分声音
状态相当的声音数据并进行合成、编码的数据。如图5所示,PCM数据360
划分生成为与音符数据350的各数据块351对应的块361,被存储在缓冲器
240的PCM区域243中。
图像处理器130在主CPU110的控制下进行用于将图像显示在未图示的
显示装置上的处理。
子CPU210以240Hz~480Hz的频率来工作。子CPU210例如也可以使用
处理能力为30MIPS左右的CPU。以下的处理都从声音库320中读取规定的
程序来执行。
子CPU210从存储器230读取乐谱数据340,生成图2和图3所示的音
符数据350。生成的音符数据350被存储到缓冲器240。然后,主CPU110要
处理的音符数据350被存储到MC区域241,而声音处理器220要处理的音
符数据350被存储到SP区域242。
这里,例如,声音处理器220要处理的音符数据350也可以是有关基音
的数据。主CPU110要处理的音符数据350可以是有关旋律线的数据,或可
以是有关需要特殊效果的处理的数据。
声音处理器220在子CPU210的控制下生成输出到扬声器300的声音。
具体地说,声音处理器220包括声音合成电路221和D/A变换电路222。声
音合成电路221从SP区域242读取子CPU210生成的音符数据350,输出编
码过的合成音的PCM数据360。D/A变换电路222将声音合成电路221生成
的PCM数据360和主CPU110生成的PCM数据变换为模拟的电压信号,将
该信号输出到扬声器300。
声音库310、320存储用于在本乐音产生装置中进行输出声音的处理的程
序模块。例如,包括进行乐谱数据340的读取等的输入处理模块、进行声音
合成的声音合成处理模块、控制声音处理器的声音处理器控制模块、带有滤
波处理或回声处理等特殊效果的特殊效果模块等。
音源文件330存储用于合成各种乐器等各种声音的基本的音源数据。
乐谱数据340是在计算机上读取由音乐的谱面表示的信息的数据。
下面,参照图4来说明主CPU110和子CPU210的工作定时。图4所示
的任何一个图的横轴都表示时间。
图4(a)是表示主CPU110仅进行与图像有关的处理G时的情况的定时
图。主CPU110以1/60进行周期性地工作。从各周期A的起点A开始在该周
期内要处理的图像处理。然后,如果该处理结束,主CPU110在下个周期到
来前不进行处理。即,CPU可有空闲时间B(图中的斜线部分)。
图4(b)是表示子CPU210仅进行音符数据350的生成-输出处理S时
的情况的定时图。这里,考虑子CPU210以1/240秒周期来工作的情况。在
子CPU210中,与主CPU110同样,从各周期的起点A开始进行该周期内要
处理的处理。然后,音符数据的生成和输出结束时,在下个周期到来前成为
CPU的空闲时间B。子CPU210生成的音符数据350是声音处理器220直接
处理的数据和在子CPU110处理后被传送到声音处理器200的数据
图4(c)是表示主CPU110在空闲时间B时进行声音合成处理情况的定
时。以周期T2为例来说明。在周期t3~t6之间子CPU210生成的音符数据350
被存储到缓冲器240中。其中,图2表示MC区域241中存储的音符数据350。
主CPU110读取该4个块351的音符数据350,进行规定的处理。
此时,主CPU110参照时间码以时间码的顺序、块351为单位来进行PCM
数据360的生成处理P。这里,由于在主CPU110的一个周期内要处理子
CPU210的4个周期部分的数据,所以也可以集中处理该4个周期部分的数据。
可是,如果集中来处理,由于原来能够以1/240秒的精度来进行声音的合成,
所以该处理使精度下降到1/60秒。如上所述,通过以各块单位来进行PCM
数据的生成,可以防止精度的下降。
在主CPU110进行有关图像处理G之中,从子CPU210产生中断,使有
关图像的处理被暂时中断而进行PCM数据生成处理P也可以。但是,该情况
下有关图像处理的处理效率下降。因此,如上所述,在有关图像处理结束后,
如果集中进行PCM数据生成处理,则可以进行处理而不使有关图像处理的效
率下降。
主CPU110将PCM数据360对应每个块361存储在缓冲器240的PCM
区域243中。PCM数据360的块361对应于音符数据350的块351。在主
CPU110结束一个周期的处理的时刻,PCM区域423中存储的PCM数据360
的数据量如果作为声音以从扬声器300输出的时间来换算,则相当于1/60秒
以上的数据量。
声音处理器220以与子处理器210相同的周期来工作。因此,这里以1/240
秒周期来工作。在各周期中,声音合成电路221从SP区域242读取音符数据
350的一个块351,生成PCM数据360。生成的PCM数据360由D/A变换电
路222变换为模拟电压信号。
同样,在各周期中,从音符区域243读取PCM数据360的一个块361,
由D/A变换电路222变换为模拟电压信号。
这里,从SP区域242读取的数据和从音符区域243读取的数据需要同
步。原来,在从子CPU210输出的时刻获得同步。但是,由于音符数据243
的数据经主CPU110的处理,所以仅送出该处理所需的时间。因此,从SP区
域242的读取被延迟规定时间。
如上所述,根据本实施例的乐音产生装置,在声音处理器220中,可以
将声音处理器220的声音合成电路221进行了合成处理的PCM数据和由主
CPU110通过软件合成的PCM数据进行合成并输出。
由于软件处理可以比较容易地进行追加、删除、变更等,所以可以输出
各种各样变化的的声音。通过主CPU110进行回声或滤波等暂时进行的特殊
效果处理、或在声音处理器中与未安装特殊功能有关的处理,由声音处理器
220执行基音等定常处理,可以分散负荷,同时输出高品质的声音。