CN111179890A - 语音伴奏方法、装置、计算机设备及存储介质 - Google Patents
语音伴奏方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN111179890A CN111179890A CN201811330028.6A CN201811330028A CN111179890A CN 111179890 A CN111179890 A CN 111179890A CN 201811330028 A CN201811330028 A CN 201811330028A CN 111179890 A CN111179890 A CN 111179890A
- Authority
- CN
- China
- Prior art keywords
- accompaniment
- sound
- tone
- pitch
- singing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H1/00—Details of electrophonic musical instruments
- G10H1/36—Accompaniment arrangements
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Auxiliary Devices For Music (AREA)
Abstract
本发明公开了语音伴奏方法、装置、计算机设备及存储介质,其中方法包括:智能语音设备确定用户将要演唱的歌曲;智能语音设备获取歌曲的曲谱;智能语音设备获取用户发出的原始伴奏音;在用户进行歌曲演唱时,智能语音设备针对曲谱中的每个音,分别播放基于原始伴奏音生成的该音的伴奏音。应用本发明所述方案,能够提升智能语音设备的性能等。
Description
【技术领域】
本发明涉及智能语音技术,特别涉及语音伴奏方法、装置、计算机设备及存储介质。
【背景技术】
随着技术的发展,具备语音交互功能的智能语音设备的应用越来越普及。智能语音设备可为问答机器人等。
对于喜欢音乐的用户来说,如果智能语音设备能够在用户唱歌时为他伴奏,将会是一种很有趣的体验,但目前还没有相应的实现方式。
【发明内容】
有鉴于此,本发明提供了语音伴奏方法、装置、计算机设备及存储介质。
具体技术方案如下:
一种语音伴奏方法,包括:
智能语音设备确定用户将要演唱的歌曲;
所述智能语音设备获取所述歌曲的曲谱;
所述智能语音设备获取用户发出的原始伴奏音;
在用户进行歌曲演唱时,所述智能语音设备针对所述曲谱中的每个音,分别播放基于所述原始伴奏音生成的所述音的伴奏音。
根据本发明一优选实施例,所述在用户进行歌曲演唱之前,进一步包括:
获取用户试唱的所述歌曲的歌曲片段,根据所述歌曲片段确定出用户演唱的节奏;
所述针对所述曲谱中的每个音,分别播放基于所述原始伴奏音生成的所述音的伴奏音包括:
在用户进行歌曲演唱时,检测音符起始点,从检测到的音符起始点开始,根据所述用户演唱的节奏,分别在演唱到每个音时播放所述音的伴奏音。
根据本发明一优选实施例,所述获取用户试唱的所述歌曲的歌曲片段之后,进一步包括:
根据所述歌曲片段确定出用户演唱的音调;
所述伴奏音的生成方式包括:
确定所述用户演唱的音调与所述曲谱中记录的音调的偏差,根据所述偏差确定出所述曲谱中的每个音在演唱时的音高;
确定所述用户演唱的节奏与所述曲谱中记录的节奏的偏差,根据所述偏差确定出所述曲谱中的每个音在演唱时的音长;
根据每个音在演唱时的音高和音长生成伴奏音。
根据本发明一优选实施例,所述根据每个音在演唱时的音高和音长生成伴奏音包括:
针对每个音,分别基于所述音在演唱时的音高和音长对所述原始伴奏音进行调整,得到所述音的伴奏音;
或者,针对演唱时的第一个音,基于所述音在演唱时的音高和音长对所述原始伴奏音进行调整,得到所述音的伴奏音,针对所述第一个音之后的每个音,分别基于所述音在演唱时的音高和音长,对已生成的一个预定伴奏音进行调整,得到所述音的伴奏音。
根据本发明一优选实施例,所述基于所述音在演唱时的音高和音长对所述原始伴奏音进行调整,得到所述音的伴奏音包括:
按照所述音在演唱时的音长调整所述原始伴奏音的时长,将调整后的原始伴奏音的音高调整为所述音在演唱时的音高,得到所述音的伴奏音;
或者,将所述原始伴奏音的音高调整为所述音在演唱时的音高,将调整后的原始伴奏音的时长调整为所述音在演唱时的音长,得到所述音的伴奏音;
所述基于所述音在演唱时的音高和音长,对已生成的一个预定伴奏音进行调整,得到所述音的伴奏音包括:
按照所述音在演唱时的音长调整所述预定伴奏音的时长,将调整后的伴奏音的音高调整为所述音在演唱时的音高,得到所述音的伴奏音;
或者,将所述预定伴奏音的音高调整为所述音在演唱时的音高,将调整后的伴奏音的时长调整为所述音在演唱时的音长,得到所述音的伴奏音。
根据本发明一优选实施例,将所述原始伴奏音或调整后的原始伴奏音的音高调整为所述音在演唱时的音高包括:
获取所述音在演唱时的音高的基频,作为第一基频;
将所述原始伴奏音或调整后的原始伴奏音每秒切分为N个音频段,N为大于一的正整数;
针对每个音频段,分别获取所述音频段的基频,作为第二基频,计算所述第一基频与所述第二基频之商,并用得到的商乘以所述第二基频,作为所述音频段调整后的基频。
一种语音伴奏装置,所述装置应用于智能语音设备中,包括:确定单元、获取单元以及伴奏单元;
所述确定单元,用于确定用户将要演唱的歌曲;
所述获取单元,用于获取所述歌曲的曲谱,并获取用户发出的原始伴奏音;
所述伴奏单元,用于在用户进行歌曲演唱时,针对所述曲谱中的每个音,分别播放基于所述原始伴奏音生成的所述音的伴奏音。
根据本发明一优选实施例,所述获取单元进一步用于,在用户进行歌曲演唱之前,获取用户试唱的所述歌曲的歌曲片段,根据所述歌曲片段确定出用户演唱的节奏;
所述伴奏单元进一步用于,在用户进行歌曲演唱时,检测音符起始点,从检测到的音符起始点开始,根据所述用户演唱的节奏,分别在演唱到每个音时播放所述音的伴奏音。
根据本发明一优选实施例,所述获取单元进一步用于,根据所述歌曲片段确定出用户演唱的音调;
所述伴奏单元确定所述用户演唱的音调与所述曲谱中记录的音调的偏差,根据所述偏差确定出所述曲谱中的每个音在演唱时的音高,确定所述用户演唱的节奏与所述曲谱中记录的节奏的偏差,根据所述偏差确定出所述曲谱中的每个音在演唱时的音长,根据每个音在演唱时的音高和音长生成伴奏音。
根据本发明一优选实施例,所述伴奏单元针对每个音,分别基于所述音在演唱时的音高和音长对所述原始伴奏音进行调整,得到所述音的伴奏音;
或者,所述伴奏单元针对演唱时的第一个音,基于所述音在演唱时的音高和音长对所述原始伴奏音进行调整,得到所述音的伴奏音,针对所述第一个音之后的每个音,分别基于所述音在演唱时的音高和音长,对已生成的一个预定伴奏音进行调整,得到所述音的伴奏音。
根据本发明一优选实施例,针对每个音,所述伴奏单元按照所述音在演唱时的音长调整所述原始伴奏音的时长,将调整后的原始伴奏音的音高调整为所述音在演唱时的音高,得到所述音的伴奏音;或者,将所述原始伴奏音的音高调整为所述音在演唱时的音高,将调整后的原始伴奏音的时长调整为所述音在演唱时的音长,得到所述音的伴奏音;
针对所述第一个音之后的每个音,所述伴奏单元按照所述音在演唱时的音长调整所述预定伴奏音的时长,将调整后的伴奏音的音高调整为所述音在演唱时的音高,得到所述音的伴奏音,或者,将所述预定伴奏音的音高调整为所述音在演唱时的音高,将调整后的伴奏音的时长调整为所述音在演唱时的音长,得到所述音的伴奏音。
根据本发明一优选实施例,所述伴奏单元将所述原始伴奏音或调整后的原始伴奏音的音高调整为所述音在演唱时的音高的方式包括:
获取所述音在演唱时的音高的基频,作为第一基频;
将所述原始伴奏音或调整后的原始伴奏音每秒切分为N个音频段,N为大于一的正整数;
针对每个音频段,分别获取所述音频段的基频,作为第二基频,计算所述第一基频与所述第二基频之商,并用得到的商乘以所述第二基频,作为所述音频段调整后的基频。
一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现如以上所述的方法。
一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如以上所述的方法。
基于上述介绍可以看出,采用本发明所述方案,在用户进行歌曲演唱时,可利用基于用户发出的原始伴奏音生成的伴奏音为用户进行语音伴奏,从而提升了智能语音设备的性能,并增强了语音交互的趣味性等。
【附图说明】
图1为本发明所述语音伴奏方法实施例的流程图。
图2为“在水一方”这一歌曲的和弦谱的示意图。
图3为本发明所述语音伴奏装置实施例的组成结构示意图。
图4示出了适于用来实现本发明实施方式的示例性计算机系统/服务器12的框图。
【具体实施方式】
为了使本发明的技术方案更加清楚、明白,以下参照附图并举实施例,对本发明所述方案进行进一步说明。
显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
图1为本发明所述语音伴奏方法实施例的流程图。如图1所示,包括以下具体实现方式。
在101中,智能语音设备确定用户将要演唱的歌曲。
在102中,智能语音设备获取歌曲的曲谱。
在103中,智能语音设备获取用户发出的原始伴奏音。
在104中,在用户进行歌曲演唱时,智能语音设备针对曲谱中的每个音,分别播放基于原始伴奏音生成的音的伴奏音。
其中,曲谱可为和弦谱,可通过对和弦谱中的和弦进行分解得到每个音。智能语音设备可启动话题,引导用户唱歌。比如,智能语音设备可问用户“你想唱什么歌呢?”,当用户说出歌曲的名称“在水一方”时,智能语音设备搜索得到该歌曲的和弦谱。
图2为“在水一方”这一歌曲的和弦谱的示意图。可依次对其中的各和弦进行分解,分解为和弦的各个音。比如,C和弦由1(c)、3(e)、5(g)音构成,则可以将C和弦分解为cegecege,其它和弦依此类推。
优选地,在用户进行正式的歌曲演唱之前,智能语音设备可先获取用户试唱的歌曲片段以及用户发出的原始伴奏音。
比如,智能语音设备在获取到歌曲“在水一方”的和弦谱后,可语音提示用户进行歌曲试唱,假设用户唱出了一句“绿草苍苍,白雾茫茫”,智能语音设备可记录下该歌曲片段,之后,智能语音设备可进一步语音提示用户发出原始伴奏音,假设用户发出的原始伴奏音为“啦”,智能语音设备记录下该原始伴奏音。
根据获取到的歌曲片段,智能语音设备可确定出用户演唱的节奏。比如,可通过现有的librosa软件的frames-to-time接口实现节拍跟踪,通过该接口可获得每一小节的时间点,如:7.43、8.29、9.218、10.124、11.146、12.19、13.212等,即能够获得每一小节持续的时长,知道用户演唱的节奏,从而知道用户要发的每个音,分别需要在什么时候进行伴奏音的播放。
在歌曲片段中,用户演唱的虽然只是一两句,不是歌曲的全部,但是可以利用这一两句的演唱节奏来对后面各句的演唱节奏进行推断,基本是对原始节奏的均匀变化,用户可能唱快了也可能唱慢了,但通常不会前一句特别快而下一句特别慢等,当用户演唱了第一句之后,后面的演唱节奏也就可以定下来了,可以根据用户演唱的节奏,对原始节奏进行相应的变化。比如,得到用户演唱的第一句的时长,可以计算出这个时长与原始节奏之间的播放时间比率,以此推断出后面的节奏都要进行相应的缩放调整,如原始节奏要唱10秒,而用户试唱时只唱了8秒,那么即可推断,后面的各句都要缩短到4/5的时间来进行伴奏等。
另外,智能语音设备还可根据获取到的歌曲片段确定出用户演唱的音调。比如,可通过现有的crepe软件,分析用户发音的频率,即检测用户发出的声音,基频是多少,该声音可以对应到音乐中的哪个标准音上等。假设歌曲片段中的第一个音为低音5,但用户唱出了中音1,那么表明整首歌曲的伴奏音都需要变调,提升5个半音,以此来适应用户演唱的音调,如本来应该发1音的伴奏音,变成发出4音。
完成上述一系列处理之后,智能语音设备可语音提示用户进行正式的歌曲演唱。当用户正式开始演唱时,可检测音符起始点,并从检测到的音符起始点开始,根据用户演唱的节奏,分别在演唱到每个音时播放该音的伴奏音。
可利用现有的librosa软件的onset_detection接口来检测音符起始点,即判断用户从什么时间点开始唱歌,以确定伴奏音将在什么时间点开始播放。
智能语音设备可实时地或预先生成每个音的伴奏音,以便在用户进行歌曲演唱时进行播放。
具体地,智能语音设备可确定出用户演唱的音调与曲谱中记录的音调的偏差,根据该偏差确定出曲谱中的每个音在演唱时的音高,并可确定出用户演唱的节奏与曲谱中记录的节奏的偏差,根据该偏差确定出曲谱中的每个音在演唱时的音长,相应地,可根据每个音在演唱时的音高和音长生成每个音的伴奏音。
如前所述,假设歌曲片段中的第一个音为低音5,但用户唱出了中音1,那么表明整首歌曲的伴奏音都需要变调,提升5个半音,来适应用户演唱的音调。通常来说,用户在正式演唱时,不会改变试唱时的音调。另外,如前所述,针对试唱的歌曲片段,在得到用户演唱的第一句的时长后,就可以计算出这个时长与原始节奏之间的播放时间比率,由此可以推断出后面的节奏都要进行相应的缩放调整,进而可根据曲谱中的各个音的原始音长确定出演唱时的音长。
根据每个音在演唱时的音高和音长生成伴奏音的方式可包括但不限于以下两种。
1)方式一
针对每个音,分别基于该音在演唱时的音高和音长对原始伴奏音进行调整,得到该音的伴奏音。
其中,针对每个音,可分别按照该音在演唱时的音长调整原始伴奏音的时长,并将调整后的原始伴奏音的音高调整为该音在演唱时的音高,得到该音的伴奏音,或者,将原始伴奏音的音高调整为该音在演唱时的音高,并将调整后的原始伴奏音的时长调整为该音在演唱时的音长,得到该音的伴奏音。也就是说,可以先调整时长再调整音高,也可反之。
针对每个音,无论是原始伴奏音还是音长调整后的原始伴奏音,在将其音高调整为该音在演唱时的音高时,均可采用以下方式:获取该音在演唱时的音高的基频,作为第一基频;将原始伴奏音或调整后的原始伴奏音每秒切分为N个音频段,N为大于一的正整数;针对每个音频段,分别获取该音频段的基频,作为第二基频,计算第一基频与第二基频之商,并用得到的商乘以第二基频,作为该音频段调整后的基频。N的具体取值可根据实际需要而定,理论上,取值越大效果越好。
比如,可将每秒原始伴奏音或调整后的原始伴奏音切分为100个音频段,可利用现有的crepe软件,每隔0.01秒进行一次基频检测,从而分别获取到每个音频段的基频,如0.00,185.616;0.01,186.764;0.02,188.356;0.03,190.610等,其中,“0.00,185.616”表示第0.00时检测到的基频为185.616,“0.01,186.764”表示第0.01秒时检测到的基频为186.764,依此类推。假设某个音在演唱时的音高为6,按规定其基频将为440,假设第34个音频段的基频为220,用440除以200,得到的商为2,之后将220乘以2,从而将该音频段的音高提升两倍,针对每个音频段,分别按照同样的方式进行处理,从而实现将原始伴奏音或调整后的原始伴奏音的音高调整为该音在演唱时的音高6。
可通过现有的librosa软件的time_shift接口实现伴奏音音长的变化。
2)方式二
针对演唱时的第一个音,基于该音在演唱时的音高和音长对原始伴奏音进行调整,得到该音的伴奏音,针对第一个音之后的每个音,分别基于该音在演唱时的音高和音长,对已生成的一个预定伴奏音进行调整,得到该音的伴奏音。
其中,针对第一个音之后的每个音,可按照该音在演唱时的音长调整预定伴奏音的时长,将调整后的伴奏音的音高调整为该音在演唱时的音高,得到该音的伴奏音,或者,将预定伴奏音的音高调整为该音在演唱时的音高,将调整后的伴奏音的时长调整为该音在演唱时的音长,得到该音的伴奏音。也就是说,可以先调整时长再调整音高,也可反之。
方式一中,每个音的伴奏音均通过对原始伴奏音进行调整得到,而本方式中,只有第一个音的伴奏音通过对原始伴奏音进行调整得到,而其它音的伴奏音可通过对已生成的预定伴奏音进行调整得到,已生成的预定伴奏音可以是指前一个音的伴奏音,也可以是指第一个音的伴奏音等。
如何通过对原始伴奏音进行调整得到第一个音的伴奏音可参照方式一中的相关说明,不再赘述。对于其它音的伴奏音,可直接利用现有的librosa软件的pitch_shift接口以及time_shift接口等,对第一个音的伴奏音进行音高和音长的调整,从而得到不同的音高和音长的伴奏音。
需要说明的是,对于前述的方法实施例,为了简单描述,将其表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
总之,采用本发明方法实施例所述方案,可以在用户进行歌曲演唱时,实时地为其配上歌曲的伴奏,并用录制的用户的语音伴奏出来,结合歌曲的曲谱实现人声伴奏,从而提升了智能语音设备的性能,并增强了语音交互的趣味性以及用户使用智能语音设备的粘性等。
以上是关于方法实施例的介绍,以下通过装置实施例,对本发明所述方案进行进一步说明。
图3为本发明所述语音伴奏装置实施例的组成结构示意图。该装置可以应用于智能语音设备中。如图3所示,包括:确定单元301、获取单元302以及伴奏单元303。
确定单元301,用于确定用户将要演唱的歌曲。
获取单元302,用于获取歌曲的曲谱,并获取用户发出的原始伴奏音。
伴奏单元303,用于在用户进行歌曲演唱时,针对曲谱中的每个音,分别播放基于原始伴奏音生成的该音的伴奏音。
其中,曲谱可为和弦谱,可通过对和弦谱中的和弦进行分解得到每个音。如图2所示,可依次对其中的各和弦进行分解,分解为和弦的各个音。比如,C和弦由1(c)、3(e)、5(g)音构成,则可以将C和弦分解为cegecege。
优选地,在用户进行正式的歌曲演唱之前,获取单元302可先获取用户试唱的歌曲片段以及用户发出的原始伴奏音。歌曲片段可为歌曲的第一句等,原始伴奏音可为“啦”或“啊”等。
根据获取到的歌曲片段,获取单元302可定出用户演唱的节奏,从而知道用户要发的每个音,分别需要在什么时候进行伴奏音的播放。
另外,获取单元302还可根据获取到的歌曲片段确定出用户演唱的音调。假设歌曲片段中的第一个音为低音5,但用户唱出了中音1,那么表明整首歌曲的伴奏音都需要变调,提升5个半音,以此来适应用户演唱的音调。
当用户正式开始演唱时,伴奏单元303可检测音符起始点,从检测到的音符起始点开始,根据用户演唱的节奏,分别在演唱到每个音时播放该音的伴奏音。
检测音符起始点,即判断用户从什么时间点开始唱歌,以确定伴奏音将在什么时间点开始播放。
伴奏单元303可确定出用户演唱的音调与曲谱中记录的音调的偏差,根据该偏差确定出曲谱中的每个音在演唱时的音高,并可确定出用户演唱的节奏与曲谱中记录的节奏的偏差,根据该偏差确定出曲谱中的每个音在演唱时的音长,相应地,可根据每个音在演唱时的音高和音长生成每个音的伴奏音。
根据每个音在演唱时的音高和音长生成伴奏音的方式可包括但不限于以下两种。
第一种,伴奏单元303可针对每个音,分别基于该音在演唱时的音高和音长对原始伴奏音进行调整,得到该音的伴奏音。
其中,针对每个音,可分别按照该音在演唱时的音长调整原始伴奏音的时长,并将调整后的原始伴奏音的音高调整为该音在演唱时的音高,得到该音的伴奏音,或者,将原始伴奏音的音高调整为该音在演唱时的音高,并将调整后的原始伴奏音的时长调整为该音在演唱时的音长,得到该音的伴奏音。也就是说,可以先调整时长再调整音高,也可反之。
针对每个音,无论是原始伴奏音还是音长调整后的原始伴奏音,在将其音高调整为该音在演唱时的音高时,均可采用以下方式:获取该音在演唱时的音高的基频,作为第一基频;将原始伴奏音或调整后的原始伴奏音每秒切分为N个音频段,N为大于一的正整数;针对每个音频段,分别获取该音频段的基频,作为第二基频,计算第一基频与第二基频之商,并用得到的商乘以第二基频,作为该音频段调整后的基频。N的具体取值可根据实际需要而定,理论上,取值越大效果越好。
第二种,伴奏单元303可针对演唱时的第一个音,基于该音在演唱时的音高和音长对原始伴奏音进行调整,得到该音的伴奏音,针对第一个音之后的每个音,可分别基于该音在演唱时的音高和音长,对已生成的一个预定伴奏音进行调整,得到该音的伴奏音。
其中,针对第一个音之后的每个音,可按照该音在演唱时的音长调整预定伴奏音的时长,将调整后的伴奏音的音高调整为该音在演唱时的音高,得到该音的伴奏音,或者,将预定伴奏音的音高调整为该音在演唱时的音高,将调整后的伴奏音的时长调整为该音在演唱时的音长,得到该音的伴奏音。也就是说,可以先调整时长再调整音高,也可反之。
与前一方式不同的是,前一方式中,每个音的伴奏音均通过对原始伴奏音进行调整得到,而本方式中,只有第一个音的伴奏音通过对原始伴奏音进行调整得到,而其它音的伴奏音可通过对已生成的预定伴奏音进行调整得到,已生成的预定伴奏音可以是指前一个音的伴奏音,也可以是指第一个音的伴奏音等。如对于其它音的伴奏音,可直接利用现有的librosa软件的pitch_shift接口以及time_shift接口等,对第一个音的伴奏音进行音高和音长的调整,从而得到不同的音高和音长的伴奏音。
图3所示装置实施例的具体工作流程请参照前述方法实施例中的相关说明,不再赘述。
总之,采用本发明装置实施例所述方案,可以在用户进行歌曲演唱时,实时地为其配上歌曲的伴奏,并用录制的用户的语音伴奏出来,结合歌曲的曲谱实现人声伴奏,从而提升了智能语音设备的性能,并增强了语音交互的趣味性以及用户使用智能语音设备的粘性等。
图4示出了适于用来实现本发明实施方式的示例性计算机系统/服务器12的框图。图4显示的计算机系统/服务器12仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图4所示,计算机系统/服务器12以通用计算设备的形式表现。计算机系统/服务器12的组件可以包括但不限于:一个或者多个处理器(处理单元)16,存储器28,连接不同系统组件(包括存储器28和处理器16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
计算机系统/服务器12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机系统/服务器12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。计算机系统/服务器12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图4未显示,通常称为“硬盘驱动器”)。尽管图4中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括——但不限于——操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。
计算机系统/服务器12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机系统/服务器12交互的设备通信,和/或与使得该计算机系统/服务器12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,计算机系统/服务器12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图4所示,网络适配器20通过总线18与计算机系统/服务器12的其它模块通信。应当明白,尽管图中未示出,可以结合计算机系统/服务器12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
处理器16通过运行存储在存储器28中的程序,从而执行各种功能应用以及数据处理,例如实现图1所示实施例中的方法。
本发明同时公开了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时将实现如图1所示实施例中的方法。
可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如”C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法等,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (14)
1.一种语音伴奏方法,其特征在于,包括:
智能语音设备确定用户将要演唱的歌曲;
所述智能语音设备获取所述歌曲的曲谱;
所述智能语音设备获取用户发出的原始伴奏音;
在用户进行歌曲演唱时,所述智能语音设备针对所述曲谱中的每个音,分别播放基于所述原始伴奏音生成的所述音的伴奏音。
2.根据权利要求1所述的方法,其特征在于,
所述在用户进行歌曲演唱之前,进一步包括:
获取用户试唱的所述歌曲的歌曲片段,根据所述歌曲片段确定出用户演唱的节奏;
所述针对所述曲谱中的每个音,分别播放基于所述原始伴奏音生成的所述音的伴奏音包括:
在用户进行歌曲演唱时,检测音符起始点,从检测到的音符起始点开始,根据所述用户演唱的节奏,分别在演唱到每个音时播放所述音的伴奏音。
3.根据权利要求2所述的方法,其特征在于,
所述获取用户试唱的所述歌曲的歌曲片段之后,进一步包括:
根据所述歌曲片段确定出用户演唱的音调;
所述伴奏音的生成方式包括:
确定所述用户演唱的音调与所述曲谱中记录的音调的偏差,根据所述偏差确定出所述曲谱中的每个音在演唱时的音高;
确定所述用户演唱的节奏与所述曲谱中记录的节奏的偏差,根据所述偏差确定出所述曲谱中的每个音在演唱时的音长;
根据每个音在演唱时的音高和音长生成伴奏音。
4.根据权利要求3所述的方法,其特征在于,
所述根据每个音在演唱时的音高和音长生成伴奏音包括:
针对每个音,分别基于所述音在演唱时的音高和音长对所述原始伴奏音进行调整,得到所述音的伴奏音;
或者,针对演唱时的第一个音,基于所述音在演唱时的音高和音长对所述原始伴奏音进行调整,得到所述音的伴奏音,针对所述第一个音之后的每个音,分别基于所述音在演唱时的音高和音长,对已生成的一个预定伴奏音进行调整,得到所述音的伴奏音。
5.根据权利要求4所述的方法,其特征在于,
所述基于所述音在演唱时的音高和音长对所述原始伴奏音进行调整,得到所述音的伴奏音包括:
按照所述音在演唱时的音长调整所述原始伴奏音的时长,将调整后的原始伴奏音的音高调整为所述音在演唱时的音高,得到所述音的伴奏音;
或者,将所述原始伴奏音的音高调整为所述音在演唱时的音高,将调整后的原始伴奏音的时长调整为所述音在演唱时的音长,得到所述音的伴奏音;
所述基于所述音在演唱时的音高和音长,对已生成的一个预定伴奏音进行调整,得到所述音的伴奏音包括:
按照所述音在演唱时的音长调整所述预定伴奏音的时长,将调整后的伴奏音的音高调整为所述音在演唱时的音高,得到所述音的伴奏音;
或者,将所述预定伴奏音的音高调整为所述音在演唱时的音高,将调整后的伴奏音的时长调整为所述音在演唱时的音长,得到所述音的伴奏音。
6.根据权利要求5所述的方法,其特征在于,
将所述原始伴奏音或调整后的原始伴奏音的音高调整为所述音在演唱时的音高包括:
获取所述音在演唱时的音高的基频,作为第一基频;
将所述原始伴奏音或调整后的原始伴奏音每秒切分为N个音频段,N为大于一的正整数;
针对每个音频段,分别获取所述音频段的基频,作为第二基频,计算所述第一基频与所述第二基频之商,并用得到的商乘以所述第二基频,作为所述音频段调整后的基频。
7.一种语音伴奏装置,所述装置应用于智能语音设备中,其特征在于,包括:确定单元、获取单元以及伴奏单元;
所述确定单元,用于确定用户将要演唱的歌曲;
所述获取单元,用于获取所述歌曲的曲谱,并获取用户发出的原始伴奏音;
所述伴奏单元,用于在用户进行歌曲演唱时,针对所述曲谱中的每个音,分别播放基于所述原始伴奏音生成的所述音的伴奏音。
8.根据权利要求7所述的装置,其特征在于,
所述获取单元进一步用于,在用户进行歌曲演唱之前,获取用户试唱的所述歌曲的歌曲片段,根据所述歌曲片段确定出用户演唱的节奏;
所述伴奏单元进一步用于,在用户进行歌曲演唱时,检测音符起始点,从检测到的音符起始点开始,根据所述用户演唱的节奏,分别在演唱到每个音时播放所述音的伴奏音。
9.根据权利要求8所述的装置,其特征在于,
所述获取单元进一步用于,根据所述歌曲片段确定出用户演唱的音调;
所述伴奏单元确定所述用户演唱的音调与所述曲谱中记录的音调的偏差,根据所述偏差确定出所述曲谱中的每个音在演唱时的音高,确定所述用户演唱的节奏与所述曲谱中记录的节奏的偏差,根据所述偏差确定出所述曲谱中的每个音在演唱时的音长,根据每个音在演唱时的音高和音长生成伴奏音。
10.根据权利要求9所述的装置,其特征在于,
所述伴奏单元针对每个音,分别基于所述音在演唱时的音高和音长对所述原始伴奏音进行调整,得到所述音的伴奏音;
或者,所述伴奏单元针对演唱时的第一个音,基于所述音在演唱时的音高和音长对所述原始伴奏音进行调整,得到所述音的伴奏音,针对所述第一个音之后的每个音,分别基于所述音在演唱时的音高和音长,对已生成的一个预定伴奏音进行调整,得到所述音的伴奏音。
11.根据权利要求10所述的装置,其特征在于,
针对每个音,所述伴奏单元按照所述音在演唱时的音长调整所述原始伴奏音的时长,将调整后的原始伴奏音的音高调整为所述音在演唱时的音高,得到所述音的伴奏音;或者,将所述原始伴奏音的音高调整为所述音在演唱时的音高,将调整后的原始伴奏音的时长调整为所述音在演唱时的音长,得到所述音的伴奏音;
针对所述第一个音之后的每个音,所述伴奏单元按照所述音在演唱时的音长调整所述预定伴奏音的时长,将调整后的伴奏音的音高调整为所述音在演唱时的音高,得到所述音的伴奏音,或者,将所述预定伴奏音的音高调整为所述音在演唱时的音高,将调整后的伴奏音的时长调整为所述音在演唱时的音长,得到所述音的伴奏音。
12.根据权利要求11所述的装置,其特征在于,
所述伴奏单元将所述原始伴奏音或调整后的原始伴奏音的音高调整为所述音在演唱时的音高的方式包括:
获取所述音在演唱时的音高的基频,作为第一基频;
将所述原始伴奏音或调整后的原始伴奏音每秒切分为N个音频段,N为大于一的正整数;
针对每个音频段,分别获取所述音频段的基频,作为第二基频,计算所述第一基频与所述第二基频之商,并用得到的商乘以所述第二基频,作为所述音频段调整后的基频。
13.一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1~6中任一项所述的方法。
14.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1~6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811330028.6A CN111179890B (zh) | 2018-11-09 | 2018-11-09 | 语音伴奏方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811330028.6A CN111179890B (zh) | 2018-11-09 | 2018-11-09 | 语音伴奏方法、装置、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111179890A true CN111179890A (zh) | 2020-05-19 |
CN111179890B CN111179890B (zh) | 2022-09-23 |
Family
ID=70651714
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811330028.6A Active CN111179890B (zh) | 2018-11-09 | 2018-11-09 | 语音伴奏方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111179890B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113192533A (zh) * | 2021-04-29 | 2021-07-30 | 北京达佳互联信息技术有限公司 | 音频处理方法、装置、电子设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101667422A (zh) * | 2009-09-22 | 2010-03-10 | 北京中星微电子有限公司 | 一种调节歌曲伴奏的调式的方法及装置 |
JP2013213907A (ja) * | 2012-04-02 | 2013-10-17 | Yamaha Corp | 評価装置 |
CN107093419A (zh) * | 2016-02-17 | 2017-08-25 | 广州酷狗计算机科技有限公司 | 一种动态伴唱方法和装置 |
CN107680571A (zh) * | 2017-10-19 | 2018-02-09 | 百度在线网络技术(北京)有限公司 | 一种歌曲伴奏方法、装置、设备和介质 |
CN108206026A (zh) * | 2017-12-05 | 2018-06-26 | 北京小唱科技有限公司 | 确定音频内容音高偏差的方法及装置 |
-
2018
- 2018-11-09 CN CN201811330028.6A patent/CN111179890B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101667422A (zh) * | 2009-09-22 | 2010-03-10 | 北京中星微电子有限公司 | 一种调节歌曲伴奏的调式的方法及装置 |
JP2013213907A (ja) * | 2012-04-02 | 2013-10-17 | Yamaha Corp | 評価装置 |
CN107093419A (zh) * | 2016-02-17 | 2017-08-25 | 广州酷狗计算机科技有限公司 | 一种动态伴唱方法和装置 |
CN107680571A (zh) * | 2017-10-19 | 2018-02-09 | 百度在线网络技术(北京)有限公司 | 一种歌曲伴奏方法、装置、设备和介质 |
CN108206026A (zh) * | 2017-12-05 | 2018-06-26 | 北京小唱科技有限公司 | 确定音频内容音高偏差的方法及装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113192533A (zh) * | 2021-04-29 | 2021-07-30 | 北京达佳互联信息技术有限公司 | 音频处理方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111179890B (zh) | 2022-09-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6140568A (en) | System and method for automatically detecting a set of fundamental frequencies simultaneously present in an audio signal | |
US9672800B2 (en) | Automatic composer | |
EP3843083A1 (en) | Method, system, and computer-readable medium for creating song mashups | |
US8965766B1 (en) | Systems and methods for identifying music in a noisy environment | |
US9355634B2 (en) | Voice synthesis device, voice synthesis method, and recording medium having a voice synthesis program stored thereon | |
US20110054902A1 (en) | Singing voice synthesis system, method, and apparatus | |
US20060112812A1 (en) | Method and apparatus for adapting original musical tracks for karaoke use | |
US20230402026A1 (en) | Audio processing method and apparatus, and device and medium | |
US20110209596A1 (en) | Audio recording analysis and rating | |
JP2019219638A (ja) | 音楽合成方法及びシステム、端末並びにコンピュータ可読記憶媒体 | |
CN108257588B (zh) | 一种谱曲方法及装置 | |
JP2008139426A (ja) | 評価用データのデータ構造、カラオケ装置及び記録媒体 | |
CN111179890B (zh) | 语音伴奏方法、装置、计算机设备及存储介质 | |
US8013231B2 (en) | Sound signal expression mode determining apparatus method and program | |
JP2008065153A (ja) | 楽曲構造解析方法、プログラムおよび装置 | |
US11081138B2 (en) | Systems and methods for automated music rearrangement | |
CN112825244B (zh) | 配乐音频生成方法和装置 | |
CN113539215A (zh) | 音乐风格转换方法、装置、设备及存储介质 | |
JPH1049148A (ja) | 周波数検出装置 | |
JP2016071187A (ja) | 音声合成装置、及び音声合成システム | |
JP3963141B2 (ja) | 歌唱合成装置、歌唱合成用プログラム及び歌唱合成用プログラムを記録したコンピュータで読み取り可能な記録媒体 | |
KR101426763B1 (ko) | 음원 서비스 시스템 및 그 방법, 그리고 이에 적용되는 장치 | |
JP2010085655A (ja) | 音域特定システム、プログラム | |
JP4296767B2 (ja) | ブレス音合成方法、ブレス音合成装置およびプログラム | |
KR102077269B1 (ko) | 노래 분석 방법 및 이를 위한 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |