具体实施方式
下面结合附图及具体实施例对本发明再作进一步详细的说明。
图1为本发明所述智能终端调整歌曲伴奏音乐的方法的一种流程图。
本发明所述的智能终端包括如计算机、手机、掌上电脑、平板电脑、智能电视(SmartTV)等具有数据处理功能的终端设备。尤其可以是智能移动终端如手机、个人数字助理器(PDA,PersonalDigitalAssistant)、手持计算机(PocketPC)、平板电脑等设备。
参见图1,本发明的方法主要包括:
步骤101、解析音乐文件中的乐器数字接口(MIDI,MusicalInstrumentDigitalInterface)数据,从中确定出前奏音乐的开始时间点和结束时间点。
所述音乐文件是歌曲录制伴奏系统所加载的音乐文件,加载音乐一般的执行方式是需要根据用户的选择指令,选择所要播放的音乐文件,读取该音乐文件,解码其中的音乐数据,加载音乐数据。在加载了音乐文件后,歌曲录制伴奏系统会解码其中的伴奏音乐数据,从而播放出伴奏音乐。
所述MIDI数据是为解决电声乐器之间的通信问题而提出的。MIDI数据表示的不是声音信号,而是音符、控制参数等指令,指示音乐播放设备要做什么,怎么做,如在某一时刻,使用什么乐器音效,以什么音符开始演奏,多大音量,以什么音调结束,加以什么伴奏等等。MIDI数据是编曲界的音乐标准格式,可称为“计算机能理解的乐谱”。它用音符的数字控制信号来记录音乐。MIDI数据本身并不包含波形数据,所以MIDI文件非常小巧。
在本发明所述音乐文件的MIDI数据是歌曲数据的自身属性,歌曲数据中带有歌词、前奏的时间点标记、主歌、副歌的时间点标记,至少包含了所述前奏音乐的开始时间点和结束时间点,本发明可以通过解析MIDI数据,确定出所述前奏音乐的开始时间点和结束时间点。
步骤102、在所播放的伴奏音乐到达所述前奏音乐的开始时间点时,输出跳过前奏音乐的提示信息。
步骤103、监测对所述跳过前奏音乐的提示信息的触发指令,在监测到对所述跳过前奏音乐的提示信息的触发指令时,将当前伴奏音乐的播放进度调整到所述前奏音乐的结束时间点,并继续播放该伴奏音乐。
在播放伴奏音乐的同时,本发明还需要调用声音采集器采集录音数据,即录制演唱者的歌声,在结束录制后。要将伴奏音乐和同步采集的录音数据混合录制,从而录制成演唱者自己的、有伴奏音乐的歌声。
图2为本发明所述跳过前奏音乐的提示信息的一种界面示意图。参见图2,当播放的伴奏音乐到达所述前奏音乐的开始时间点211时,就会展示出所述跳过前奏音乐的提示信息201。当用户点击该提示信息201时,则将当前伴奏音乐的播放进度调整到所述前奏音乐的结束时间点212,即跳过了该前奏音乐,并停止显示该提示信息201,即该提示信息201消失,继续播放后续的伴奏音乐。这样用户就不必等待漫长的伴奏音乐,直接跳过前奏音乐进行演唱录歌,提高了录制效率,同时也降低了对机器资源如CPU和内存等资源的浪费。
如果用户点击所述提示信息201的关闭按钮202,则停止显示该提示信息201,但是伴奏音乐的播放进度不受影响,继续播放。如果用户一直没有点击所述提示信息201,则伴奏音乐持续播放,并在当前伴奏音乐的播放进度播放到所述前奏音乐的结束时间点212时,停止显示该提示信息201。
由于伴奏音乐的前奏音乐被跳过,因此结束录制时,伴奏音乐的长度要长于所述声音采集器所采集的录音长度,因此本发明还需要进行如下具体处理:
在监测到对所述跳过前奏音乐的提示信息的触发指令时,记录该触发时间点a,在结束录制时,对声音采集器所采集的录音,从该录音中的所述触发时间点a开始加入一段空白音,该空白音到所述前奏音乐的结束时间点b结束,即该空白音的长度l为:所述前奏音乐的结束时间点b减去所述触发指令的触发时间点a(即b-a),那么可以刚好使最后的录音与伴奏音乐的长度相同,然后将伴奏音乐和所述加入所述空白音的录音数据混合录制,从而录制成演唱者自己的、有伴奏音乐的歌声。
但是,通常在整首曲目中,不光是前奏音乐的时间较长,中间部分也往往夹杂着较长的伴奏音乐,演唱者也需要持续等待该中间的伴奏音乐,造成录制效率低下,浪费机器资源。因此,在本发明的进一步的实施例中,本发明可以进一步包括以下步骤111至113:
步骤111、解析该音乐文件中的MIDI数据,计算每两句相邻歌词之间的间隔时间,确定间隔时间大于指定时长(如15秒、20秒等)的相邻两句歌词,确定所述相邻歌词中前一句歌词的结束时间点和后一句歌词的开始时间点。
此步骤所确定出的间隔时间大于指定时长的相邻两句歌词,此处也可以称为一对歌词,在一个音乐文件中,可能含有一对以上满足上述条件的相邻两句歌词。
步骤112、在所播放的伴奏音乐到达所述前一句歌词的结束时间点时,输出跳过此段伴奏音乐的提示信息。
如果有一对以上满足上述条件的相邻两句歌词,则播放的伴奏音乐到达每一对歌词的前一句歌词的结束时间点时,都会输出跳过此段伴奏音乐的提示信息。
步骤113、监测对所述跳过此段伴奏音乐的提示信息的触发指令,在监测到对所述跳过此段伴奏音乐的提示信息的触发指令时,将当前伴奏音乐的播放进度调整到所述后一句歌词的开始时间点前的指定时间(例如该后一句歌词开始时间点前1秒,或该后一句歌词开始时间点前2秒等,具体的提前时间可以根据实际需要进行设置),并继续播放该伴奏音乐。
如图3为本发明所述跳过此段伴奏音乐的提示信息的一种界面示意图。参见图3,当播放的伴奏音乐到达所述前一句歌词的结束时间点311时,就会展示出所述跳过此段伴奏音乐的提示信息301。当用户点击该提示信息301时,则将当前伴奏音乐的播放进度调整到所述后一句歌词的开始时间点前的指定时间312,即跳过了该段伴奏音乐,并停止显示该提示信息301,即该提示信息301消失,继续播放后续的伴奏音乐,同时调用声音采集器采集录音数据,即采集演唱者的歌声。这样用户就不必等待漫长的伴奏音乐,提高了录制效率,同时也降低了对机器资源如CPU和内存等资源的浪费。
如果用户点击所述提示信息301的关闭按钮302,则停止显示该提示信息301,但是伴奏音乐的播放进度不受影响,继续播放。如果用户一直没有点击所述提示信息301,则伴奏音乐持续播放,并在当前伴奏音乐的播放进度播放到所述后一句歌词开始时间点前的指定时间312时,停止显示该提示信息301。
由于中间的伴奏音乐的被跳过,因此结束录制时,伴奏音乐的长度要长于所述声音采集器所采集的录音长度,因此本发明还需要进行如下具体处理:
在监测到对所述跳过此段伴奏音乐的提示信息401的触发指令时,记录该触发时间点a1,在结束录制时,对声音采集器所采集的录音,从该录音中的所述触发时间点a1开始加入一段空白音,该空白音到所述后一句歌词的开始时间点前的指定时间312结束,即该空白音的长度为:所述后一句歌词的开始时间点前的指定时间312减去所述触发指令的触发时间点a1。
针对每一段跳过的伴奏音乐,都在所采集的录音的相对应位置添加入对应一段空白音,该空白音的长度为所跳过的伴奏音乐的时长。那么最后可以刚好使最后的录音与伴奏音乐的长度相同,然后将伴奏音乐和所述加入所述空白音的录音数据混合录制,从而录制成演唱者自己的、有伴奏音乐的歌声。
在本发明的有一种实施例中,由于演唱者往往在第一句唱不准的情况下,整首歌曲都会跑调,因此在该实施例中,可以基于上述任一实施例的基础上,进一步包括以下步骤121至步骤123:
步骤121、解析所述音乐文件中的乐器数字接口数据,确定歌词的开始时间点。
步骤122、在该歌词的开始时间点之前,输出用于引导歌唱的提示信息。
步骤123、监测对该用于引导歌唱的提示信息的触发指令,在监测到对该用于引导歌唱的提示信息的触发指令后,在所播放的音乐到达歌词的开始时间点时,播放原唱录音,并在预定的原唱结束时间点,停止播放原唱录音。
所述预定的原唱结束时间点,可以预先进行设置,例如通常设置为第一句歌词的结束时间点。
图4为本发明所述用于引导歌唱的提示信息的一种界面示意图。参见图4,在歌词的开始时间点411之前(具体可以是该开始时间点的任意时刻,该时刻可以预先设置)输出用于引导歌唱的提示信息401。当用户点击该提示信息401时,则停止显示该提示信息401,即该提示信息401消失,并触发原唱录音模式,在所播放的音乐到达歌词的开始时间点时,播放原唱录音,该原唱录音可以从原始音乐文件中解码输出;在预定的原唱结束时间点,停止播放原唱录音。这样用户就可以根据原唱录音的引导,容易采用正确的音调进行演唱,不容易跑调,也克服了临场忘词的缺点。
如果用户点击所述提示信息401的关闭按钮402,则停止显示该提示信息401,但是伴奏音乐的播放进度不受影响,继续播放。如果用户一直没有点击所述提示信息401,则伴奏音乐持续播放,并在当前伴奏音乐的播放进度播放到所述歌词开始时间点前的指定时间412时,停止显示该提示信息401。
在进一步的优选实施例中,由于不同的演唱者的音域范围存在区别,这种音域范围的不同导致不同演唱者在唱同一首歌时的音调也不同。有的演唱者的音域宽广,因此可以演唱高音调的歌曲;有的演唱者却无法唱出高音调的歌曲。为了引导演唱者演唱出符合自身音域的歌曲,本发明的一种进一步的优选实施例中,可以进一步包括以下步骤131至134:
步骤131、解析所述音乐文件中的乐器数字接口数据,确定歌词的开始时间点。
步骤132、在该歌词的开始时间点之前,输出用于引导音调的提示信息。
上述两个步骤分别与上一实施例中的步骤121和122相同。
步骤133、监测对该用于引导歌唱的提示信息的触发指令,在监测到对该用于引导音调的提示信息的触发指令后,输出音调调整界面,根据输入的调整指令调整音调。
图5为本发明所述的一种音调调整界面的示意图。参见图5,所述音调调整界面,具体可以是以0为基准点的调整框,加1则增加一个单位的音调,减1则减小一个单位的音调。
步骤134、在所播放的音乐到达歌词的开始时间点时,利用所述调整后的音调对原唱录音进行音调加权计算,输出加权计算后的原唱录音,并在预定的原唱结束时间点,停止播放该加权计算后的原唱录音。
如果所述音调值为0,则对原唱录音进行音调加权计算的结果是保持原始声音,即原唱录音的频率没有变化。
如果所述音调值为正值,则所述利用所述调整后的音调对原唱录音进行音调加权计算,具体是:以所述音调值为频率提高系数,提高原唱录音的频率,具体的频率提高值与所述音调值成线性正相关,即所述音调值越高,则提高的原唱录音的频率也线性增高。
如果所述音调值为负值,则所述利用所述调整后的音调对原唱录音进行音调加权计算,具体是:以所述音调值为频率降低系数,降低原唱录音的频率,具体的频率降低值与所述音调值成线性正相关,即所述音调值越低,则降低的原唱录音的频率也线性降低。
与上述方法对应,本发明还公开了一种智能终端调整歌曲伴奏音乐的装置。图6为所述智能终端调整歌曲伴奏音乐的装置的一种实施例组成示意图。参见图6,该装置600主要包括:
前奏时间确定模块602,用于解析音乐文件中的乐器数字接口数据,确定前奏音乐的开始时间点和结束时间点;所述音乐文件是歌曲录制伴奏系统中的加载模块601所加载的音乐文件;在加载完音乐文件后,歌曲录制伴奏系统中的播放模块603可以播放伴奏音乐。所述加载模块601和播放模块603是歌曲录制伴奏系统中的现有模块,对于本调整歌曲伴奏音乐的装置来讲是非必要技术特征,因此用虚线来表示。
跳过前奏提示模块604,用于在所播放的伴奏音乐到达所述前奏音乐的开始时间点时,输出跳过前奏音乐的提示信息;
跳过前奏执行模块605,用于监测对所述跳过前奏音乐的提示信息的触发指令,在监测到对所述跳过前奏音乐的提示信息的触发指令时,将当前伴奏音乐的播放进度调整到所述前奏音乐的结束时间点,并继续播放该伴奏音乐。
在播放伴奏音乐的同时,本发明还需要调用声音采集器采集录音数据,即录制演唱者的歌声,在结束录制后。利用混音模块,将伴奏音乐和同步采集的录音数据混合录制,从而录制成演唱者自己的、有伴奏音乐的歌声。
由于伴奏音乐的前奏音乐被跳过,因此结束录制时,伴奏音乐的长度要长于所述声音采集器所采集的录音长度,因此本发明还需要进行如下具体处理:
在跳过前奏执行模块605监测到对所述跳过前奏音乐的提示信息的触发指令时,进一步记录该触发时间点a。在结束录制时,混音模块对声音采集器所采集的录音,从该录音中的所述触发时间点a开始加入一段空白音,该空白音到所述前奏音乐的结束时间点b结束,即该空白音的长度l为:所述前奏音乐的结束时间点b减去所述触发指令的触发时间点a(即b-a),那么可以刚好使最后的录音与伴奏音乐的长度相同,然后将伴奏音乐和所述加入所述空白音的录音数据混合录制,从而录制成演唱者自己的、有伴奏音乐的歌声。
图7为所述智能终端调整歌曲伴奏音乐的装置的又一种实施例组成示意图,该实施例中,该装置进一步包括:
相邻歌词时间确定模块701,用于解析所述音乐文件中的乐器数字接口数据,计算每两句相邻歌词之间的间隔时间,确定间隔时间大于指定时长的相邻歌词,确定所述相邻歌词中前一句歌词的结束时间点和后一句歌词的开始时间点;
跳过伴奏提示模块702,用于在所播放的伴奏音乐到达所述前一句歌词的结束时间点时,输出跳过此段伴奏音乐的提示信息;
跳过伴奏执行模块703,用于监测对所述跳过此段伴奏音乐的提示信息的触发指令,在监测到对所述跳过此段伴奏音乐的提示信息的触发指令时,将当前伴奏音乐的播放进度调整到所述后一句歌词的开始时间点前的指定时间,并继续播放该伴奏音乐。
由于中间的伴奏音乐的被跳过,因此结束录制时,伴奏音乐的长度要长于所述声音采集器所采集的录音长度,因此本发明还需要进行如下具体处理:
所述跳过伴奏执行模块703在监测到对所述跳过此段伴奏音乐的提示信息401的触发指令时,记录该触发时间点a1。在结束录制时,混音模块对声音采集器所采集的录音,从该录音中的所述触发时间点a1开始加入一段空白音,该空白音到所述后一句歌词的开始时间点前的指定时间312结束,即该空白音的长度为:所述后一句歌词的开始时间点前的指定时间312减去所述触发指令的触发时间点a1。
所述混音模块针对每一段跳过的伴奏音乐,都在所采集的录音的相对应位置添加入对应一段空白音,该空白音的长度为所跳过的伴奏音乐的时长。那么最后可以刚好使最后的录音与伴奏音乐的长度相同,然后将伴奏音乐和所述加入所述空白音的录音数据混合录制,从而录制成演唱者自己的、有伴奏音乐的歌声。
图8为所述智能终端调整歌曲伴奏音乐的装置的又一种实施例组成示意图,该实施例中,该装置进一步包括:
歌词开始时间确定模块801,用于解析所述音乐文件中的乐器数字接口数据,确定歌词的开始时间点;
引导提示模块802,用于在该歌词的开始时间点之前,输出用于引导歌唱的提示信息;
引导执行模块803,用于监测对该用于引导歌唱的提示信息的触发指令,在监测到对该用于引导歌唱的提示信息的触发指令后,在所播放的音乐到达歌词的开始时间点时,播放原唱录音,并在预定的原唱结束时间点,停止播放原唱录音。
图9为所述智能终端调整歌曲伴奏音乐的装置的又一种实施例组成示意图,该实施例中,该装置进一步包括:
歌词开始时间确定模块901,用于解析所述音乐文件中的乐器数字接口数据,确定歌词的开始时间点;
引导提示模块902,用于在该歌词的开始时间点之前,输出用于引导音调的提示信息;
音调调整模块903,用于监测对该用于引导歌唱的提示信息的触发指令,在监测到对该用于引导音调的提示信息的触发指令后,输出音调调整界面,根据输入的调整指令调整音调;
引导执行模块904,用于在所播放的音乐到达歌词的开始时间点时,利用所述调整后的音调对原唱录音进行音调加权计算,输出加权计算后的原唱录音,并在预定的原唱结束时间点,停止播放该加权计算后的原唱录音。
具体的,所述音调调整界面为以0为基准点的调整框,其中包括用于增加音调和降低音调的调整按钮;
所述引导执行模块904具体包括:如果所述音调值为正值,则以所述音调值为频率提高系数,提高原唱录音的频率;如果所述音调值为负值,则以所述音调值为频率降低系数,降低原唱录音的频率。
图10为本发明所述智能终端调整歌曲伴奏音乐的方法的一种具体应用实施例的说明示意图。参见图10,用户要想录制歌曲,可以先选择想要录制的伴奏音乐,在伴奏加载过程中,系统(即本发明的装置)是可以根据数据属性即MIDI数据自动识别出歌曲的前奏结束的时间点,此为歌曲数据自身属性。在前奏开始后,出现一个浮层即所述跳过前奏的提示信息。当用户选择“跳过前奏”则系统跳过前奏的播放时间段。当用户选择“X”,或者不做任何处理,则伴奏按照正常时间顺序播放,正常播放到前奏结束时间点时,浮层自动小时。歌曲前奏结束用户开始录歌,到歌曲结束进行混音录制。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。所述各实施例的功能模块可以位于一个终端或网络节点,或者也可以分布到多个终端或网络节点上。
另外,本发明的每一个实施例可以通过由数据处理设备如计算机执行的数据处理程序来实现。显然,数据处理程序构成了本发明。此外,通常存储在一个存储介质中的数据处理程序通过直接将程序读取出存储介质或者通过将程序安装或复制到数据处理设备的存储设备(如硬盘和或内存)中执行。因此,这样的存储介质也构成了本发明。存储介质可以使用任何类型的记录方式,例如纸张存储介质(如纸带等)、磁存储介质(如软盘、硬盘、闪存等)、光存储介质(如CD-ROM等)、磁光存储介质(如MO等)等。
因此本发明还公开了一种存储介质,其中存储有数据处理程序,该数据处理程序用于执行本发明上述方法的任何一种实施例。
另外,本发明所述的方法步骤除了可以用数据处理程序来实现,还可以由硬件来实现,例如,可以由逻辑门、开关、专用集成电路(ASIC)、可编程逻辑控制器和嵌入微控制器等来实现。因此这种可以实现本发明所述方法的硬件也可以构成本发明。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。