乐音生成装置、乐音生成方法、记录有乐音生成程序的记录介质及电子乐器与流程

文档序号:15618863发布日期:2018-10-09 21:52阅读:378来源:国知局

本发明涉及乐音生成装置、乐音生成方法、记录有乐音生成程序的记录介质、以及电子乐器。



背景技术:

在近年来的电子乐器或个人计算机中,为了再现更接近于管乐器或弦乐器等的原音的特征的乐音,采用利用多种多样的音源数据(波形数据)的乐音生成方法。例如,在电子乐器或个人计算机上工作的软件音源中,有采用如下系统的技术:在闪存存储器或硬盘等访问速度慢而存储容量大的(低速大容量的)存储装置中保存有作为音源的全部波形数据,从该低速大容量的存储装置仅将用于发音的波形数据转送给访问速度快而存储容量小的(高速低容量的)存储装置,对应于演奏而将波形数据读出并发音。

这里,通常,高速低容量的存储装置其制品价格昂贵,低速大容量的存储装置便宜,所以通过将具有高速低容量的存储装置的存储容量以上的数据尺寸的波形数据保持在低速大容量的存储装置中、仅在需要的情况下向高速低容量的存储装置中移动并用于发音,能够实现良好的波形数据的读出动作和制品成本的抑制这双方。关于采用了这样的系统的音源装置,例如在专利文献1等中,记载了通过将读出的波形数据合成而发出希望的音色的乐音的技术。

专利文献1:日本特开平11-7281号公报

但是,在上述专利文献1等所记载的技术中,具有在从低速大容量的存储装置向高速低容量的存储装置的波形数据的移动中花费时间的问题。特别是,在近年来的乐音生成方法中,采用了对应于演奏的键域(keyarea)、强弱来切换音色的方法,所以在需要数据尺寸更大的波形数据的音色、和通过多个波形数据的组合构成的音色的情况下,为了其处理,在数据尺寸的读入中更需要时间。因此,由于在将波形数据读入之前无法使基于该波形数据的乐音发音,所以有对演奏带来障碍的情况。



技术实现要素:

因此,本发明鉴于上述那样的课题,目的是提供一种能够更有效地缩短使用多个波形数据的乐音的生成处理所需要的时间、实现良好的演奏的乐音生成装置、乐音生成方法、记录有乐音生成程序的记录介质、以及电子乐器。

本发明的一技术方案是一种乐音生成装置,其特征在于,具备:第1存储机构,存储有多个波形数据;第2存储机构,将从上述第1存储机构读入的波形数据以可读出的状态存储,以用于通过发音控制机构而发音;以及控制机构,在被指示了发音的情况下与上述发音相关联地被指定的波形数据存储在上述第2存储机构中的情况下,使上述发音控制机构将存储在上述第2存储机构中的上述波形数据读入,在被指示了上述发音的情况下上述被指定的波形数据没有存储在上述第2存储机构中的情况下,在将上述被指定的波形数据从上述第1存储机构向上述第2存储机构转送后,使上述发音控制机构将上述转送后的上述第2存储机构内的上述波形数据读入;上述控制机构进行控制,以使得:在存储在上述第2存储机构中的多个上述波形数据之中,关于满足设定的条件的波形数据,不能进行由上述转送带来的波形数据的变更,关于不满足上述设定的条件的波形数据,能够进行由上述转送带来的波形数据的变更。

此外,本发明的另一技术方案是一种乐音生成方法,在乐音生成装置中使用,上述乐音生成装置具备:第1存储机构,存储有多个波形数据;第2存储机构,将从上述第1存储机构读入的波形数据以可读出的状态存储,以用于通过发音控制机构而发音;以及上述乐音生成装置,在被指示了发音的情况下与上述发音相关联地被指定的波形数据存储在上述第2存储机构中的情况下,使上述发音控制机构将存储在上述第2存储机构中的上述波形数据读入,在被指示了上述发音的情况下上述被指定的波形数据没有存储在上述第2存储机构中的情况下,在将上述被指定的波形数据从上述第1存储机构向上述第2存储机构转送后,使上述发音控制机构将上述转送后的上述第2存储机构内的上述波形数据读入;上述乐音生成装置进行控制,以使得:在存储在上述第2存储机构中的多个上述波形数据之中,关于满足设定的条件的波形数据,不能进行由上述转送带来的波形数据的变更,关于不满足上述设定的条件的波形数据,能够进行由上述转送带来的波形数据的变更。

此外,本发明的另一技术方案是一种记录介质,其特征在于,记录有用来使计算机作为上述的乐音生成装置发挥功能的程序、或者用来使计算机执行上述的乐音生成方法的程序。

此外,本发明的另一技术方案是一种电子乐器,其特征在于,具备:上述的乐音生成装置;输入机构,用来通过伴随着上述发音的演奏来指定上述波形数据;以及输出机构,用来将上述发音的乐音输出,

附图说明

图1是表示应用了本发明的乐音生成装置的电子乐器的一实施方式的外观图。

图2是表示本实施方式的电子键盘乐器的硬件的结构例的框图。

图3是表示在本实施方式中应用的音源lsi的内部构造的例子的框图。

图4是说明在本实施方式中应用的波形数据的管理方法的图。

图5是说明在本实施方式中应用的ram及大容量闪存存储器上的信息和其转送处理的概要的图。

图6是说明在本实施方式中应用的ram的静态波形区域及动态波形区域的图。

图7是表示本实施方式的电子键盘乐器的控制方法的主程序(mainroutine)的流程图。

图8是表示在本实施方式的电子键盘乐器的控制方法中应用的初始化处理的流程图。

图9是表示在本实施方式的电子键盘乐器的控制方法的初始化处理中应用的静态波形区域读出处理的流程图。

图10是表示在本实施方式的电子键盘乐器的控制方法的初始化处理中应用的波形读出装置缓冲器初始化处理的流程图。

图11是表示在本实施方式的电子键盘乐器的控制方法的开关处理中应用的音色选择处理的流程图。

图12是表示在本实施方式的电子键盘乐器的控制方法的键盘处理中应用的按键处理及放键处理的流程图。

图13是表示在本实施方式的电子键盘乐器的控制方法的键盘处理中应用的音符发生处理及音符消除处理的流程图。

图14是表示在本实施方式的电子键盘乐器的控制方法的音符发生处理中应用的波形信息取得处理的流程图。

图15是表示在本实施方式的电子键盘乐器的控制方法的音符发生处理中应用的波形读出装置的波形读出开始处理的流程图。

图16是表示在本实施方式的电子键盘乐器的控制方法的音符发生处理中应用的静态波形的读出开始处理的流程图。

图17是表示在本实施方式的电子键盘乐器的控制方法的音符发生处理中应用的波形读出装置的分配处理的流程图。

图18是表示在本实施方式的电子键盘乐器的控制方法的音符发生处理中应用的波形读出装置缓冲器的分配处理的流程图。

图19是表示在本实施方式的电子键盘乐器的控制方法中应用的音源定期处理的流程图。

图20是表示在本实施方式的变形例的电子键盘乐器的控制方法的音符发生处理中应用的波形读出装置缓冲器的分配处理的流程图。

具体实施方式

以下,参照附图对用来实施本发明的乐音生成装置、乐音生成方法、记录有乐音生成程序的记录介质及电子乐器的形态详细地进行说明。

<电子乐器>

图1是表示应用了本发明的乐音生成装置的电子乐器的一实施方式的外观图。这里,作为本发明的电子乐器的一实施方式,示出波形读出方式的电子键盘乐器而进行说明。

本实施方式的电子键盘乐器100例如如图1所示,在乐器主体的一面侧具备:键盘102,由作为演奏操作件的多个键构成;由音色选择按钮104及功能选择按钮106构成的开关面板,音色选择按钮104作为波形选择操作件而用来进行音色选择,功能选择按钮106用来进行音色以外的各种功能选择;弯音器/调制轮(bender/modulationwheel)108,用来附加弯音(pitchbend)、震音(tremolo)、颤音(vibrato)等各种调制(演奏效果);lcd(liquidcrystaldisplay:液晶显示器)110等显示部,显示音色及其他各种设定信息。此外,虽然省略了图示,但电子键盘乐器100例如在乐器主体的里面部、侧面部或背面部等具备将通过演奏生成的乐音输出的扬声器。

在这样的电子键盘乐器100中,音色选择按钮104例如如图1所示,是作为波形选择操作件的按钮,用来选择钢琴(图中“piano”)、电钢琴(图中“e.piano”)、风琴(图中“organ”)、吉他(图中“guitar”)、萨克斯管(图中“saxophone”)、弦乐器(图中“strings”)、合成音(图中“synth1”、“synth2”)、鼓(图中“drums1”、“drums2”)等各种音色的类别。这里,在图1中表示了16种音色的类别。电子键盘乐器100的演奏者(用户)通过按下任意的音色选择按钮104,能够从上述16种音色中选择任意的音色的类别来进行演奏。

图2是表示本实施方式的电子键盘乐器的硬件的结构例的框图。图3是表示在本实施方式中应用的音源lsi的内部构造的例子的框图。

电子键盘乐器100例如如图2所示,具备将cpu(中央运算处理装置)202、音源lsi(大规模集成电路)204、dma(directmemoryaccess)控制器214以及i/o(输入输出)控制器216分别与系统总线226直接连接而成的结构。此外,电子键盘乐器100具备将访问速度是高速(第2读出速度)且低容量(第2存储容量)的ram(随机访问存储器)208经由存储器控制器206、将访问速度是低速(第1读出速度)且大容量(第1存储容量)的闪存(flash)存储器212经由闪存存储器控制器210分别与系统总线226连接而成的结构。此外,电子键盘乐器100具备的结构如下,即:将图1所示的lcd110经由lcd控制器218而与i/o控制器216连接,将图1所示的键盘102和由音色选择按钮104及功能选择按钮106构成的开关面板经由键扫描器(keyscanner)220而与i/o控制器216连接,将图1所示的弯音器/调制轮108经由a/d变换器(模拟-数字变换电路)222而与i/o控制器216连接,并且将这些结构经由i/o控制器216而与系统总线226连接。此外,系统总线226连接于总线控制器224,经由系统总线226,在上述各结构间收发的信号及数据受总线控制器224控制。此外,在音源lsi204(音源处理器)上,连接着d/a变换器(数字-模拟变换电路)228及放大器230,从音源lsi204输出的数字乐音波形数据被d/a变换器228变换为模拟乐音波形信号,进而在被放大器230放大后,被从输出端子或省略了图示的扬声器输出。这里,至少cpu202、音源lsi204、ram208、大容量的闪存存储器212构成本发明的乐音生成装置。

这样,电子键盘乐器100其设备整体以受总线控制器224控制的系统总线226为中心而构成。具体而言,总线控制器224控制与系统总线226连接的上述各结构中的信号及数据收发时的优先顺位。例如,在电子键盘乐器100中,具有由cpu202和音源lsi204共用ram208的结构,但由于进行发音的音源lsi204不允许有数据的缺失,所以由总线控制器224将音源lsi204与ram208的收发时的优先级设定为最高,根据需要而限制cpu202向ram208的访问。

在上述那样的结构中,cpu202是进行设备整体的处理的主处理器(控制处理器),通过将ram208作为工作区域来使用并执行规定的控制程序,执行电子键盘乐器100的控制动作。

与后述的大容量闪存存储器212相比,ram208是访问速度为高速而低容量的存储器设备,经由作为接口的存储器控制器206而与系统总线226连接。ram208配置从大容量闪存存储器212转送来的波形数据、控制程序、各种固定数据等。特别是,ram208具有将在后述的音源lsi204中执行的乐音的生成处理所使用的波形数据展开的作为音源存储器(或波形存储器)的功能,被发音的乐音的波形数据必定被配置到ram208上。此外,ram208也被用作在cpu202或音源lsi204中内置的dsp(数字信号处理电路)306的工作区域。这里,由于ram208的存储容量比大容量闪存存储器212小,所以ram208的存储内容被依次替换,但关于满足规定的条件(具有超过后述的阈值的数据尺寸)的波形数据,以不被进行在演奏中由波形数据的转送带来的变更的状态而被固定地存储。本实施方式如后述那样,在与ram208的存储内容中的波形数据的替换有关的管理方法上具有特征。

大容量闪存存储器212是nand型等访问速度为低速、大容量而便宜的存储器设备,经由作为接口的闪存存储器控制器210而与系统总线226连接。大容量闪存存储器212对在音源lsi204中执行的乐音的生成处理中使用(或有可能使用)的全部的音色的波形数据、全部的音色的参数数据、在cpu202或音源lsi204的dsp306中执行的控制程序的程序数据、音乐数据及演奏者的设定数据等各种固定数据进行存储。这里,存储在大容量闪存存储器212中的全部的波形数据被压缩,例如1个字长(wordlength)被设定为8比特。存储在大容量闪存存储器212中的波形数据等通过由cpu202顺序地依次访问而被读出,被转送给ram208。

另外,在本实施方式中,作为大容量且便宜的存储器设备,示出应用了nand型的闪存存储器(实际上是将闪存存储器集成而构成的ssd;solidstatedrive)的结构,但本发明并不限定于此。例如,作为大容量且便宜的存储器设备,也可以应用硬盘(hdd)。这里,闪存存储器或硬盘可以具有可相对于电子键盘乐器100拆装(即,可更换)的结构。此外,在能够进行数据的高速转送的情况下,作为大容量且便宜的存储器设备,也可以应用特定的网络上或因特网上(即,云上)的硬盘。

lcd控制器218是控制lcd110的显示状态的ic(集成电路)。键扫描器220是将键盘102和音色选择按钮104及功能选择按钮106等开关面板的状态进行扫描、并向cpu202通知的ic。a/d变换器222是检测弯音器/调制轮108的操作位置的ic。这些lcd控制器218及键扫描器220、a/d变换器222经由作为接口的i/o控制器216,在与系统总线226之间进行数据及信号的输入输出。

音源lsi204是执行后述的乐音生成处理的专用的ic。上述大容量闪存存储器212不能从cpu202随机访问,从音源lsi204也不能访问,所以存储在大容量闪存存储器212中的数据等暂时被转送给能够随机访问的ram208。音源lsi204基于来自cpu202的命令,对于被转送到ram208中的波形数据,从作为对象的音色的存储区域中,以与由演奏指定的键的音高对应的速度将波形数据读出,对该读出的波形数据附加由演奏指定的速率(velocity)的振幅包络线(amplificationenvelope),将得到的波形数据作为输出乐音波形数据而输出。

音源lsi204例如如图3所示,具备具有256组波形读出装置304的波形发生器302、dsp306、混音器308和总线接口310,波形发生器302、dsp306及混音器308经由总线接口310而与系统总线226连接,进行向ram208的访问及与cpu202的通信。波形发生器302的各波形读出装置304是从ram208读出波形数据并使音色的波形产生的振荡器,dsp306是对声音信号带来音响效果的信号处理电路。混音器308通过将来自波形发生器302的信号混合、在与dsp306之间收发信号,从而控制整体的声音信号流,并向外部输出。即,混音器308对于与演奏对应地由波形发生器302的各波形读出装置304从ram208读出的波形数据,通过dsp306附加与从cpu202供给的乐音参数对应的包络线,作为输出乐音波形数据来输出。混音器308的输出信号如图2所示那样,经由d/a变换器228及放大器230,作为规定的信号电平的模拟信号被向省略了图示的扬声器或耳机等输出。

(波形数据的管理方法)

这里,对保存在上述ram及大容量闪存存储器中的波形数据详细地进行说明。

图4是说明在本实施方式中应用的波形数据的管理方法的图。图4a是音色波形拆分(split)的说明图,图4b是音色波形目录(directory)的说明图。

在本实施方式中,通过由演奏者将电子键盘乐器100具备的音色选择按钮104按下,选择16种中的任意的音色而进行演奏。由此,为了根据键域及速率而不仅再现音量及音高而且还再现音色的变化,将每个音高或音量的音色的波形数据从大容量闪存存储器212读入到ram208中。这里,关于各音色,分别每1音色由例如最大32种波形构成,其波形数据被存储在大容量闪存存储器212中。对于一个音色,作为按每个音高或音量管理波形数据的方法,如图4a所示,应用以下的基于音色波形拆分构造的管理方法,即:按照演奏者在键盘102上演奏的每个键域(图中,横轴的“key”)分别分配波形数据,此外,即使是相同的键域,也按照表示按键时的快慢(演奏的强弱)的每个速率(图中,纵轴的“velocity”)分别分配波形数据。即,在使用了音色波形拆分构造的波形数据的管理方法中,将1个音色的音域和速率域二维地分割,对各个拆分(分割)区最大分配32个波形。通过该管理方法,根据按键时的快慢(速率)和键号码(键域)这2个因素,仅决定1个应读出的波形。

并且,基于具有表形式的音色波形目录信息,管理在ram208、大容量闪存存储器212中存储的波形数据。音色波形目录信息被存储在大容量闪存存储器212中,例如当电子键盘乐器100起动时,被cpu202从大容量闪存存储器212读出并转送给ram208。在演奏某个音色的乐音时,cpu202从ram208将与该音色对应的音色波形目录信息的数据读出而进行参照。

这里,在音色波形目录信息的表中,例如如图4b所示,按照1个“音色号码”的音色中包含的各个波形数据,登录有以下的各项目值:该波形数据的“波形号码”、表示该波形数据应被发音的键域及速率的范围的“最小速率”、“最大速率”、“最低键号码”及“最高键号码”、表示距被转送到ram208中的该音色的存储区域(波形区域)的开头的地址的“距波形区域开头的地址”、和表示该波形数据的数据尺寸的“波形尺寸”。即,在音色波形目录信息中,关于各音色的各波形数据,以表形式规定了以下信息:在上述音色波形拆分构造中在怎样的条件下分割的键域及速率域信息、以及实际上在大容量闪存存储器212中被配置到哪个地址、波形尺寸如何的信息。

(ram及大容量闪存存储器上的信息)

接着,参照附图对在本实施方式的电子键盘乐器中应用的ram及大容量闪存存储器上的信息及其转送处理进行说明。

图5是说明在本实施方式中应用的ram及大容量闪存存储器上的信息及其转送处理的概要的图。图6是说明在本实施方式中应用的ram的静态波形区域及动态波形区域的图。图6a是表示静态波形区域(第1存储区域)的目录的内容的图,图6b是表示作为动态波形区域的波形读出装置缓冲器区域(第2存储区域)的目录的内容的图。

在ram208上,如图5左方的“ram上的信息”所示,展开了音色波形目录、音色参数、cpu程序、cpu数据、cpu工作区、dsp程序、dsp数据、dsp工作区的各种数据。此外,在大容量闪存存储器212上,如图5右方的“大容量闪存存储器上的信息”所示,展开了音色波形目录、音色参数区域、cpu程序、cpu数据、dsp程序、dsp数据的各种数据。

这里,随着电子键盘乐器100的演奏,在音源lsi204执行波形读出动作时,由于要读出的波形数据需要被配置在ram208上,所以例如在电子键盘乐器100起动时,从大容量闪存存储器212向ram208转送图4b所示的音色波形目录信息、音色参数、cpu程序、cpu数据、dsp程序、dsp数据。

此外,在电子键盘乐器100演奏时,作为由音源lsi204进行的波形读出动作的对象的波形数据也需要被转送给ram208,但ram208与大容量闪存存储器212相比存储容量小,所以无法将存储在大容量闪存存储器212中的全部的音色的波形数据配置到ram208上。

在本实施方式中,基本上在通过演奏发音时从大容量闪存存储器212进行需要的波形数据的读出,向ram208上的按每个波形读出装置304分配的波形缓冲器进行转送并暂时保存,由音源lsi204进行读出再现。这里,在数据尺寸较大的波形数据的情况下,有在从大容量闪存存储器212向ram208的转送中花费时间而发音的反应延迟、对演奏带来障碍的情况。所以,在本实施方式中,关于存储在大容量闪存存储器212中的波形数据中的、具有超过规定的阈值的数据尺寸的波形数据,在电子键盘乐器100的演奏开始之前的任意的时机、例如起动时(电源投入时),预先全部向ram208转送。在本实施方式中,作为对成为波形数据转送处理的判断基准的数据尺寸进行规定的阈值,例如设定为64k字节。根据这样的阈值的设定,例如钢琴或钹等乐器的音色波形由于数据尺寸比阈值大,所以在起动时被转送给ram208。

另一方面,例如在如吉他等乐器的音色波形那样、数据尺寸为阈值(64k字节)以下的低容量的波形数据的情况下,在伴随着演奏的按键时每次从大容量闪存存储器212向ram208进行转送。这里,在对应于多个波形读出装置304而设定的ram208上的多个波形缓冲器中,选择哪个波形读出装置304都没有使用的波形缓冲器,覆盖保存在演奏时被从大容量闪存存储器212转送的波形数据。或者,从被波形读出装置304使用的数量或使用频度低的波形缓冲器优先选择,将转送的波形数据覆盖保存。这样的从大容量闪存存储器212向波形缓冲器的波形数据的转送时的管理被基于一边对在ram208的各波形缓冲器中保存的波形数据是否正在用于由某个波形读出装置304带来的发音进行依次更新一边(实时地)管理的管理信息来执行。

在上述波形数据的转送处理中应用的阈值例如基于演奏时的cpu202的处理负担、延迟时间等来设定。具体而言,在电子键盘乐器的演奏中,通常,如果从按键时到乐音的发音的合计延迟时间超过大致10msec,则演奏者有较高的倾向识别出到针对按键的发音为止的反应慢,所以考虑cpu202的处理性能、周边电路中的信号延迟等,计算在各音色波形数据的转送处理中容许的延迟时间。并且,将在该一定的容许延迟时间内转送处理完成、并且能够使ram208的存储容量尽量小的音色波形的数据尺寸设定为阈值。基于这样的条件,发明者们计算出的阈值的一例是64k字节。

另外,在本实施方式中,说明了对音色波形的数据尺寸设定了阈值的情况,但本发明并不限定于此,例如,也可以关于规定音色波形的音高、速率,基于与上述同样的概念来设定阈值。

进而,在本实施方式中,为了减轻演奏时的cpu202的处理负担、削减处理时间,在数据尺寸为阈值以下的波形数据的转送处理之前,调查(搜索)在演奏中被指定的乐音的波形数据是否预先被转送而存在于ram208上。在对应的波形数据已经存在于ram208上的情况下,cpu202不进行从大容量闪存存储器212的波形数据的转送,而进行相同的ram208上的波形缓冲器间的复制转送。

在本实施方式中,通过这些处理,只要应用具有如下的存储容量的ram208即可,该存储容量是对能够存储超过上述阈值的全部波形数据的容量加上将阈值以下的波形数据暂时保存的波形缓冲器的存储容量而得到的程度的存储容量。另外,根据本发明者们的验证,确认到:通过应用本实施方式,有能够将在ram中使用的存储容量压缩到以前的1/4~1/5左右的可能性。

图6a所示的“静态波形目录”关于图5所示的“ram上的信息”而示出了保存超过上述波形数据的转送处理所应用的阈值(64k字节)的波形数据的ram208的静态波形区域的目录的内容。关于该静态波形目录,如图5所示,在电子键盘乐器100起动时从大容量闪存存储器212的音色波形目录将超过阈值(64k字节)的全部波形数据转送给静态波形区域,此时在cpu202的工作区域(cpu工作区)内被制作。静态波形目录的内容在电子键盘乐器100起动后被固定地存储而不会被变更。

静态波形目录的内容如图6a所示,按照从大容量闪存存储器212转送的每个波形数据(静态波形1,2,…n),保存有该波形属于的音色号码、音色内波形号码、距配置该波形的静态波形区域的开头地址、波形尺寸。这里,从大容量闪存存储器212转送的静态波形的数量、波形数据整体的容量由于被基于上述阈值预先决定,所以与此对应而固定地分配了ram208上的静态波形区域、和静态波形目录的各区域。

图6b所示的“波形读出装置缓冲器目录”是关于图5所示的“ram上的信息”示出保存上述波形数据的转送处理所应用的阈值(64k字节)以下的波形数据的ram208的动态波形区域的目录的内容。该波形读出装置缓冲器目录如图5所示,在电子键盘乐器100的演奏时被从大容量闪存存储器212的音色波形目录转送阈值(64k字节)以下的波形数据,被确保在cpu202的工作区域(cpu工作区)内。波形读出装置缓冲器目录的内容随着演奏可变地被存储,在乐音的发音时或消音时被更新。

波形读出装置缓冲器目录按每个波形读出装置304而被分配固定长64k字节的容量,以对于256组波形读出装置304以1对1的关系对应的方式设定了波形缓冲器1~256。由此,在本实施方式的电子键盘乐器100中,具有能够进行256同时发音的结构。波形读出装置缓冲器目录的内容如图6b所示,按照与各波形读出装置对应的每个波形缓冲器,保存有该缓冲器号码、表示波形数据是否被读入且在转送完成的时点设置的已转送标志、关于被读入到缓冲器中的波形的信息即音色号码、音色内波形号码、波形尺寸。

<电子乐器的控制方法>

接着,参照附图对本实施方式的电子键盘乐器的控制方法(乐音生成方法)详细地进行说明。这里,对包括作为本发明的特征的乐音生成方法的电子键盘乐器的控制方法整体进行说明。此外,以下所示的一系列的控制处理通过在cpu202及音源lsi204中执行存储在ram208中的规定的控制程序来实现。

(ram上的波形数据的转用方法)

首先,最先说明本实施方式的电子键盘乐器100所应用的ram208上的波形数据的转用方法。在本实施方式的电子键盘乐器100中,当演奏者按键时,由于同时发音数较多(即,发音声道有许多),所以cpu202首先决定由键分派器(keyassigner)分配按键的音源lsi204的波形读出装置304。这里,键分配被从发音停止的波形读出装置304优先地分配。

接着,cpu202基于按键时的速率和键域,根据图4a所示的音色波形的拆分信息来确定在演奏中指定的乐音的波形号码,调查对应的波形数据是否存在于图5所示的ram208上的音色波形目录中。这里,cpu202首先调查在ram208上的音色波形目录的静态波形区域中是否存在对应的波形数据,在静态波形区域中不存在的情况下,进而调查是否存在于波形读出装置缓冲器区域中。

在对应的波形数据存在于ram208上的静态波形区域中的情况下,cpu202将该波形数据作为后述的用于发音的读出动作的对象。此外,在对应的波形数据不存在于静态波形区域中、而存在于波形读出装置缓冲器区域中的情况下,cpu202在同一个ram208内向作为发音分配对象的波形读出装置304所对应的波形缓冲器复制转送该波形数据。

由此,与从大容量闪存存储器212向ram208的转送处理相比,能够以非常短的时间将波形数据配置到ram208上。另外,在被分配的波形读出装置304所对应的波形缓冲器中已经存在该波形数据的情况下,不需要将波形数据转送,而将该波形数据在用于发音的读出动作中使用。另一方面,在对应的波形数据在静态波形区域及波形读出装置缓冲器区域中都不存在的情况下,cpu202将存储在大容量闪存存储器212中的对应的波形数据向ram208转送。

并且,在指定的乐音的波形数据存在于ram208上、被分配的波形读出装置304所对应的波形缓冲器的位置确定下来的时点,cpu202开始在音源lsi204中用于发音的读出动作。

以下,详细说明应用了上述波形数据的转用方法的电子键盘乐器的控制方法。

(主程序)

图7是表示本实施方式的电子键盘乐器的控制方法的主程序的流程图。

在本实施方式的电子键盘乐器的控制方法中,大致上执行以下这样的处理动作。首先,当由演奏者将电子键盘乐器100的装置电源开启,则cpu202将图7所示的主程序起动,执行将装置各部初始化的初始化处理(步骤s702)。

接着,当初始化处理完成,则cpu202将由演奏者操作了音色选择按钮104等时的开关处理(步骤s704~s708)、对弹奏键盘102时的按键事件及放键事件进行处理的键盘处理(步骤s710~s718)、对从电子键盘乐器100的外部接收到的midi(musicalinstrumentdigitalinterface)消息的音符发生事件及音符消除事件进行处理的midi接收处理(步骤s720~s728)、进行音源中的每一定时间的处理的音源定期处理(步骤s730)这一系列处理动作反复执行。

另外,在图7所示的流程图中省略了图示,但在上述各处理动作(步骤s702~s730)的执行中,在cpu202检测到演奏模式结束或中断或使装置电源关闭的状态变化的情况下,将主程序强制地结束。

以下,对上述各处理动作具体地说明。

(初始化处理)

图8是表示在本实施方式的电子键盘乐器的控制方法中应用的初始化处理的流程图。

在对本实施方式的电子键盘乐器的控制方法应用的初始化处理中,如图8所示的流程图那样,首先,cpu202在从大容量闪存存储器212将cpu程序、cpu数据、dsp程序、dsp数据转送到ram208中之后(步骤s802、s804),接着,从大容量闪存存储器212将音色波形目录部分向ram208上的指定的地址转送(步骤s806)。这里,音色波形目录部分如图4b所示,关于各音色的各波形,具有将作为分割条件的键域及速率域信息、大容量闪存存储器212内的配置地址、关于波长尺寸的信息汇总而成的表形式。

接着,cpu202执行静态波形区域读出处理,即:在ram208上构建根据该音色波形目录在电子键盘乐器100起动时应向ram208转送的、静态波形区域部分和图6a所示的静态波形目录(步骤s808)。

接着,cpu202为了在ram208上构建音源lsi204的波形读出装置304在波形数据的读出动作中使用的、图6b所示的波形读出装置缓冲器目录部分,执行将与各波形读出装置304对应的波形缓冲器初始化的波形读出装置缓冲器初始化处理(步骤s810)。

接着,cpu202从大容量闪存存储器212向ram208上转送音高、滤波器、音量的设定等发音所需要的音色参数(步骤s812)。

接着,cpu202针对波形读出装置304,将用来管理何时进行了波形缓冲器的分配的波形读出装置分配索引(a)初始化为“0”(步骤s814)。

接着,cpu202针对波形读出装置304,设定波形读出装置分配索引(a)并保存到cpu工作区之后(步骤s818),将波形读出装置分配索引(a)递增(increment)(步骤s820)。cpu202执行如下循环处理(步骤s816、s822),即反复进行波形读出装置304的数量(在本实施方式中是256组)次的上述一系列处理动作(步骤s818~s820),对各波形读出装置304设定固有的分配索引。

(静态波形区域读出处理)

图9是表示在本实施方式的电子键盘乐器的控制方法的初始化处理中应用的静态波形区域读出处理的流程图。

在上述初始化处理中应用的静态波形区域读出处理中,如图9所示的流程图那样,首先,cpu202将用来管理静态波形的数量的计数器(b)初始化为“0”(步骤s902)。接着,作为将静态波形向ram208上转送时的地址信息,cpu202设定应配置静态波形的开头地址而初始化(步骤s904)。

接着,cpu202从音色波形目录表的开头起,依次确认波形尺寸,判断是否是具有超过预先设定的阈值(64k字节)的波形尺寸的静态波形(步骤s908)。在波形尺寸超过阈值(64k字节)的情况下,cpu202将该波形判断为静态波形,从大容量闪存存储器212对上述的地址信息的ram208上的地址,将该波形数据转送上述尺寸的量(步骤s910)。此时,作为静态波形目录信息,cpu202将转送来的波形的音色号码、音色内波形号码、配置开头地址、波形尺寸设定到cpu工作区(步骤s912)。

接着,cpu202对地址信息的地址加上转送来的波形的波形尺寸,更新在ram208上配置的波形的地址信息(步骤s914),并且,将管理静态波形的数量的计数器(b)递增(步骤s916)。另一方面,在波形尺寸是阈值(64k字节)以下的情况下,cpu202不进行静态波形的转送,维持当前的设定。cpu202执行以下循环处理(步骤s906、s918),即:反复进行音色波形目录表的要素数(即,直到表信息的最后的要素为止)次的上述一系列处理动作(步骤s908~s916)。在该循环处理结束后,cpu202将静态波形的数量向cpu工作区保存(步骤s920)。

(波形读出装置缓冲器初始化处理)

图10是表示在本实施方式的电子键盘乐器的控制方法的初始化处理中应用的波形读出装置缓冲器初始化处理的流程图。

在上述初始化处理中应用的波形读出装置缓冲器初始化处理中,如图10所示的流程图那样,首先,cpu202将管理在ram208上配置的波形缓冲器的号码的计数器(c)设定为“1”而初始化(步骤s1002)。接着,cpu202从缓冲器号码为“1”的波形缓冲器起,依次将保存在波形读出装置缓冲器目录中的已转送标志、音色号码、音色内波形号码、波形尺寸设定为“0”(步骤s1006)。

接着,cpu202将管理在ram208上配置的波形缓冲器的号码的计数器(c)递增(步骤s1008)。cpu202执行以下循环处理(步骤s1004、s1010),即对以1对1的关系与256组波形读出装置相对应的256个的各个波形缓冲器反复进行上述一系列处理动作(步骤s1006~s1008),将各波形缓冲器初始化。

(开关处理)

图11是表示在本实施方式的电子键盘乐器的控制方法的开关处理中应用的音色选择处理的流程图。

在演奏者操作了电子键盘乐器100上具备的按钮或开关类时执行的开关处理(步骤s704)中,cpu202判断是否通过该开关操作而发生了音色选择事件(步骤s706),在判断为发生了音色选择事件的情况下,执行音色选择处理(步骤s708)。

在音色选择处理中,如图11所示的流程图那样,cpu202将演奏者通过操作音色选择按钮104而指定的音色号码保存到ram208上的cpu工作区中,以在后述的按键处理等中使用(步骤s1102)。另一方面,在判断为没有发生音色选择事件的情况下,或者在上述的音色选择处理结束的情况下,cpu202执行后述的键盘处理(步骤s710)。

(键盘处理)

图12是表示在本实施方式的电子键盘乐器的控制方法的键盘处理中应用的按键处理及放键处理的流程图。图13是表示在本实施方式的电子键盘乐器的控制方法的键盘处理中应用的音符发生处理及音符消除处理的流程图。

在上述的开关处理(步骤s704)之后被执行的键盘处理(步骤s710)中,cpu202分别判断是否通过演奏者操作电子键盘乐器100上具备的键盘102而发生了按键事件、放键事件(步骤s712、s716),在判断为发生了按键事件的情况下,执行后述的按键处理(步骤s714),在判断为发生了放键事件的情况下,执行后述的放键处理(步骤s718)。

在按键处理中,如图12a所示的流程图那样,cpu202将在演奏者弹奏了键盘102时的按键操作带来的演奏信息中包含的键盘位置及被按下的强弱,分别变换为键号码(音符号)及速率并作为音符发生信息来保持(步骤s1202),设为音符发生事件而执行处理(步骤s1204)。

在音符发生处理中,如图13a所示的流程图那样,cpu202首先执行根据在按键处理中从演奏信息变换来的音符发生信息而取得波形信息的处理(步骤s1302),接着,执行音源lsi204的波形读出装置304的读出开始处理(步骤s1304)。

此外,在放键处理中,如图12b所示的流程图那样,cpu202将在演奏者弹奏了键盘102时的放键操作带来的演奏信息中包含的键盘位置变换为键号码(音符号)并作为音符消除信息来保持(步骤s1222),设为音符消除事件而执行处理(步骤s1224)。

在音符消除处理中,如图13b所示的流程图那样,cpu202首先根据在放键处理中从演奏信息变换来的音符消除信息而取得键号码(音符号)(步骤s1322)。接着,cpu202从波形读出装置304的号码“1”起,依次确认波形读出装置304的状态,对正在读出波形的各波形读出装置304,从ram208上的cpu工作区中取得与波形读出装置304对应的键号码,进行是否与根据音符消除信息取得的键号码一致的比较(步骤s1326)。在键号码一致的情况下,cpu202对于与波形读出装置304连接的音量控制(放大器包络线(ampenvelope;日语:アンプエンベロープ)),将释放水平(releaselevel)设定为“0”,设定根据ram208上的音色参数得到的释放率(releaserate)(步骤s1328)。另一方面,在键号码不一致的情况下,cpu202维持当前的放大器包络线的设定。cpu202执行以下循环处理(步骤s1324、s1330),即:反复进行正在读出波形的波形读出装置304的数量次的上述一系列处理动作(步骤s1326~s1328)。

这里,关于在上述按键处理中执行的音符发生处理中应用的各处理动作详细地进行说明。

(波形信息取得处理)

图14是表示在本实施方式的电子键盘乐器的控制方法的音符发生处理中应用的波形信息取得处理的流程图。

在音符发生处理中执行的波形信息取得处理中,如图14所示的流程图那样,cpu202首先根据在按键处理中取得的音符发生信息而取得键号码(音符号)及速率(步骤s1402),并且从ram208上的cpu工作区中取得在音色选择处理中被保存的音色号码(步骤s1404)。

接着,cpu202从音色波形目录表的开头起,依次对所取得的键号码、速率及音色号码进行是否与表信息一致的比较(步骤s1406)。cpu202在该比较处理中提取符合音色号码一致、键号码是最高键号码以下且最低键号码以上、并且速率为最大速率以下且最小速率以上的表信息(步骤s1410~s1418),取得该表的波形号码和波形尺寸、距波形区域开头的地址(步骤s1420~s1424)。另一方面,在上述比较处理中,在符合音色号码不一致、或者键号码比最高键号码大或比最低键号码小、或者速率比最大速率大或比最小速率小中的某个条件的情况下,cpu202不进行波形号码等波形信息的取得。cpu202执行将上述一系列处理动作(步骤s1410~s1418)反复进行音色波形目录表的要素数(即,直到表信息的最后的要素为止)次的循环处理(步骤s1408、s1426)。

(波形读出开始处理)

图15是表示在本实施方式的电子键盘乐器的控制方法的音符发生处理中应用的波形读出装置的波形读出开始处理的流程图。

在音符发生处理中执行的波形读出装置的波形读出开始处理中,如图15所示的流程图那样,cpu202首先进行在波形信息取得处理中取得的波形尺寸是否超过预先设定的阈值(64k字节)的判断(步骤s1502)。在波形尺寸超过阈值(64k字节)的情况下,执行后述的静态波形的读出开始处理(步骤s1504),另一方面,在波形尺寸是阈值(64k字节)以下的情况下,执行后述的波形读出装置缓冲器的分配处理(步骤s1506)。

(静态波形的读出开始处理)

图16是表示在本实施方式的电子键盘乐器的控制方法的音符发生处理中应用的静态波形的读出开始处理的流程图。

在音符发生处理中取得的波形尺寸超过阈值(64k字节)的情况下执行的静态波形的读出开始处理中,如图16所示的流程图那样,cpu202首先执行在音源lsi204的波形发生器302中决定使用哪个波形读出装置304的分配处理(步骤s1602)。关于波形读出装置304的分配处理在后面叙述。接着,作为被分配的波形读出装置304的信息,cpu202将在按键处理中取得的键号码保存到ram208上的cpu工作区中,以在放键处理(音符消除处理)等中使用(步骤s1604)。

接着,cpu202从静态波形目录的开头起,依次对于通过上述的音色选择处理及波形信息取得处理而取得的音色号码及波形号码,进行是否与目录信息一致的比较(步骤s1608、s1610)。在音色号码及波形号码都一致的情况下,cpu202基于静态波形号码取得在ram208上配置该波形的开头地址(步骤s1612),通过所分配的波形读出装置304,从所取得的开头地址,开始波形读出动作(步骤s1616)。另一方面,在上述比较处理中,音色号码或波形号码中的某个不一致的情况下,cpu202不进行开头地址的取得。cpu202执行将上述一系列处理动作(步骤s1608~s1612)反复进行保存在cpu工作区中的静态波形数次的循环处理(步骤s1606、s1614)。

(波形读出装置的分配处理)

图17是表示在本实施方式的电子键盘乐器的控制方法的音符发生处理中应用的波形读出装置的分配处理的流程图。

在上述的静态波形的读出开始处理中执行的波形读出装置的分配处理中,如图17所示的流程图那样,首先,作为分配波形读出装置304的候选的号码,cpu202暂时设定“1”而进行初始化(步骤s1702)。

接着,cpu202从波形读出装置304的号码“1”起,依次确认波形读出装置304的状态,进行是否是波形的读出中的判断(步骤s1706)。在波形读出装置304没有正在读出波形(停止)的情况下,cpu202在将该波形读出装置304分配后(步骤s1720),执行后述的步骤s1722以后的处理动作。另一方面,在当前的波形读出装置304是正在波形读出中的情况下,cpu202比较当前的波形读出装置304是否比候选号码的波形读出装置304的波形读出装置分配索引小(步骤s1708)。

在当前的波形读出装置304的波形读出装置分配索引比候选号码的波形读出装置304的波形读出装置分配索引小的情况下,cpu202判断为当前的波形读出装置304比候选的波形读出装置304旧,将进行分配的波形读出装置304的候选号码更新为当前的波形读出装置304的号码。另一方面,在上述的比较处理中、当前的波形读出装置304的波形读出装置分配索引比候选号码的波形读出装置304的波形读出装置分配索引大的情况下,cpu202判断为当前的波形读出装置304比候选的波形读出装置304新,不进行波形读出装置304的号码的更新。cpu202执行将上述一系列处理动作(步骤s1706~s1710)反复进行波形读出装置304的数量次的循环处理(步骤s1704、s1712)。

在该循环处理结束后,cpu202在波形读出装置数次的状态的确认结束的时点,在进行分配的波形读出装置304的号码没有确定的情况下,将候选号码的波形读出装置分配给静态波形用(步骤s1714)。此时,cpu202判断被分配的波形读出装置304是否处于波形数据的读出中(步骤s1716),在是波形读出中的情况下,在执行高释放(highrelease)处理(在与波形读出装置304连接的音量控制中使音量水平迅速地成为“0”的处理)后(步骤s1718),将被分配的波形读出装置304的波形读出动作停止。另一方面,在没有正在读出波形数据的情况下,cpu202判断为该波形读出装置304是停止的,维持当前的设定。

接着,cpu202对被分配的波形读出装置304设定波形读出装置分配索引并保存到cpu工作区(步骤s1722),将波形读出装置分配索引递增(步骤s1724)。由此,在没有不是正在读出波形的波形读出装置304的情况下,被设定了最旧的波形读出装置分配索引的波形读出装置304被分配。

(波形读出装置缓冲器的分配处理)

图18是表示在本实施方式的电子键盘乐器的控制方法的音符发生处理中应用的波形读出装置缓冲器的分配处理的流程图。

在音符发生处理中取得的波形尺寸是阈值(64k字节)以下的情况下执行的波形读出装置缓冲器的分配处理中,如图18所示的流程图那样,cpu202首先执行决定在音源lsi204的波形发生器302中使用哪个波形读出装置304的分配处理(步骤s1802)。这里,应用与图16、图17的流程图所示的波形读出装置304的分配处理(步骤s1602)等同的处理。

接着,作为被分配的波形读出装置304的信息,cpu202将此时的键号码保存到cpu工作区(步骤s1804)。接着,cpu202关于通过上述音色选择处理及波形信息取得处理而取得的音色号码及波形号码,进行是否与被分配的波形读出装置304所对应的波形缓冲器的信息一致的比较(步骤s1806~s1810)。在音色号码及波形号码都一致的情况下,cpu202判断为波形数据已转送(步骤s1812),从发音分配对象的波形缓冲器的开头,开始波形读出动作(步骤s1834)。另一方面,在上述的比较处理中音色号码或波形号码中的某个不一致的情况下,cpu202确认波形数据是否已经被转送到其他波形缓冲器中。

首先,cpu202将波形缓冲器计数器(c)设定为“1”而初始化(步骤s1814),从缓冲器号码为“1”的波形缓冲器起,依次对于通过上述的音色选择处理及波形信息取得处理而取得的音色号码及波形号码,进行是否与波形的信息一致的比较(步骤s1818、s1820)。在音色号码及波形号码都一致的情况下,cpu202将上述的比较处理停止,将一致的波形缓冲器的波形数据向作为发音分配对象的波形读出装置304的波形缓冲器复制转送。即,执行从ram208向ram208的高速转送(步骤s1822)。cpu202执行将上述一系列处理动作(步骤s1818~s1820)对256个各波形缓冲器反复进行的循环处理(步骤s1816、s1824)。

在上述的一系列处理动作(步骤s1818~s1820)中,在音色号码或波形号码中的某个不一致、并非音色号码及波形号码都一致的情况下,cpu202基于由波形信息取得处理取得的波形号码、波形尺寸、距波形区域开头的地址信息,从大容量闪存存储器212向ram208内的发音分配对象的波形缓冲器进行波形数据的转送(步骤s1826)。随着上述的步骤s1822及s1826中的向ram208上的波形数据的转送,cpu202将音色号码、音色内波形号码、波形尺寸设定到音色波形目录中(步骤s1828)。

接着,cpu202确认波形数据的转送状态,进行波形数据的转送是否已结束的判断(步骤s1830)。在正在转送波形数据的情况下,cpu202维持该状态,在波形数据的转送已结束的情况下,对已转送标志设定“1”(步骤s1832),从发音分配对象的波形缓冲器的开头,开始波形读出动作(步骤s1834)。

(midi接收处理)

回到图7所示的主程序,在上述的键盘处理(步骤s710)后执行的midi接收处理(步骤s720)中,cpu202分别判断在接收到的midi消息中是否包含音符发生事件、音符消除事件(步骤s722、s726),在判断为有音符发生事件的情况下,执行音符发生处理(步骤s724),在判断为有音符消除事件的情况下,执行音符消除处理(步骤s728)。这里,应用与图12、图13的流程图所示的音符发生处理(步骤s1204)或音符消除处理(步骤s1224)等同的处理。

(音源定期处理)

图19是表示在本实施方式的电子键盘乐器的控制方法中应用的音源定期处理的流程图。

在上述的midi接收处理(步骤s720)后执行的音源定期处理(步骤s730)中,cpu202按每一定时间,如图19所示的流程图那样执行音源处理。cpu202从波形读出装置304的号码“1”起,依次确认波形读出装置304的状态,对正在读出波形的各波形读出装置304,判断音量控制(放大器包络线)的水平(level)是否成为“0”(步骤s1904)。在音量控制的水平成为“0”的情况下,cpu202将波形读出装置304的波形读出动作停止。另一方面,在音量控制的水平没有成为“0”的情况下,cpu202不将波形读出装置304的波形读出动作停止,而维持当前的状态。cpu202执行将上述的一系列处理动作(步骤s1904~s1906)反复进行正在读出波形数据的波形读出装置304的数量次的循环处理(步骤s1902、s1908)。

这样,在本实施方式中,音源lsi204具备在乐音发生时使用的由ram208构成的音源存储器、和保存用于音色的全部波形数据的由nand型等的大容量闪存存储器212构成的大容量存储器件,将在从大容量存储器件向音源存储器的转送中花费时间的数据尺寸较大的波形数据始终配置在音源存储器中,将数据尺寸比较小的波形数据在发音时从大容量存储器件转送到按每个发音产生器(波形读出装置304)而准备的音源存储器的各波形缓冲器中后进行发音。这里,在访问速度为高速的音源存储器中,配置具有超过预先设定的阈值的数据尺寸的波形数据,关于具有该阈值以下的数据尺寸的波形数据,在发音时每次从访问速度为低速的大容量存储器件转送到音源存储器中而使用。此外,关于具有阈值以下的数据尺寸的波形数据,在上述的从大容量存储器件的转送处理之前,作为发音的对象的波形数据不存在于对作为发音分配对象的产生器分配的波形缓冲器(第1区域)中、而是已经存在于对音源存储器内的其他发音产生器分配的波形缓冲器(第2区域)中的情况下,从该波形缓冲器复制转送到自身的产生器的波形缓冲器中后进行读出并发音。

由此,能够将数据尺寸较大的波形数据从访问速度为高速的音源存储器直接读出,将数据尺寸较小的波形数据从便宜的大容量存储器件读出,或在音源存储器内转用而用于乐音的生成处理。因而,能够更有效地缩短在使用多个波形数据的乐音的生成处理中需要的时间,实现在乐音的发生中没有延迟或中断的良好的演奏。换言之,这意味着能够在乐音的生成处理所需要的规定的时间内将更多的音色波形数据读出并使其同时发音,由此,能够实现能够再现更接近于管乐器或弦乐器等的原音特征的乐音的电子乐器。

另外,在上述实施方式中,作为ram208上的波形数据的转用方法,对以下的情况进行了说明:在从大容量闪存存储器212向ram208转送波形数据的处理之前,调查作为发音的对象的波形数据是否已经存在于ram208内的其他波形缓冲器中,在存在的情况下,在将该波形缓冲器的波形数据向发音分配对象的波形缓冲器复制转送后,通过音源lsi204的波形读出装置304读出而用于发音。本发明并不限定于该形态,在作为发音的对象的波形数据已经存在于ram208的其他波形缓冲器中的情况下,也可以将该波形缓冲器的波形数据通过作为发音分配对象的波形读出装置304直接读出而用于发音。在此情况下,也能够得到与上述实施方式等同的作用效果。

此外,在上述实施方式中,对以下的情况进行了说明:在电子键盘乐器100起动时执行将存储在大容量闪存存储器212中的波形数据中的、具有超过规定的阈值的数据尺寸的波形数据向ram208转送的处理。但本发明并不限定于该形态。即,在本发明中,只要在电子键盘乐器100的演奏开始前的任意时机,将具有超过规定的阈值的数据尺寸的波形数据存储在ram208中就可以。因而,例如也可以是,在作为ram208而应用了非易失性的存储器(可改写的静态ram等)的情况下,在工厂出厂时使具有超过规定的阈值的数据尺寸的波形数据存储到ram208中,或在制品的购买时1次从大容量闪存存储器212转送到ram208中。

<变形例>

图20是表示在本实施方式的变形例的电子键盘乐器的控制方法的音符发生处理中应用的波形读出装置缓冲器的分配处理的流程图。这里,对于与上述实施方式(图18)等同的处理动作赋予相同的标号而省略其说明。

在上述实施方式中,说明了应用如下的ram208上的波形数据的转用方法的情况:在从大容量闪存存储器212向ram208转送波形数据的处理之前,调查作为发音的对象的波形数据是否已经存在于ram208的其他波形缓冲器中,在存在的情况下,将该波形缓冲器的波形数据复制转送。

在本实施方式中,如图20所示的流程图那样,也可以具有不应用上述的ram上的波形数据的转用方法(相当于图18所示的步骤s1814~s1824)的变形例。

即,在本变形例中,与上述实施方式所示的波形读出装置缓冲器的分配处理(参照图18)同样,cpu202关于通过上述的音色选择处理及波形信息取得处理而取得的音色号码及波形号码,比较是否与被分配的波形读出装置304所对应的波形缓冲器的信息一致(步骤s2006~s2010)。在音色号码及波形号码都一致的情况下,cpu202判断为波形已转送(步骤s2012),从发音分配对象的波形缓冲器的开头,开始波形读出动作(步骤s2034)。

另一方面,在上述的比较处理中,在音色号码或波形号码中的某个不一致的情况下,cpu202基于由波形信息取得处理取得的波形号码、波形尺寸、距波形区域开头的地址信息,从大容量闪存存储器212向ram208内的发音分配对象的波形缓冲器进行波形数据的转送(步骤s2026)。以后,执行与上述实施方式所示的波形读出装置缓冲器的分配处理同样的处理动作,从发音分配对象的波形缓冲器的开头,开始波形读出动作(步骤s2028~s2034)。

在这样的变形例中,也与上述实施方式同样,能够更有效地缩短在使用多个波形数据的乐音的生成处理中需要的时间,实现在乐音的发生中没有延迟及中断的良好的演奏。

此外,在上述实施方式中,将进行各种控制的控制部构成为cpu(通用处理器)执行存储在rom(存储器)中的程序的结构,但也可以将多个控制分别划分给专用的处理器而构成。在此情况下,各个专用处理器可以由能够执行任意的程序的通用的处理器(电子电路)、和存储有为各个控制特制的控制程序的存储器构成,或者也可以由为各个控制特制的专用的电子电路构成。

此外,也可以将音源lsi的处理由dsp(数字信号处理器)或cpu进行。

此外,为了产生上述那样的各种效果而需要的装置并不限于上述那样的结构,例如也可以如以下这样构成。

(结构例1)

构成为,具备:第1存储器,存储有多个波形数据;第2存储器,将从上述第1存储器读入的波形数据以可读出的状态存储,以用于使其通过音源处理器而发音;控制处理器,在指示了发音的情况下与上述发音相关联地被指定的波形数据存储在上述第2存储器中的情况下,使上述音源处理器将存储在上述第2存储器中的上述波形数据读入,在指示了上述发音的情况下上述被指定的波形数据没有存储在上述第2存储器中的情况下,在将上述被指定的波形数据从上述第1存储器向上述第2存储器转送后,使上述音源处理器将上述转送后的上述第2存储器内的上述波形数据读入;上述控制处理器,关于存储在上述第2存储器中的多个上述波形数据中的、满足设定的条件的波形数据,将由上述转送带来的波形数据的变更设为不可,关于不满足上述设定的条件的波形数据,进行控制以使得能够进行由上述转送带来的波形数据的变更。

(结构例2)

在上述结构例1中,还构成为,上述控制处理器,关于上述多个波形数据中的满足上述设定的条件的波形数据,预先从上述第1存储器向上述第2存储器转送,并且使其以不能进行由上述转送带来的波形数据的变更的状态存储到上述第2存储器中。

(结构例3)

在上述结构例1中,还构成为,上述控制处理器,关于上述多个波形数据中的、具有超过规定的阈值的数据尺寸的上述波形数据,使其以在伴随着上述发音的演奏中不会被变更的状态固定地存储到上述第2存储器中。

(结构例4)

在上述结构例3中,还构成为,上述规定的阈值基于到在上述演奏时产生的上述发音为止的延迟时间为一定时间以下的上述波形数据的数据尺寸来设定。

(结构例5)

在上述结构例1中,还构成为,上述音源处理器存在多个;上述控制处理器,将上述第2存储器划分为多个区域,将各个上述区域作为由上述多个音源处理器分别将上述波形数据读出的区域来分配;上述控制处理器,从上述多个音源处理器之中,确定应将上述被指定的波形数据读出而使其发音的第1音源处理器;上述控制处理器,在被分配给上述第1音源处理器的上述第2存储器的第1区域中没有存储上述被指定的波形数据、并且上述被指定的波形数据存储在上述第2存储器的其他的第2区域中的情况下,在将存储在上述第2区域中的上述波形数据转送到上述第1区域中之后,进行读出而使其发音。

(结构例6)

在上述结构例1中,还构成为,上述音源处理器存在多个;上述控制处理器,将上述第2存储器划分为多个区域,将各个上述区域作为由上述多个音源处理器分别将上述波形数据读出的区域来分配;上述控制处理器,从上述多个音源处理器之中,确定应将上述被指定的波形数据读出而使其发音的第1音源处理器;上述控制处理器,在被分配给上述第1音源处理器的上述第2存储器的第1区域中没有存储上述被指定的波形数据、并且上述被指定的波形数据存储在被分配给与上述第1音源处理器不同的第2音源处理器的上述第2存储器的其他第2区域中的情况下,使得由上述第1音源处理器将存储在上述第2区域中的上述波形数据直接读出而使其发音。

(结构例7)

在上述结构例1~6中,还构成为,上述第1存储器是具有第1读出速度并且具有第1存储容量的存储装置;上述第2存储器是具有比上述第1读出速度快的第2读出速度、并且具有比上述第1存储容量小的第2存储容量的存储装置。

(结构例8)

上述第2存储器构成为,具有:第1存储区域,在伴随着上述发音的演奏的开始之前,将满足上述设定的条件的上述波形数据固定地存储;第2存储区域,将在上述演奏中被指定且从上述第1存储器转送来的上述波形数据可变地存储。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1