电子乐器的制作方法

文档序号:11867318阅读:348来源:国知局
电子乐器的制作方法与工艺

本申请是基于2011年12月20日提交的申请号为2011104295681、发明创造名称为“电子乐器”的中国专利申请的分案申请。

技术领域

本发明涉及一种电子乐器,其通过使用音乐演奏数据指示用户期望演奏的音乐演奏操作元件,来为用户提供音乐演奏指导。



背景技术:

尽管初学者期望在电子乐器上弹奏(play)乐曲,不过他或她不清楚弹奏哪个音符、何时弹奏以及弹奏该音符多长时间。已经存在具有音乐演奏指导功能的电子乐器,其用于再现用户期望乐曲的音乐演奏数据,并且在显示器上或者通过指示灯指示用户应当弹奏的音符。在如下文献1至3中描述了具有这种音乐演奏指导功能的传统电子乐器:

文献1:日本专利公开第2707853号

文献2:日本未审查专利公开第2004-101979号

文献3:Yamaha Corporation,PORTATONE EZJ-210Manual,p.32,http://www2.yamaha.co.jp/manual/pdf/emi/japan/port/ezj210_j a_om_a0.pdf(2010年12月8日搜索结果)。

通过传统电子乐器的音乐演奏指导功能,当再现用户期望练习的乐曲到达用户应当弹奏的时刻时,电子乐器会指示与用户应当弹奏的音符对应的按键,从而用户能够自己学习应当弹奏的音符以及应当何时弹奏该音符。此外,通常存在这样的音乐演奏指导功能,其中如果用户未在特定的时刻弹奏所指示的按键,则电子乐器进入等待状态,直到用户弹奏了指示的按键。在这种等待状态下,电子乐器暂停根据乐曲的进程读取音乐演奏数据,并等待用户弹奏所指示的按键。当用户弹奏指示的按键时,电子乐器产生对应于所弹奏按键的乐音,并且开始读取后续的音乐演奏数据以恢复乐曲的再现。

下面参照图8结合键盘乐器的示例来对传统音乐演奏指导的操作进行说明。

在图8的顶行中,以时间顺序对指示用户要弹奏的乐曲的自动音乐演奏数据的音符进行排列。在顶行下面的一行中,以长矩形来表示顶行中所指示的各个音符的音符长度。在第二行下方的一行中,以长矩形表示按键按下的时间段,该时间段从用户按下上述音符所对应的按键到用户释放该按键为止。不过,在图8中未示出各个音符的音符编号。图8中,时刻t1、t2、t3、t4、t5……是各个节拍(beat)开始的时刻。具体来说,每两个时刻之间的间隔等于一个节拍。应当产生指示自动音乐演奏数据的第一四分音符n1的时刻为t1时刻。应当产生第二四分音符n2的时刻为t2时刻。应当产生第三二分音符n3的时刻为t3时刻。

当用户为了弹奏乐曲而开启了用户可以进行开关切换的音乐演奏指导功能时,自动音乐演奏数据被顺序读取。在相比应当产生四分音符n1的t1时刻早特定时间T的t01时刻,指示具有该四分音符n1的音高(tone pitch)的按键的指示灯打开。假设即使指示灯已经在t01时刻打开,但用户仍未在乐音产生时刻t1按下指示灯所指示的按键。于是,电子乐器进入等待状态,暂停读取音乐演奏数据,以等待用户按下所指示的按键。假设用户在晚于t1时刻的t1’时刻按下了指示灯所指示的按键。按下该按键时,指示灯关闭,同时从t1’时刻开始产生具有所按下按键的音高的乐音,并持续产生该乐音,直到释放该按键。另外,电子乐器取消该等待状态以读出下一音乐演奏数据,来准备对下一个四分音符n2进行指导。从t01时刻到t1时刻的时间段即是所述特定时间段T,其是例如等于32分音符的音符长度的短时间段。在用户按下了不同于指示灯所指示的按键的情况下,电子乐器判断该按键的按下是错误的按下,从而电子乐器认为没有在t1时刻之前按下正确的按键,于是进入等待状态,等待正确地按下所指示的按键。

如上文所述,在用户按下由指示灯指示并且对应于四分音符n1的乐音的按键时,读出下一音乐演奏数据,其中t20时刻被定义为应当产生四分音符n2的时刻,t20时刻相比按下对应于四分音符n1的按键的t1’时刻晚一个节拍。因此,在比t20时刻早特定时间段T的时间点,指示与四分音符n2的音高对应的按键的指示灯打开,以为四分音符n2提供音乐演奏指导。对于针对四分音符n2以及二分音符n3的音乐演奏数据,在比应当产生各个音符的乐音的各个时刻早特定时间段T的各个时间点处,指示与音符n2、n3的音高对应的各个按键的指示灯打开,以为各个音符提供音乐演奏指导。在图8的情况下,尽管为用户提供了这种指导,但用户仍未在音符n2、n3的各个乐音产生时刻按下指示灯所指示的按键。因此,电子乐器在音符n2、n3的各个乐音产生时刻进入等待状态。然后,用户在晚于乐音产生时刻t20的t2’时刻按下对应于四分音符n2的按键,于是等待状态消除。此外,用户在晚于乐音产生时刻t30的t3’时刻按下对应于二分音符n3的按键,于是等待状态消除。通过正确地按下按键以消除等待状态,具有所指导音符的音高(即具有所按下按键的音高)的乐音的产生开始保持所产生的乐音,直到释放按键,同时读出下一音乐演奏数据以准备对下一音符进行指导。

通过上述指导功能,在再现用户希望练习的乐曲期间,在用户应当按下按键的时刻之前,电子乐器为用户提供指示用户应当按下的按键的指导。如果用户在原始设置的乐音产生时刻没有按下所指导的按键,则电子乐器进入等待状态。如果用户随后按下了所指导的按键,则电子乐器恢复乐曲的再现。相应的乐音将在从按下按键到释放按键的时间段内产生。这种指导功能仅指示应当按下的音符以及应当按下按键的时刻,但不指示应当释放按键的时刻。因此,传统的指导功能的缺点在于,如果用户过早释放按键,则产生对应乐音的时间段过短,从而打断了音乐演奏。

为了克服此缺点,存在一种传统的音乐演奏指导功能,其还能够允许用户学习应当释放按键的时刻。通过这种传统音乐演奏指导功能,不管用户何时释放按键,都保持产生对应于该按键的乐音,直到达到乐曲数据中记录的音符的音符长度,并且在达到音符的音符长度时,自动停止产生该乐音。因此,通过这种传统音乐演奏指导,即使用户没有在正确的时刻释放按键,用户所弹奏的乐曲也将听起来正确。通过使用这种音乐演奏指导功能反复练习乐曲,用户能够学习何时释放按键。

下面将参照图9对这种传统音乐演奏指导的操作进行说明。在图9中同样描述了键盘乐器的示例。

在图9的顶行中,以时间顺序对指示用户要弹奏的乐曲的自动音乐演奏数据的音符进行排列。在顶行下面的一行中,以长矩形来表示顶行中所指示的各个音符的音符长度。在第二行下方的一行中,以长矩形表示每个从用户按下上述音符所对应的按键到用户释放该按键为止的时间段。在图9中,时刻t1、t2、t3、t4……是各个节拍开始的时刻。具体来说,每两个时刻之间的间隔等于一个节拍。应当产生指示自动音乐演奏数据的四分音符n10的时刻为t1时刻。应当产生第二四分音符n11的时刻为t2时刻。应当产生第三四分音符n12的时刻为t3时刻。应当产生第四四分音符n13的时刻为t4时刻。四分音符n10的音符长度为ta1。四分音符n11的音符长度为ta2。四分音符n12的音符长度为ta3。四分音符n13的音符长度为ta4。因为音符n10至n13每一个均为四分音符,因此各个音符长度ta1至ta4具有相同的长度。

在开启音乐演奏指导的情况下用户开始音乐演奏时,顺序读取自动音乐演奏数据,同时在未示出的但相比应当产生四分音符n10的t1时刻早特定时间段的时间点处,指示与四分音符n10的音高对应的按键的指示灯打开。假设用户识别出打开的指示灯,并且在t1时刻按下该指示灯所指示的按键,并在时间段tb1内持续按下该按键。在这种情况下,尽管时间段tb1小于四分音符n10的音符长度ta1,实际产生的乐音的长度也延长为具有音符长度ta1。在已经按下了指示灯所指示的与四分音符n10的音高对应的按键的情况下,读出下一自动音乐演奏数据,以在相比应当产生四分音符n11的t2时刻早特定时间段的时间点处使得指示与四分音符n11的音高对应的按键的指示灯打开。假设用户同样在t2时刻按下了指示灯所指示的按键,并在时间段tb2内保持按下该按键。在这种情况下,尽管时间段tb2小于四分音符n11的音符长度ta2,实际产生的乐音的长度也延长为具有音符长度ta2。此外,在弹奏由指示灯指示并且与四分音符n11的音高对应的按键时,读出下一自动演奏数据,同时在相比应当产生四分音符n12的t3时刻早特定时间段的时间点处使得指示与四分音符n12的音高对应的按键的指示灯打开。假设用户同样在t3时刻按下了指示灯所指示的按键,并在时间段tb3内保持按下该按键。在这种情况下,尽管时间段tb3大于四分音符n12的音符长度ta3,实际产生的乐音的长度也缩短为具有音符长度ta3。

因此,通过这种传统音乐演奏指导功能,无论用户实际释放各个按键的时刻如何,也能够针对乐曲数据中记录的各个音符长度来保持产生各个乐音。



技术实现要素:

在图8所示的传统音乐演奏指导的情况下,如果用户在应当产生指导音符的时刻之后也未按下指导按键,则电子乐器进入等待状态,直到用户按下所指示的按键。当按下音乐演奏指导所指示的按键时,电子乐器开始产生对应于所按下按键的乐音。通过这种传统音乐演奏指导,在用户希望学习的乐曲的再现期间,在比用户应当按下按键的时刻早特定时间段T的时间点处,对用户应当弹奏的音符进行指导,于是用户能够按下对应于所指导音符的按键。在这种情况下,将所述特定时间段T设置为例如32分音符的音符长度的短时间段。由于特定时间段T较短,因此传统音乐演奏指导使得用户仅通过在指示的时刻按下按键就能够精确地弹奏乐曲。然而,另一方面,用户必需等待用户应当按下的按键的下一个指示。如果已知下一个要弹奏的按键的用户如图8的最下行所示在早了特定时间段T的时间点处按下了下一个要指示的按键,则用户的此次按键的按下被判断为错误的按下。因此在这种情况下,尽管用户按照乐谱所示弹奏了正确的音符,但如果用户弹奏音符比音乐演奏指导所允许的更快,则无法产生用户已经弹奏的早于期望时刻的音符的乐音。

另外,在图9所示的情况下,如果用户在t3时刻按下了指示灯所指示的对应于四分音符n12的按键,以在大于一个节拍的时间段tb3内保持按下该按键,则时间段tb3结束的时间点晚于应当产生下一个四分音符n13的t4时刻。尽管针对四分音符n13的音乐演奏指导从相比t4时刻早特定时间段T的时间点开始,但用户要在时间段tb3结束后按下对应于音符n13的按键。在这种情况下,音符n12的乐音的产生自动在等于音符长度ta3的结束的时间点处终止,从而用户弹奏的乐曲在t4时刻进入等待状态。当用户在比t4时刻晚时间Dt的t4’时刻按下对应于音符n13的按键时,在t4’时刻乐曲恢复。在这种情况下,用户在t4’时刻按下指示灯所指示的按键,并在时间段tb4内保持按下按键。尽管时间段tb4小于四分音符n13的音符长度ta4,实际产生的乐音的长度也延长为具有音符长度ta4的长度。即使节拍开始的时刻t4’延迟了,电子乐器也将使得确定节拍长度的拍子(tempo)保持恒定。因此,t4’时刻后的各个节拍的各个时刻t4’、t5’、t6’……之间的长度将不会变化。

如上文所述,通过图9所示的传统音乐演奏指导,无论用户实际释放按键的时刻如何,拍子都保持恒定。具体来说,即使用户希望轻快地弹奏乐曲而较早地释放按键,传统的音乐演奏指导也将使用户等待较长时间而不进行对下一节拍的指导。另外,即使用户希望较慢地弹奏乐曲而较晚地释放按键,传统的音乐演奏指导也将在按键释放之前开始针对下一节拍的指导,而不延迟对下一节拍的指导。因此,传统的音乐演奏指导不够用户友好。

如上文所述,具有传统指导功能的电子乐器的缺点在于,传统的指导功能无法满足用户不仅按照指导的指示弹奏乐曲、还能够带有感情地更轻快或者更和缓地弹奏的需求。

因此,提出本发明以解决上述问题。本发明的一个目的是提供一种具有音乐演奏指导的电子乐器,其能够满足用户不仅按照指导的指示弹奏乐曲、还能够带有感情地更轻快或者更和缓地弹奏的需求。

为了实现上述目的,本发明的一个特征是提供一种电子乐器,包括存储部分,用于存储乐曲的第一部分的音乐演奏数据;读取部分,用于根据乐曲的进程从存储部分中读出第一部分的音乐演奏数据;指示部分,用于根据读取部分为了由用户弹奏所读出的第一部分的音乐演奏数据,指示包括在多个音乐演奏操作元件中并且应当由用户操作的一个音乐演奏操作元件;设置部分,用于基于通过读取部分读出的第一部分的音乐演奏数据,为要产生的每个乐音设置特定的时间时间段,来作为乐音产生开始允许时间段,乐音产生开始允许时间段早于应当产生乐音的乐音产生时刻;音乐演奏确定部分,用于确定是否已经在设置部分所设置的乐音产生开始允许时间段开始的开始时刻上或者在所述开始时刻之后正确地操作了指示部分所指示的音乐演奏操作元件;拍子跟随部分,用于根据操作音乐演奏操作元件的时刻改变乐曲的拍子;以及暂停部分,用于在音乐演奏确定部分确定已经在所述开始时刻上或者在所述开始时刻之后正确操作了由指示部分所指示的音乐演奏操作元件时,指示产生对应于所操作的音乐演奏操作元件的乐音信号,并且当音乐演奏确定部分确定即使在所述开始时刻经过之后也没有在乐音产生时刻之前正确地操作由指示部分所指示的音乐演奏操作元件时,暂停通过读取部分读取第一部分的音乐演奏数据,直到音乐演奏确定部分确定音乐演奏操作元件已被正确操作。

根据本发明,通过组合乐音产生开始允许时间段和拍子跟随功能,电子乐器判断用户在乐音产生时刻之前的按键操作是否为正确的按键操作,并且改变再现乐曲的拍子,从而使拍子能够跟随用户操作音乐演奏操作元件以弹奏乐曲的时刻,其中所述乐音产生开始允许时间段是提供在乐音产生时刻之前的特定时间时间段。具体来说,无论用户早于或晚于乐音产生时刻按下按键,本发明的电子乐器均判断用户的按键操作正确,并且根据用户的正确按键操作来控制乐曲的拍子。因此,本发明的电子乐器能够满足用户不仅按照指导的指示弹奏乐曲、还能够更轻快地弹奏或者更和缓地带有感情地弹奏的需求。

此外,根据本发明,通过开启或关闭拍子跟随部分以改变乐音产生开始允许时间段的长度,用户能够更有效地练习电子乐器。通过针对拍子跟随部分处于关闭的情况设置较短的乐音产生开始允许时间段,电子乐器通过以恒定的拍子在精确的时刻指示按下按键来指导用户,从而本发明的电子乐器还可以满足熟练程度低的用户,其希望学习按下按键的时刻。对于拍子跟随部分处于开启状态的情况下较长的乐音产生开始允许时间段,该乐音产生开始允许时间段越长,则允许用户越早地按下按键,于是能够以用户期望的速度演奏音乐。

本发明的另一个特征是提供一种电子乐器,除了上述存储部分、读取部分、指示部分、设置部分和音乐演奏确定部分,所述电子乐器还包括操作时刻存储部分,其用于存储通过音乐演奏确定部分确定音乐演奏操作元件已被正确操作的该音乐演奏操作元件的操作时刻;拍子控制部分,其用于根据操作时刻存储部分中存储的操作时刻来控制再现乐曲的音乐演奏数据的拍子;切换部分,其用于将所述拍子控制部分在启用和禁用状态之间切换;乐音产生停止处理控制部分,其用于在通过切换部分将拍子控制部分设置为启用状态时,根据音乐演奏操作元件的完成操作来停止产生当前产生的乐音,并且在通过切换部分将拍子控制部分设置为禁用状态时,根据第一部分的音乐演奏数据中包含的音符结束(note-off)信息来停止产生当前产生的乐音;和暂停部分,其用于在音乐演奏确定部分确定已经在所述开始时刻上或者在所述开始时刻之后正确操作了由指示部分所指示的音乐演奏操作元件时,指示产生对应于所操作的音乐演奏操作元件的乐音信号,并且当音乐演奏确定部分确定即使在所述开始时刻经过之后也没有在乐音产生时刻之前正确地操作由指示部分所指示的音乐演奏操作元件时,暂停通过读取部分读取第一部分的音乐演奏数据,直到音乐演奏确定部分确定音乐演奏操作元件已被正确操作。

根据此特征,对于熟练程度低的用户,通过将拍子控制部分切换为禁用状态,电子乐器将不根据用户释放按键而是根据再现乐曲的乐曲数据的音符结束事件来停止产生乐音,从而用户可以学习各个乐音应当弹奏多长时间。此外,由于以恒定的拍子再现乐曲,因此用户可以学习应当按下音乐演奏操作元件的时刻。此外,对于熟练程度高的用户,通过将拍子控制部分切换为启用状态,电子乐器将根据用户对音乐演奏操作元件的完成操作来停止产生当前产生的乐音,也即根据用户释放相应的按键来停止,于是用户可以确定下一按键的按下时刻,从而以用户期望的速度来弹奏乐曲。此外,具有该特征的电子乐器允许用户确定下一乐音的按键时刻,并且根据用户的按键时刻来计算用户的音乐演奏拍子,从而使得跟随计算得到的拍子来再现自动演奏数据的拍子。因此,具有该特征的电子乐器的用户能够在自由控制乐曲演奏的过程中享受快乐。

附图说明

图1是表示根据本发明一个实施例的电子乐器的构造的框图;

图2是表示本发明的电子乐器的音乐演奏指导的操作的示图;

图3是表示本发明的电子乐器的音乐演奏指导的另一种操作的示图;

图4是表示本发明的电子乐器所使用的音乐演奏数据的数据结构的示图;

图5A是表示本发明的电子乐器所执行的主处理的一部分的流程图;

图5B是表示本发明的电子乐器所执行的主处理的另一部分的流程图;

图6A是表示等待再现期间进行的处理的一部分的流程图,其中该处理在通过本发明的电子乐器执行的主处理中执行;

图6B是表示等待再现期间进行的处理的另一部分的流程图,其中该处理在通过本发明的电子乐器执行的主处理中执行;

图7A是表示本发明的电子乐器所执行的中断处理的一部分的流程图;

图7B是表示本发明的电子乐器所执行的中断处理的另一部分的流程图;

图8是表示传统电子乐器的音乐演奏指导的操作的示图;和

图9是表示传统电子乐器的音乐演奏指导的另一种操作的示图。

具体实施方式

图1是表示根据本发明一个实施例的电子乐器的构造的框图。

图1所示的电子乐器1是键盘乐器,其为用户提供指导以帮助用户在电子乐器1上演奏乐曲。电子乐器1具有未示出的键盘,用作音乐演奏操作元件17,其由水平排列的多个分别对应于音高名称的白键和黑键构成,并且涵盖多个八度音(octave)。此外,在靠近每个白键和黑键处或者在每个按键内部提供指示灯19,以指示应当弹奏的相应按键来作为音乐演奏指导。在演奏操作元件17和指示灯19上方提供操作面板。在操作面板上,提供由液晶显示器构成的面板显示装置22。此外在面板显示装置22的两侧布置发声系统16的扬声器。在面板显示装置22和扬声器之间布置设置操作元件21。通过操作设置操作元件21,用户指定要产生的乐音的音色和音量,并且对电子乐器1进行各种设置,例如对面板显示装置22上显示的内容进行设置的指令。设置操作元件21至少包括操作元件以及用于开始所选择乐曲的再现的开关,其中所述操作元件用于设置对自动弹奏乐曲以及音乐演奏指导的操作模式进行选择的装置。为电子乐器1提供的音乐演奏指导功能是等待再现。此外,在等待模式下,电子乐器1允许用户在“启用拍子跟随”和“禁用拍子跟随”之间进行切换。此外,用户还可以禁用音乐演奏指导功能以选择正常再现,通过选择正常再现,禁用音乐演奏指导功能以不再进行指示灯的打开以及等待再现。

在图1所示的电子乐器1中,CPU 10是控制电子乐器1的各个部件的动作的中央处理单元。CPU 10具有定时器13,其指示操作中经过的时间并且以特定的间隔产生定时器中断。ROM(只读存储器)11是非易失性存储器,其存储诸如音乐演奏指导程序和乐音产生程序的程序,并存储诸如音乐演奏数据的各种数据。RAM(随机访问存储器)12是易失性存储器,其具有用于存储音乐演奏数据和各种数据的存储区域以及用于CPU 10的工作区域。乐音发生器14接收由CPU 10通过执行音乐演奏指导程序而产生的乐音控制数据,将所接收的乐音控制数据存储在乐音产生寄存器中,根据乐音控制数据产生乐音,并且将所产生的乐音输出至DSP(数字信号处理器)15。根据从CPU 10发送的音效参数,DSP 15向乐音发生器14产生的乐音信号添加诸如混响、和声、变奏和变形的各种音效。已经通过DSP 15添加了音效的乐音信号被提供至发声系统16。发声系统16将乐音信号转换成模拟乐音信号,放大该模拟乐音信号,并且从扬声器将放大的乐音信号发出为乐音。音乐演奏操作元件接口18对由白键和黑键构成的音乐演奏操作元件17进行扫描,以检测被操作为按下或释放的音乐演奏操作元件17,并且将与所检测到的音乐演奏操作元件17有关的音符开始信息或者音符结束信息通过总线24发送至CPU 10。指示灯接口20从CPU 10接收表示了特定音乐演奏操作元件的指示灯19的打开/关闭的信息,并且根据该信息使相应的指示灯19打开/关闭。存储装置23包括诸如预先集成在电子乐器1中的硬盘HD和紧致盘CD以及软盘FD的各种存储介质,以存储大量的音乐演奏数据和程序。存储装置23还包括用于各种存储介质的驱动单元。

图4指示存储在ROM 11或存储装置23中的乐曲的音乐演奏数据的数据结构。如图4所示,音乐演奏数据由表示乐曲名、拍子、按键(key)等的头H,旋律部分的数据D1,以及多个伴奏部分的数据构成,所述多个伴奏部分的数据包括从伴奏部分A的数据D2到伴奏部分X的数据DX。分别代表乐器的从数据D1到数据DX的每个部分的音乐演奏数据由多个数据组形成,所述数据组根据乐曲的进程来排列并且各自由事件数据和对应于该事件数据的时刻数据的对构成。除了多个数据组,每个部分的音乐演奏数据还包括表示乐曲结束的结束数据。数据D1以及数据D2至DX的各个时刻数据被规定为,当弹奏乐曲时,旋律部分和伴奏部分将同时进行。事件数据包括诸如音符开始、音符编号、音符结束和速度等的各种数据。在下文将要说明的指导音乐演奏中,旋律部分是将被指导的部分,同时伴奏部分A至X是“伴奏部分”。

接下来参照图2对本发明的电子乐器1处在带有“拍子跟随启用”设置的“启用等待”音乐演奏指导模式下的情况进行说明。

在图2的顶行中,以时间顺序排列了对用户要弹奏的乐曲的自动音乐演奏数据中包含的作为指导部分的旋律部分的音乐演奏数据进行指示的音符。在顶行下面的一行中,以矩形来表示各个音符的音符长度。在第二行下方的一行中,以矩形表示按键按下的时间段,该时间段从用户按下上述音符所对应的按键到用户释放该按键为止。不过,在图2中未示出各个音符的音符编号。图2中,时刻t1、t2、t3、t4、t5……是各个节拍开始的时刻。具体来说,每两个时刻之间的间隔等于一个节拍。应当产生旋律部分的音乐演奏数据的第一四分音符n1的时刻为t1时刻。应当产生第二四分音符n2的时刻为t2时刻。应当产生第三二分音符n3的时刻为t3时刻。发出四分音符n1至二分音符n3的各个乐音长度是等于各个音符长度的长度。

在音乐演奏指导处于带有“拍子跟随启用”设置的“启用等待”模式的情况下,提供比“拍子跟随禁用”设置中提供的乐音产生开始允许时间段Ta’长数倍的乐音产生开始允许时间段Ta,以使得乐音产生开始允许时间段Ta可以超前于图2所示的各个音符的各个乐音产生时刻。用于进行音乐演奏指导的乐音产生开始允许时间段Ta等于例如四分音符的音符长度。当用户指示开始再现所选择的乐曲时,根据乐曲的进程从顶部开始顺序读出旋律部分的数据D1。在这种情况下,具体来说,读出作为顶部旋律音符的四分音符n1的时刻数据和事件数据,从而在相比t1时刻早乐音产生开始允许时间段Ta的t01时刻打开指示与四分音符n1的音高对应的按键的指示灯19,t1时刻是基于定时器13和时刻数据所指示的绝对时间而设置的乐音产生时刻。假设用户在早于乐音产生时刻t1的t1’时刻按下了由指示灯19所指示的按键。在按下按键后,指示灯19关闭,同时乐音发生器14开始根据四分音符n1的事件数据在t1’时刻产生该音高的旋律音,并保持产生该旋律音直至按键被释放,同时读出表示下一旋律音的四分音符n2的时刻数据和事件数据以准备对四分音符n2的音乐演奏指导。与四分音符n1的旋律音同时地,顺序读出对应于此旋律音的伴奏部分(具体来说,是包含在伴奏部分A至X中并且处在从此旋律音开始弹奏的时刻直到下一旋律音开始弹奏的时刻的事件数据),以根据通过乐音发生器14读取的数据产生伴奏音。

于是,将相比四分音符n1的按键时刻t1’晚一个节拍的t20时刻定义为应当产生四分音符n2的时刻。因此,在比t20时刻早乐音产生开始允许时间段Ta的t02时刻,指示与四分音符n2的乐音对应的按键的指示灯19打开,以针对四分音符n2进行音乐演奏指导。假设用户在早于乐音产生时刻t20的t2’时刻按下了指示灯19所指示的按键。与上述情况类似,在按下该按键后,指示灯19关闭,同时乐音发生器14开始在t2’时刻产生由四分音符n2的事件数据所指示的音高的旋律音,并保持产生该旋律音直至按键释放。同时读出作为下一旋律音的二分音符n3的时刻数据和事件数据,以准备对二分音符n3进行音乐演奏指导。如上文所述,根据自动演奏数据的进程,指示与各个音符的音高对应的按键的指示灯19根据各个音符的时刻数据在比各个乐音产生时刻早乐音产生开始允许时间段Ta的时刻打开,以对各个音符进行音乐演奏指导。

假设用户在比乐音产生时刻t30早的t3’时刻根据对二分音符n3的音乐演奏指导按下了与指示灯19所指示的二分音符n3对应的按键。与上述情况类似,在按下该按键后,指示灯19关闭,同时乐音发生器14开始在t3’时刻产生由二分音符n3的事件数据所指示的音高的旋律音,并保持产生该旋律音直至按键释放。同时读出下一旋律音的时刻数据和事件数据,以准备对下一旋律音进行音乐演奏指导。与旋律音的产生同时地,顺序读出对应于此旋律音的伴奏部分的数据,以根据通过乐音发生器14读取的数据产生伴奏音。

根据自动演奏数据的进程,随后顺序读出旋律部分的数据D1以进行与上文所述相似的处理,从而当读出结束数据时完成该乐曲的指导音乐演奏。由于电子乐器1设置为“拍子跟随启用”设置,因此自动演奏的拍子将被控制为跟随用户在键盘上弹奏乐曲的速度。不过在图2的情况下,用户的速度大致与自动演奏的拍子相同。因此在图2的情况下,自动演奏的拍子很少改变。

接下来参照图3对本发明的电子乐器1处在带有“拍子跟随启用”设置的“启用等待”音乐演奏指导模式下的情况中的拍子跟随的细节进行说明。

在图3的情况下,用户已经选择了不同的乐曲作为要弹奏的乐曲。在图3的顶部,以时间顺序排列了对乐曲的自动音乐演奏数据中包含的作为指导部分的旋律部分的音乐演奏数据进行指示的音符。在顶行下面的一行中,以长矩形来表示各个音符的音符长度。在第二行下方的一行中,以长矩形表示按键按下的时间段,该时间段的每一个从用户按下上述音符所对应的按键到用户释放该按键为止。不过在图3中未示出各个音符的音符编号。图3中,时刻t1、t2、t3、t4……是各个节拍开始的时刻。具体来说,每两个时刻之间的间隔等于一个节拍。应当产生自动演奏数据的第一四分音符n10的时刻是t1时刻。应当产生第二四分音符n11的时刻是t2时刻。应当产生第三四分音符n12的时刻是t3时刻。应当产生第四四分音符n13的时刻是t4时刻。四分音符n10的音符长度为ta1。四分音符n11的音符长度为ta2。四分音符n12的音符长度为ta3。四分音符n13的音符长度为ta4。因为音符n10至n13均为四分音符,因此音符长度ta1至ta4均具有相同的长度。

如图2所示,在音乐演奏指导是带有“拍子跟随启用”设置的“启用等待”模式的情况下,提供超前于各个音符的乐音产生时刻的乐音产生开始允许时间段Ta。不过,图3中未示出乐音产生开始允许时间段Ta。当用户指示开始再现所选择的乐曲时,根据乐曲的进程从顶部开始顺序读出旋律部分的数据D1。在这种情况下,具体来说,读出作为顶部旋律音符的四分音符n10的时刻数据和事件数据,从而在相比t1时刻早乐音产生开始允许时间段Ta的时刻打开指示与四分音符n10的音高对应的按键的指示灯19,t1时刻是基于定时器13和时刻数据所指示的绝对时间而设置的乐音产生时刻。假设用户识别了打开的指示灯,从而用户在t1时刻按下了指示灯所指示的按键,并在比音符长度ta1短的时间段tb1内保持按下该按键。由于t1时刻晚于指示灯的打开,因此判断用户的按键操作正确。于是指示灯19关闭,同时乐音发生器14开始在t1时刻产生由四分音符n10的事件数据所指示的音高的旋律音,并且在时间段tb1内保持产生该旋律音,时间段tb1在按键释放时结束,同时表示下一旋律音的四分音符n11的时刻数据和事件数据被读出,以准备对四分音符n11进行音乐演奏指导。与四分音符n10的旋律音的产生同时地,顺序读出对应于此旋律音的伴奏部分的数据,以根据通过乐音发生器14读取的数据产生伴奏音。在这种情况下,产生乐音的时间段tb1比四分音符n10的音符长度短。

假设指示与下一旋律音的四分音符n11的音高对应的按键的指示灯19在比相比用户按下音符n10的t1时刻晚一个节拍的时间点早乐音产生开始允许时间段Ta的时刻打开,于是用户在t12时刻按下与指示灯19指示的四分音符n11对应的按键,并在短于四分音符n11的音符长度ta2的时间段tb2内保持按下该按键。在按下按键后,指示灯19关闭,同时乐音发生器14开始在t12时刻产生由四分音符n11的事件数据指示的音高的旋律音,并且在结束于按键释放的时间段tb2内保持产生该旋律音。同时读出对应于此旋律音的伴奏部分的数据,从而乐音发生器14根据所读取的数据产生伴奏音。在这种情况下,产生该乐音的时间段tb2比四分音符n11的音符长度ta2短。此外为了允许拍子跟随,电子乐器1检测对应于四分音符n10的按键的按下时刻t1和对应于四分音符n11的按键的按下时刻t12之间的时间间隔,以基于检测到的时间间隔通过后文将说明的方式计算拍子,从而以计算得到的拍子读出下一音乐演奏数据。换句话说,电子乐器1根据正确的按键之间的时间间隔在每次正确的按键处改变拍子。如上文所述,电子乐器1提供根据用户的音乐演奏速度而控制的拍子跟随,读出下一旋律音的四分音符n12的时刻数据和事件数据以准备对四分音符n12进行音乐演奏指导。

假设用户随后在t13时刻按下由指示灯19指示的对应于四分音符n12的按键,并且在比四分音符n12的音符长度ta3长的时间段tb3内保持按下该按键。在按下按键后,指示灯19关闭,同时乐音发生器14开始在t13时刻产生由四分音符n12的事件数据指示的音高的旋律音,并且在结束于按键释放的时间段tb3内保持产生该旋律音。同时读出对应于此旋律音的伴奏部分的数据,从而乐音发生器14根据所读取的数据产生伴奏音。在这种情况下,产生该乐音的时间段tb3比四分音符n12的音符长度ta3长。此外为了允许拍子跟随,电子乐器1检测对应于四分音符n11的按键的按下时刻t12和对应于四分音符n12的按键的按下时刻t13之间的时间间隔,以基于检测到的时间间隔通过后文将说明的方式计算拍子,从而以计算得到的拍子读出下一音乐演奏数据。如上文所述,电子乐器1根据正确的按键之间的时间间隔在每次正确的按键处改变拍子。随后,电子乐器1读出下一旋律音的四分音符n13的时刻数据和事件数据以准备对四分音符n13进行音乐演奏指导。

假设用户随后在t14时刻按下由指示灯19指示的对应于四分音符n13的按键,并且在比四分音符n13的音符长度ta4短的时间段tb4内保持按下该按键。在按下按键后,指示灯19关闭,同时乐音发生器14开始在t14时刻产生由四分音符n13的事件数据指示的旋律音,并且在结束于按键释放的时间段tb4内保持产生该旋律音。同时读出对应于此旋律音的伴奏部分的数据,从而乐音发生器14根据所读取的数据产生伴奏音。在这种情况下,产生该乐音的时间段tb4比四分音符n13的音符长度ta4短。此外为了允许拍子跟随,电子乐器1检测对应于四分音符n12的按键的按下时刻t13和对应于四分音符n13的按键的按下时刻t14之间的时间间隔,以基于检测到的时间间隔通过后文将说明的方式计算拍子,从而以计算得到的拍子读出下一音乐演奏数据。

在根据本发明的电子乐器1设置为“拍子跟随启用”音乐演奏指导的情况下,如上文所述,电子乐器1根据每次正确按键之间的间隔在各次正确的按键处改变拍子。换句话说,电子乐器1根据用户弹奏乐曲的速度来改变等于乐曲的自动演奏的一个节拍的拍子。

在本发明的电子乐器1处于带有“拍子跟随启用”设置的“启用等待”音乐演奏指导模式的情况下,如上文所述,电子乐器1在相比对图2所示的用户要弹奏的乐曲的音乐演奏数据进行表示的音符的各个乐音产生时刻早的时间点处提供乐音产生开始允许时间段Ta,该乐音产生开始允许时间段Ta是针对拍子跟随禁用设置提供的乐音产生开始允许时间段Ta’的数倍。此外如图3所示,电子乐器1根据用户弹奏乐曲的速度改变节拍的长度,该节拍的长度等于乐曲的自动音乐演奏的拍子。因此,本发明的电子乐器1能够满足用户不仅按照音乐演奏指导的指示进行简单弹奏、还能够更轻快地以及更和缓而有感情地弹奏的需求。在这种情况下,即使用户轻快地弹奏,电子乐器1也允许产生用户弹奏的音符,而不将用户的按键判断为错误。因此,电子乐器1不仅使得用户的音乐演奏听起来自然,还为用户提供满足按照期望控制乐曲演奏的感受。

本发明的电子乐器提供的音乐演奏指导被设计为,如果由指示灯19指示的按键在乐音产生时刻时仍未被按下,则电子乐器1进入上述等待状态以暂停读取下一音乐演奏数据,直到用户按下了由指示灯19指示的按键。

在电子乐器1处在不带“拍子跟随”的“启用等待”音乐演奏指导模式的情况下,在对用户弹奏的乐曲的音乐演奏数据进行表示的各个音符的乐音产生时刻之前提供乐音产生开始允许时间段Ta’。禁用“拍子跟随”情况下的乐音产生开始允许时间段Ta’非常短,例如32分音符的音符长度。另外在此设置中,电子乐器1将不根据用户弹奏乐曲的速度来改变拍子,所述拍子决定了乐曲自动演奏的一个节拍的长度。这是因为禁用“拍子跟随”的设置主要用于用户希望学习精确的按键时刻的情况。

图5A和图5B是本发明的电子乐器1的CPU 10所执行的主处理的流程图。图6A和图6B是该主处理中在等待再现期间执行的处理的流程图,同时图7A和图7B是CPU 10所执行的中断处理的流程图。

下面将参照图5A至图7B所示的流程图对本发明的电子乐器1的操作进行说明。

在本发明的电子乐器1启动时,CPU 10开始如图5A和图5B所示的主处理,以在步骤S10中初始化电子乐器1。初始化包括设置乐音发生器14的初始音色以及清空RAM 12中的各种寄存器。另外,将音乐演奏指导重置为初始状态。该初始状态是例如不带有“拍子跟随”的“启用等待”音乐演奏指导。不过,用户可以通过在面板显示装置22上调出设置屏幕并且通过操作设置操作元件21来选择用户期望的状态,以根据期望来设置音乐演奏指导的初始状态。

对于主处理的步骤S11至S27,当在电子乐器1上针对乐器演奏操作了音乐演奏操作元件17、设置操作元件21等的任何一个时,执行对应于该操作的处理。此外,在电子乐器1的电源处于开启状态时,步骤S11至S27重复执行。当按下任意一个音乐演奏操作元件17时,音乐演奏操作元件接口18对音乐演奏操作元件17进行扫描,以检测按键事件。CPU 10在步骤S11确定已有按键被按下,并进入步骤S12。在步骤S12,CPU 10执行处理以开始产生对应于所按下按键的音高的乐音。当任意一个音乐演奏操作元件17被释放时,音乐演奏操作元件接口18对音乐演奏操作元件17进行扫描以检测释放事件。然后CPU 10在步骤S13确定已有按键被释放,并进入步骤S14。在步骤S14,CPU 10执行处理以停止产生对应于所按下按键的音高的乐音。

当设置操作元件21中包括的等待模式开关被操作时,CPU 10在步骤S15确定等待模式开关已被操作,并进入步骤S16。在步骤S16,CPU 10将当前状态在开启与关闭之间反转,以重写等待模式标志的值。在操作之前等待模式已经处于开启状态的情况下,CPU 10将等待模式标志置为关闭。在操作之前等待模式已经处于关闭状态的情况下,CPU 10将等待模式标志置为开启。当对设置操作元件21进行操作以选择乐曲时,CPU 10在步骤S17确定已经进行了选择乐曲的操作,并进入步骤S18。在步骤S18,准备所选择的乐曲来作为要再现的乐曲,将该乐曲的数据存储在RAM 12中提供的用于再现的乐曲寄存器中。即使用户试图在乐曲再现期间选择乐曲,用户选择乐曲的操作也将被拒绝,因为电子乐器1被设计为在乐曲再现期间不允许任何选择乐曲的操作。

当设置操作元件21中包括的拍子跟随设置开关被操作时,CPU 10在步骤S19确定拍子跟随设置开关已被操作,并进入步骤S20。在步骤S20,CPU 10将拍子跟随设置的当前状态在开启与关闭之间反转,以重写拍子跟随设置标志的值。在拍子跟随设置开关的操作之前拍子跟随设置标识已经处于开启状态的情况下,CPU 10将拍子跟随设置标志置为关闭。在拍子跟随设置开关的操作之前拍子跟随设置标志已经处于关闭状态的情况下,CPU 10将拍子跟随设置标志置为开启。在步骤S20之后,CPU 10进入步骤S21,改变乐音产生开始允许时间段Ta的持续时间。然后CPU 10在步骤S22切换停止乐音产生的方式。在步骤S21和S22,在步骤S20中已经将拍子跟随设置标志反转为开启状态从而具有“拍子跟随启用”设置的情况下,CPU 10在步骤S21将用于等待再现的乐音产生开始允许时间段变为下文将要说明的用于拍子跟随启用设置的预定乐音产生开始允许时间段(允许时间#2)。允许时间#2是例如等于四分音符的音符长度的较长的乐音产生开始允许时间段Ta。此外,在步骤S22,CPU 10不是将乐音产生停止的时刻改变成相应的音乐演奏数据的音符结束时刻,而是变为按键释放的时刻。在已经在步骤S20中将拍子跟随设置标志反转为关闭状态从而具有“拍子跟随禁用”设置的情况下,CPU 10在步骤S21将乐音产生开始允许时间段改变为用于拍子跟随禁用设置的预定乐音产生开始允许时间段(允许时间#1)。允许时间#1比允许时间#2短,例如是等于32分音符的音符长度的较短的乐音产生开始允许时间段Ta’。此外,在步骤S22,CPU 10不是将乐音产生停止的时刻改变为按键释放时刻,而是变为与释放的按键对应的音乐演奏数据的音符结束时刻。

当进行开始乐曲再现的操作时,CPU 10在步骤S23确定已经进行开始乐曲再现的操作,并进入步骤S24。在步骤S24,CPU 10对电子乐器1当前是否处于等待模式进行确定。在等待模式标志的当前状态为开启状态从而处于“启用等待”模式的情况下,CPU 10进入S26。在等待模式标志的当前状态为关闭状态从而处于“禁用等待”模式的情况下,CPU 10进入S25。在步骤S25,CPU 10开始对准备用于再现的乐曲进行开始正常再现的处理。通过开始正常再现的处理,CPU 10重置存储于乐曲再现寄存器中的用于乐曲再现的计数器,开始如图7A和图7B所示的中断处理,并设置再现标志,从而在中断处理中可以确定正在正常再现乐曲。此外,将用于再现的乐曲设置为中断处理中将要处理的目标乐曲,其中将乐曲中记录的拍子设置为再现时使用的拍子。电子乐器1被设计为即使在乐曲再现期间完成了开始乐曲再现的操作,也将在步骤S23中忽略该操作,从而禁止开始乐曲再现的操作。乐曲再现中使用的计数器以对应于所设置拍子的速度进行计数,同时音乐演奏数据的自动演奏根据该再现计数器的计数值前进。因此,自动音乐演奏前进的速度随设置的拍子而变化。

在步骤S26,CPU 10开始用于再现的乐曲的等待再现的处理。在开始等待模式的再现的处理中,CPU 10重置再现计数器,开始如图7A和图7B所示的中断处理,并设置再现标志,从而在中断处理中可以确定乐曲正以等待模式进行再现。此外,将用于再现的乐曲设置为中断处理中将被处理的目标乐曲,其中将乐曲中记录的拍子设置为用于再现的拍子,从而指定旋律部分的第一音乐演奏数据的指导开始时刻(音符开始)。具体来说,CPU 10根据按照拍子跟随设置标志的当前设置(开启/关闭)而设置的乐音产生开始允许时间段(#1:允许时间Ta’或者#2:允许时间Ta)来指定指导开始时刻。在步骤S26之后,CPU 10进行如图6A和6B所示的在乐曲的等待再现期间进行的处理。在等待再现期间,CPU 10持续进行该处理而不返回图5A和图5B的主处理,直到指示CPU 10终止等待再现。当指示CPU 10终止等待再现时,CPU 10返回图5A和图5B的主处理以进入步骤S27。在步骤S27,CPU 10进行诸如在面板显示装置22上进行显示处理的面板处理和其它处理。

如上文所述,只要电子乐器1的电源处于开启状态,则重复执行由步骤S11至S27形成的主处理,于是用户对电子乐器1的操作将使CPU 10执行与该操作对应的处理。

在等待模式处于开启状态的情况下,当对乐曲再现开始开关进行操作以开始对选择用于再现的乐曲进行再现时,如图5A和图5B所示的主处理所示,执行如图6A和图6B所示的等待再现期间的处理。

在等待再现期间执行的处理中,在步骤S30确定拍子跟随设置标志是否处于开启状态。在确定拍子跟随设置标志处于关闭状态的情况下,也即,在拍子跟随禁用设置的情况下,重复执行由步骤S31至S40形成的等待再现处理。在确定拍子跟随设置标志处于开启状态的情况下,也即,在拍子跟随启用设置的情况下,重复执行由步骤S43至S57形成的等待再现处理。

在拍子跟随设置标志处于关闭状态的情况下,当用户按下音乐演奏操作元件17时,音乐演奏操作元件接口18检测到按键事件。通过该检测,在步骤S31确定已经按下了按键,于是CPU 10进入步骤S32。在步骤S32,确定当前是否处在乐音产生开始允许时间段。处于乐音产生开始允许时间段表明当前正在提供指导,即,指示灯已经在比应当演奏当前处理的旋律音的正确时刻早乐音产生开始允许时间段Ta’(允许时间#1)的时刻打开,并且继续打开。如果当前正在提供指导,则确定当前处在乐音产生开始允许时间段,并进入步骤S33。如果当前没有提供指导,则确定当前并未处在乐音产生开始允许时间段,以跳过步骤S33至S39。这是因为在未提供指导时按下按键会被认为是错误的按键。因此不对这种按键进行处理。

在步骤S33,确定用户按下按键的音高是否与音乐演奏指导所指示的旋律音的音高相匹配。在用户按下了音乐演奏指导所指示的音高的按键时,将该按键操作判定为正确的按键操作,并进入步骤S34以开始产生此旋律音。在用户按下了与音乐演奏指导所指示的按键不同的按键时,将该按键操作判定为错误的按键操作,以跳过步骤S34至S39,不执行产生与该按键对应的乐音的处理。在步骤S34的乐音产生开始处理中,CPU 10将此旋律音的乐音控制数据发送至乐音发生器14,于是乐音发生器14开始根据该乐音控制数据产生此旋律音。在步骤S34之后,由于正确的按键操作,对应于此旋律音的按键的指示灯在步骤S35关闭,以终止对此旋律音的指导。

在步骤S36,CPU 10设置读取与此旋律音对应的伴奏部分,同时CPU 10将对应于此旋律音的伴奏部分的顶部移动至此旋律音的乐音产生开始时刻。然后CPU 10进入步骤S37以将再现计数器的值改变为等于此旋律音的乐音产生开始时刻的值。具体来说,在步骤S37,CPU 10将用于图7A和图7B所示的中断处理中的再现计数器的值变为相比此旋律音的乐音产生开始时刻早一个时钟的值,从而可以在伴奏部分已经在步骤S36被移动到的时刻成功再现该伴奏部分。在步骤S37之后,CPU 10进入步骤S38以读出下一旋律音的乐音产生开始时刻,从而允许暂停再现。具体来说,步骤S38是将自动音乐演奏数据的进度被暂停的时刻替换为新的值的步骤,也即用下一旋律音的乐音产生开始时刻来替换。如果下一旋律音未被弹奏,则该步骤是必要的,以便在该下一旋律音的乐音产生时刻处暂停当前旋律音的伴奏。在步骤S39,CPU 10将相比下一旋律音的乐音产生开始时刻早乐音产生开始允许时间段Ta’的时刻设置为开始指导的时刻。用在步骤S39中的乐音产生开始允许时间段Ta’是较短的允许时间#1,因为拍子跟随设置标志处于关闭状态。

在拍子跟随设置标志处于关闭状态时,当CPU 10检测到用户操作等待再现停止开关,或者当CPU 10检测到再现乐曲的再现进度到达了乐曲末尾(到达结束位置),CPU 10在步骤S40确定指示电子乐器1终止等待再现。然后CPU 10进入步骤S41以终止等待再现。在终止等待再现的处理之后,CPU 10返回主处理的步骤S27。

即使在拍子跟随设置标志处于关闭状态的设置中释放音乐演奏操作元件17,电子乐器1也不停止产生与所释放按键对应的旋律音。具体来说,在拍子跟随设置标志处于关闭状态的情况下,电子乐器1不是在释放按键的时刻(在该时刻已经指示开始产生旋律音)停止产生当前产生的旋律音,而是当自动演奏进行到读出了再现乐曲中包含的旋律音的音符结束数据时停止。

在拍子跟随设置标志处于开启状态的情况下,当用户按下音乐演奏操作元件17时,音乐演奏操作元件接口18检测到按键事件。通过该检测,在步骤S43确定已经按下了按键,于是CPU 10进入步骤S44。在步骤S44,确定当前是否处在乐音产生开始允许时间段。处于乐音产生开始允许时间段表明当前正在提供指导,即,指示灯已经在比应当演奏该旋律音的正确时刻早乐音产生开始允许时间段Ta(允许时间#2)的时刻打开,并且继续打开。如果当前正在提供指导,则确定当前处在乐音产生开始允许时间段,并进入步骤S45。如果当前没有提供指导,则确定当前并未处在乐音产生开始允许时间段,以跳过步骤S45至S53。这是因为在未提供指导时按下按键会被认为是错误的按键。因此不对这种按键进行处理。

在步骤S45,确定用户按下按键的音高是否与音乐演奏指导所指示的旋律音的音高相匹配。在用户按下了具有音乐演奏指导所指示的音高的按键时,将该按键操作判定为正确的按键操作,并进入步骤S46以开始产生此旋律音。在用户按下了与音乐演奏指导所指示的按键不同的按键时,将该按键操作判定为错误的按键操作,以跳过步骤S46至S53,不执行产生与该按键对应的乐音的处理。在步骤S46的乐音产生开始处理中,CPU 10将此旋律音的乐音控制数据发送至乐音发生器14,于是乐音发生器14开始根据该乐音控制数据产生此旋律音。在步骤S46之后,由于正确的按键操作,对应于此旋律音的按键的指示灯在步骤S47关闭,以终止对此旋律音的指导。

在步骤S48计算拍子。作为拍子计算的示例,检测正确按键之间的时间间隔,并用检测到的时间除以对应音乐演奏数据的音符长度,以获得每个节拍的时间长度。对之前的两个音符各自进行这种计算以获得每个节拍的时间长度,从而得到作为拍子的平均时间长度值,该拍子将用于读取下一音乐演奏数据。在步骤S49,将当前拍子变为上述获得的拍子。在步骤S50,CPU 10设置读取对应于此旋律音的伴奏部分,同时CPU 10将对应于此旋律音的伴奏部分顶部移动至此旋律音的乐音产生开始时刻。然后CPU 10进入步骤S51以将再现计数器的值改变为等于此旋律音的乐音产生开始时刻的值。具体来说,在步骤S51,CPU 10将用于图7A和图7B所示的中断处理中的再现计数器的值变为相比此旋律音的乐音产生开始时刻早一个时钟的值,从而可以在伴奏部分已经在步骤S50中被移动到的时刻成功再现该伴奏部分。在步骤S51之后,CPU 10进入步骤S52以读出下一旋律音的乐音产生开始时刻,从而允许暂停再现。具体来说,步骤S52是将自动音乐演奏数据的进度被暂停的时刻替换为新的值的步骤,也即用下一旋律音的乐音产生开始时刻来替换。在下一旋律音未被弹奏的情况下该步骤是必要的,以便在该下一旋律音的乐音产生时刻暂停伴奏。然后CPU 10进入步骤S53,以设置下一旋律音的指导开始时刻。在步骤S53,CPU 10将相比下一旋律音的乐音产生开始时刻早当前所设乐音产生开始允许时间段Ta的时刻设置为开始指导的时刻。用在步骤S53中的乐音产生开始允许时间段Ta是较长的允许时间#2,因为拍子跟随设置标志处于开启状态。

在拍子跟随设置标志处于开启状态的情况下,当用户释放音乐演奏操作元件17时,音乐演奏操作元件接口18检测到按键释放事件。通过此检测,在步骤S54确定存在按键释放,于是CPU 10进入步骤S55。在步骤S55,确定是否正在产生与用户释放的按键具有相同音高的旋律音。在正在产生与释放的按键具有相同音高的旋律音的情况下,在步骤S56停止旋律音的乐音产生。

在拍子跟随设置标志处于开启状态时,当CPU 10检测到用户操作等待再现停止开关,或者当CPU 10检测到再现乐曲的再现进度到达了乐曲末尾(到达结束位置)时,CPU 10在步骤S57确定指示电子乐器1终止等待再现。然后CPU 10进入步骤S58以终止等待再现。在终止等待再现的处理之后,CPU 10返回主处理的步骤S27。

接下来对图7A和图7B所示的中断处理进行说明,该中断处理开始于音乐演奏数据的每个定时时钟。相对一个定时时钟的时间长度随着再现乐曲的拍子而变。具体来说,当通过等待再现期间执行的处理中的步骤S49改变拍子时,中断处理的开始之间的时间间隔也随改变的拍子而变。

当图7A和图7B所示的中断处理开始时再现标志表明正在正常再现乐曲时,在步骤S60确定正在正常再现乐曲,于是在步骤S61更新再现计数器的值。在步骤S61,再现计数器的值加1。在用于对音乐演奏数据的定时时钟数进行计数的再现计数器的值进行更新的步骤之后,在要再现的乐曲包括将在与再现计数器的更新值匹配的时刻处理的音乐演奏数据的情况下,在步骤S62确定旋律部分或者伴奏部分具有应当处理的音乐演奏数据。在步骤S63,不区分旋律部分和伴奏部分,对此时刻应当处理的所有部分的音乐演奏数据进行处理。在步骤S63,根据旋律部分和伴奏部分的相应音乐演奏数据进行各种处理,例如产生乐音、停止产生乐音、改变音量和音色。尽管CPU 10从步骤S63进行到S64,CPU 10由于正常的乐曲再现而在步骤S64给出“否”,并且终止中断处理。

在当图7A和图7B所示的中断处理开始时再现标志表明正在等待模式下再现乐曲的情况下,CPU 10在步骤S60给出“否”,并进入步骤S64。在步骤S64,确定正在等待模式下再现乐曲。在步骤S65,确定用户是否没有按下正确的按键,从而错过了音乐演奏指导指示为用户应当按下按键的旋律音的正确乐音产生时刻。具体来说,如果再现计数器的值到达了比旋律音的正确乐音产生时刻早一个时钟的点,则CPU 10给出“是”。如果再现计数器的值尚未到达该点,则CPU 10给出“否”。在确定再现计数器值已经到达该点的情况下,终止中断处理,于是再现计数器的计数值停在比正确的乐音产生时刻早一个时钟的值处。当按下正确的按键时,再现计数器恢复计数。换句话说,通过按下正确的按键,用户应当按下的旋律音被下一旋律音替换,同时用于进行比较的正确的乐音产生时刻也被下一旋律音的乐音产生开始时刻替换。因此,认为再现计数器的值尚未到达新的乐音产生时刻。

在步骤S65中确定再现计数器值尚未经过按键时刻的情况下,CPU 10进入步骤S66,将再现计数器值加1以更新再现计数器值。在拍子跟随设置标记为关闭状态的情况下,在步骤S67确定拍子跟随设置标记处于关闭状态,然后进入步骤S68。在步骤S68,确定再现计数器值是否到达了当前设置的指导开始的时刻。如果确定计数器值到达该时刻,则CPU 10进入步骤S69,以打开其音高对应于用户应当下一个按下的下一个旋律音的音高的按键的指示灯。然后CPU 10进入步骤S70以清除当前设置指导的开始时刻。如果在步骤S68确定再现计数器值尚未到达当前设置指导开始的时刻,则跳过步骤S69、S70。在拍子跟随设置标记处于关闭状态的情况下,并且在步骤S71中确定旋律部分具有应当在此时刻处理的音符结束事件,则CPU 10在步骤S72停止产生相应的旋律音。在步骤S71中确定旋律部分不具有任何应当在此时刻处理的音符结束事件的情况下,跳过步骤S72。

在拍子跟随设置标记处于关闭状态的情况下,并且在步骤S73中确定伴奏部分具有表示应当在此时刻处理的音符开始事件或音符结束事件的音乐演奏数据,CPU 10进入步骤S74以根据伴奏部分的相应音乐演奏数据产生或停止伴奏音。如上文所述,与正常再现的情况相同,CPU 10连续执行伴奏部分的自动演奏的处理。在步骤S73中确定伴奏部分不具有表示应当在此时刻处理的音符开始事件或音符结束事件的任何音乐演奏数据的情况下,跳过步骤S74。

在拍子跟随设置标记为开启状态的情况下,在步骤S67确定拍子跟随设置标记处于开启状态,然后进入步骤S76。在步骤S76,确定再现计数器值是否到达当前设置的指导开始的时刻。如果确定计数器值到达了该时刻,则CPU 10进入步骤S77,以打开其音高对应于用户下一个应当按下的下一个旋律音的音高的按键的指示灯。然后CPU 10进入步骤S78以清除该指导的开始时刻。如果在步骤S76确定再现计数器值尚未到达当前设置指导开始的时刻,则跳过步骤S77、S78。在拍子跟随设置标记处于开启状态的情况下,并且在步骤S79中确定伴奏部分具有表示应当在此时刻处理的音符开始事件或音符结束事件的音乐演奏数据,CPU 10进入步骤S80以根据伴奏部分的相应音乐演奏数据产生或停止伴奏音。如上文所述,与正常再现的情况相同,CPU 10连续执行伴奏部分的自动演奏的处理。在步骤S79中确定伴奏部分不具有表示应当在此时刻处理的音符开始事件或音符结束事件的任何音乐演奏数据的情况下,跳过步骤S80。

在拍子跟随设置标记为开启状态的情况下,即使旋律部分具有应当在此时刻处理的音符结束事件,也不停止相应的旋律音。在拍子跟随设置标记为开启状态的情况下,通过等待再现期间执行的上述处理,CPU 10响应于按键的释放来停止与释放按键对应的旋律音。

在步骤S64中确定再现标志表明没有在等待模式下再现乐曲的情况下,在步骤S65中确定用户错过了应当按下按键的时刻的情况下,以及在步骤S74或S80完成的情况下,均终止中断处理以返回中断处理之前的处理。

如上文所述,本发明的电子乐器1被设计为,当用户在禁用等待模式下按下按键时,开始产生具有分配给所按下按键的音高的乐音(主处理的步骤S12),而通过释放按键来停止产生具有分配给所按下按键的音高的乐音(主处理的步骤S14)。此外在电子乐器1上,当再现用于再现的乐曲时,通过中断处理的步骤S61至S63来进行乐曲的正常再现。

在电子乐器1处于带有“拍子跟随设置禁用”设置的等待模式的情况下,通过中断处理的步骤S68到S70的处理,指示灯在比用于再现的乐曲的旋律音的音符开始时刻早乐音产生开始允许时间段(允许时间#1)的时间点打开。当用户在乐音产生开始允许时间段内按下了正确的按键时,产生当前指导的旋律音,并关闭指示灯(等待再现期间进行的步骤S32至S39的处理)。即使按键被释放,也不停止具有分配给按键的音高的乐音。具体来说,分配给按键的音高的乐音的产生在旋律音的音符结束时刻停止(中断处理的步骤S71、S72)。在用户未按下正确按键的情况下,重复等待再现期间的处理步骤S31至S40,以等待用户按下正确按键。在等待按下正确按键的期间,再现计数器的值停留在前一个时钟的值(中断处理的步骤S65)。因此,如果用户在等待按下正确按键期间按下了按键,则认为用户的按键操作是是允许时间段内的按键操作(等待再现期间的处理步骤S32)。在用户按下的按键为正确按键的情况下,产生当前指导的旋律音,并关闭指示灯(等待再现期间的处理步骤S33至S39)。在上述音乐演奏指导模式下,电子乐器1在允许时间#1的乐音产生开始允许时间段内等待,直到用户按下正确的按键,其中允许时间#1小于允许时间#2。因此,对于希望学习应当在何时按下按键的熟练程度低的用户,本发明的处于上述音乐演奏指导模式的电子乐器1能够提供用户应当按下按键的精确时刻。

在电子乐器1处于带有“拍子跟随设置启用”设置的等待模式的情况下,通过中断处理的步骤S76到S78的处理,指示灯在比用于再现的乐曲的旋律音的音符开始时刻早乐音产生开始允许时间段(允许时间#2)的时间点打开。当用户在乐音产生开始允许时间段内按下了正确的按键时,产生当前指导的旋律音,并关闭指示灯(等待再现期间进行的步骤S44至S47的处理)。此外,根据正确按键之间的时间间隔以及对应音乐演奏数据的音符长度,计算拍子以将乐曲的拍子变为计算的拍子(等待再现期间的处理步骤S48至S49)。当按键释放时,停止产生分配给所释放按键的音高的乐音(等待再现期间的处理步骤S54至S56)。在用户未按下正确按键的情况下,重复进行等待再现期间的处理步骤S43至S57,以等待用户按下正确按键。在等待按下正确按键期间,再现计数器的值停留在前一个时钟的值(中断处理的步骤S65)。因此,如果用户在等待按下正确按键期间按下了按键,则认为用户的按键操作是是允许时间段内的按键操作(等待再现期间的处理步骤S44)。在用户按下的按键为正确按键的情况下,产生当前指导的旋律音,并关闭指示灯(等待再现期间的处理步骤S45至S53)。在上述音乐演奏指导模式下,电子乐器1在允许时间#2的乐音产生开始允许时间段内等待,直到用户按下正确的按键,其中允许时间#2大于允许时间#1。因此,本发明的处于上述音乐演奏指导模式的电子乐器1允许用户按下按键以产生乐音,即使尚未到达产生乐音的时刻也不将该按键操作视为错误按键。

在本发明的上述电子乐器中,乐音产生开始允许时间段的切换与拍子跟随设置的开关切换相链接。不过,电子乐器可以设计为允许用户独立地仅改变乐音产生开始允许时间段。通过例如提供乐音产生开始允许时间段设置开关,电子乐器可以通过开关的每次操作在允许时间#1和允许时间#2之间切换。

尽管本发明的提供音乐演奏指导的电子乐器是键盘乐器,但该电子乐器不限于此实施例,而是可以应用于具有音乐演奏操作元件的各种电子乐器。

另外,在本发明中,指示灯提供在按键附近或者按键内部以实现指示功能。不过本发明的指示功能不限于该实施例,而是可以通过软件在显示装置上显示的键盘图样或者乐谱上进行指示来实现。此外,通过在外部连接的个人计算机上显示指示,或者在外部连接的具有指示灯的乐器上显示指示,可以在外部装置上实现本发明的指示功能。

对于上述允许时间#1的设置,可以将允许时间#1(Ta’)设置为零,因为可以在精确的时刻提供音乐演奏指导,以帮助用户学习正确的时刻。不过,实际上在用户感知指示灯以及用户按下相应按键之间存在很小的时滞。因此,优选使得允许时间#1等于此时滞。对于允许时间#2的设置,优选使得允许时间#2较长,从而用户能够自由弹奏乐曲。不过,如果允许时间#2过长(例如对旋律音的指导开始于提前一个小节(bar)以上的时间点),则对旋律音的指导不得不在甚至前一乐音出现之前开始,而这会破坏指导的感受。因此,优选允许时间#2的长度适当。例如,可以灵活设置允许时间#2,例如使允许时间#2等于具有很多十六分音符的快歌的十六分音符的音符长度,以及使允许时间#2等于具有很多二分音符和全音符的慢歌的二分音符的音符长度。

此外,本发明的拍子计算方法不限于上述拍子计算,而是可以通过仅拾取紧接在前的乐音,将按键之间的时间间隔除以乐音的音符长度以得到每个节拍的时间长度,从而将所得的时间长度用作读取下一数据的拍子。针对每个乐音进行这种计算可以容易地进行拍子的突然改变。此外,可以基于弹奏几个乐音的时间总和来计算拍子。例如,通过将弹奏前一小节的数据的时间除以4,可以获得用作下一小节的拍子的每个节拍的长度。或者,可以针对每个乐音确定按键操作是否早于正确时刻。具体来说,在按键操作比正确时刻早的情况下,可以以预定的速率加快拍子。在按键操作比正确时刻晚的情况下,可以以预定的速率减慢拍子。这种控制能够对拍子进行逐渐的加速和减速,从而为用户提供自然适当的拍子控制。

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