具有算法可选择功能的电子乐器的制作方法

文档序号:2819267阅读:274来源:国知局
专利名称:具有算法可选择功能的电子乐器的制作方法
技术领域
本发明涉及电子乐器,更具体地说涉及一种能够高保真地模拟普通非电子乐器的电子乐器。
已为人所知的常规电子乐器包含PCM(脉码调制)乐音发生装置(下文称为乐音发生装置(1)),该装置根据响应例如演奏者的键盘操作产生的MIDI(乐器数字接口)数据所对应的时钟从波形存储器读出脉码调制的波形数据。这种常规电子乐器包含多个声音产生通道,例如16个声音产生通道,这些声音产生通道的每一个响应上述MIDI数据以分时方式独立产生声音。例如,一个声音产生通道以一种时序产生具有钢琴音色的声音,而另一个声音产生通道以另一时序产生具有小提琴音色的声音。
进而,物理模型乐音发生装置(下文称为乐音发生装置(2))也为人们所了解,该装置通过模拟目标非电子乐器的声音产生算法来合成逼真地模拟常规非电子乐器的声音的乐声。美国专利号4984276中公开了这样的一种装置。
在图9的框图中示出了上述常规乐音发生装置(2)的线性部分的一个实例。在该图中,设有输入端1,将由大量诸如脉冲波形的不同高频分量构成的激励信号波形数据加在该输入端子上。通过输入端1所加的激励信号波形通过加法器2和3的第一输入端加到闭环电路。加法器3将激励信号波形数据和从输入存储器5(存储器2)读出的输出数据相加,输入存储器5将输入数据延迟所要求的时间。加法器3的输出数据加到乘法器6,将之乘以倍乘系数C2。乘法器6的输出数据送到加法器8的第一输入端。加法器8的输出数据存储在暂时存储器9(TL4)中并送到乘法器11。暂存器9将输入数据延迟,即将加法器8的输出数据延迟所要求时间。乘法器11将输入数据即加法器8的输出数据乘以倍乘系数r2。将从暂存器9读出的数据送到乘法器10。乘法器10将输入数据即从暂存器9读出的数据乘以倍乘系数1-C2。将乘法器10的输出数据加到加法器8的第二输入端。加法器8将乘法器6的输出数据与乘法器10的输出数据相加。上述元件8到10的每一个一起构成一低通滤波器(LPF)12。乘法器11的输出数据存储在输入存储器4(存储器1)将之延迟所要求时间。将从输入存储器4读出的数据加到加法器2的第二输入端。
加法器2将激励信号波形数据与从输入存储器4读出的数据相加。加法器2的输出数据送到乘法器7将之乘以倍乘系数C1。乘法器7的输出数据送到加法器13的第一输入端。加法器13的输出数据存储在暂存器14(TL1)中并送到乘法器16。暂存器14将输入数据即加法器13的输出数据延迟所要求时间。乘法器16将输入数据,即加法器13的输出数据乘以倍乘系数r1。从暂存器14读出的数据送到乘法器15。乘法器10将输入数据即从暂存器14读出数据乘以倍乘系数1-C1。将乘法器15的输出数据送到加法器13的第二输入端。加法器13将乘法器7的输出数据与乘法器15的输出数据相加。上述元件13到15中每个一起构成低通滤波器(LPF)17。乘法器16的输出数据存储在输入存储器5中。从输入存储器5读出的数据送到加法器3的第二输入端。
由于上述常规乐音发生装置(2)由数字信号处理器(DSP)组成,所以它能通过改变DSP中所用微程序(例如见

图10)模拟各种目标非电子乐器的声音产生算法合成各种能逼真地模仿常规非电子乐器声音的各种乐音。上述如图9所述的常规乐音发生装置(2)是乐音发生装置的一个实例,该装置通过模拟弦乐声音产生算法而合成可逼真模仿弦乐声音的乐音。另一类型乐音发生装置的一个实例,已在日本专利申请公开公报2-280196写中公开,该乐音发生装置通过模拟目标非电子乐器的声音产生算法合成出能逼真模拟另一种非电子乐器例如管乐的声音的乐音。
在上述包含上述常规乐音发生装置(1)的常规电子乐器中,音色号以及诸如音调和弹奏的演奏信息每次击键时被送到乐音发生装置(1)。因此,如果演奏者对每一声音的产生指定音色,那么乐音发生装置(1)的每一声音的产生通道直接存取波形存储器相应区域并从中读出波形数据。因此,如上所述,一个声音产生通道在一个时序产生钢琴音色的声音而在下一个时序借助分时产生具有小提琴音色的声音。
相反,在包含上述常规乐音产生装置(2)的上述常规电子乐器中,在每次击键改变音色的场合下,有必要或者在每次击键时将微程序送到声音产生通道或者事先在每个声音通道中存储多个微程序。由于如图10所示微程序是对应于图9所示非常基本电路结构的微程序,因此该微程序在每次键入时送到声音产生通道耗时不多。然而,由于精确模拟目标非电子乐器声音产生算法的微程序由大量数据组成,当每次键入时将该大量数据送到声音产生通道,所以存在由于数据传输速率上的限制而减少击键响应的缺点。在预先将多个微程序存贮在每个声音通道的场合下,存在存储器使用效率变得较低以及因需大量存储器系统变得昂贵等缺点。
如上所分析,本发明的目的是提供一种能有效使用存储器、在每次键入时能产生多种音色的声音而不会缩减击键响应的电子乐器。
为满足该目的,本发明提供一种包含乐音产生装置的电子乐器,所述乐音产生装置包含用于产生激励信号的激励装置,带有输入装置用于响应激励信号产生乐音信号的声音产生装置,该声音产生装置还用来延迟乐音信号以及将乐音信号反馈回输入装置;
用于存储多个声音产生算法的存储装置;
分配指定装置,用于指定多个声音产生算法中的一个以及将所指定声音产生算法分配给乐音产生装置,乐音产生装置还包含用于对乐音信号执行所指定声音产生算法的操作装置,以及用于抽取乐音信号的抽取装置。
按照这种结构,当演奏者用分配指定装置指定多个声音产生算法中的一个并将所指定声音产生算法分给乐音产生装置,操作装置对乐音信号执行所分配的声音产生算法。
因此,激励装置产生激励信号,输入装置响应激励信号产生乐音信号,声音产生装置延迟乐音信号并将乐音信号反馈到输入装置。这样,抽取装置抽取出乐音信号。
按照本发明,有一种使每个声音产生通道的音色缓存器容量最小化的正效应。还有一种构造系统有效使用存储器的正效应。而且还存在对击键的响应不少于在先有技术情况下的正效应。此外,由于在每个声音产生通道中规定了每个音色的优先级次序,而存在防止有限数的声音产生通道造成的强制乐音的产生的正效应。
图1是根据本发明最佳实施例的电子乐器电结构的框图;
图2示出图1面板21外部结构的一个实例;
图3是说明根据本发明最佳实施例的CPU18的主过程例程的流程图;
图4是说明根据本发明最佳实施例的CPU18的音符开的过程的例程的流程图;
图5是说明根据本发明最佳实施例的CPU18的音符关过程的例程的流程图;
图6是根据本发明最佳实施例结合CPU18音符音色的过程例程的流程图;
图7示出图2显示器22的显示实例;
图8示出图2显示器22的另一显示实例;
图9示出现有技术物理模型乐音发生装置线性部分结构性实例的一个框图;
图10示出图9物理模型乐音发生装置微程序的一个实例。
下面参照附图给出本发明最佳实施例的说明。图1示出按照本发明最佳实施例的电子乐器的结构框图。在该图中,设有控制全部设备的中央处理器(CPU)18,已存储各种CPU18所用控制程序以及装入下文说明的由DSP和RAM构成的乐音产生电路29中的各种微程序的ROM19以及RAM20。此外在RAM20中,所有类型的寄存器、标志和工作缓冲区保留为CPU18执行任何类型的过程时使用,而MIDI数据缓冲器保留用来存储MIDI数据。
此外,在图1中,设有面板21,该面板21由诸如液晶显示器的显示器22、10个键23,用于指定例如显示的改变等的输入(enter)键24,用于指定显示器22上光标等的移动的光标键25,如图2所示。面板21响应键的操作通过面板接口26和系统总线27将信息送到CPU18。
然而,在图1中,设置有MIDI接口28。CPU18通过MIDI接口28和系统总线27与另一电子乐器等交换诸如MIDI数据之类的数据。设有乐音发生电路29,通过模拟各类乐器声音产生算法合成出能够逼真地模拟诸如单簧管一类的管乐器、诸如小提琴一类的拉弦乐器,诸如吉它一类的拨弦乐器以及诸如钢琴一类的击弦乐器的声音的乐音。乐音发生电路29由多个DSP和多个RAM组成,RAM分别暂存有多个DSP的各种计算数据。DSP和RAM的集合对应于下文描述的声音产生通道。配置一个声音系统30,它包含放大器等,用以放大由乐音发生电路29提供的多个乐音信号。设置扬声器31将多个乐音信号转换为乐音并输出。
下面参照图3到图6的流程图,说明本发明电子乐器中CPU18操作流程。
当将电源送到图1所示装置时,CPU18开始执行图3所示、以步骤SA1开始的主过程例程。在步骤SA1,执行所有设备的初始化。该初始化由乐音发生电路29中初始音色的设置,RAM20寄存器的清零组成。接着,扫描MIDI接口28,在步骤SA2检测MIDI数据的输入状态。
下面,在步骤SA3,判断是否存在基于步骤SA2的MIDI扫描过程检测的MIDI数据输入状态的MIDI事件。当SA3判定结果为“是”,则例程进到步骤SA4。相反,当步骤SA3判定结果为“否”,即,未检测到MIDI事件时,该例程进到下述的步骤SA8。
在步骤SA4,与它们的各检测状态对应的数值存储在暂存音符开事件NON或音符关事件NOFF寄存器EV,暂存音符码NC的寄存器NC,以及暂存速度的寄存器NV中。
下面,在步骤SA5,判断寄存器EV中存储的数据是否对应音符开事件NON。当SA5判定结果为“是”,则读例程进到步骤SA6,在步骤SA6执行音符开(noteon)过程(声音产生过程)。相反,当步骤SA5判断结果为“否”,即,寄存器EV存储的数据对应于音符关事件NOFF时,例程进到步骤SA7,在步骤SA7执行音符关过程(声音静止过程)。声音产生过程和声音静止过程将在下面详细说明。接着,当声音产生过程或声音静止过程也被执行,则例程进到步骤SA8。
在步骤SA8,扫描面板21以检测面板21的操作状态。接着,在步骤SA9,判断是否有基于步骤SA8面板扫描过程检出的面板21状态的面板事件。当SA9判断结果为“是”,则例程进到步骤SA10。相反,当步骤SA9判定结果为“否”,换言之,当未检测到面板事件时,例程返回到步骤SA2。
在步骤SA10,判断在步骤SA8检出的面板事件是否和音色有关。如在SA10判定结果为“是”,则例程进到步骤SA11,在步骤SA11执行和音色相关的过程。相反,当SA10的判定结果为“否”,即步骤SA8检出的面板事件与音色无关,则例程进到步骤SA12,并执行步骤SA12中的过程。这些和音色有关的过程将在下面详细说明。接着,当已执行完有关音色的过程和其它过程时,例程返回到步骤SA2,反复执行步骤SA2到SA12,直至断电。
下面,参考图4流图说明CPU18的音符开过程。当例程进到图3所示步骤SA6,CPU18开始执行图4示出的以步骤SB1开始的音符开过程例程。在步骤SB1,将对之检测事件的MIDI通道号存储在寄存器MCH中。在步骤SB2,将“0”存储在寄存器CH中,即存储声音产生通道号以检索所有声音产生通道的状态。
下面在步骤SB3,将“7FFF(十六进制数最大值)存储在寄存器MIN中以截断当开放的声音产生通道不存在时包络值最小的声音产生通道。
在步骤SB4,判断寄存器AMC[CH]中的数值,即存储在寄存器CH设置的已分配给声音产生通道的MIDI通道号,是否与寄存器MCH所置数值相同。当SB4判定结果为“是”,则例程进到步骤SB5。相反,当SB4判定结果为“否”,即,寄存器AMC[CH]中存储的数值不等于寄存器MCH中存储的数值,则例程进到如下所述的步骤SB10,因为与寄存器AMC[CH]中存储数值对应的声音产生通道不能分配。
在步骤SB5,判断寄存器ST[CH](ST为状态信号)中存储的数值,即存储的对应于寄存器CH中所存储号数的声音产生通道的状态,是否等于0,即该声音产生通道是否处于通道备用状态。当SB5判断结果为“否”,则该例程进到步骤SB6。相反,如在SB5判断结果为“是”,换言之,当寄存器ST[CH]中存储数值等于“0”,则例程进到下面说明的步骤SB14,因为存在与寄存器ST[CH]中存储数值对应的开放声音产生通道。
在步骤SB6,将对应于寄存器CH中所存储数的乐声发生电路29中的声音产生通道的包络值存储在寄存器ENV中。下面在步骤SB7,判断寄存器ENV中存储的数值是否小于寄存器MIN中所存数值。当SB7判定结果为“是”,例程进到步骤SB8。相反,当SB7判定结果为“否”,即,当寄存器ENV中存储数值等于或大于寄存器MIN中存储的数值,则例程进到下述的步骤SB10。
在步骤SB8,将寄存器ENV所存数值存入寄存器MIN。接着在步骤SB9,将寄存器CH中存储的数值存入寄存器TCH。在步骤SB10,将“1”加到寄存器CH所存数值上以检索下一声音产生通道,接着,在步骤SB11,判断寄存器CH中存储的新值是否等于声音产生通道的总数CHMAX(例如32)。在SB11判定结果为“否”,则例程返回步骤SB4,并重复执行上述过程直至寄存器CH中所存数值等于声音产生通道的总数。相反,当SB11的判定结果为“是”,即,当寄存器CH中存储的数值等于声音产生通道的总数,则例程进到步骤SB12。
在步骤SB12,执行声音静止过程以对乐音发生电路29中对应于寄存器TCH中所存数的声音产生通道的声音进行抑制。接着在步骤SB13,将寄存器TCH存储的数值存储在寄存器CH中。下面,在步骤SB14,将指示基于音符开的声音产生的连续状态的“1”存储在寄存器ST[CH]中。
在步骤SB15,待产生音调所对应的键码KC存储在寄存器AKC[CH]中,响应声音产生通道存储一个键码KC。下面在步骤SB16,将音符码NC、速度NV和音符开NON送到对应于寄存器CH中存储的数的乐音发生电路29中的开放声音产生通道,然后该例程返回到如图4所示主过程例程的步骤SA8。
下面参照图5流程图说明CPU18的音符关过程。当例程进到图3所示步骤SA7,CPU18开始执行图5示出以步骤SC1开始的音符关过程的例程。在步骤SC1,将检测出MIDI事件的MIDI通道号存储在寄存器MCH中。在步骤SC2,将“0”存在寄存器CH中,即存储声音产生通道号以便检索所有声音产生通道的状态。
在步骤SC3,判断寄存器AMC[CH]中存储的数值是否等于寄存器MCH中存储的数值。当SC3判定结果为“是”则例程进到步骤SC4。相反,当SC3判定结果为“否”,即,当寄存器AMC[CH]中存储的数值不等于寄存器MCH中存储的数值时,则例程进到如下所述的步骤SC5。
下面在步骤SC4,判定寄存器AKC[CH]中存储的数值是否等于键码KC。如果SC4判定结果为“否”,例程进到步骤SC5。相反,当SC4判定结果为“是”时,换言之,当寄存器AKC[CH]中存储的数值等于键码KC,则例程进到如下所述的步骤SC7。
在步骤SC5,将“1”加到寄存器CH所存数值上以检索下一声音产生通道。下面在步骤SC6,判定寄存器CH中存储的新值是否等于声音产生通道总数CHMAX(例如32),当SC6判定结果为“否”,例程返回到步骤SC3,并重复执行上述过程直至寄存器CH中存储的数值等于所有声音产生通道数。相反,当SC6判定结果为“是”,亦即,当寄存器CH中存储的数值等于声音产生通道总数,则例程返回到图4所示主过程例程的步骤SA8。
在步骤SC7,将指示通道备用状态的“0”存入寄存器ST[CH]。在步骤SC8,将“0”存入寄存器AKC[CH]。下面在步骤SC9,将音符关NOFF送到对应于寄存器CH所存数的乐音发生电路29中的声音产生通道,该例程返回到图4所示主过程例程的步骤SA8。
下面,参考图6的流程图,说明CPU18和音色有关的过程。当例程进到图3所示步骤SA11,CPU18开始执行图6所示的以步骤SD1开始的与音色例程相关的过程。在步骤SD1,根据操作者在面板21上的操作将每个MIDI通道的声音产生通道号和音色号存入寄有器中。即,当操作员用如图2所示10个数字键23、输入键24及面板21的光标键25选择各个MIDI通道的声音产生通道号和音色号时,CPU18在RAM20的相应寄存器中存储各个MIDI通道的声音产生通道号和音色号。CPU18在显示器22上显示为每个MIDI通道所选择的声音产生通道号和音色号,例如,如图7和图8所示。在图7所示例子中,4个声音产生通道分配给MIDI通道0,2个声音产生通道分配给MIDI通道1,…,以及4个声音产生通道分配给MIDI通道7。在图8所示实例中,对应于音色号02的音色,即大钢琴音色指定给MIDI通道3。
在步骤SD2,将“0”存储在寄存器MCH中,以确定由操作者为每个MIDI通道选择声音产生通道号及音色号的每MIDI通道的声音产生通道的状态。接着,在步骤SD3,将“0”存入寄存器CH,以判定为MIDI通道所选全部声音产生通道的状态。
下面,在步骤SD4,将分配给对应于寄存器MCH中所存数的MIDI通道的声音产生通道号,例如在MIDI通道0情况下为4,存储在寄存器N中。在步骤SD5,将分配给对应于寄存器MCH中存数的MIDI通道的声音产生通道的音色号,例如在MIDI通道3时为02,存储在寄存器TC中。
在步骤SD6,将对应于寄存器TC中存储的音色号的微程序,例如小提琴微程序,送到对应于寄存器CH中所存数的乐音发生电路29的声音产生通道。接着,在步骤SD7,将寄存器MCH中存储的数值存入寄存器AMC[CH],其中记录为寄存器CH所存贮声音产生通道所指定的MIDI通道号。
在步骤SD8,将“1”加到寄存器CH中所存的数值上以判定下一声音产生通道的状态。下面在步骤SD9,从寄存器N存储的数值减去“1”以判定分配给同一个MIDI通道的下一个声音产生通道的状态。在步骤SD10,判定寄存器N所存新数值是否等于“0”。当SD10的判定结果为“否”,则例程返回到步骤SD6,对分配给同一MIDI通道的所有声音产生通道重复执行以上过程。相反,当SD10判定结果为“是”,即,当寄存器N所存数值等于“0”,则例程进到步骤SD11。
在步骤SD11,将“1”加到寄存器MCH所存数值以判定下一MIDI通道的状态。接着在步骤SD12,判定寄存器MCH所存新值是否等于“8”当SD12判定结果为“否”,则例程返回到步骤SD4,并对所有MIDI通道重复执行上述过程。相反,当SD12判定结果为“是”,即,当寄存器MCH存储的数值等于“8”,则例程返回到图4所示主过程例程的步骤SA2。
借助如上所述本发明实施例的电子乐器,可将多个音色预分配给数量上有限的各个声音产生通道,将多个对应于多个音色的微程序预先送到所分配的各个声音产生通道,所指定声音产生通道响应MIDI数据产生声音。因此,有可能使存储器容量最小,以及构造有效利用存储器的系统。此外,对击键的响应可比现有技术执行得更快。而且可防止由限定数量的声音产生通道引起的强制乐音的产生,因为规定了每个声音产通道中每个音色的优先级次序。
权利要求
1.一种电子乐器,包含有乐音发生装置,该装置包含产生激励信号的激励装置,有响应所述激励信号产生乐音信号的输入装置、延迟所述乐音信号并将所述乐音信号反馈给所述输入装置的声音产生装置,用于存储多个声音产生算法的存储器装置,用于指定所述多个声音产生算法之一并将所述指定的声音产生算法分配给所述乐音发生装置的分配指定装置,所述乐音发生装置还包含用于对所述乐音信号执行所述分配的声音产生算法的操作装置,用于抽取所述乐音信号的抽取装置。
2.如权利要求1所述的电子乐器,其特征在于所述多个声音产生算法中的每一个将一种乐音的特征赋予所述乐音信号。
3.如权利要求1所述电子乐器,其特征在于所述乐音产生装置包含物理模型乐音产生装置。
4.如权利要求1所述的电子乐器,其特征在于所述乐音产生装置包含数字信号处理器。
全文摘要
本发明的电子乐器设有乐音发生装置,该乐音发生装置包含产生激励信号的激励装置和带有响应该激励信号产生乐音信号的输入装置的声音产生装置。乐音发生装置延迟乐音信号并将乐音信号反馈给输入装置。该电子乐器还设有存储多个声音产生算法的存储器和指定多个声音产生算法之一并将所指定声音产生算法分配给乐音发生装置的分配指定装置。乐音发生装置还包括对乐音信号执行所分配声音产生算法的操作装置。此外,该电子乐器设有抽取乐音信号的抽取装置。
文档编号G10H1/18GK1073288SQ9211163
公开日1993年6月16日 申请日期1992年10月7日 优先权日1991年10月7日
发明者山田秀夫 申请人:雅马哈株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1