会员体验
专利管家(专利管理)
工作空间(专利管理)
风险监控(情报监控)
数据分析(专利分析)
侵权分析(诉讼无效)
联系我们
交流群
官方交流:
QQ群: 891211   
微信请扫码    >>>
现在联系顾问~

用于无缝音频融合的方法、系统和介质

申请号 CN201980102553.9 申请日 2019-12-02 公开(公告)号 CN114746938A 公开(公告)日 2022-07-12
申请人 谷歌有限责任公司; 发明人 米歇尔·科维尔; 舒梅特·巴卢哈;
摘要 根据所公开主题的一些 实施例 ,提供了用于在播放列表中的音频项之间的无缝音频融合的机制。在一些实施例中,提供了一种用于在播放列表中的音频项之间过渡的方法,包括:识别音频项的播放列表中的音频项序列,其中音频项序列包括第一音频项和第二音频项,第二音频项将在第一音频项之后播放;和 修改 第一音频项的结束部分和第二音频项的开始部分,其中第一音频项的结束部分和第二音频项的开始部分将被同时播放以在第一音频项和第二音频项之间过渡,其中,第一音频项的结束部分和第二音频项的开始部分具有重叠持续时间,并且其中,修改第一音频项的结束部分和第二音频项的开始部分包括:生成对应于第一音频项的结束部分的第一声谱图和对应于第二音频项的开始部分的第二声谱图;对于一系列频带中的每个频带,识别第一音频项的结束部分内的第一声谱图和第二音频项的开始部分内的第二声谱图在其上具有特定的互相关的窗口;对于一系列频带中的每个频带,修改第一声谱图的结束部分和第二声谱图的开始部分,使得频带内的 频率 幅度在第一声谱图内在第一声谱图的结束部分上减小,并且频带内的频率幅度在第二声谱图内在第二声谱图的开始部分上增加;以及基于第一声谱图的修改的结束部分生成包括第一音频项的修改的结束部分的第一音频项的修改版本,并且基于第二声谱图的修改的开始部分生成包括第二音频项的修改的开始部分的第二音频项的修改版本。
权利要求

1.一种用于在播放列表中的音频项之间过渡的方法,所述方法包括:
识别音频项的播放列表中的音频项序列,其中所述音频项序列包括第一音频项和第二音频项,所述第二音频项将在所述第一音频项之后播放;和
修改所述第一音频项的结束部分和所述第二音频项的开始部分,其中所述第一音频项的结束部分和所述第二音频项的开始部分将被同时播放以在所述第一音频项和所述第二音频项之间过渡,其中,所述第一音频项的结束部分和所述第二音频项的开始部分具有重叠持续时间,并且其中,修改所述第一音频项的结束部分和所述第二音频项的开始部分包括:
生成与所述第一音频项的结束部分相对应的第一声谱图和与所述第二音频项的开始部分相对应的第二声谱图;
对于一系列频带中的每个频带,识别所述第一音频项的结束部分内的所述第一声谱图和所述第二音频项的开始部分内的所述第二声谱图具有特定互相关的窗口;
对于所述一系列频带中的每个频带,修改所述第一声谱图的结束部分和所述第二声谱图的开始部分,使得所述频带内的频率的幅度在所述第一声谱图内在所述第一声谱图的结束部分减小,并且所述频带内的频率的幅度在所述第二声谱图内在所述第二声谱图的开始部分增加;以及
基于所述第一声谱图的修改的结束部分生成包括所述第一音频项的修改的结束部分的所述第一音频项的修改版本,并且基于所述第二声谱图的修改的开始部分生成包括所述第二音频项的修改的开始部分的所述第二音频项的修改版本。
2.根据权利要求1所述的方法,还包括:基于所述第一声谱图和所述第二声谱图识别所述重叠持续时间。
3.根据权利要求1或2所述的方法,其中,对于所述一系列频带中的每个频带识别所述第一音频项的结束部分内的所述第一声谱图和所述第二音频项的开始部分内的所述第二声谱图具有高互相关的窗口包括:
基于在所述一系列频带中的最低频带内所述第一声谱图的结束部分和所述第二声谱图的开始部分的所述互相关,识别所述最低频带的第一窗口;以及
基于在与所述最低频带相邻的频带内所述第一声谱图的结束部分和所述第二声谱图的开始部分的所述互相关,识别与所述最低频带相邻的频带的第二窗口,其中所述第二窗口短于所述第一窗口。
4.根据权利要求3所述的方法,其中,所述第二窗口与所述第一窗口重叠。
5.根据权利要求1至4中的任一项所述的方法,其中,与所述第二音频项的修改的开始部分叠加的所述第一音频项的修改的结束部分的声谱图的相位在所述重叠的开始部分处与所述第一音频项的相位匹配,并且在所述重叠的结束部分处与所述第二音频项的相位匹配。
6.根据权利要求1至5中的任一项所述的方法,其中,修改所述第一音频项的结束部分和所述第二音频项的开始部分包括:修改在所述第一音频项的结束部分期间所述第一音频项的节奏和在所述第二音频项的开始部分期间所述第二音频项的节奏。
7.根据权利要求6所述的方法,其中,修改在所述第一音频项的结束部分期间所述第一音频项的节奏和在所述第二音频项的开始部分期间所述第二音频项的节奏是响应于确定在所述第一音频项的结束部分期间所述第一音频项的节奏与在所述第二歌曲的开始部分期间所述第二音频项的节奏相差超过预定阈值
8.根据权利要求1至7中的任一项所述的方法,其中,由所述用户设备产生所述音频项的播放列表包括:结合所述重叠持续时间的指示来向所述用户设备传输所述第一音频项的修改版本和所述第二音频项的修改版本。
9.根据权利要求1至8中的任一项所述的方法,还包括:结合所述音频项的播放列表的标识符来存储所述第一音频项的修改版本和所述第二音频项的修改版本。
10.根据权利要求1至9中的任一项所述的方法,还包括:
从用户设备接收用于呈现所述音频项的播放列表的请求;和
使得所述音频项的播放列表由所述用户设备呈现,其中呈现所述音频项的播放列表包括:呈现所述第一音频项的修改版本和所述第二音频项的修改版本,并且其中所述第一音频项的修改版本的修改的结束部分与所述第二音频项的修改版本的修改的开始部分是同时播放的。
11.一种用于在播放列表中的音频项之间过渡的系统,所述系统包括:
存储器;和
硬件处理器,当执行所述存储器中的计算机可执行指令时,所述硬件处理器被配置成:
识别音频项的播放列表中的音频项序列,其中所述音频项序列包括第一音频项和第二音频项,所述第二音频项将在所述第一音频项之后播放;和
修改所述第一音频项的结束部分和所述第二音频项的开始部分,其中所述第一音频项的结束部分和所述第二音频项的开始部分将被同时播放以在所述第一音频项和所述第二音频项之间过渡,其中,所述第一音频项的结束部分和所述第二音频项的开始部分具有重叠持续时间,并且其中,修改所述第一音频项的结束部分和所述第二音频项的开始部分包括:
生成与所述第一音频项的结束部分相对应的第一声谱图和与所述第二音频项的开始部分相对应的第二声谱图;
对于一系列频带中的每个频带,识别所述第一音频项的结束部分内的所述第一声谱图和所述第二音频项的开始部分内的所述第二声谱图具有特定互相关的窗口;
对于所述一系列频带中的每个频带,修改所述第一声谱图的结束部分和所述第二声谱图的开始部分,使得所述频带内的频率的幅度在所述第一声谱图内在所述第一声谱图的结束部分减小,并且所述频带内的频率的幅度在所述第二声谱图内在所述第二声谱图的开始部分增加;以及
基于所述第一声谱图的修改的结束部分生成包括所述第一音频项的修改的结束部分的所述第一音频项的修改版本,并且基于所述第二声谱图的修改的开始部分生成包括所述第二音频项的修改的开始部分的所述第二音频项的修改版本。
12.根据权利要求11所述的系统,其中,所述硬件处理器还被配置成:基于所述第一声谱图和所述第二声谱图识别所述重叠持续时间。
13.根据权利要求11或12所述的系统,其中,对于所述一系列频带中的每个频带识别所述第一音频项的结束部分内的所述第一声谱图和所述第二音频项的开始部分内的所述第二声谱图具有高互相关的窗口包括:
基于在所述一系列频带中的最低频带内所述第一声谱图的结束部分和所述第二声谱图的开始部分的所述互相关,识别所述最低频带的第一窗口;以及
基于在与所述最低频带相邻的频带内所述第一声谱图的结束部分和所述第二声谱图的开始部分的所述互相关,识别与所述最低频带相邻的频带的第二窗口,其中所述第二窗口短于所述第一窗口。
14.根据权利要求13所述的系统,其中,所述第二窗口与所述第一窗口重叠。
15.根据权利要求11至14中的任一项所述的系统,其中,与所述第二音频项的修改的开始部分叠加的所述第一音频项的修改的结束部分的声谱图的相位在所述重叠的开始部分处与所述第一音频项的相位匹配,并且在所述重叠的结束部分处与所述第二音频项的相位匹配。
16.根据权利要求11至15中的任一项所述的系统,其中,修改所述第一音频项的结束部分和所述第二音频项的开始部分包括:修改在所述第一音频项的结束部分期间所述第一音频项的节奏和在所述第二音频项的开始部分期间所述第二音频项的节奏。
17.根据权利要求16所述的系统,其中,修改在所述第一音频项的结束部分期间所述第一音频项的节奏和在所述第二音频项的开始部分期间所述第二音频项的节奏是响应于确定在所述第一音频项的结束部分期间所述第一音频项的节奏与在所述第二音频项的开始部分期间所述第二音频项的节奏相差超过预定阈值。
18.根据权利要求11至17中的任一项所述的系统,其中,由所述用户设备产生所述音频项的播放列表包括:结合所述重叠持续时间的指示来向所述用户设备传输所述第一音频项的修改版本和所述第二音频项的修改版本。
19.根据权利要求11至18中的任一项所述的系统,其中,所述硬件处理器还被配置成:
结合所述音频项的播放列表的标识符来存储所述第一音频项的修改版本和所述第二音频项的修改版本。
20.根据权利要求11至19中的任一项所述的系统,其中,所述硬件处理器还被配置成:
从用户设备接收用于呈现所述音频项的播放列表的请求;和
使得所述音频项的播放列表由所述用户设备呈现,其中呈现所述音频项的播放列表包括:呈现所述第一音频项的修改版本和所述第二音频项的修改版本,并且其中所述第一音频项的修改版本的修改的结束部分与所述第二音频项的修改版本的修改的开始部分是同时播放的。
21.一种包含计算机可执行指令的计算机可读介质,所述计算机可执行指令当由处理器执行时使得所述处理器执行用于在播放列表中的音频项之间过渡的方法,所述方法包括:
识别音频项的播放列表中的音频项序列,其中所述音频项序列包括第一音频项和第二音频项,所述第二音频项将在所述第一音频项之后播放;和
修改所述第一音频项的结束部分和所述第二音频项的开始部分,其中所述第一音频项的结束部分和所述第二音频项的开始部分将被同时播放以在所述第一音频项和所述第二音频项之间过渡,其中,所述第一音频项的结束部分和所述第二音频项的开始部分具有重叠持续时间,并且其中,修改所述第一音频项的结束部分和所述第二音频项的开始部分包括:
生成与所述第一音频项的结束部分相对应的第一声谱图和与所述第二音频项的开始部分相对应的第二声谱图;
对于一系列频带中的每个频带,识别所述第一音频项的结束部分内的所述第一声谱图和所述第二音频项的开始部分内的所述第二声谱图具有特定互相关的窗口;
对于所述一系列频带中的每个频带,修改所述第一声谱图的结束部分和所述第二声谱图的开始部分,使得所述频带内的频率的幅度在所述第一声谱图内在所述第一声谱图的结束部分减小,并且所述频带内的频率的幅度在所述第二声谱图内在所述第二声谱图的开始部分增加;以及
基于所述第一声谱图的修改的结束部分生成包括所述第一音频项的修改的结束部分的所述第一音频项的修改版本,并且基于所述第二声谱图的修改的开始部分生成包括所述第二音频项的修改的开始部分的所述第二音频项的修改版本。

说明书全文

用于无缝音频融合的方法、系统和介质

技术领域

[0001] 所公开的主题涉及用于两个音频项之间的无缝音频融合的方法、系统和介质。所公开的主题可以应用在例如语音合成系统中。

背景技术

[0002] 语音合成系统正被越来越多地使用。一些语音合成系统使用预先录制的音频片段进行操作,这些音频片段表示诸如一个或多个单词的声音单元。多个音频片段被结合(或“级联”)以从语音合成系统产生输出音频短语。有时期望向语音合成系统添加更多的预先录制的音频片段,以允许改变或拓宽输出短语的范围,或者修改或替换现有的预先录制的片段之一,但是很难做到这一点还能使新片段的节奏和音量与现有音频片段的节奏和音量相匹配,相反,这种过渡通常是听众可以察觉到的。这可能会降低由语音合成系统生成的输出音频的质量,并且可能例如导致用户难以正确理解输出短语。此外,当前的系统尤其忽略了两个音频片段之间的不同能量信息。
[0003] 因此,期望提供用于两个音频项(诸如用于语音合成系统的语音片段)之间的无缝音频融合的新的方法、系统和介质。发明内容
[0004] 提供了用于在音频项之间的无缝音频融合的方法、系统和介质。
[0005] 根据所公开主题的一些实施例,提供了一种用于在播放列表中的音频项之间过渡的方法,所述方法包括:识别音频项的播放列表中的音频项序列,其中所述音频项序列包括第一音频项和第二音频项,所述第二音频项将在所述第一音频项之后播放;和修改所述第一音频项的结束部分和所述第二音频项的开始部分,其中所述第一音频项的结束部分和所述第二音频项的开始部分将被同时播放以在所述第一音频项和所述第二音频项之间过渡,其中,所述第一音频项的结束部分和所述第二音频项的开始部分具有重叠持续时间,并且其中,修改所述第一音频项的结束部分和所述第二音频项的开始部分包括:生成对应于所述第一音频项的结束部分的第一声谱图和对应于所述第二音频项的开始部分的第二声谱图;对于一系列频带中的每个频带,识别所述第一音频项的结束部分内的所述第一声谱图和所述第二音频项的开始部分内的所述第二声谱图在其上具有特定的互相关的窗口;对于所述一系列频带中的每个频带,修改所述第一声谱图的结束部分和所述第二声谱图的开始部分,使得所述频带内的频率幅度在所述第一声谱图内在所述第一声谱图的结束部分减小,并且所述频带内的频率幅度在所述第二声谱图内在所述第二声谱图的开始部分增加;以及基于所述第一声谱图的修改的结束部分生成包括所述第一音频项的修改的结束部分的所述第一音频项的修改版本,并且基于所述第二声谱图的修改的开始部分生成包括所述第二音频项的修改的开始部分的所述第二音频项的修改版本。
[0006] 在一些实施例中,所述方法还包括基于所述第一声谱图和所述第二声谱图识别所述重叠持续时间。
[0007] 在一些实施例中,对于所述一系列频带中的每个频带,识别所述第一音频项的结束部分内的所述第一声谱图和所述第二音频项的开始部分内的所述第二声谱图在其上具有高互相关的窗口包括:基于所述一系列频带中的最低频带内的所述第一声谱图的结束部分和所述第二声谱图的开始部分的互相关,识别所述最低频带的第一窗口;以及基于与所述最低频带相邻的频带内的所述第一声谱图的结束部分和所述第二声谱图的开始部分的互相关,识别与所述最低频带相邻的频带的第二窗口,其中所述第二窗口短于所述第一窗口。
[0008] 在一些实施例中,所述第二窗口与所述第一窗口重叠。
[0009] 在一些实施例中,与所述第二音频项的修改的开始部分叠加的所述第一音频项的修改的结束部分的声谱图的相位在所述重叠的开始部分处与所述第一音频项的相位匹配,并且在所述重叠的结束部分处与所述第二音频项的相位匹配。
[0010] 在一些实施例中,修改所述第一音频项的结束部分和所述第二音频项的开始部分包括修改在所述第一音频项的结束部分期间的所述第一音频项的节奏,和修改在所述第二音频项的开始部分期间的所述第二音频项的节奏。
[0011] 在一些实施例中,修改在所述第一音频项的结束部分期间的所述第一音频项的节奏和修改在所述第二音频项的开始部分期间的所述第二音频项的节奏是响应于确定在所述第一音频项的结束部分期间的所述第一音频项的节奏与在所述第二音频项的开始部分期间的所述第二音频项的节奏相差超过预定阈值
[0012] 在一些实施例中,由所述用户设备产生所述音频项的播放列表包括结合所述重叠持续时间的指示向所述用户设备传输所述第一音频项的修改版本和所述第二音频项的修改版本。
[0013] 在一些实施例中,所述方法还包括结合所述音频项的播放列表的标识符存储所述第一音频项的修改版本和所述第二音频项的修改版本。
[0014] 在一些实施例中,所述方法还包括:从用户设备接收呈现所述音频项的播放列表的请求;和使得所述音频项的播放列表由所述用户设备呈现,其中呈现所述音频项的播放列表包括呈现所述第一音频项的修改版本和所述第二音频项的修改版本,并且其中所述第一音频项的修改版本的修改的结束部分与所述第二音频项的修改版本的修改的开始部分同时播放。
[0015] 根据所公开主题的一些实施例,提供了一种用于在播放列表中的音频项之间过渡的系统,所述系统包括存储器硬件处理器,当执行所述存储器中的计算机可执行指令时,所述硬件处理器被配置成:识别音频项的播放列表中的音频项序列,其中所述音频项序列包括第一音频项和第二音频项,所述第二音频项将在所述第一音频项之后播放;和修改所述第一音频项的结束部分和所述第二音频项的开始部分,其中所述第一音频项的结束部分和所述第二音频项的开始部分将被同时播放以在所述第一音频项和所述第二音频项之间过渡,其中,所述第一音频项的结束部分和所述第二音频项的开始部分具有重叠持续时间,并且其中,修改所述第一音频项的结束部分和所述第二音频项的开始部分包括:生成对应于所述第一音频项的结束部分的第一声谱图和对应于所述第二音频项的开始部分的第二声谱图;对于一系列频带中的每个频带,识别所述第一音频项的结束部分内的所述第一声谱图和所述第二音频项的开始部分内的所述第二声谱图在其上具有特定的互相关的窗口;对于所述一系列频带中的每个频带,修改所述第一声谱图的结束部分和所述第二声谱图的开始部分,使得所述频带内的频率幅度在所述第一声谱图内在所述第一声谱图的结束部分减小,并且所述频带内的频率幅度在所述第二声谱图内在所述第二声谱图的开始部分增加;以及基于所述第一声谱图的修改的结束部分生成包括所述第一音频项的修改的结束部分的所述第一音频项的修改版本,并且基于所述第二声谱图的修改的开始部分生成包括所述第二音频项的修改的开始部分的所述第二音频项的修改版本。
[0016] 根据所公开主题的一些实施例,提供了一种包含计算机可执行指令的计算机可读介质,所述计算机可执行指令当被处理器执行时,使得所述处理器执行用于在播放列表中的音频项之间过渡的方法,所述方法包括:识别音频项的播放列表中的音频项序列,其中所述音频项序列包括第一音频项和第二音频项,所述第二音频项将在所述第一音频项之后播放;和修改所述第一音频项的结束部分和所述第二音频项的开始部分,其中所述第一音频项的结束部分和所述第二音频项的开始部分将被同时播放以在所述第一音频项和所述第二音频项之间过渡,其中,所述第一音频项的结束部分和所述第二音频项的开始部分具有重叠持续时间,并且其中,修改所述第一音频项的结束部分和所述第二音频项的开始部分包括:生成对应于所述第一音频项的结束部分的第一声谱图和对应于所述第二音频项的开始部分的第二声谱图;对于一系列频带中的每个频带,识别所述第一音频项的结束部分内的所述第一声谱图和所述第二音频项的开始部分内的所述第二声谱图在其上具有特定的互相关的窗口;对于所述一系列频带中的每个频带,修改所述第一声谱图的结束部分和所述第二声谱图的开始部分,使得所述频带内的频率幅度在所述第一声谱图内在所述第一声谱图的结束部分减小,并且所述频带内的频率幅度在所述第二声谱图内在所述第二声谱图的开始部分增加;以及基于所述第一声谱图的修改的结束部分生成包括所述第一音频项的修改的结束部分的所述第一音频项的修改版本,并且基于所述第二声谱图的修改的开始部分生成包括所述第二音频项的修改的开始部分的所述第二音频项的修改版本。所述计算机可读介质可以是但不限于非暂时性介质。
[0017] 根据所公开主题的一些实施例,提供了一种用于在播放列表中的音频项之间过渡的系统,所述系统包括:用于识别音频项的播放列表中的音频项序列的装置,其中所述音频项序列包括第一音频项和第二音频项,所述第二音频项将在所述第一音频项之后播放;和用于修改所述第一音频项的结束部分和所述第二音频项的开始部分的装置,其中所述第一音频项的结束部分和所述第二音频项的开始部分将被同时播放以在所述第一音频项和所述第二音频项之间过渡,其中,所述第一音频项的结束部分和所述第二音频项的开始部分具有重叠持续时间,并且其中,修改所述第一音频项的结束部分和所述第二音频项的开始部分包括:用于生成对应于所述第一音频项的结束部分的第一声谱图和对应于所述第二音频项的开始部分的第二声谱图的装置;用于对于一系列频带中的每个频带,识别所述第一音频项的结束部分内的所述第一声谱图和所述第二音频项的开始部分内的所述第二声谱图在其上具有特定的互相关的窗口的装置;用于对于所述一系列频带中的每个频带修改所述第一声谱图的结束部分和所述第二声谱图的开始部分的装置,使得所述频带内的频率幅度在所述第一声谱图内在所述第一声谱图的结束部分减小,并且所述频带内的频率幅度在所述第二声谱图内在所述第二声谱图的开始部分增加;以及用于基于所述第一声谱图的修改的结束部分生成包括所述第一音频项的修改的结束部分的所述第一音频项的修改版本,并且基于所述第二声谱图的修改的开始部分生成包括所述第二音频项的修改的开始部分的所述第二音频项的修改版本的装置。
[0018] 在一种实现方式中,所述系统可以是语音合成系统。
[0019] 根据所公开主题的一些实施例,提供了一种用于在播放列表中的音频项之间过渡的系统,所述系统包括:存储器;以及硬件处理器,当执行所述存储器中的计算机可执行指令时,所述硬件处理器被配置成执行根据本文描述的任何方面或实施例的方法。
[0020] 根据所公开主题的一些实施例,提供了一种计算机可读介质,所述计算机可读介质包含计算机可执行指令,所述计算机可执行指令当被处理器执行时,使得处理器执行根据本文描述的任何方面或实施例的方法。计算机可读介质可以是但不限于非暂时性介质。
[0021] 例如,音频项可以是语音合成系统的语音片段(例如,预先录制的语音片段)。播放列表按照语音合成系统期望再现的语音片段的顺序排列语音片段,以提供期望的可听输出短语。
[0022] 然而,所公开的方法、系统和介质不限于与语音合成系统一起使用,并且本公开的原理具有许多潜在的应用。作为另一个示例,音频项可以是歌曲。播放列表按照期望歌曲被再现/播放的顺序排列歌曲。附图说明
[0023] 当结合以下附图考虑时,参考所公开主题的以下详细描述,可以更全面地理解所公开主题的各种目的、特征和优点,在附图中,相同的附图标记表示相同的元件。
[0024] 图1示出了根据所公开主题的一些实施例的用于生成和呈现音频项的播放列表的过程的说明性示例,其中播放列表中的音频项之间具有过渡。
[0025] 图2示出了根据所公开主题的一些实施例的用于生成两个音频项之间的过渡的过程的说明性示例。
[0026] 图3示出了根据所公开主题的一些实施例的当前音频项片段和下一个音频项片段的相关系数和节奏度量曲线的说明性示例。
[0027] 图4示出了根据所公开主题的一些实施例的用于在当前音频项片段和下一个音频项片段之间过渡的回放速度曲线的说明性示例。
[0028] 图5示出了根据所公开主题的一些实施例的对齐声谱图的雕刻的说明性示例,其中当前音频项片段和下一音频项片段的对齐声谱段重叠,并且其中遮蔽部分用于融合当前音频项片段和下一音频项片段的对齐声谱段。
[0029] 图6A至图6E示出了根据所公开主题的一些实施例的两个音频项之间的融合过渡的说明性示例。
[0030] 图7示出了根据所公开主题的一些实施例的适用于实现这里描述的用于播放列表中的音频项之间的无缝音频融合的机制的说明性系统的示意图。
[0031] 图8示出了根据所公开主题的一些实施例的可以在图7的服务器和/或用户设备中使用的硬件的详细示例。

具体实施方式

[0032] 根据各种实施例,提供了用于播放列表中的音频项之间的无缝音频融合的机制(该机制可以包括方法、系统和介质)。
[0033] 一般而言,这些机制涉及通过在第一音频项的结束部分和第二音频项的开始部分之间进行视觉上的接缝雕刻以指示将特定频率从第一音频项过渡到第二音频项的时间来在有序播放列表中的音频项之间进行过渡。
[0034] 在一些实施例中,这里描述的机制可以在播放列表中的两个音频项之间生成平滑过渡,使得第一音频项A平滑过渡到第二音频项B。在一些实施例中,音频项A和音频项B之间的平滑过渡可以包括任何合适类型的过渡。例如,在一些实施例中,这里描述的机制可以生成音频项A和音频项B的修改版本,使得当音频项A的结束部分重叠或以其它方式定位在音频项B的开始部分上时,(1)音频项A和B的重叠部分在节奏和/或节拍上匹配,以及(2)在重叠部分期间,音频项A的音量减小而音频项B的音量增大。
[0035] 为了方便起见,进一步的详细描述涉及其中音频项是歌曲的实施例,但是如所指出的,本发明不限于此,并且所描述的方法、系统和介质原则上可以应用于其它音频项。
[0036] 作为更具体的示例,在一些实施例中,这里描述的机制可以生成歌曲A和歌曲B的修改版本,使得歌曲A通过使用节奏分析来将歌曲A的结束部分的节奏与歌曲B的开始部分相匹配,使用节拍分析来将歌曲A的结束部分的节拍与歌曲B的开始部分的节拍对齐,将歌曲A的结束部分的音量衰落到歌曲B的开始部分,和/或任何其它合适类型的过渡来过渡到歌曲B。继续这个示例,这里描述的机制可以包括基于每个频率区域内能量匹配的质量来雕刻歌曲A和歌曲B的对齐声谱图。在一些实施例中,这里描述的机制可以迭代播放列表中包括的歌曲序列,使得在每首歌曲之间生成平滑过渡。在一些实施例中,可以将包括在播放列表的歌曲之间的平滑过渡的修改的播放列表提供给用户设备,用于在用户设备上回放,如下面结合图1所示和所述的。
[0037] 在一些实施例中,这里描述的机制可以以任何合适的方式并使用任何合适的技术来生成两首歌曲之间的平滑过渡。例如,如下面结合图2所示和所述的,在一些实施例中,该机制可以基于识别歌曲A的声谱图和歌曲B的声谱图中最相似的部分,来确定第一歌曲A的结束部分的持续时间和第二歌曲B的开始部分的持续时间,在歌曲A和歌曲B之间的过渡期间,歌曲A和歌曲B将在该持续时间上重叠。作为另一个示例,在一些实施例中,该机制可以在歌曲A和歌曲B的所识别的重叠部分期间修改歌曲A和歌曲B的节奏。作为又一个示例,在一些实施例中,该机制可以生成歌曲A和歌曲B之间的过渡,使得歌曲A的幅度在过渡期间衰落或减小,而使歌曲B的幅度在过渡期间斜升或增大。作为更具体的示例,在一些实施例中,该机制可以生成过渡,使得歌曲A的幅度在过渡期间减小,而使歌曲B的幅度在过渡期间在不同频带中以不同的方式增大,而不是在过渡期间对于所有频率以相同的方式改变幅度,如下面结合图2所示和所述的。
[0038] 转向图1,示出了根据所公开主题的一些实施例的用于生成和呈现歌曲播放列表的过程的说明性示例100,其中在播放列表中的歌曲之间有过渡。在一些实施例中,过程100的框可以由任何合适的设备来执行。例如,在一些实施例中,过程100的框可以由存储和/或向用户设备提供音频内容项(例如,歌曲、歌曲播放列表和/或任何其它合适的音频内容项)的服务器来执行。作为更具体的示例,在一些实施例中,过程100的框可以由与媒体内容共享服务、社交网络服务相关联的服务器和/或任何其它合适的服务器来执行。
[0039] 过程100可以通过识别歌曲播放列表中的歌曲序列而在102处开始。在一些实施例中,过程100可以以任何合适的方式识别歌曲播放列表中的歌曲序列。例如,在一些实施例中,过程100可以识别歌曲的播放列表,该播放列表指示包括在该播放列表中的一组歌曲的标识符以及该组歌曲中的歌曲将被呈现的序列或顺序。注意,在一些实施例中,歌曲的播放列表可以由任何合适的实体创建。例如,在一些实施例中,歌曲播放列表可以是与特定用户账户相关联的用户生成的播放列表。作为另一个示例,在一些实施例中,歌曲的播放列表可以由艺术家或内容创作者创建,并且可以与和艺术家或内容创作者相关联的频道相关联地存储和/或提供。另外,注意,在一些实施例中,歌曲的播放列表可以包括任何合适数量的歌曲(例如,两首、三首、五首、十首、二十首和/或任何其它合适的数量)。
[0040] 在104处,过程100可以修改歌曲序列中第一歌曲的结束部分和在歌曲序列中第一歌曲之后包括的第二歌曲的开始部分。在一些实施例中,过程100可以修改第一歌曲的结束部分和第二歌曲的开始部分,使得当同时播放第一歌曲的结束部分和第二歌曲的开始部分时,存在从第一歌曲到第二歌曲的平滑过渡。注意,在一些实施例中,要同时播放的第一歌曲的结束部分和第二歌曲的开始部分在这里有时被称为重叠。
[0041] 在一些实施例中,过程100可以以任何合适的方式修改第一歌曲的结束部分和第二歌曲的开始部分,以生成第一歌曲和第二歌曲之间的平滑过渡。例如,在一些实施例中,过程100可以修改第一歌曲的结束部分和第二歌曲的开始部分,使得第一歌曲的结束部分和第二歌曲的开始部分具有相似的节奏。作为另一个示例,在一些实施例中,过程100可以修改第一歌曲的结束部分和第二歌曲的开始部分,使得第一歌曲的结束部分的节拍与第二歌曲的开始部分的节拍对齐。作为又一个示例,在一些实施例中,过程100可以修改第一歌曲的结束部分的幅度和第二歌曲的开始部分的幅度,使得在从第一歌曲到第二歌曲的过渡期间,第一歌曲衰落到第二歌曲。作为更具体的示例,在一些实施例中,过程100可以通过在不同时间点修改不同频带的幅度来修改第一歌曲的结束部分的幅度和第二歌曲的开始部分的幅度,以使得幅度过渡比同时跨所有频率的幅度过渡更不易被察觉。注意,用于修改第一歌曲的结束部分和第二歌曲的开始部分的更详细的技术在下面结合图2示出和描述。
[0042] 在106处,过程100可以结合播放列表的修改版本存储修改的歌曲(例如,具有第一歌曲的修改的结束部分的第一歌曲和具有第二歌曲的修改的开始部分的第二歌曲)。在一些实施例中,过程100可以以任何合适的方式结合播放列表的修改版本来存储修改的歌曲。例如,在一些实施例中,过程100可以生成或初始化对应于播放列表的修改版本的新播放列表。在一些这样的实施例中,新播放列表可以具有将播放列表的修改版本与原始播放列表相关联的标识符。作为另一个示例,在一些实施例中,过程100可以用第一歌曲的修改版本和第二歌曲的修改版本来替换歌曲播放列表中的第一歌曲和第二歌曲。作为又一示例,在一些实施例中,过程100可以存储第一歌曲和第二歌曲之间的重叠的持续时间的指示(例如,第一歌曲的结束部分的持续时间和第二歌曲的开始部分的持续时间),使得播放歌曲播放列表的用户设备可以开始呈现第二歌曲,使得对应于该重叠的第二歌曲的开始部分与对应于该重叠的第一歌曲的结束部分同时播放。
[0043] 在一些实施例中,过程100可以循环回到104,并且可以修改播放列表的歌曲序列中的第二歌曲的结束部分和第三歌曲的开始部分,以生成第二歌曲和第三歌曲之间的无缝过渡。在一些实施例中,过程100可以循环通过104和106,直到歌曲播放列表中的每首歌曲都已经被修改以生成播放列表中连续歌曲之间的过渡。
[0044] 在一些实施例中,响应于检测到新歌曲已经被插入到播放列表中(或者播放列表的顺序已经改变,其中在第二歌曲之后跟随的是不同的歌曲),过程100可以循环回到104,并且可以修改第二歌曲的结束部分和新歌曲的开始部分,以生成第二歌曲和新添加的歌曲之间的无缝过渡。
[0045] 在108处,过程100可以从用户设备接收呈现播放列表中的歌曲序列的请求。在一些实施例中,过程100可以以任何合适的方式从用户设备接收请求。例如,在一些实施例中,过程100可以接收已经通过呈现在用户设备上的用户界面选择了与播放列表相关联的图标或链接的指示。
[0046] 在110处,响应于接收到请求,过程100可以使得用户设备呈现播放列表的修改版本的修改的歌曲。在一些实施例中,过程100可以以任何合适的方式传输将由用户设备呈现的播放列表的修改版本的修改的歌曲。例如,在一些实施例中,过程100可以以任何合适的方式并使用任何合适的技术将修改的歌曲流式传输到用户设备。作为另一个示例,在一些实施例中,过程100可以允许播放列表中包括的歌曲被下载到用户设备,以存储在用户设备上并由用户设备呈现。注意,在一些实施例中,过程100可以传输播放列表的修改版本中的连续的修改的歌曲之间的每个过渡的重叠持续时间的指示,该指示可指示在播放列表的修改版本的呈现期间两首连续的修改的歌曲将会重叠的时间。
[0047] 在一些实施例中,用户设备可以以任何合适的方式呈现要呈现的播放列表的修改版本的修改的歌曲。例如,在一些实施例中,用户设备可以使播放列表的第一歌曲开始呈现。继续这个示例,在一些实施例中,用户设备可以识别重叠持续时间,在该重叠持续时间期间,第一歌曲的结束将与播放列表中的下一首歌曲的开始部分同时播放。进一步继续该示例,在一些实施例中,用户设备可以响应于确定在第一歌曲的回放中还有剩余的重叠持续时间,开始呈现播放列表中的下一首歌曲,并且可以与第二歌曲的开始部分同时播放第一歌曲的剩余部分。注意,在一些实施例中,用户设备可以使用任何合适的媒体内容播放器来呈现播放列表的修改版本的修改的歌曲,该媒体内容播放器包括任何合适的控件来调整修改的歌曲的回放(例如,回放位置倒带、回放位置快进、重放歌曲、调整音量和/或任何其它合适的控件)。
[0048] 转向图2,根据所公开主题的一些实施例示出了用于生成两首歌曲之间的过渡的过程的说明性示例200。在一些实施例中,过程200的框可以由任何合适的设备来执行。例如,在一些实施例中,过程200的框可以由存储媒体内容和/或向用户设备提供媒体内容的服务器来执行。作为更具体的示例,在一些实施例中,过程200可以由存储歌曲播放列表的服务器来执行,并且服务器可以执行过程200的框来修改包括在歌曲播放列表中的歌曲之间的过渡。
[0049] 过程200可以在202处通过识别第一歌曲A和第二歌曲B来开始。在一些实施例中,过程200可以以任何合适的方式识别第一歌曲A和第二歌曲B。例如,在一些实施例中,过程200可以是迭代播放列表中的歌曲的过程,并且可以在迭代播放列表中的歌曲期间选择与播放列表中包括的下一对歌曲相对应的歌曲A和B。注意,在一些实施例中,歌曲A和歌曲B中的每一首可以具有任何合适的持续时间(例如,十秒、三十秒、一分钟、三分钟、五分钟和/或任何其它合适的持续时间)。
[0050] 在204处,在一些实施例中,过程200可以为歌曲A和歌曲B之间的过渡选择最小潜在重叠持续时间Nmin和最大潜在重叠持续时间Nmax。注意,如上文结合图1所述的,在一些实施例中,重叠持续时间可以指示歌曲A的结束部分(即将结束的歌曲)的持续时间和歌曲B的开始部分(即将开始的歌曲)的持续时间,它们将在从歌曲A到歌曲B的过渡期间同时播放。在一些这样的实施例中,最小潜在重叠持续时间Nmin可以指示最短的潜在重叠持续时间,并且最大潜在重叠持续时间Nmax可以指示最长的潜在重叠持续时间。注意,在一些实施例中,Nmin和Nmax之间的重叠持续时间Noverlap可以由过程200选择,如下面结合214所述的。
[0051] 在一些实施例中,Nmin和Nmax可以对应于任何合适的持续时间,其中Nmin小于Nmax。例如,在一些实施例中,潜在的重叠持续时间可以包括三秒、五秒、十秒、二十秒和/或任何其它合适的持续时间。在一些实施例中,过程200可以以任何合适的方式选择Nmin和Nmax。例如,在一些实施例中,可以基于歌曲A和歌曲B的持续时间来选择Nmin和Nmax。作为更具体的示例,在一些实施例中,在歌曲A和/或歌曲B的持续时间相对较长的情况下(例如,在歌曲A和歌曲B是扩展版本和/或任何其它合适的相对较长版本的情况下),过程200可以为Nmin和Nmax选择相对较大的值。作为另一个更具体的示例,在一些实施例中,在歌曲A和/或歌曲B的持续时间相对较短和/或具有标准长度的情况下,过程200可以为Nmin和Nmax选择相对较小的值。
[0052] 应当注意,在一些实施例中,过程200可以从歌曲A的结束部分和/或歌曲B的开始部分修剪静音,从而产生歌曲A和歌曲B的静音修剪部分。还应当注意,过程200可以在选择重叠持续时间之前以及在下文描述的节奏估计和对齐之前执行这种静音修剪。例如,在获得歌曲A和/或歌曲B的静音修剪部分之后,过程200可以计算歌曲A的最后40秒和歌曲B的前40秒的声谱图。
[0053] 在206处,过程200可以选择在歌曲A和歌曲B重叠期间歌曲A和歌曲B之间的最大可接受回放速度变化。在一些实施例中,最大可接受回放速度变化可以指示在歌曲A的结束部分期间歌曲A的回放速度和在歌曲B的开始部分期间歌曲B的回放速度可以被改变以匹配它们的韵律的最大量。在一些实施例中,最大可接受回放速度变化可以对应于任何合适的百分比(例如,2%、5%、8%、10%和/或任何其它合适的百分比)。
[0054] 在208处,过程200可以计算歌曲A的最后Nmax秒和歌曲B的最先Nmax秒的声谱图。在一些实施例中,过程200可以以任何合适的方式并使用任何合适的技术来计算声谱图。例如,在一些实施例中,过程200可以使用任何合适持续时间(例如,30毫秒、50毫秒、70毫秒和/或任何其它合适持续时间)的切片来计算声谱图。在更具体的示例中,过程200可以通过使用具有四倍重叠(即,之间的12.5毫秒步长)的汉宁窗口(Hanning window)的50毫秒的帧长度来计算声谱图。所使用的快速傅立叶变换(FFT)大小可以是2的下一次幂(power),大于帧长度的两倍。例如,使用每秒16,000个样本的采样速率,FFT大小可以设置为2,048。如果基础音频速率大于每秒16,000个样本,则可以进行全带宽变换来生成声谱图,以便在反演过程中使用。
[0055] 作为另一个示例,在一些实施例中,过程200可以计算切片之间具有任何合适的重叠百分比(例如,50%重叠、75%重叠、80%重叠和/或任何其它合适的重叠百分比)的声谱图。在一些实施例中,过程200可以使用任何合适的技术或技术组合来计算声谱图,例如通过使用短时傅立叶变换(STFT),和/或以任何其它合适的方式。注意,在一些实施例中,可以选择用于计算声谱图的参数,使得歌曲A和歌曲B中的每一首歌曲中的节拍的节拍位置在所得的声谱图中是可识别的。
[0056] 在210处,过程200可以确定歌曲A的最后Nmax秒(例如,歌曲A的结束部分)的节奏和歌曲B的最先Nmax秒(例如,歌曲B的开始部分)的节奏。可以进行这种节奏确定,使得过程200可以例如在片段对齐期间匹配节拍。
[0057] 在一些实施例中,过程200可以以任何合适的方式确定节奏。例如,在一些实施例中,过程200可以通过计算歌曲A的最后Nmax秒的声谱图的自相关来计算歌曲A的最后Nmax秒的节奏,并且可以通过计算歌曲B的最先Nmax秒的声谱图的自相关来计算歌曲B的最先Nmax秒的节奏。
[0058] 例如,在一些实施例中,过程200可以计算声谱图的自相关中的周期性作为节奏。在一些实施例中,过程200可以计算声谱图的不同频率的自相关。在一些这样的实施例中,过程200然后可以通过计算声谱图的不同频率的自相关的平均值来计算平均自相关。继续这个示例,在一些实施例中,过程200可以通过计算平均自相关内的周期性来计算节奏。
[0059] 注意,在一些实施例中,不是分别使用歌曲A的声谱图的最后Nmax秒和歌曲B的声谱图的最先Nmax秒来计算歌曲A的最后Nmax秒的节奏和歌曲B的最先Nmax秒的节奏,在一些实施例中,过程200可以通过分别计算歌曲A的时域音频信号的最后Nmax秒和歌曲B的时域音频信号的最先Nmax秒的自相关来计算歌曲A的最后Nmax秒的节奏和歌曲B的最先Nmax秒的节奏。
[0060] 在一些实施例中,过程200可以分析歌曲A的最后Nmax秒和歌曲B的最先Nmax秒,以确定候选节奏的列表。例如,为了估计节奏,过程200可以从每个片段滞后的相关系数ρ[l]开始,并且可以从ρ[l]计算次谐波增强的差分节奏度量t[l],其可以表示为:
[0061]
[0062] 应当注意,节奏度量是局部差分的,因为它使用l的i次谐波处的强度差ρ[il]和任一侧一个周期内ρ的最小值,从而减少自相关函数中看到的主瓣效应并抑制减半的节奏。当存在一致的节奏时,这种差分节奏度量可以使节奏峰值明显减轻,例如,如图3所示。利用这种差分度量,0.25可以被认为对应于强节拍,而低于0.01可以被认为对应于弱的或不一致的节奏。因此,对于对应于歌曲A的最后Nmax秒(例如,歌曲A的结束部分)和歌曲B的最先Nmax秒(例如,歌曲B的开始部分)的节奏曲线中的每一个,过程200可以确定大于0.01并且大于其两个最接近的相邻滞后的峰值的滞后和强度。
[0063] 转向图3,使用以每拍1.04秒最显著的差分节奏度量,当前歌曲310的结束部分被确定为具有0.016的弱节奏(如指示符315所示)。同样如图3所示,当前歌曲310的结束部分也被确定为具有以每拍0.069秒和每拍0.093秒的两个较弱的替代节奏。对于下一首歌曲320的开始部分,使用以每拍0.89秒最显著的差分节奏度量,确定下一首歌曲320具有0.25的较强节奏(如指示符325所示)。
[0064] 回到图2,在212处,过程200可以使用当前歌曲的结束部分(有时称为当前片段)和下一首歌曲的开始部分(有时称为下一片段)的估计节奏来对于对应的声谱图进行重新采样,使得节奏对齐,同时使节奏变化的可能可听度最小化。例如,如图2所示,这可以包括确定从歌曲A的最后Nmax秒的节奏过渡到歌曲B的最先Nmax秒的节奏的节奏匹配比率和节奏变化率。在一些实施例中,节奏匹配比率可以指示在歌曲A和歌曲B之间的重叠期间(例如,当歌曲A的结束部分与歌曲B的开始部分同时播放时)歌曲A的节拍与歌曲B的节拍对齐的比率。在一些实施例中,节奏变化率可以指示在重叠期间歌曲A和B的节奏将被调整的速率。
[0065] 注意,在一些实施例中,过程200可以首先确定歌曲A的最后Nmax秒的节奏和歌曲B的最先Nmax秒的节奏之间的差是否在206处识别的最大可接受节奏差之内。例如,在歌曲A的最后Nmax秒的节奏被计算为每拍1.06秒,歌曲B的最先Nmax秒的节奏被计算为每拍1.05秒,并且最大可接受节奏差为5%的情况下,过程200可以确定节奏差在最大可接受节奏差之内。在一些这样的实施例中,在过程200确定歌曲A的最后Nmax秒的节奏和歌曲B的最先Nmax秒的节奏在最大可接受的节奏差内的情况下,过程200可以确定歌曲A和歌曲B的节奏不必被调整,并且歌曲A的最后Nmax秒和歌曲B的最先Nmax秒的节拍可以以1:1的比率匹配。
[0066] 相反,在过程200确定歌曲A的最后Nmax秒的节奏和歌曲B的最先Nmax秒的节奏不在206处识别的最大可接受节奏差内的情况下,过程200可以计算节奏匹配比率和节奏变化率,歌曲A的最后Nmax秒的节奏将通过该节奏匹配比率和节奏变化率来调整,使得歌曲A的最后Nmax秒的节拍与歌曲B的最先Nmax秒的节拍对齐。
[0067] 在一些实施例中,过程200可以以任何合适的方式计算节奏匹配比率。例如,在一些实施例中,过程200可以计算最低有理数分数,该最低有理数分数将在206处识别的最大可接受节奏差内,将歌曲A的最后Nmax秒的节奏与歌曲B的最先Nmax秒的节奏相匹配。作为更具体的示例,在歌曲A的最后Nmax秒的节奏是每拍1.06秒,而歌曲B的最先Nmax秒的节奏是每拍0.68秒的情况下,过程200可以将节奏的比率计算为0.68/1.06或0.6415。继续这个示例,过程200可以确定最接近0.6415的最低有理数分数是2/3≈0.6667。在一些实施例中,过程200然后可以基于节奏和计算的最低有理数分数的比率来计算节奏变化率。例如,在一些实施例中,过程200可以将节奏变化率计算为节奏的计算比率和最接近该节奏比率的最低有理数部分的值之间的百分比差。继续上面给出的示例,在一些实施例中,过程200可以计算节奏变化率为
[0068] 在214处,过程200可以通过在歌曲A和歌曲B的重叠期间通过节拍匹配歌曲A和歌曲B来生成歌曲A和歌曲B的修改的声谱图。在一些实施例中,过程200可以以任何合适的方式来节拍匹配歌曲A和歌曲B之间的过渡。例如,在一些实施例中,过程200可以确定范围从Nmin到Nmax的歌曲A和歌曲B的重叠持续时间Noverlap,其中歌曲A和歌曲B的声谱图最接近地匹配。在一些实施例中,过程200可以以任何合适的方式识别重叠。例如,在一些实施例中,过程200可以生成相关矩阵,以识别歌曲A和歌曲B的声谱图中在Nmin和Nmax之间的最大匹配。
[0069] 在一些实施例中,为了避免重叠的选择偏向Nmax,过程200可以通过被重叠的区域中的歌曲A或歌曲B的幂来归一化相关矩阵的每个偏移。注意,在一些实施例中,歌曲A的最后Noverlap秒的节拍可以以在212处计算的节奏匹配比率来与歌曲B的最先Noverlap秒的节拍对齐。例如,在212处计算出最低有理数分数的情况下,可以以在212处计算出的有理数分数比率来对齐节拍。
[0070] 注意,在过程200在212处确定歌曲A和歌曲B的节奏要被调整的情况下,过程200可以对歌曲A的最后Nmax秒进行节奏扭曲和/或对歌曲B的最先Nmax秒进行节奏扭曲。在一些实施例中,过程200可以以任何合适的方式对歌曲A和/或歌曲B进行节奏扭曲。例如,在一些实施例中,过程200可以在歌曲B的最先Nmax秒期间内插声谱图的帧,以应用在212处计算的节奏变化。在一些实施例中,过程200然后可以逐渐转变到对歌曲A的最后Nmax秒应用节奏变化。注意,在一些实施例中,过程200可以在确定Noverlap之前调整歌曲A和歌曲B的节奏,如上所述。
[0071] 在节奏对齐的更具体示例中,过程200可以对当前片段({TC[k]}和{SC[k]})和下一个片段({TN[k]}和{SN[k]})使用这两组候选节奏和强度来确定如何改变片段的速度以允许节拍对齐。
[0072] 更具体地,在一些实施例中,过程200可以在({TC[kC]}和{TN[kC]})的所有对中确定提供最强组合强度的对,S[kC,kN]=SC[kC]+SN[kN],其具有最不明显的速度变化也就是说,过程200可以对当前和接下来的声谱图进行重新采样,以使用可以最小化或降低速度变化的可能可听度的速度曲线来使这两个节奏对齐。继续这个示例,过程200可以收集在用户指定的允许范围(例如‑15%到25%)内提供γ的所有(kC,kN)配对,并且可以通过以下可察觉的速度变化来惩罚组合强度:
[0073] S[kC,kN]×(1‑max(0,γ[kC,kN]‑γthres))
[0074] 其中γthres是例如5%。利用这一点,过程200可以确定每首歌曲中的速度变化γ和节奏峰值的最大强度,Sγ,C=max{SC}和Sγ,N=max{SN}。
[0075] 在一些实施例中,为了使用这种配对来匹配节奏,过程200可以以下一片段的速度的γ+1来播放当前片段。每首歌曲中速度峰值的最大强度可以用于确定在重叠段的过程中速度变化的曲线。为了偏置过渡以将具有更强节拍的片段在其自然速度下维持更长的时间间隔,过程200可以生成速度曲线。
[0076] 图4示出了速度曲线的示例。继续图3的示例,过程200可以生成从弱节奏片段到强节奏片段增加回放速度的速度曲线,其中回放速度在弱节奏部分期间改变。更具体地,由于下一片段具有比当前片段更强的0.25的节奏,当前片段具有0.016的节奏,因此强节奏部分中回放速度的改变可能比弱节奏部分中回放速度的改变更容易被听到。
[0077] 继续这个示例,过程200可以使用Sγ,C和Sγ,N来确定恒速段的相对长度RC和RN,其可以表示为:
[0078]
[0079] 应当注意,RC和RN是以当前片段的自然速度和下一片段的自然速度回放的重叠段的分数。如图4所示,过程200可以线性地改变重叠的剩余1‑RC‑RN部分的速度。
[0080] 还应当注意,这组速度约束连同LF,C(当前片段上的自然重叠持续时间),可以确定(重新采样的)节奏对齐的持续时间LF,其可以表示为:
[0081]
[0082] 利用图4的目标速度曲线上的样本数,当前片段中的自然速度持续时间是LF,C,而下一片段中的自然速度持续时间是
[0083] 继续这个示例,过程200可以形成时间相关的点积矩阵,示出在那些当前片段和下一片段自然时间的当前片段和下一片段的谱积。为了实施1+γ相对速度,过程200可以在具有1+γ斜率和由当前片段和下一片段之间的偏移时间确定的截距的线上积分点积矩阵。在那条线上,过程200可以使用图4所示的采样曲线对积分进行采样。当回放速度是当前片段的自然速度时,采样间隔是垂直轴(当前片段时间)上的一个单位,当回放速度是下一片段的自然速度时,采样间隔是平轴(下一片段时间)上的一个单位,中间间隔用于中间速度。
[0084] 应当注意,由于点积矩阵是在声谱幅度的乘积上计算的,因此过程200可以通过重新采样的重叠段的单独的幂曲线来归一化线积分值,从而提供相关系数测量。使用这种方法,过程200可以找到具有最强相关系数的偏移。该偏移和采样曲线可用于生成两个基本的节奏对齐、偏移对齐的段,以用于无缝音频融合。
[0085] 参考回图2,在216处,过程200可以在声谱图的一系列频带处识别从歌曲A到歌曲B的过渡期间开始和结束幅度衰落的时间点。在一些实施例中,该系列频带可以包括任何合适数量的频带(例如,8、16、32和/或任何其它合适数量的频带)。在一些实施例中,该一系列频带中的频带可以是对数大小的。注意,在一些这样的实施例中,对于较低频带,可以有最小数量的频率通道(例如,四个通道,和/或任何其它合适的最小值)。例如,在声谱图为1025宽并且要构建16个频带的情况下,过程200可以构建一系列频带,其中每个频带的顶部频率仓是:[4,8,12,16,20,24,28,32,49,76,117,181,279,439,665,1025]。
[0086] 在一些实施例中,过程200可以以任何合适的方式为一系列频带中的每个频带识别开始和结束幅度衰落的时间点。例如,在一些实施例中,从最低频带开始(例如,上面给出的示例频带中的频率仓0‑3),过程200可以找到歌曲A的最后Noverlap秒和歌曲B的最先Noverlap秒的最低频带内的具有高互相关的声谱图的区域。也就是说,过程200可以通过检查局部纹理对齐来确定每个可能的开始时间点和结束时间点的质量,其中,如果开始‑结束点之间的该两个底层纹理相似,则该对的质量可以被给予高的互相关分数,而如果开始‑结束点之间的该两个底层纹理不相似,则该对的质量可以被给予相对较低的互相关分数。在一些实施例中,被识别为产生高互相关的窗口和位置可以用于定义最低频带的幅度衰落的开始时间点和结束时间点。在一些实施例中,过程200然后可以移动到下一个更高的频带(例如,上面给出的示例频带中的5Hz–8Hz),并且可以类似地识别在下一个更高的频带内具有最高互相关的窗口。注意,在一些实施例中,过程200可以将互相关长度约束为与为最低频带识别的窗口的长度相同或更短的长度,并且与为最低频带识别的窗口重叠超过预定量(例如,重叠超过预定持续时间,重叠超过预定百分比,和/或重叠任何其它合适的量)。在一些实施例中,过程200可以对该一系列频带中的所有频带类似地继续。注意,在一些实施例中,最高频带的幅度衰落的窗口可以比最低频带的幅度衰落的窗口相对短,从而在较高频带产生较短的交叉衰落。
[0087] 根据所公开主题的一些实施例,在图5中示出了组合跨频带的开始‑结束点的示例性掩码,其中该示例性掩码可用于融合歌曲A的结束部分和歌曲B的开始部分的两个对齐的声谱段。如上所述,使用动态编程,过程200可基于每个频率区域内的能量匹配质量来确定掩码中的开始‑结束点的最佳路径。例如,融合的左边缘是最早的重叠切片,底部14个声谱区域的右边缘是最晚的重叠切片。对于顶部的两个区域,交叉面的结束移动得越来越靠近其开始。找到这些最佳开始点和结束点后,过程200可以线性地衰落它们之间的声谱图。
[0088] 应当注意,除了图5中所示的掩码之外,融合的声谱图可以与当前歌曲(例如,歌曲A)的声谱图和下一首歌曲(例如,歌曲B)的声谱图相同。
[0089] 还应当注意,在一些实施例中,过程200可以包括过渡惩罚,以阻止较高频率下交叉面中点的漂移和交叉衰落的延长。例如,可以对开始‑结束时间中的位置变化分配惩罚,该惩罚或者相对于先前(较低频率)频带延长这些点之间的距离,或者相对于其在先前(较低频率)频带中的位置改变交叉衰落的中心。
[0090] 还应注意,尽管图5示出了频带以类似梅尔标度(mel‑scale‑like)的间隔分组,其中有16个谱带,但这仅仅是说明性的。
[0091] 在218处,如上所述,过程200可以基于在216处识别的幅度衰落窗口,通过歌曲A和歌曲B的幅度衰落幅度来修改节拍匹配声谱图。在一些实施例中,过程200可以以任何合适的方式修改节拍匹配声谱图。例如,在一些实施例中,过程200可以通过执行对应于一系列频带中的每个频带内的歌曲A和歌曲B的声谱图的加权时间平均来合并节拍匹配的声谱图。作为更具体的示例,在一些实施例中,在216处识别的时间点指示将从3:00‑3:15的时间点执行频率仓0‑3的幅度衰落的情况下,过程200可以在3:00‑3:15的时间点内对歌曲A和歌曲B的声谱图进行平均,使得歌曲A在3:00贡献100%的幅度,而歌曲B在3:15贡献100%的幅度。在一些实施例中,幅度衰落窗口期间每首歌曲的百分比幅度贡献可以遵循任何合适的函数,例如线性函数和/或任何其它合适的函数。
[0092] 两首歌曲之间的融合过渡的说明性示例在图6A至图6D中示出。例如,图6A在两首歌曲之间具有5秒的重叠长度、4.1%增加的速度变化以及0.031和0.032的节奏强度,图6B在两首歌曲之间具有11.67秒的重叠长度、4.8%增加的速度变化以及0.028和0.22的节奏强度,图6C具有7.11秒的重叠长度、17.3%增加的速度变化以及0.009和0.029的节奏强度,并且图6D具有15秒的重叠长度、2.2%增加的速度变化以及0.029和0.010的节奏强度。
[0093] 在220处,过程200可以基于修改的声谱图为歌曲A和歌曲B生成修改的音频波形。在一些实施例中,过程200可以以任何合适的方式生成修改的音频波形。例如,在一些实施例中,过程200可以通过使用逆STFT和/或以任何其它合适的方式从修改的声谱图中估计音频信号来生成音频波形。
[0094] 在一些实施例中,过程200可以使用任何合适的技术或技术组合来使用修改的声谱图来估计修改的音频波形的相位。例如,在一些实施例中,过程200可以使用类似于Griffin‑Lim技术的技术来根据修改的声谱图迭代地估计音频波形的相位。在一些实施例中,过程200可以以任何合适的方式设置相位的初始估计,以减少估计音频波形的相位所需的迭代次数。例如,在一些实施例中,过程200可以针对不包括在重叠中的声谱图的时间点将相位的初始估计设置为歌曲A和歌曲B的原始声谱图的相位,并且可以针对包括在重叠中的时间点将相位的初始估计设置为重叠中的相位的声谱幅度加权平均。
[0095] 注意,在一些实施例中,过程200可以根据任何合适的约束为歌曲A和歌曲B生成修改的波形。例如,在一些实施例中,过程200可以生成歌曲A和歌曲B的修改的波形,使得通过基于在214处识别的重叠持续时间而重叠或叠加歌曲A和歌曲B的修改的波形所生成的声谱图的幅度与在重叠区域中生成修改的波形的修改的声谱图的幅度相匹配。作为另一个示例,在一些实施例中,过程200可以生成歌曲A和歌曲B的修改的波形,使得通过基于在214处识别的重叠持续时间而重叠或叠加歌曲A和歌曲B的修改的波形所生成的声谱图的相位在重叠区域的开始处(例如,重叠区域的最初一半,和/或重叠区域的任何其它合适的开始)与歌曲A的相位匹配并且匹配歌曲B的相位和重叠区域的结束(例如,重叠区域的最后一半,和/或重叠区域的任何其它合适的最后一半)。
[0096] 注意,在一些实施例中,过程200可以存储与歌曲A和歌曲B的修改版本相对应的所生成的修改的音频波形。例如,在一些实施例中,过程200可以存储与歌曲A和歌曲B的标识符相关的所生成的修改的音频波形。作为另一示例,在一些实施例中,过程200可结合重叠持续时间的指示(例如,如上文结合214所确定和描述的,Noverlap)来存储所生成的修改的音频波形,所述重叠持续时间指示将要与歌曲B的修改版本的开始部分重叠的歌曲A的修改版本的结束部分的持续时间。
[0097] 转向图7,示出了根据所公开主题的一些实施例可以使用的用于播放列表中的歌曲之间的无缝音频融合的硬件的说明性示例700。如图所示,硬件700可以包括服务器702、通信网络704和/或一个或多个用户设备706,例如用户设备708和710。
[0098] 服务器702可以是用于存储信息、数据、程序、媒体内容和/或任何其它合适内容的任何合适的服务器。在一些实施例中,服务器702可以执行任何合适的功能。例如,在一些实施例中,服务器702可以向用户设备传输音频内容项目的播放列表,以在用户设备上呈现。作为另一个示例,在一些实施例中,服务器702可以修改第一歌曲的结束部分和第二歌曲的开始部分,使得当第一歌曲的结束部分与第二歌曲的开始部分重叠时,第一歌曲平滑地过渡到第二歌曲,如结合图2所示和所述的。
[0099] 在一些实施例中,通信网络704可以是一个或多个有线和/或无线网络的任何合适的组合。例如,通信网络704可以包括互联网、内联网、广域网(WAN)、局域网(LAN)、无线网络、数字用户线路(DSL)网络、帧中继网络、异步传输模式(ATM)网络、虚拟专用网(VPN)和/或任何其它合适的通信网络中的任何一个或多个。用户设备706可以通过一个或多个通信链路(例如,通信链路712)连接到通信网络704,通信网络704可以通过一个或多个通信链路(例如,通信链路714)链接到服务器702。通信链路可以是适于在用户设备706和服务器702之间传送数据的任何通信链路,例如网络链路、拨号链路、无线链路、硬连线链路、任何其它合适的通信链路或这些链路的任何合适的组合。
[0100] 用户设备706可以包括适于播放音频内容和/或音频内容播放列表的任何一个或多个用户设备。在一些实施例中,用户设备706可以包括任何合适类型的用户设备,例如移动电话、平板计算机、可穿戴计算机、笔记本计算机、台式计算机、智能电视、媒体播放器、游戏控制台、车辆信息和/或娱乐系统,和/或任何其它合适类型的用户设备。
[0101] 尽管服务器702被示为一个设备,但是在一些实施例中,由服务器702执行的功能可以使用任何合适数量的设备来执行。例如,在一些实施例中,可以使用多个设备来实现由服务器702执行的功能。
[0102] 尽管在图7中示出了两个用户设备708和710以避免该图过于复杂,但是在一些实施例中可以使用任何合适数量的用户设备和/或任何合适类型的用户设备。
[0103] 在一些实施例中,服务器702和用户设备706可以使用任何合适的硬件来实现。例如,在一些实施例中,设备702和706可以使用任何合适的通用计算机或专用计算机来实现。例如,移动电话可以使用专用计算机来实现。任何这样的通用计算机或专用计算机可以包括任何合适的硬件。例如,如图8的示例硬件800所示,这样的硬件可以包括硬件处理器802、存储器和/或储存器804、输入设备控制器806、输入设备808、显示/音频驱动器810、显示和音频输出电路812、通信接口814、天线816和总线818。
[0104] 在一些实施例中,硬件处理器802可以包括任何合适的硬件处理器,例如微处理器微控制器数字信号处理器、专用逻辑和/或用于控制通用计算机或专用计算机的功能的任何其它合适的电路。在一些实施例中,硬件处理器802可以由存储在诸如服务器702的服务器的存储器和/或储存器中的服务器程序来控制。在一些实施例中,硬件处理器802可以由存储在用户设备706的存储器和/或储存器804中的计算机程序控制。
[0105] 在一些实施例中,存储器和/或储存器804可以是用于存储程序、数据和/或任何其它合适信息的任何合适的存储器和/或储存器。例如,存储器和/或储存器804可以包括随机存取存储器只读存储器、闪存、硬盘储存器、光学介质和/或任何其它合适的存储器。
[0106] 在一些实施例中,输入设备控制器806可以是用于控制和接收来自一个或多个输入设备808的输入的任何合适的电路。例如,输入设备控制器806可以是用于从触摸屏键盘、一个或多个按钮、语音识别电路、麦克照相机、光学传感器加速度计、温度传感器、近场传感器、传感器、编码器和/或任何其它类型的输入设备接收输入的电路。
[0107] 在一些实施例中,显示/音频驱动器810可以是用于控制和驱动到一个或多个显示/音频输出设备812的输出的任何合适的电路。例如,显示器/音频驱动器810可以是用于驱动触摸屏、平板显示器、阴极射线管显示器、投影仪、一个或多个扬声器和/或任何其它合适的显示器和/或呈现设备的电路。
[0108] 通信接口814可以是用于与一个或多个通信网络(例如,计算机网络704)接口连接的任何合适的电路。例如,接口814可以包括网络接口卡电路、无线通信电路和/或任何其它合适类型的通信网络电路。
[0109] 在一些实施例中,天线816可以是用于与通信网络(例如,通信网络704)进行无线通信的任何合适的一个或多个天线。在一些实施例中,可以省略天线816。
[0110] 在一些实施例中,总线818可以是用于在两个或更多个组件802、804、806、810和814之间通信的任何合适的机制。
[0111] 根据一些实施例,硬件800中可以包括任何其它合适的组件。
[0112] 在一些实施例中,图1和图2的过程的至少一些上述框可以以任何顺序或序列来执行或实施,不限于结合附图所示和所述的顺序和序列。此外,图1和图2的上述框中的一些可以在适当的情况下基本上同时或并行执行,以减少等待时间和处理时间。附加地或替代地,可以省略图1和图2的过程的一些上述框。
[0113] 在一些实施例中,可以使用任何合适的计算机可读介质来存储用于执行这里的功能和/或过程的指令。例如,在一些实施例中,计算机可读介质可以是暂时的或非暂时的。例如,非暂时性计算机可读介质可以包括介质,例如非暂时性形式的磁性介质(例如硬盘、软盘和/或任何其它合适的磁性介质)、非暂时性形式的光学介质(例如光盘、数字视频光盘、蓝光光盘和/或任何其它合适的光学介质)、非暂时性形式的半导体介质(例如闪存、电可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)和/或任何其它合适的半导体介质)、在传输过程中不会转瞬即逝或没有任何永久外观的任何合适的介质,和/或任何合适的有形介质。作为另一个示例,暂时性计算机可读介质可以包括网络上的信号、电线中的信号、导体中的信号、光纤中的信号、电路中的信号、在传输过程中转瞬即逝且没有任何永久外观的任何合适的介质中的信号、和/或任何合适的无形介质中的信号。
[0114] 因此,提供了用于播放列表中的歌曲之间的无缝音频融合的方法、系统和介质。
[0115] 尽管已经在前述说明性实施例中描述和示出了本发明,但是应当理解,本公开仅通过示例的方式进行,并且在不脱离本发明的精神和范围的情况下,可以对本发明的实施细节进行多种改变,本发明的精神和范围仅由所附权利要求来限定。所公开的实施例的特征可以以各种方式组合和重新排列。