法律状态公告日
法律状态信息
法律状态
2015-11-11
未缴年费专利权终止 IPC(主分类):G10H1/00 授权公告日:20110427 终止日期:20140926 申请日:20060926
专利权的终止
2011-04-27
授权
授权
2007-06-13
实质审查的生效
实质审查的生效
2007-04-25
公开
公开
技术领域
本发明涉及一种基于MIDI文件的乐器演奏提示和检测系统及方法,能够通过MIDI技术实时跟踪提示演奏进度,并通过比较演奏乐音的数字音频信号与MIDI文件回放的数字音频信号以检测演奏效果。
背景技术
音乐艺术作为人类精神文明的一部分,一直以来为人们带来精神生活的享受,陶冶人们的情操。而乐器演奏作为音乐系统的一个重要组成部分,也是人们进行音乐艺术活动的一个重要方面。然而社会上很大一部分接触乐器演奏的人群,都属于业余爱好者,对他们来说,如何利用有限的时间,基本的演奏技巧达到成功演奏出较多比较复杂的乐曲作品的目的才是最实际的。
随着计算机技术的发展,音乐的电子化对音乐艺术的发展产生了深远的影响。尤其是MIDI技术的产生和发展,给传统音乐技术带来了巨大的变化。
MIDI是音乐信号在电子发声设备之间传输的标准,具体来说就是乐器和计算机使用的标准语言,是一套指令;它指示乐器即MIDI设备演奏音符、加大音量、生成音响效果等。MIDI传送的不是声音信号,而是发给MIDI设备或其它装置让它产生声音或执行某个动作的指令信号。因此MIDI格式的音乐文件是记录音乐的全部乐谱和演奏的全过程的。通过音源和音序器,MIDI格式的音乐文件可以用电子合成的方式重新播放出来。而且,由于文件记录的是指令信息,故能很容易编辑乐曲和再现乐谱。
对非职业演奏者来说,绝不会乐意熟记复杂冗长的乐谱。在卡拉OK流行的这个年代,若能将乐器演奏也做成卡拉OK的形式,将解决乐器演奏爱好者的一大难题。
另一方面与歌唱不同,乐器演奏追求的是尽量接近原曲,而作为演奏者来说要集中精神演奏的同时注意自己的演奏效果是很困难的,若能让设备来评价演奏效果应该是个不错的解决办法。
发明内容
本发明的主要目的是提供一种基于MIDI文件的乐器演奏提示和检测系统,主要功能是:一、通过需演奏乐曲的MIDI文件再现演奏乐谱并根据演奏进度滚动和着色或标记后将乐谱输出到显示终端;二、演奏过程中实时显示演奏中出错的位置;三、在一曲结束后打印整曲乐谱(经过错误标记的)。
本发明的另一目的是提供一种基于MIDI文件的乐器演奏提示和检测方法。
实现上述发明目的一所采用的技术方案如下:一种基于MIDI文件的乐器演奏提示和检测系统,主要包括:控制模块、存储器、乐谱字幕制作模块、播放模块、检测模块、音频输入装置、显示装置、音频输出装置和外部存储器;
上述控制模块是本系统的主控设备,它负责接收并处理上一级的操作信号,根据处理结果对上述存储器、乐谱字幕制作模块、播放模块及检测模块发出相应控制信号,同时在整个工作流程中负责各设备的指挥协调工作;
上述存储器用来存储乐曲相关文件:伴奏的音视频文件、MIDI文件、有进度跟踪功能的乐谱字幕、文本乐谱字幕、乐谱文本字幕副本;
上述乐谱字幕制作模块根据MIDI文件的固定结构和存储器中乐曲相关文件的存储情况,生成文本乐谱字幕、文本乐谱字幕副本、跟踪乐谱字幕中的单个或全部文件;
上述播放模块主要包括伴奏播放模块和字幕播放模块;
上述检测模块主要包括:检测及标记模块、MIDI回放装置、A→D变换装置。
所述跟踪乐谱字幕文件中乐谱信息的显示规则主要是:一、根据显示终端的规格,规定乐谱文本每行显示的长度;二、屏幕同时显示两行乐谱文本,其中,跟踪进度时,当染色完毕首行乐谱文本后,此行文本将隐去,同时第二行乐谱文本上升为首行乐谱文本,紧随其后的下一行乐谱文本将读入到显示第二行乐谱的位置;如此循环直到乐曲结束。
乐谱字幕制作模块根据MIDI文件的固定结构,重现MIDI文件中记录的音符信号的演奏序列和演奏效果标记,并按照通用乐谱的格式转换成文本字幕,写入到存储器中,即为上述文本乐谱字幕;若文本乐谱字幕存在且文本乐谱字幕副本不存在,故将文本乐谱字幕复制一份,即为上述文本乐谱字幕副本,用于进行错误标记并在乐曲结束时输出;通过计时等方法,分析MIDI文件中记录的各音素发声时间,对进度进行准确定位并以实时染色或标记等方式表现在乐谱字幕上,实现进度跟踪的功能,并把该有进度跟踪效果的乐谱字幕文件写入到存储器,即为上述跟踪乐谱字幕。
上述播放模块在控制模块发出开始播放信号后,若乐曲存在伴奏音视频文件,伴奏播放模块将从存储器中读取伴奏音视频文件,并将其中的音频、视频数据分别输出到音频输出装置和显示装置;同时字幕播放模块将从存储器中读取跟踪乐谱字幕文件,以一定规则输出到显示装置;当乐曲播放结束,根据播放结束的信号,控制模块对字幕播放模块发出指令,要求其读取存储器中经过标记的文本乐谱字幕副本,输出到显示装置。
所述检测模块的工作过程是:演奏者乐器演奏发出的声波由音频输入装置(如麦克风)输入,输入的模拟音频信号到达A→D变换装置,A→D变换装置将模拟音频信号转换为数字音频信号;同时,MIDI回放装置从存储器中读入的MIDI文件,回放装置将MIDI文件的音乐记录回放成数字音频信号;比较及标记模块对上述两段数字音频信号流进行比较,按一定的规则,确定错误是否发生;若确定错误发生,对在显示装置输出的乐谱字幕,比较及标记模块将在上述错误发生的位置进行标记;若确定错误发生,比较及标记模块将对存储器中文本乐谱字幕副本进行改写,使错误位置的标记写入到文本乐谱字幕副本中。
实现发明目的二所采用的技术方案如下:一种基于MIDI文件的乐器演奏提示和检测方法,其特征是本发明方法包括以下步骤:
a.根据MIDI文件规定的音符信号,控制信号的对应关系,还原出通用乐谱(五线谱、简谱等),同时根据记录的音素的发声时间,以染色或标记的效果做出字幕的跟踪进度效果;
b.在使用者发出开始演奏的指令后,以一定规则输出有跟踪进度效果的乐谱文件,以达到提示演奏的效果;
c.通过麦克风等音频输入装置,获取演奏者演奏所发出的音频信号并将捕获的模拟音频信号转换为数字信号;
d.在接收到开始演奏的信号后,对原乐曲的MIDI文件进行回放,得出数字音频信号;
e.按一定规则比较两段信号;
f.对乐谱进行错误标记并实时显示在终端上同时记录到存储器的另一乐谱文件副本中;
g.演奏结束后在显示终端输出经过错误标记的乐谱文件副本。
本发明的有益效果是:对多乐器演奏的乐曲,只要拥有演奏者需要演奏的乐器的MIDI文件,就可以自动产生有进度跟踪提示效果的演奏乐谱字幕,若有其余乐器的MIDI文件或现成的伴奏音乐文件,可与乐谱字幕同步播放,使演奏者能享受多人合奏的效果。让演奏者能在演奏过程中实时发现自己的演奏失误从而做出调整。在演奏结束后进一步了解演奏失误的具体位置以便在下一次演奏中能注意避免犯错。
本发明容易普及,成本低。由于卡拉OK以在人们生活中普及了很长一段时间,人们对此种类似于卡拉OK的演奏提示系统会更容易接受。而检测系统可以看作为一种教学系统,对演奏者演奏水平的自我提高功效显著。另外由于本发明结构并不复杂,而且其中应用的一些功能模块与家庭现有的多媒体装置相似,所以可以轻易地应用在家庭的数字电视机顶盒、多媒体播放机等装置上。
附图说明
图1是本发明系统的一个整体结构框图;
图2是乐谱字幕制作模块在系统中与其它各功能部件的具体关系示意图;
图3是播放模块的结构及在系统中与其它各功能部件的具体关系示意图;
图4是检测模块的结构及在系统中与其它各功能部件的具体关系示意图;
图5为本发明的主要控制流程图;
图6为本发明中关于乐曲播放的主要流程示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步说明。
图1为本发明系统的一个具体实施例的整体结构框图。由图1所示,本系统主要包括:控制模块10、存储器11、乐谱字幕制作模块12、播放模块13和检测模块14。另外,还包括音频输入装置15、显示装置16、音频输出装置17和外部存储器18;
上述存储器11是实现方案中用来存储的乐曲相关文件的存储介质。乐曲相关文件主要包括5部分:伴奏的音视频文件111、MIDI文件112、有进度跟踪功能的乐谱字幕113、文本乐谱字幕114、文本乐谱字幕副本115。其中MIDI文件112为必需文件,伴奏的音视频文件111为非必需文件。乐谱跟踪字幕文件113、乐谱文本字幕文件114和乐谱文本字幕副本文件115虽然是本实现方案的必须文件,但由于能在本方法中生成,故也属于非必需文件。
上述控制模块10为本实现方案的主控设备,它负责接收并处理上一级的操作信号,根据处理结果对上述存储器11、乐谱字幕制作模块12、播放模块13及检测模块14发出相应控制信号;同时在整个工作流程中负责各设备的指挥协调工作。
根据控制流程(参见图5)步骤S1,在控制模块10启动后,一直到结束,负责了控制流程及播放流程(参见图6)中几乎所有的控制操作。
其进行的主要操作有:
a.控制模块10可以响应由用户或上一级控制部件发出的指令,包括启动,结束,播放,停止播放等。
b.控制模块10对存储器11中的乐曲数据进行检测,判定该乐曲数据是否要求的乐曲数据。若否,对存储器11发出从外部存储介质读写数据的操作信号。见控制流程(参见图5)步骤S5、S6。
c.对存储器11中的乐曲数据进行检测,判定该乐曲数据是否完整。根据上述对乐曲数据完整性的检测结果,对乐谱字幕制作模块12发出工作指令。见控制流程步骤S7、S8。
d.在控制流程及播放流程中,在需要的时候对存储器11发出控制信号,使其对乐谱字幕制作模块12、播放模块13及检测模块14进行数据读写操作,以满足上述设备的读写数据要求。
e.当用户发出播放命令并且存储器11中乐曲数据匹配要求乐曲且需要的文件完整,控制模块10发出指令,将播放模块13和检测模块14置于就绪状态。见播放流程(参见图6)的P1步骤。发送检测信号,通过反馈信息,确定播放过程中涉及的各设备已全部就绪。见播放流程的P2步骤。
f.在确认各设备就绪的前提下,控制模块10对播放模块13的伴奏播放模块131、字幕播放模块132和检测模块14的MIDI回放设备142、检测及标记模块141进行同步操作。见播放流程(参见图6)的P4步骤。
g.在确保播放模块13的伴奏播放模块131、字幕播放模块132和检测模块14的MIDI回放设备142、检测及标记模块141进行工作同步的前提下,控制模块10对上述伴奏播放模块131、字幕播放模块132和MIDI回放设备142发出开始播放指令;同时控制模块10对检测模块14中检测及标记模块141和A→D变换模块143发出开始工作指令。见播放流程(参见图6)中P5、P6、P7步骤。
h.在接收到乐曲播放完毕的信号后,对字幕播放模块发出从读取并输出存储器11中经过标记的文本乐谱字幕副本115的指令。见播放流程(参见图6)步骤P9,P10。
i.在接收到退出的信号后,控制模块10对存储器11中的文本乐谱字幕副本115执行删除操作,对播放模块13、检测模块14及其下属的各子模块发出停止工作的指令。见播放流程(参见图6)P12、P13。
j.若在播放过程中接收到用户发出的停止播放的信号后,控制模块10对各功能模块发出暂停工作信号,并执行上述在接收到退出的信号后所进行的相应操作。见播放流程(参见图6)P8、P12、P13。
图2为本发明的实现方案中乐谱字幕制作模块12在整个系统中的工作环境及与控制模块10、存储器11间的主要关联操作。根据控制流程(参见图5)步骤S7,若存储器11中乐曲数据不包括乐谱跟踪字幕文件113和乐谱文本字幕文件114,则转到步骤S8,控制器10发出指令,启动本模块即上述乐谱字幕制作模块12。
本模块进行的主要操作有:
a.根据MIDI文件的固定结构,重现MIDI文件112中记录的音符信号的演奏序列和演奏效果标记,并按照通用乐谱的格式转换成文本字幕,写入到存储器11中,即为上述文本乐谱字幕114。
b.若文本乐谱字幕114存在且文本乐谱字幕副本115不存在,故将文本乐谱字幕114复制一份,即为上述文本乐谱字幕副本115,用于进行错误标记并在乐曲结束时输出。
c.通过计时等方法,分析MIDI文件中记录的各音素发声时间,对进度进行准确定位并以实时染色或标记等方式表现在乐谱字幕上,实现进度跟踪的功能,并把该有进度跟踪效果的乐谱字幕文件写入到存储器11,即为上述跟踪乐谱字幕113。
d.结束乐谱字幕制作模块12的工作,控制流程转到步骤S9。
图3为本发明的实现方案中播放模块13的详细结构、在整个实现方案中的工作环境及与控制模块10、存储器11间、音频输出装置17、显示装置16的主要关联操作。播放模块13主要包括:伴奏播放模块131、字幕播放模块132。
本模块进行的主要操作有:
a.根据播放流程(参见图6)P1,控制模块10将本模块13置于就绪状态。
b.在控制模块10发出开始播放信号后,若乐曲存在伴奏音视频文件112,伴奏播放模块131将从存储器11中读取伴奏音视频文件112,并将其中的音频、视频数据分别输出到音频输出设备和显示设备;同时字幕播放模块132将从存储器11中读取跟踪乐谱字幕文件113,以一定规则①输出到显示设备。见播放流程步骤P5、P6。
c.当乐曲播放结束,根据播放结束的信号,控制模块10对字幕播放模块131发出指令,要求其读取存储器11中经过标记的文本乐谱字幕副本115,输出到显示设备。见播放流程步骤P9、P10。其中跟踪乐谱字幕文件113中乐谱信息的显示规则主要是:一、根据显示终端的规格,规定乐谱文本每行显示的长度;二、屏幕同时显示两行乐谱文本,其中,跟踪进度时,当染色完毕首行乐谱文本后,此行文本将隐去,同时第二行乐谱文本上升为首行乐谱文本,紧随其后的下一行乐谱文本将读入到显示第二行乐谱的位置。如此循环直到乐曲结束。
图4为本发明方法中检测模块14的详细结构、在整个系统中的工作环境及与控制模块10、存储器11、音频输入设备、显示设备的主要关联操作。检测模块14主要包括:检测及标记模块141、MIDI回放装置142、A→D变换装置143。
本模块进行的主要操作有:
a.根据播放流程(参见图六)P1,控制模块10将本模块14置于就绪状态。
b.根据控制模块10发出开始播放信号,本模块开始工作。见播放流程步骤P7。
c.演奏者乐器演奏发出的声波由音频输入设备(如麦克风),输入的模拟音频信号到达A→D变换设备143,A→D变换设备143将模拟音频信号转换为数字音频信号。
d.同时,MIDI回放设备142从存储器11中读入的MIDI文件112,回放设备将MIDI文件的音乐记录回放成数字音频信号。
e.比较及标记模块141对上述两段数字音频信号流进行比较,按一定的规则,确定错误是否发生。
f.若确定错误发生,对在显示设备输出的乐谱字幕,比较及标记模块141将在上述错误发生的位置进行标记。
g.若确定错误发生,比较及标记模块141将对存储器11中文本乐谱字幕副本115进行改写,使错误位置的标记写入到文本乐谱字幕副本115中。
如图5所示,本系统的控制流程如下:
S1.将控制模块10和存储器11置于工作状态。
S2.控制模块10等待上一级的控制指令。
S3.若指令为退出,转到S9结束;若否则转到S4。
S4.若指令为播放某一曲目,控制模块10发出检验数据到存储器,转到S5;若否则返回继续等待上一级的指令,转到S2。
S5.若存储器现存数据与要求曲目匹配则转到S7;若否则转到S6。
S6.由于不匹配是因为存储器11中乐曲并非要求乐曲,控制模块10对存储器11发出从某一设备处读写指定数据的指令。读取完毕转到S7。
S7.检测乐谱字幕是否已经存在,若是则转到S9,若否则转到S8。
S8.若存储器11中乐曲并未制作乐谱字幕,控制模块10启动乐谱字幕制作模块12并发出制作乐谱字幕的指令;若存储器11中已制作乐谱字幕但缺文本乐谱字幕副本115,则将文本乐谱字幕114复制一份。转到S6。
S9.控制模块10发出指令到播放模块13,进入播放流程(参见图六)。
S10.退出播放流程后控制模块10对其余工作部件发出停止工作指令,转到S2。
如图6所示,本系统的播放流程为:
P1.根据控制模块10的指令(播放存储器中的乐曲),要求播放模块13、检测模块14进入工作状态。
P2.控制模块10发出检测信号,检测播放模块13、检测模块14及输入输出设备是否准备就绪。
P3.若各工作设备已就绪,进入步骤P4;若否则转到步骤P2。
P4.同步播放模块13与检测模块14的工作时间,具体涉及上述播放模块13中伴奏播放模块131、字幕播放模块132与上述检测模块14中检测及标记模块141、MIDI回放设备142这四个工作模块的同步。
P5、P6、P7为同步进行的步骤。
P5.伴奏播放模块131进行输出。对伴奏文件中的音频流通过音频输出设备进行伴奏音频输出;对伴奏文件中的视频流通过显示设备进行视频输出。
P6.通过字幕播放模块132,对存储器11中的跟踪乐谱字幕113进行播放,输出到显示设备。
P7.将检测模块14的检测结果实时标记在输出的乐谱字幕中;同时对存储器中的文本乐谱字幕副本115进行写操作,将标记结果保存在该文件中。
P8.若播放过程中,控制模块10无接收到来自用户的停止播放的指令,在播放结束后进入步骤P9;若用户在播放过程中发出了停止播放的指令,控制模块10暂停各设备的工作,流程转到P12。
P9.乐曲播放结束,控制模块10向伴奏播放模块131及检测模块14发出停止工作信号,同时向字幕播放模块132发出指令,要求其读取存储器11中经过标记的文本乐谱字幕副本115。
P10.由字幕播放模块132将文本乐谱字幕副本115,按一定规则输出到显示设备。
P11.等待用户输入,若是退出信号则进入步骤P11,若否则重回步骤P9,重复输出文本乐谱字幕副本115。
P12.删除存储器11中已经过标记的文本乐谱字幕副本115。
P13.播放流程结束,控制模块10发出指令停止播放模块13的工作,返回控制流程。
机译: 基于数字音乐文件的乐器演奏方法及装置
机译: 基于数字音乐文件的乐器演奏方法和装置
机译: 一种压缩MIDI文件的方法