一种将语音转换为旋律的方法和装置的制作方法

文档序号:2835923阅读:544来源:国知局
专利名称:一种将语音转换为旋律的方法和装置的制作方法
技术领域
本发明涉及语音处理技术,特别涉及一种将语音转换为旋律的方法和装置。
背景技术
旋律是构成音乐的最基本要素,能够最有效地表现音乐以及人类情感。旋律是具 有各种音调和时长的音符的组合,可以理解为由具有不同音调和时长的音符排列而成。通 常,各个音符通过节拍排序,以向该音符序列提供音乐意义。
音乐家或者歌唱家对音乐具有专业的掌控力和表现力,能够很好地配合旋律将自 己的歌声展现出来,而对于普通人来说,通常具有一定难度。常常希望通过输入一段语音就 能够实时转换为具有自身声音特质的旋律,而现有技术中尚不能实现该技术。发明内容
有鉴于此,本发明提供了一种将语音转换为旋律的方法和装置,能够将用户输入 的语音数据转换为具有用户声音特质的旋律。
本发明的技术方案如下
一种将语音转换为旋律的方法,该方法包括获取语音数据和乐谱信息,所述语音 数据由用户输入,所述乐谱信息包括歌词信息,音符信息以及两者的对应关系;调整语音 数据中各音节的时长,使各音节的时长与乐谱信息中对应的歌词时长对齐,并按照乐谱信 息中各音符的音调,调整语音数据的语音基频点,使各语音基频点与乐谱信息中对应音符 的音调对齐;结合调整音调后的语音基频点和调整时长后的各音节形成旋律数据。
调整语音数据中各音节的时长,使各音节的时长与乐谱信息中对应的歌词时长对 齐具体包括提取输入的语音数据中每一帧的能量和过零率信息;根据每一帧的能量和过 零率信息将语音数据划分为语音段和静音段;按照所述乐谱信息中的歌词信息将各语音段 切分为音节;调整语音数据中各音节的时长使得其与乐谱信息中对应的歌词时长对齐。
其中,根据每一帧的能量和过零率信息将语音数据划分为语音段和静音段包括 根据每一帧的能量和过零率信息,将每一帧标识为语音帧或静音帧;将相邻的语音帧构成 语音段,将相邻的静音帧构成静音段。
其中,按照所述乐谱信息中的歌词信息将各语音段切分为音节包括确定乐谱信 息的歌词中每个句子对应的语音段;确定每个句子所包含各个短语对应的语音段;以及对 每个短语对应的语音段进行语音切分,得到切分后的音节。
其中,调整语音数据中各音节的时长使得其与乐谱信息中对应的歌词时长对齐包 括在对一个包含声母和韵母的音节进行时长调节时,如果需要对该音节的时长进行拉长, 则保持声母时长不变,只拉长韵母的时长;如果需要对该音节的时长进行缩短,则将声母和 韵母同时缩短。
或者调整语音数据中各音节的时长使得其与乐谱信息中对应的歌词时长对齐包 括当一个音节的前后均为静音段时,使该音节声母的时长占整个音节时长的16. 2%;当该音节的前面为静音段,后面不是静音段时,使该音节声母时长占整个音节时长的27. 6%;当该音节的前面不是静音段,后面是静音段时,使该音节声母时长占整个音节时长的24. 8% ; 以及当该音节的前后均不是静音段时,使该音节声母时长占整个音节时长的32.9%。
具体地,按照乐谱信息中各音符的音调,调整语音数据的语音基频,使各语音基频点与对应音符的音调对齐具体包括提取输入的语音数据的语音基频信息,所述语音音频信息包括语音数据的基频均值以及语音数据的各个语音基频点;基于语音数据的基频均值和乐谱信息中所有音符的基频均值确定将所述语音数据转换成的旋律的调号;以确定的调号为基准,调整语音数据的各语音基频点的频率与乐谱信息中各音符的音调对齐。
另外,基于语音数据的基频均值和乐谱信息中所有音符的基频均值确定旋律的调号包括确定语音数据的基频均值HLaver和乐谱信息中所有音频的基频均值P_aver ;如果R)_aver > P_aver,将语音数据的基频均值降K_n个半音作为旋律的调号,其中,K为F0_ aver比P_aver高出的半音数目,η为实验值,可以取η为int (K/7), int表示取整;如果F0_ aver < P_aver,将语音数据的基频均值升K_n个半音作为旋律的调号,其中,K为R)_aver 比P_aver低的半音数目,η为实验值,可以取η为int(K/7), int表示取整。
更优地,在确定旋律的调号之后进一步包括将语音基频点进行分段,其中处于不同分段的两个相邻语音基频点之间的频率差值大于设定分段阈值;确定长度小于预设的野点长度阈值的分段为野点分段;对野点分段中语音基频点的频率进行sine插值处理。
或者,在调整语音数据的语音基频之后进一步包括在经过步骤B调整音调后的语音数据中,将每个音符中包含的后的语音基频点和与后一个音符包含的前的语音基频点进行sine插值处理;其中,为设定的实验值。
一种将语音转换为旋律的装置,该装置包括用户界面600、乐谱管理单元610、时长调整单元620、音调调整单元630和旋律合成单元640 ;
所述用户界面600,用于获取用户输入的语音数据和从乐谱管理单元中选择的乐谱信息,所述语音数据由用户输入,所述乐谱信息包括歌词信息,音符信息以及两者的对应关系;
所述乐谱管理单元610,用于管理乐谱信息供用户进行选择;
所述时长调整单元620,用于调整所述语音数据中各音节的时长,使各音节的时长与所述选择的乐谱信息中对应的歌词时长对齐;
所述音调调整单元630,用于按照所述选择的乐谱信息中各音符的音调,调整语音数据的语音基频,使各语音基频点与对应音符的音调对齐;
所述旋律合成单元640,用于结合调整音调后的语音基频点和调整时长后的各音节形成旋律数据。
其中,所述时长调整单元具体包括特征提取子单元621、分段标识子单元622、语音切分子单元623和时长调整子单元624 ;
所述特征提取子单元621,用于提取所述输入的语音数据中每一帧的能量和过零率信息;
所述分段标识子单元622,用于根据每一帧的能量和过零率信息,将语音数据划分为语音段和静音段;
所述语音切分子单元623,用于按照所述选择的乐谱信息中的歌词信息,将语音段切分为音节;
所述时长调整子单元624,用于调整语音数据中各音节的时长与乐谱信息中对应的歌词时长对齐。
具体地,所述分段标识子单元622,根据每一帧的能量和过零率信息,将每一帧标识为语音帧或静音帧,将相邻的语音帧构成语音段,将相邻的静音帧构成静音段。
其中,所述语音切分子单元623包括第一模块6231,用于确定乐谱信息的歌词中每个句子对应的语音段;第二模块6232,用于确定每个句子所包含各个短语对应的语音段;第三模块6233,用于对每个短语对应的语音段进行语音切分。
另外,所述音调调整单元630具体包括特征提取子单元631、调号确定子单元632 和音调调整子单元633 ;
所述特征提取子单元631,用于提取输入的语音数据的语音音频信息,所述语音音频信息包括语音数据的基频均值以及语音数据的各个语音基频点;
所述调号确定子单元632,用于基于语音数据的基频均值和乐谱信息中所有音符的基频均值,确定将所述语音数据转换成的旋律的调号;
所述音调调整子单元633,用于以所述调号确定子单元确定的调号为基准,调整语音数据的各语音基频点的频率与乐谱信息中各音符的音调对齐。
其中,所述调号确定子单元632包括第四模块(6321),用于确定语音数据的基频均值H)_aver和乐谱信息中所有音频的基频均值P_aver ;第五模块(6322),用于在F0_ aver > P_aver时,将语音数据的基频均值降K_n个半音作为旋律的调号,其中,K为F0_ aver比P_aver高出的半音数目,η为实验值,特别是可以取η为int(K/7), int表示取整; 第六模块(6323),用于在Reaver < P_aver时,将语音数据的基频均值升K_n个半音作为旋律的调号,其中,K为R)_aver比P_aver低的半音数目,η为实验值,特别是可以取η为 int (K/7), int 表示取整。
更优地,所述音调调整单元630还包括语音基频平滑子单元634,用于将语音基频点进行分段,其中处于不同分段的两个相邻语音基频点之间的频率差值大于设定分段阈值;确定长度小于预设的野点长度阈值的分段为野点分段;对野点分段中语音基频点的频率进行sine插值处理后输出给所述音调调整子单元。
更优地,该装置还包括旋律平滑单元650,用于将音调调整单元调整后的语音数据中,将每个音符中包含的后的语音基频点和与后一个音符 包含的前的语音基频点进行sine插值处理后输出给所述旋律合成单元;其中,为设定的实验值。
由以上描述可以看出,通过调整语音数据中各音节的时长,使各音节的时长与乐谱信息中对应的歌词时长对齐,并按照乐谱信息中各音符的音调,调整语音数据的语音基频,使各语音基频点与对应音符的音调对齐,能够将用户输入的语音数据,按照选择的乐谱信息转换为具有用户声音特质的旋律。


图1为本发明提供的主要方法流程图2为本发明实施例提供的乐谱信息示意图3为本发明提供的时长匹配算法实现流程图4为本发明提供的音调匹配算法实现流程图5为本发明提供的语音基频包络的平滑方法流程图6为本发明实施例提供的装置结构图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对 发明进行详细描述。
本发明的核心思想主要是按照语音与旋律之间的联系,将用户的语音数据与乐 谱信息进行匹配,最终形成旋律输出。其主要方法可以如图1所示,包括以下步骤
步骤101 :获取语音数据和对应的乐谱信息,所述语音数据由用户输入,所述乐谱 信息包括歌词信息,音符信息以及两者的对应关系。
步骤102 :调整语音数据中各音节的时长,使各音节的时长与乐谱信息中对应的 歌词时长对齐,并按照乐谱信息中各音符的音调,调整语音数据的语音基频,使各语音基频 点与对应音符的音调对齐。
步骤103 :结合调整音调后的语音基频点和调整时长后的各音节形成旋律数据。
下面结合具体实施例对本发明提供的上述方法进行详细的描述,以歌曲《粉刷匠》 为例。
在步骤101中,用户可以通过一用户界面选择歌曲《粉刷匠》的乐谱信息,或者也 可由用户输入《粉刷匠》的乐谱信息。该乐谱信息主要包括歌词信息、音符信息以及歌词 和音符的对应关系信息。另外,还可以包括诸如标题、副标题、词曲作者、拍号等信息,如图 2所示。
用户可以按照《粉刷匠》的歌词输入语音数据,例如念一段《粉刷匠》的歌词,用户 所念的歌词段落和上述用户选择/输入的乐谱信息相对应,即所述乐谱信息中包括用户所 念歌词段落的歌词信息、音符信息以及歌词和音符的对应关系信息。
上述语音数据和乐谱信息的获取并无一定的先后次序之分,可以根据用户的使用 习惯或喜好进行设置。
在步骤102中,需要完成两个匹配过程,其一是调节语音数据中各音节的时长,使 各音节的时长与乐谱信息中对应的歌词时长相匹配,即语音时长与歌词时长的匹配;其二 是调整语音数据的各个语音基频点,使语音数据的各个语音基频点与乐谱信息中对应的音 符的音调相匹配,即语音基频和音符音调的匹配。下面分别对这两个匹配过程进行详细说 明。
第一个匹配过程语音时长与歌词时长的匹配可以通过时长匹配算法(Time Alignment Algorithm)实现,具体过程可以如图3所示,包括以下步骤
步骤301 :提取语音数据的特征参数,包括每一帧的能量和过零率信息。
其中一巾贞通常为固定时间长度的语音数据,如20ms至30ms范围内的固定时间长 度的语音数据,在该时间长度内的语音数据可以被认为是一个稳态信号(如均值、方差相 对固定)。在具体实施时,该时间长度值可以预设为一个适当的经验值。一帧的能量信息指 该帧语音数据的幅值的平方和,一帧的过零率信息指该帧语音数据的幅值过零点的频率。 步骤302 :根据每一帧的能量和过零率信息将语音数据划分为语音段和静音段。
在本步骤中,可以首先根据预设的能量阈值和过零率阈值按照各帧的能量值和过 零率将各帧标识为语音帧或静音帧,其中将能量值大于所述能量阈值且过零率大于所述 过零率阈值的帧标识为语音帧,其它帧标识为静音帧,所述能量阈值和过零率阈值可以根 据经验值和/或实验数据进行设定。接下来,将相邻的语音帧标识为一个语音段,将相邻的 静音帧标识为一个静音段。这样语音数据就被划分成相隔的语音段和静音段。
步骤303 :按照乐谱信息中的歌词信息,将语音段切分成音节。
在本发明的实施例中,一个音节通常表不一个字。
经过上述步骤302之后,语音数据被标记分割成一一间隔的语音段和静音段。接 下来在本步骤中,首先依次确定乐谱信息的歌词中每个句子对应的语音段(句子层处理) 以及每个句子所包含各个短语对应的语音段(短语层处理),然后再对每个短语对应的语 音段进行语音切分,得到切分后的音节。
具体而言,对于句子层处理,绝大多数情况下语音段的数目均大于或等于乐谱信 息的歌词中的句子数目。在这种情况下,需要选定切分点的位置,然后将两个切分点之间的 语音段合并,即可得到乐谱信息的歌词中每个句子对应的语音段。切分点的选择可以根据 以下公式确定
Min(abs(splitTime/totalTime-senLenlnLRC/totalLenlnLRC))
其中,splitTime是指从上一个切分点到当前选择的切分点之间的语音段的时长 之和;totalTime是指所有语音段的时长之和;senLenInLRC是指当前要切分的句子在曲谱 中的歌唱时长;totalLenInLRC是指整个曲谱的歌唱时长。具体而言,首先将每个静音段作 为一个候选切分点,然后对每个候选切分点计算abs (splitTime/totalTime-senLenlnLRC/ totalLenlnLRC)的值,从中找出最小值,该最小值对应的静音段就是确定的切分点。简言 之,上述方法通过对与静音段一一对应的候选切分点进行遍历,依次找到每个句子最佳的 切分点。需要说明的是,如果语音段的数目小于乐谱信息的歌词中的句子数目,则需要重新 执行上述步骤302,也即重新将语音数据划分为语音段和静音段。
对于短语层处理,有三种情况第一种情况,如果一个句子对应的语音段的数目等 于该句子所包含的短语数目,那么在短语层将该句子所包含的各个短语和该句子所对应的 语音段一一对应,也即每个语音段对应一个短语。第二种情况,如果一个句子对应的语音 段的数目大于该句子所包含的短语数目,则需要根据上述切分点的选择方法选定切分点位 置,并将两个切分点之间的语音段和并在一起,确定每个短语对应的语音段。第三种情况, 如果一个句子对应的语音段的数目小于该句子所包含的短语数目,则直接对该句子所对应 的语音段进行语音切分,并将切分出来的音节数目和该句子所包含的字数目进行比较,再 分三种情况第一种情况,如果音节数等于字数,那么就是一个音节对应一个字。第二种情 况,如果音节数大于字数,则采用类似句子层处理的方法,找出切分点,将切分点之间的音 节合并,对应到相应的短语。第三种情况,如果音节数小于字,则在切出的音节中找出时长 最长的那个音节,并将其且分成两个音节,这样做持续在音节数和歌词数目相等为止。在这 种情况下,短语层同时完成了音节层的工作,不再进行音节层的处理。
最后,利用音节切分算法各个短语对应的语音段切分成音节,例如,将构成短语 “我是一个粉刷匠”的语音段切分成“我”、“是”、“一”、“个”、“粉”、“刷”、“匠”七个音节。具 体而言,切分音节可以采用现有的音节切分状态机算法。
步骤304:按照乐谱信息中歌词的时长,调节语音段中各音节的时长使其与乐谱信息中对应的歌词时长对齐。
由于乐谱信息中歌词和音符的对应关系,歌词中的每个字具有不同时长的,例如, 在乐谱中,歌词“我”、“是”与“匠”的时长是不同的,音节“匠”的时长占用一个节拍,而音节 “我”和“是”各占半个节拍。在用户输入的语音数据中,由于输入的是没有旋律的语音,每个音节可能占用的时长是一样的或者没有旋律性的,因此,需要将语音数据中各音节的时长调节得和乐谱信息的歌词中各音节的时长一致。
需要说明的是,由于在汉语中,一个字由声母和韵母构成。优选的,在对一个包含声母和韵母的音节进行时长调节时,如果需要对该音节的时长进行拉长,则可以保持声母时长不变,只拉长韵母的时长;如果需要对该音节的时长进行缩短,则可以将声母和韵母同时缩短。这种方式更加符合歌唱旋律的习惯,使之更加悦耳动听。基于这一原则,采用 GMM(高斯混合模型)聚类的方式进行声母、韵母时长的估计,以对声、韵母的时长进行调整,可以具体包括
当音节的前后均为静音段时,说明该音节为独立音节,可以使声母的时长占整个音节时长的16. 2% ;当该音节的前面为静音段,后面不是静音段时,说明该音节为短语或者句子的首音节,可以使声母时长占整个音节时长的27. 6%。当该音节的前面不是静音段,后面是静音段时,说明该音节为短语或者句子的末音节,可以使声母时长占整个音节时长的 24.8%。当该音节的前后均不是静音段时,可以使声母时长占整个音节时长的32. 9%。
第二个匹配过程语音基频和音符音调的匹配可以通过音调匹配算法(Pitch Alignment Algorithm)实现,具体过程可以如图4所示,包括以下步骤
步骤401 :提取语音数据的特征参数,包括语音基频信息,具体指每一帧的基频信息。上述语音音频信息包括语音数据的基频均值以及语音数据的各个语音基频点。
步骤402 :基于语音数据中所有帧的基频均值和乐谱信息中所有音符的基频均值,确定将语音数据转换成的旋律的调号。
乐谱本身以调号为自己的特征,而原始语音的基频在很多情况下与乐谱的音调有着较大差距。如果使得调整后的语音最终形成的旋律具有原始语音的声音特质,则需要同时基于语音数据的基频均值和乐谱信息中所有音符的基频均值来确定旋律的调号。
旋律调号具体的确定方法可以包括确定语音数据的基频均值HLaver和乐谱信息中所有音符的基频均值P_aver ;如果F0_aver > P_aver,将语音数据的基频均值降K_n 个半音作为旋律的调号,其中,K为R)_aver比P_aver高出的半音数目,η为实验值,可以取 η为int(K/7), int表示取整;如果F0_aver < P_aver,将语音数据的基频均值升K_n个半音作为旋律的调号,其中,K为Reaver比P_aver低的半音数目,η为实验值,可以取η为 int (K/7), int 表示取整。
步骤403 以步骤402确定的调号为基准,调整各帧语音基频点的频率与乐谱信息中各音符的音调对齐。
乐谱中各音符(Do、Re、M1、Fa、Sol、La、Si和Do)根据乐谱的调号具有各自的音调,在进行对齐时,需要按照步骤402中确定的调号来调整语音基频点的频率,使其与乐谱信息中各音符的音调对齐。
另外,在语音基频和音符音调的匹配过程中,基频包络的平滑度是决定旋律音质的重要因素。在本发明中可以进一步通过对语音基频包络的平滑或者旋律基频包络的平滑来得到更优的旋律音质。
首先介绍语音基频包络的平滑方法。由于语音基频参数提取误差,在语音基频包络中难免会出现频率突变的现象,这些频率突变的基频点称为野点,野点是影响音质的罪魁祸首,因此,需要对语音基频包络中的野点进行平滑处理。语音基频包络的平滑方法可以如图5所示,包括以下步骤
步骤501 :将各帧语音基频点序列进行分段,处于不同分段的两个相邻基频点之间的频率差值大于设定分段阈值(预设经验值)。
在本步骤中,通过提取语音信号各帧的基频点即可得到上述各帧语音基频点序列。
假设输入的语音数据的语音基频点序列P为{P1; P2,P3,一PN}。当相邻两个基频点的频率差值大于分段阈值Threshold时,将这两个基频点作为两个分段的边界,假设Pi和Pi+1的频率差值大于Threshold,则序列被分为{P1; -Pj和
权利要求
1.一种将语音转换为旋律的方法,所述方法包括获取语音数据和乐谱信息,所述语音数据由用户输入,所述乐谱信息包括歌词信息, 音符信息以及两者的对应关系;调整所述语音数据中各音节的时长,使各音节的时长与乐谱信息中对应的歌词时长对按照所述乐谱信息中各音符的音调,调整所述语音数据的语音基频点,使所述语音基频点与乐谱信息中对应音符的音调对齐;结合调整音调后的语音基频点和调整时长后的各音节形成旋律数据。
2.根据权利要求1所述的方法,其中,所述调整所述语音数据中各音节的时长,使各音节的时长与乐谱信息中对应的歌词时长对齐,包括提取所述语音数据中每一帧的能量和过零率信息;根据每一帧的能量和过零率信息将所述语音数据划分为语音段和静音段;按照所述乐谱信息中的歌词信息将各语音段切分为音节;调整语音数据中各音节的时长使得其与乐谱信息中对应的歌词时长对齐。
3.根据权利要求2所述的方法,其中,所述根据每一帧的能量和过零率信息将所述语音数据划分为语音段和静音段,包括根据每一帧的能量和过零率信息将每一帧标识为语音帧或静音帧;将相邻的语音帧构成语音段将相邻的静音帧构成静音段。
4.根据权利要求2所述的方法,其中,所述按照所述乐谱信息中的歌词信息将各语音段切分为音节,包括确定乐谱信息的歌词中每个句子对应的语音段;确定每个句子所包含的各个短语对应的语音段;以及对每个短语对应的语音段进行语音切分,得到切分后的音节。
5.根据权利要求2所述的方法,其中,所述调整语音数据中各音节的时长使得其与乐谱信息中对应的歌词时长对齐包括在对一个包含声母和韵母的音节进行时长调节时,如果需要对该音节的时长进行拉长,则保持声母时长不变,只拉长韵母的时长;如果需要对该音节的时长进行缩短,则将声母和韵母同时缩短。
6.根据权利要求2所述的方法,其中,所述调整语音数据中各音节的时长使得其与乐谱信息中对应的歌词时长对齐包括当一个音节的前后均为静音段时,使该音节声母的时长占整个音节时长的16.2% ; 当该音节的前面为静音段,后面不是静音段时,使该音节声母时长占整个音节时长的 27. 6% ;当该音节的前面不是静音段,后面是静音段时,使该音节声母时长占整个音节时长的 24.8% ;以及当该音节的前后均不是静音段时,使该音节声母时长占整个音节时长的32. 9%。
7.根据权利要求1所述的方法,其中,所述按照乐谱信息中各音符的音调,调整所述语音数据的语音基频点,使所述语音基频点与乐谱信息中对应音符的音调对齐,包括提取所述语音数据的语音基频信息,所述语音音频信息包括语音数据的基频均值以及语音数据的各个语音基频点;基于所述语音数据的基频均值和乐谱信息中所有音符的基频均值确定将所述语音数据转换成的旋律的调号;以确定的调号为基准,调整所述语音数据的各语音基频点的频率与乐谱信息中各音符的音调对齐。
8.根据权利要求7所述的方法,其中,所述基于所述语音数据的基频均值和乐谱信息中所有音符的基频均值确定将所述语音数据转换成的旋律的调号,包括确定所述语音数据的基频均值HLaver和所述乐谱信息中所有音符的基频均值P_ aver ;如果Reaver > P_aver,将所述语音数据的基频均值降K_n个半音作为将所述语音数据转换成的旋律的调号,其中,K为Reaver比P_aver高出的半音数目,η为实验值,特别是可以取η为int (K/7), int表示取整;如果Reaver < P_aver,将所述语音数据的基频均值升K_n个半音作为将所述语音数据转换成的旋律的调号,其中,K为Reaver比P_aver低的半音数目,η为实验值,特别是可以取η为int (K/7),int表示取整。
9.根据权利要求7所述的方法,其中,在所述确定将所述语音数据转换成的旋律的调号之后,所述方法进一步包括将所述语音基频点进行分段,其中处于不同分段的两个相邻语音基频点之间的频率差值大于设定分段阈值;确定长度小于预设的野点长度阈值的分段为野点分段;对野点分段中语音基频点的频率进行sine插值处理。
10.根据权利要求1或7所述的方法,其中,所述方法进一步包括在经过调整音调后的语音数据中,将每个音符中包含的后的语音基频点和与后一个音符包含的前的语音基频点进行sine插值处理;其中,为设定的实验值。
11.一种将语音转换为旋律的装置,所述装置包括用户界面出00)、乐谱管理单元 (610)、时长调整单元¢20)、音调调整单元(630)和旋律合成单元¢40);所述用户界面(600),用于获取用户输入的语音数据和从乐谱管理单元中选择的乐谱信息,所述乐谱信息包括歌词信息,音符信息以及两者的对应关系;所述乐谱管理单元(610),用于管理乐谱信息供用户进行选择;所述时长调整单元¢20),用于调整所述语音数据中各音节的时长,使各音节的时长与所述选择的乐谱信息中对应的歌词时长对齐;所述音调调整单元(630),用于按照所述选择的乐谱信息中各音符的音调,调整语音数据的语音基频点,使各语音基频点与对应音符的音调对齐;所述旋律合成单元¢40),用于结合调整音调后的语音基频点和调整时长后的各音节形成旋律数据。
12.根据权利要求11所述的装置,其中,所述时长调整单元具体包括特征提取子单元 (621)、分段标识子单元¢22)、语音切分子单元(623)和时长调整子单元¢24);所述特征提取子单元¢21),用于提取所述语音数据中每一帧的能量和过零率信息; 所述分段标识子单元¢22),用于根据所述特征提取子单元提取的每一帧的能量和过零率信息,将所述语音数据划分为语音段和静音段;所述语音切分子单元(623),用于按照所述选择的乐谱信息中的歌词信息,将所述语音段切分为音节;所述时长调整子单元(624),用于调整所述语音数据中各音节的时长与乐谱信息中对应的歌词时长对齐。
13.根据权利要求12所述的装置,其中,所述语音切分子单元(623)包括第一模块(6231),用于确定乐谱信息的歌词中每个句子对应的语音段;第二模块(6232),用于确定每个句子所包含各个短语对应的语音段;第三模块(6233),用于对每个短语对应的语音段进行语音切分。
14.根据权利要求11所述的装置,其中,所述音调调整单元(630)具体包括特征提取子单元¢31)、调号确定子单元(632)和音调调整子单元¢33);所述特征提取子单元¢31),用于提取输入的语音数据的语音音频信息,所述语音音频信息包括语音数据的基频均值以及语音数据的各个语音基频点;所述调号确定子单元(632),用于基于语音数据的基频均值和乐谱信息中所有音符的基频均值,确定将所述语音数据转换成的旋律的调号;所述音调调整子单元¢33),用于以所述调号确定子单元确定的调号为基准,调整语音数据的各语音基频点的频率与乐谱信息中各音符的音调对齐。
15.根据权利要求14所述的装置,其中,所述调号确定子单元(632)包括第四模块(6321),用于确定语音数据的基频均值RLaver和乐谱信息中所有音频的基频均值P_aver ;第五模块(6322),用于在R)_aver > P_aver时,将语音数据的基频均值降K_n个半音作为旋律的调号,其中,K为R)_aver比P_aver高出的半音数目,η为实验值,特别是可以取 η为int (K/7), int表示取整;第六模块(6323),用于在Reaver < P_aver时,将语音数据的基频均值升K_n个半音作为旋律的调号,其中,K为R)_aver比P_aver低的半音数目,η为实验值,特别是可以取η 为int (K/7), int表示取整。
16.根据权利要求14所述的装置,其中,所述音调调整单元(630)还包括语音基频平滑子单元¢34),用于将语音基频点进行分段,其中处于不同分段的两个相邻语音基频点之间的频率差值大于设定分段阈值;确定长度小于预设的野点长度阈值的分段为野点分段; 对野点分段中语音基频点的频率进行sine插值处理后输出给所述音调调整子单元。
全文摘要
本发明提供了一种将声音转换为旋律的方法和装置,其中方法包括获取输入的语音数据和乐谱信息;调整语音数据中各音节的时长,使各音节的时长与乐谱信息中对应的歌词时长对齐,并按照乐谱信息中各音符的音调,调整语音数据的语音基频,使各语音基频点与乐谱信息中对应音符的音调对齐;结合调整音调后的语音基频点和调整时长后的各音节形成旋律数据。通过本发明能够将用户输入的语音数据,按照选择的乐谱信息转换为具有用户声音特质的旋律。
文档编号G10L13/08GK103035235SQ20111029566
公开日2013年4月10日 申请日期2011年9月30日 优先权日2011年9月30日
发明者杨晨, 蔡莲红, 周卫 申请人:西门子公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1