CN107170464B - 一种基于音乐节奏的语音变速方法及计算设备 - Google Patents
一种基于音乐节奏的语音变速方法及计算设备 Download PDFInfo
- Publication number
- CN107170464B CN107170464B CN201710377182.8A CN201710377182A CN107170464B CN 107170464 B CN107170464 B CN 107170464B CN 201710377182 A CN201710377182 A CN 201710377182A CN 107170464 B CN107170464 B CN 107170464B
- Authority
- CN
- China
- Prior art keywords
- voice data
- midi
- voice
- calculating
- speed
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 78
- 230000033764 rhythmic process Effects 0.000 title claims abstract description 25
- 230000008859 change Effects 0.000 claims abstract description 33
- 238000012545 processing Methods 0.000 claims abstract description 30
- 238000005520 cutting process Methods 0.000 claims abstract description 20
- 238000001514 detection method Methods 0.000 claims abstract description 12
- 238000001228 spectrum Methods 0.000 claims description 25
- 230000006835 compression Effects 0.000 claims description 15
- 238000007906 compression Methods 0.000 claims description 15
- 230000003595 spectral effect Effects 0.000 claims description 12
- 230000003044 adaptive effect Effects 0.000 claims description 10
- 238000007781 pre-processing Methods 0.000 claims description 4
- 230000001755 vocal effect Effects 0.000 claims description 2
- 238000004891 communication Methods 0.000 description 14
- 230000008569 process Effects 0.000 description 9
- 238000004364 calculation method Methods 0.000 description 5
- 230000011218 segmentation Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000010606 normalization Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000002194 synthesizing effect Effects 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 230000037433 frameshift Effects 0.000 description 1
- 238000009432 framing Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000002715 modification method Methods 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000007670 refining Methods 0.000 description 1
- 230000001020 rhythmical effect Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000001308 synthesis method Methods 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L21/00—Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
- G10L21/04—Time compression or expansion
- G10L21/043—Time compression or expansion by changing speed
-
- 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/0033—Recording/reproducing or transmission of music for electrophonic musical instruments
- G10H1/0041—Recording/reproducing or transmission of music for electrophonic musical instruments in coded form
- G10H1/0058—Transmission between separate instruments or between individual components of a musical system
- G10H1/0066—Transmission between separate instruments or between individual components of a musical system using a MIDI interface
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L13/00—Speech synthesis; Text to speech systems
- G10L13/02—Methods for producing synthetic speech; Speech synthesisers
- G10L13/033—Voice editing, e.g. manipulating the voice of the synthesiser
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L13/00—Speech synthesis; Text to speech systems
- G10L13/08—Text analysis or generation of parameters for speech synthesis out of text, e.g. grapheme to phoneme translation, prosody generation or stress or intonation determination
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L21/00—Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
- G10L21/04—Time compression or expansion
- G10L21/055—Time compression or expansion for synchronising with other signals, e.g. video signals
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L25/00—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
- G10L25/78—Detection of presence or absence of voice signals
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L25/00—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
- G10L25/78—Detection of presence or absence of voice signals
- G10L2025/783—Detection of presence or absence of voice signals based on threshold decision
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Signal Processing (AREA)
- Quality & Reliability (AREA)
- Electrophonic Musical Instruments (AREA)
- Auxiliary Devices For Music (AREA)
Abstract
本发明公开了一种基于音乐节奏的语音变速方法,该方法适于根据目标语音数据的节奏对待处理语音数据进行变速处理,包括步骤:通过静音检测提取待处理语音数据中的有声段;对所提取的有声段语音数据进行切字处理;读取目标语音数据的MIDI文件,获取其中每段MIDI的文件信息;结合MIDI文件信息算出每段MIDI上对应的语音数据;根据预定的对齐规则将对应的语音数据对齐到该段MIDI上;采用基于相位声码器的语音变速算法对对齐后的语音数据进行变速;以及将变速后的语音数据与目标语音数据的背景音乐进行混音,输出合成的语音。本发明还一并公开了相应的计算设备。
Description
技术领域
本发明涉及音频处理技术领域,尤其是一种基于音乐节奏的语音变速方法及计算设备。
背景技术
近年来,随着信息科技的发展逐渐成熟,计算设备所具备的处理能力也大幅提升,使得许多复杂的应用得以实现,其中之一便是语音变速的相关技术。在语音信号处理领域,语音变速很早就被人们研究,但将语音变速与音乐旋律结合的方式很少被提及。在实际生活中,人们常常会被说唱的节奏所吸引,但演唱说唱音乐往往需要演唱者具有一定的乐理知识和歌唱技巧,这对普通消费者而言有一定的难度。因此,普通用户希望可以通过简单地说一些话语,然后将所说的语音转换为配有伴奏的说唱音乐。
现有的歌声合成方法大多需要事先建立语料库,根据语料库中的语音进行语音变速,合成说唱音乐。但是建立语料库要耗费长时间进行语料的录制,且语料库需要庞大的储存空间。
因此,需要一种操作方便、又能够保证变速后的语音在语调和语义上的完整性的语音处理方案。
发明内容
为此,本发明提供了一种基于音乐节奏的语音变速方法及计算设备,以力图解决或者至少缓解上面存在的至少一个问题。
根据本发明的一个方面,提供了一种基于音乐节奏的语音变速方法,该方法适于根据目标语音数据的节奏对待处理语音数据进行变速处理,该方法包括步骤:通过静音检测提取待处理语音数据中的有声段;对所提取的有声段语音数据进行切字处理;读取目标语音数据的MIDI文件,获取其中每段MIDI的文件信息;结合所述MIDI文件信息算出每段MIDI上对应的语音数据;根据预定的对齐规则将对应的语音数据对齐到该段MIDI上;采用基于相位声码器的语音变速算法对对齐后的语音数据进行变速;以及将变速后的语音数据与目标语音数据的背景音乐进行混音,输出合成的语音。
可选地,在根据本发明的语音变速方法中,通过静音检测提取待处理语音数据中的有声段的步骤包括:计算每一帧语音数据的短时能量,当至少有连续第一数量帧语音数据的短时能量均小于第一阈值时,确定该段语音数据为静音段;遍历待处理语音数据,找出所有的静音段;以及通过所确定的静音段从待处理语音数据中提取出至少一个有声段。
可选地,在根据本发明的语音变速方法中,第一阈值根据预定长度语音数据的平均能量确定。
可选地,在根据本发明的语音变速方法中,对所提取的有声段语音数据进行切字处理的步骤包括:计算所提取的有声段语音数据中每一帧语音数据的自适应子带频谱熵;当有连续两帧语音数据的自适应子带频谱熵均小于第二阈值时,对这两帧语音数据进行切字处理;计算经切字处理后的字长度;以及当经切字处理后字长度大于第三阈值时,根据频带方差对其进行再次切分,记录每个字的起始帧数。
可选地,在根据本发明的语音变速方法中,第二阈值根据每个有声段语音数据的自适应子带频谱熵均值确定。
可选地,在根据本发明的语音变速方法中,计算每一帧语音数据的自适应子带频谱熵的步骤包括:对该帧语音数据进行加窗处理,并计算加窗后语音数据的能量谱;将该帧语音数据均匀划分为多个子带,计算子频带概率;根据子频带概率计算子带加权因子;根据最小子带频谱能量计算出有用子带数目;以及根据子带加权因子、有用子带数目和子频带概率计算出自适应子带频谱熵。
可选地,在根据本发明的语音变速方法中,文件信息包括每段MIDI的音长、音乐速度、位置和每个位置所需字数。
可选地,在根据本发明的语音变速方法中,结合MIDI文件信息算出每段MIDI上对应的语音数据的步骤包括:根据MIDI文件信息,在该段MIDI文件对应的位置上排列相应的语音。
可选地,在根据本发明的语音变速方法中,根据预定的对齐规则将所算得的语音数据对齐到该段MIDI上的步骤包括:根据MIDI的音乐速度信息将MIDI文件划分网格;以及将排列在对应位置的语音数据对齐到网格上。
可选地,在根据本发明的语音变速方法中,根据预定的对齐规则将所算得的语音数据对齐到该段MIDI上的步骤包括:根据每个字的起始帧数计算其被拉伸或压缩的倍速;当判断压缩倍速大于最大压缩倍速时,通过增加MIDI的长度使得排列在对应位置的语音数据对齐MIDI的节奏;或当判断拉伸倍速大于最大拉伸倍速时,通过增加语音数据的字数使得排列在对应位置的语音数据对齐MIDI的节奏。
可选地,在根据本发明的语音变速方法中,最大拉伸倍速是4,所述最大压缩倍速是2。
可选地,在根据本发明的语音变速方法中,采用基于相位声码器的语音变速算法对对齐后的语音数据进行变速的步骤包括:计算对齐到每段MIDI上的语音数据的变速尺度;获取MIDI上对齐的语音数据的幅度和相位信息;计算语音数据变速后的幅度和相位信息,生成每一帧语音数据对应的频谱;以及对每一帧频谱进行逆傅里叶变换,并通过OLA叠加算法合成该段MIDI对齐的语音数据。
可选地,在根据本发明的语音变速方法中,在通过静音检测提取待处理语音数据中的有声段的步骤之前,还包括对待处理语音数据进行预处理的步骤。
可选地,在根据本发明的语音变速方法中,第一数量为20。
根据本发明的又一方面,提供了一种计算设备,包括:一个或多个处理器;和存储器;一个或多个程序,其中所述一个或多个程序存储在存储器中并被配置为由一个或多个处理器执行,所述一个或多个程序包括用于执行如上所述语音变速方法中的任一方法的指令。
根据本发明的又一方面,提供了一种存储一个或多个程序的计算机可读存储介质,所述一个或多个程序包括指令,所述指令当计算设备执行时,使得计算设备执行如上所述语音变速方法中的任一方法。
根据本发明的语音变速方案,根据MIDI文件给定的节奏信息,将自由说话的语音通过语音切字、语音对齐、语音变速等处理,使重新排列的语音经过变速后获得MIDI给定的节奏,通过混音算法将处理后的语音与背景音乐结合,实现自由说话的语音到歌曲的转变。可以让更多人随时随地的体验说唱的快感。
附图说明
为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本公开的上述以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的部件或元素。
图1示出了根据本发明一个实施例的计算设备100的构造示意图;以及
图2示出了根据本发明一个实施例的基于音乐节奏的语音变速方法200的流程图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1是示例计算设备100的框图。在基本的配置102中,计算设备100典型地包括系统存储器106和一个或者多个处理器104。存储器总线108可以用于在处理器104和系统存储器106之间的通信。
取决于期望的配置,处理器104可以是任何类型的处理,包括但不限于:微处理器(μP)、微控制器(μC)、数字信息处理器(DSP)或者它们的任何组合。处理器104可以包括诸如一级高速缓存110和二级高速缓存112之类的一个或者多个级别的高速缓存、处理器核心114和寄存器116。示例的处理器核心114可以包括运算逻辑单元(ALU)、浮点数单元(FPU)、数字信号处理核心(DSP核心)或者它们的任何组合。示例的存储器控制器118可以与处理器104一起使用,或者在一些实现中,存储器控制器118可以是处理器104的一个内部部分。
取决于期望的配置,系统存储器106可以是任意类型的存储器,包括但不限于:易失性存储器(诸如RAM)、非易失性存储器(诸如ROM、闪存等)或者它们的任何组合。系统存储器106可以包括操作系统120、一个或者多个应用122以及程序数据124。在一些实施方式中,应用122可以布置为在操作系统上利用程序数据124进行操作。在一些实施例中,计算设备100被配置为执行基于音乐节奏的语音变速方法200,该方法200能够根据目标语音数据的节奏对待处理语音数据进行变速处理,得到富有说唱音乐节奏感的语音数据,程序数据124中包含了用于执行该方法200的指令。
计算设备100还可以包括有助于从各种接口设备(例如,输出设备142、外设接口144和通信设备146)到基本配置102经由总线/接口控制器130的通信的接口总线140。示例的输出设备142包括图形处理单元148和音频处理单元150。它们可以被配置为有助于经由一个或者多个A/V端口152与诸如显示器或者扬声器之类的各种外部设备进行通信。示例外设接口144可以包括串行接口控制器154和并行接口控制器156,它们可以被配置为有助于经由一个或者多个I/O端口158和诸如输入设备(例如,键盘、鼠标、笔、语音输入设备、触摸输入设备)或者其他外设(例如打印机、扫描仪等)之类的外部设备进行通信。示例的通信设备146可以包括网络控制器160,其可以被布置为便于经由一个或者多个通信端口164与一个或者多个其他计算设备162通过网络通信链路的通信。在本实施例中,可以通过诸如语音输入设备实时获取待处理的语音数据。
网络通信链路可以是通信介质的一个示例。通信介质通常可以体现为在诸如载波或者其他传输机制之类的调制数据信号中的计算机可读指令、数据结构、程序模块,并且可以包括任何信息递送介质。“调制数据信号”可以这样的信号,它的数据集中的一个或者多个或者它的改变可以在信号中编码信息的方式进行。作为非限制性的示例,通信介质可以包括诸如有线网络或者专线网络之类的有线介质,以及诸如声音、射频(RF)、微波、红外(IR)或者其它无线介质在内的各种无线介质。这里使用的术语计算机可读介质可以包括存储介质和通信介质二者。在一些实施例中,计算机可读介质中存储一个或多个程序,这一个或多个程序中包括执行某些方法的指令,如根据本发明的实施例,计算设备100通过所述指令来执行基于音乐节奏的语音变速方法200。
计算设备100可以实现为小尺寸便携(或者移动)电子设备的一部分,这些电子设备可以是诸如蜂窝电话、个人数字助理(PDA)、个人媒体播放器设备、无线网络浏览设备、个人头戴设备、应用专用设备、或者可以包括上面任何功能的混合设备。计算设备100还可以实现为包括桌面计算机和笔记本计算机配置的个人计算机。
图2示出了根据本发明一个实施例的基于音乐节奏的语音变速方法200的流程图。如图2所示,该方法200根据目标语音数据的节奏对待处理语音数据进行变速处理,得到富有说唱音乐节奏感的语音数据,方法200始于步骤S210,通过静音检测提取待处理语音数据中的有声段。
根据本发明的实施方式,首先计算每一帧语音数据的短时能量,当至少有连续第一数量帧(如,20帧)语音数据的短时能量均小于第一阈值时,确定该段语音数据为静音段。由于计算语音数据的短时能量属于本领域常规知识,故此处不作展开描述,本方法200可以与任一静音检测的手段相结合,提取出一段语音数据中的有声段。
其中,第一阈值根据预定长度语音数据的平均能量确定,具体如下:预先设置短时能量的最大门限值为Tmax0,Tmax1和最小门限值Tmin0,Tmin1,然后计算前N帧语音数据的(例如,N取15帧)短时能量的平均值(以下称平均能量)。若平均能量小于Tmin0则第一阈值选择Tmin=Tmin0(当然,根据双门限法还可以同时确定Tmax=Tmin1),若平均能量大于Tmax0则第一阈值设为Tmin=Tmax0(当然,可以同时设置Tmax=Tmax1),其他情况下第一阈值设置为Tmin=平均能量的1.5倍(同样地,还可以设置Tmax=平均能量的10倍)。可选地,当出现至少连续20帧语音数据的短时能量都小于Tmin(即,第一阈值)时,就认为出现语音中断,确定该至少连续20帧的语音数据为静音段。
根据上述方法遍历整个待处理语音数据,找出所有的静音段。剔除所确定的静音段,就可以从待处理语音数据中提取出有声段,一般地,有声段可能有多个。
通过步骤S210,可以将待处理语音(即,用户输入的话语)切分成多个短语音段,由于在自由说话中的语音不会像歌词那样的符合乐理规则,故通过静音检测可以限制语音段的长度,以便于后续的对齐处理时保持语音的完整性。
可选地,在执行步骤S210之前,还包括对待处理语音数据进行预处理的步骤。例如,归一化处理、去零点漂移、预加重处理、分帧处理,等等。预处理属于本领域的常规做法,此处不做进一步讨论。
随后在步骤S220中,对所提取的有声段语音数据进行切字处理。具体地,本步骤可以分为如下1)2)3)4)四步:
1)计算经步骤S210提取的有声段语音数据中每一帧语音数据的自适应子带频谱熵。其中,自适应子带频谱熵的求取简单概括如下:
先取一帧语音数据x[n]进行加窗处理,得到y[n],其中n为采样点,再对y[n]进行傅里叶变换得到能量谱Y[k],其中k为频带点。
然后,将Y[k]均匀划分为多个子带(如,64个子带),计算对应子频带概率P[m],其中m为子带数,子频带概率计算公式如下:
P[m]=第m个子带的总能量/当前帧总能量,
接下来,根据子频带概率求解子带归一化加权因子W[m],计算公式如下:
W[m]=(Pb_old[m]+Pb[m]+Pb_next[m])/(3*Pb[m]),
其中,
再根据最小子带频谱能量计算出有用子带数目,其中,归一化最小子带频谱能量Emin为:
Emin=-log(当前帧最小子带能量/当前帧的总能量),
那么,有用子带数目V为:
其中,subTol为总的子带数,Vmin为最少有用子带数(本方法中设为16)。
这样,就可以得出自适应子带频谱熵的计算公式如下:
可选地,为了减小低频带对计算结果的影响,设置一个最小频带的值(本方法设置为4),那么,修改后的自适应子带频谱熵的计算公式如下:
2)当有连续两帧语音数据的自适应子带频谱熵均小于第二阈值时,对这两帧语音数据进行切字处理。
其中,第二阈值根据每个有声段语音数据的自适应子带频谱熵均值确定。具体如下:计算每个有声段语音数据的自适应子带频谱熵的均值;遍历该有声段中所有的语音帧,若某帧语音数据的自适应子带频谱熵大于均值的2倍,则将该帧的自适应子带频谱熵重新设置为均值的2倍;遍历结束后,重新计算该有声段的自适应子带频谱熵均值,并设置高门限值Tmax=均值/3,低门限值,也就是第二阈值,Tmin=Tmax/2。
3)计算经切字处理后的字长度。根据本发明的实施例,在每一次切分处理(包括切字)后,记录下切分后每个小段语音数据的起始帧数,根据每段的起始帧数即可算出字长度。
4)当经切字处理后字长度大于第三阈值(如,第三阈值设为100毫秒)时,根据频带方差对其进行再次切分,并记录每个字的起始帧数。采用频带方差作为特征参数进行再次切分的过程可参考步骤1)2)中以自适应子带频谱熵作为特征参数的过程,频带方差的计算属于本领域常规算法,此处不再展开描述。本步骤中采用频带方差作为特征参数,是为了更好地区分字与字之间的间断,提高字切分的准确性。
经步骤S210和步骤S220,即完成了语音切字的处理,经过这三次切分处理后,获取到每个字及其对应的时长信息。随后在步骤S230中,读取目标语音数据的MIDI文件,获取其中每段MIDI的文件信息。MIDI(Musical instrument Digital Interface,乐器数字接口)用音符的数字控制信号来记录音乐,其文件信息中包含了每段MIDI的音长、音乐速度、位置和每个位置所需字数,还包括例如目标语音数据中间断出现的位置、每个大节和小节出现的位置及长度等。在本实施例中,每段MIDI指在歌曲的乐谱中一个歌词的长度。
随后在步骤S240中,结合步骤S230中获取的MIDI文件信息算出每段MIDI上对应的语音数据。根据MIDI文件信息可以得到在音乐规则中,每个位置所需的字数,因此,在对应位置排列上相应的语音(字),就是每段MIDI上对应的语音数据。
遍历目标语音数据的MIDI文件,得到每段MIDI文件对应的语音数据。
如果严格地根据歌词数据和MIDI提供的节奏信息将待处理语音按位置排列到目标语音的MIDI上,有极大机会会出现有节奏、但是听不清在说什么的情况。故而,在随后的步骤S250中,会根据预定的对齐规则将对应的语音数据对齐到该段MIDI上,以保证在节奏最大化的同时,保持语音的可懂度。
根据本发明的实施方式,提供了两种语音的对齐规则。
第一,网格对齐。通过将时间刻度细化的形式,提高对齐的灵活度并且最大化地保证语音的可懂度。具体操作流程如下所述。
先根据MIDI的音乐速度信息将MIDI文件划分网格,可选地,将每一个小节划分成多个网格,细化对齐的尺度;
再将排列在对应位置的语音数据对齐到网格上,可选地,将对应语音数据的长度与MIDI中每个小段信息进行长度对比,计算所需要的变速幅度;判断这个变速幅度是否超过预置范围,若不超过则进入下一个MIDI段,若超过则将其对齐在最邻近的网格上,下一个语音对齐从该网格开始;在处理过程中,可以通过重复一部分语音来增加语音的长度(一般地,重复部分布置在语音段的尾部)。可选地,一个大节的MIDI文件对应一句新的语音。
第二,最具节奏对齐。在保持变速后的音频可懂度的情况下,最大限度地对上MIDI给定的节奏。具体操作流程如下所述。
根据每个字的起始帧数和对应的MIDI音长计算其被拉伸或压缩的倍速:
当判断压缩倍速大于最大压缩倍速(如,最大压缩倍速为2)时,加入下一个MIDI,此时MIDI长度是两段MIDI之和,依次类推,即,通过增加MIDI的长度使得排列在对应位置的语音数据对齐MIDI的节奏;
反之,判断拉伸倍速大于最大拉伸倍速(如,最大拉伸倍速为4)时,再取一个字,将两个字视为一个字重新比较压缩倍速,依次类推,即,通过增加语音数据的字数使得排列在对应位置的语音数据对齐MIDI的节奏。
这里的拉伸倍速可以理解为将语音数据的长度进行拉伸,通俗来讲,音频的播放速度进行了减速,同样地,压缩倍速是将语音数据的长度进行压缩,压缩倍速为2即将音频播放速度加速2倍,即音频数据的长度变为原来的0.5倍。
需要说明的是,在语音对齐时,每次处理的语音段都是静音检测后的有声段,处理过程中可以通过重复一部分语音实现语音长度的增加。本方法对此不作限制。
随后对经步骤S250对齐后的语音数据进行变速处理,在步骤S260中,采用基于相位声码器(Phase Vecoder)的语音变速算法对对齐后的语音数据进行变速。相位声码器是将时域采样声音转换为频率/幅度呈现和变换回时域的算法,允许编辑频域中的声音特性。
根据本发明的实施例,采用基于相位声码器的语音变速算法对对齐后的语音数据进行变速的步骤包括:
1)计算对齐到每段MIDI上的语音数据的变速尺度。其中,变速尺度可以根据每段MIDI的音长和对应的语音数据的时长(通过每个字对应的起始帧数算得)计算得到。
2)获取整段MIDI上对齐的语音数据及其对应的所有帧在频域的幅度信息amp[m]和相位信息phase[m],其中m为帧数。
3)计算语音数据变速后的幅度和相位信息,生成每一帧语音数据对应的频谱。
根据本发明的实施例,由已知的时间刻度time_src和变速尺度可以计算出变速后的时间刻度time。如,已知的时间刻度为time_src=[1 2 3 4],进行两倍的拉伸,即原先有4帧,变速之后是8帧,这时时间刻度变成:
time=[1 1+3/7 1+6/7 2+2/7 2+5/7 3+1/7 3+4/7 4])
取尺度变换后的第k帧,根据变换尺度获取在原尺度上相邻的两帧n_frame0、n_frame1。那么,n_frame0、n_frame1的计算如下:
n_frame0=floor(time[k])
n_frame1=floor(time[k])+1
计算权重weight,计算公式如下:
Weight=time[k]/floor(time[k])
根据权重进行相位和幅度的插值或抽取,其中,相位amp_new[n]表示为:
amp_new[n]=(1-weight)*amp[n_frame0]+weight*amp[n_frame1]
其中,n为新的时间刻度下的帧数。
由于计算相位响应时,有时会碰到相位响应图延频率轴突变,这是由于正弦或余弦函数的周期模数特征所产生的,处理方法是当相位超过2π幅度点时将其重置为0。
同理,幅度phase[n]表示为:
phase[n]=phase[n]+dphasei+dphase
其中,
dphase_1=phase[n_frame1]-phase[n_frame0]
同上,需要对dphase_1做规整得到dphase,即,
dphase=dphase_1-2*π*round(dphase_1/2π)
dphasei[i]=2*π*i*帧移/帧长
dphasei=dphasei[i](i=1,2,...N/2+1)
其中,i为频点数,N为傅里叶变换点数(这里N=帧长)。
需要说明的是,前文所说的幅度、相位均是傅里叶变换之后得到的,所以并没有对他们做类似标识(如phase[n]=phase[n][i],(i=1,2,...N/2+1))。而此处dphasei是新引入的所以做了说明。由于这些都是行业内部的公知故不再陈述。
在得到语音数据变速后的相位和幅度信息后,即可求得相应的频谱。
4)再对每一帧频谱进行逆傅里叶变换,并通过OLA(Overlap-and-Add)叠加算法合成该段MIDI对齐的语音数据。OLA叠加算法是音频变速算法中较为常见的一种算法,且不是本实施例的重点,此处不作展开描述。
遍历整个MIDI文件,获得与之对应的语音数据,即变速后的语音数据。
随后在步骤S270中,将变速后的语音数据与目标语音数据的背景音乐进行混音,输出合成的语音,即实现了将自由说话的语音(即,待处理语音)转换成富有节奏感的说唱歌曲。
根据本发明的语音变速方案,根据MIDI文件给定的节奏信息,将自由说话的语音通过语音切字、语音对齐、语音变速等处理,使重新排列的语音经过变速后获得MIDI给定的节奏,通过混音算法将处理后的语音与背景音乐结合,实现自由说话的语音到歌曲的转变。可以让更多人随时随地的体验说唱的快感。
本方案采用了三级语音切分,在保证句子完整性的同时可以对每一个字进行较好地切分,并且在对齐规则中对变速尺度进行限制,能够更好地保持语音的可懂度。更进一步地,本方案中的语音变速采用帧级别的粒度,可以有效地对每一个字进行不同倍率的变速,同时不会出现断续的情况,保证了变速后的语音在语调和语义上的完整性。
另外,本方案还可以用于唱歌时的节奏纠错,应用于KTV的评分系统中,根据节奏的匹配情况,给出相应的得分。
应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员应当理解在本文所公开的示例中的设备的模块或单元或组件可以布置在如该实施例中所描述的设备中,或者可替换地可以定位在与该示例中的设备不同的一个或多个设备中。前述示例中的模块可以组合为一个模块或者此外可以分成多个子模块。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
此外,所述实施例中的一些在此被描述成可以由计算机系统的处理器或者由执行所述功能的其它装置实施的方法或方法元素的组合。因此,具有用于实施所述方法或方法元素的必要指令的处理器形成用于实施该方法或方法元素的装置。此外,装置实施例的在此所述的元素是如下装置的例子:该装置用于实施由为了实施该发明的目的的元素所执行的功能。
本发明还一并公开了:
A9、如A8所述的方法,其中根据预定的对齐规则将所算得的语音数据对齐到该段MIDI上的步骤包括:根据MIDI的音乐速度信息将MIDI文件划分网格;以及将排列在对应位置的语音数据对齐到网格上。
A10、如A7所述的方法,其中,根据预定的对齐规则将所算得的语音数据对齐到该段MIDI上的步骤包括:根据每个字的起始帧数计算其被拉伸或压缩的倍速;当判断压缩倍速大于最大压缩倍速时,通过增加MIDI的长度使得排列在对应位置的语音数据对齐MIDI的节奏;或当判断拉伸倍速大于最大拉伸倍速时,通过增加语音数据的字数使得排列在对应位置的语音数据对齐MIDI的节奏。
A11、如A10所述的方法,其中,最大拉伸倍速是4,最大压缩倍速是2。
A12、如A1-11中任一项所述的方法,其中,采用基于相位声码器的语音变速算法对对齐后的语音数据进行变速的步骤包括:计算对齐到每段MIDI上的语音数据的变速尺度;获取MIDI上对齐的语音数据的幅度和相位信息;计算语音数据变速后的幅度和相位信息,生成每一帧语音数据对应的频谱;以及对每一帧频谱进行逆傅里叶变换,并通过OLA叠加算法合成该段MIDI对齐的语音数据。
A13、如A1-12中任一项所述的方法,其中,在通过静音检测提取待处理语音数据中的有声段的步骤之前,还包括对待处理语音数据进行预处理的步骤。
A14、如A2-13中任一项所述的方法,其中,第一数量为20。
如在此所使用的那样,除非另行规定,使用序数词“第一”、“第二”、“第三”等等来描述普通对象仅仅表示涉及类似对象的不同实例,并且并不意图暗示这样被描述的对象必须具有时间上、空间上、排序方面或者以任意其它方式的给定顺序。
尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。因此,在不偏离所附权利要求书的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。对于本发明的范围,对本发明所做的公开是说明性的,而非限制性的,本发明的范围由所附权利要求书限定。
Claims (14)
1.一种基于音乐节奏的语音变速方法,所述方法适于根据目标语音数据的节奏对待处理语音数据进行变速处理,所述方法包括步骤:
通过静音检测提取待处理语音数据中的有声段;
对所提取的有声段语音数据进行切字处理;
读取目标语音数据的MIDI文件,获取其中每段MIDI的文件信息;
结合所述MIDI文件信息算出每段MIDI上对应的语音数据;
根据预定的对齐规则将对应的语音数据对齐到该段MIDI上;
采用基于相位声码器的语音变速算法对对齐后的语音数据进行变速;以及
将变速后的语音数据与目标语音数据的背景音乐进行混音,输出合成的语音;
其中,所述对所提取的有声段语音数据进行切字处理的步骤包括:
计算所提取的有声段语音数据中每一帧语音数据的自适应子带频谱熵;
当有连续两帧语音数据的自适应子带频谱熵均小于第二阈值时,对这两帧语音数据进行切字处理;
计算经切字处理后的字长度;以及
当经切字处理后字长度大于第三阈值时,根据频带方差对其进行再次切分,记录每个字的起始帧数;
其中,所述采用基于相位声码器的语音变速算法对对齐后的语音数据进行变速的步骤包括:
计算对齐到每段MIDI上的语音数据的变速尺度;
获取MIDI上对齐的语音数据的幅度和相位信息;
计算语音数据变速后的幅度和相位信息,生成每一帧语音数据对应的频谱;以及
对每一帧频谱进行逆傅里叶变换,并通过OLA叠加算法合成该段MIDI对齐的语音数据。
2.如权利要求1所述的方法,其中,所述通过静音检测提取待处理语音数据中的有声段的步骤包括:
计算每一帧语音数据的短时能量,当至少有连续第一数量帧语音数据的短时能量均小于第一阈值时,确定该段语音数据为静音段;
遍历待处理语音数据,找出所有的静音段;以及
通过所确定的静音段从所述待处理语音数据中提取出至少一个有声段。
3.如权利要求2所述的方法,其中,所述第一阈值根据预定长度语音数据的平均能量确定。
4.如权利要求1所述的方法,其中,所述第二阈值根据每个有声段语音数据的自适应子带频谱熵均值确定。
5.如权利要求1所述的方法,其中,计算每一帧语音数据的自适应子带频谱熵的步骤包括:
对该帧语音数据进行加窗处理,并计算加窗后语音数据的能量谱;
将该帧语音数据均匀划分为多个子带,计算子频带概率;
根据子频带概率计算子带加权因子;
根据最小子带频谱能量计算出有用子带数目;以及
根据所述子带加权因子、有用子带数目和子频带概率计算出自适应子带频谱熵。
6.如权利要求1-5中任一项所述的方法,其中,所述文件信息包括每段MIDI的音长、音乐速度、位置和每个位置所需字数。
7.如权利要求6所述的方法,其中,所述结合MIDI文件信息算出每段MIDI上对应的语音数据的步骤包括:
根据MIDI文件信息,在该段MIDI文件对应的位置上排列相应的语音。
8.如权利要求7所述的方法,其中,所述根据预定的对齐规则将所算得的语音数据对齐到该段MIDI上的步骤包括:
根据MIDI的音乐速度信息将MIDI文件划分网格;以及
将排列在对应位置的语音数据对齐到网格上。
9.如权利要求6所述的方法,其中,所述根据预定的对齐规则将所算得的语音数据对齐到该段MIDI上的步骤包括:
根据每个字的起始帧数计算其被拉伸或压缩的倍速;
当判断压缩倍速大于最大压缩倍速时,通过增加MIDI的长度使得排列在对应位置的语音数据对齐MIDI的节奏;或
当判断拉伸倍速大于最大拉伸倍速时,通过增加语音数据的字数使得排列在对应位置的语音数据对齐MIDI的节奏。
10.如权利要求9所述的方法,其中,所述最大拉伸倍速是4,所述最大压缩倍速是2。
11.如权利要求1-5中任一项所述的方法,其中,在所述通过静音检测提取待处理语音数据中的有声段的步骤之前,还包括对待处理语音数据进行预处理的步骤。
12.如权利要求2或3所述的方法,其中,所述第一数量为20。
13.一种计算设备,包括:
一个或多个处理器;和
存储器;
一个或多个程序,其中所述一个或多个程序存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序包括用于执行根据权利要求1-12所述的方法中的任一方法的指令。
14.一种存储一个或多个程序的计算机可读存储介质,所述一个或多个程序包括指令,所述指令当计算设备执行时,使得所述计算设备执行根据权利要求1-12所述的方法中的任一方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710377182.8A CN107170464B (zh) | 2017-05-25 | 2017-05-25 | 一种基于音乐节奏的语音变速方法及计算设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710377182.8A CN107170464B (zh) | 2017-05-25 | 2017-05-25 | 一种基于音乐节奏的语音变速方法及计算设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107170464A CN107170464A (zh) | 2017-09-15 |
CN107170464B true CN107170464B (zh) | 2020-11-27 |
Family
ID=59821590
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710377182.8A Active CN107170464B (zh) | 2017-05-25 | 2017-05-25 | 一种基于音乐节奏的语音变速方法及计算设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107170464B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107979702A (zh) * | 2017-11-30 | 2018-05-01 | 北京小米移动软件有限公司 | 音频信号处理方法、装置、终端及存储介质 |
CN108231048B (zh) * | 2017-12-05 | 2021-09-28 | 北京小唱科技有限公司 | 修正音频节奏的方法及装置 |
CN108269579B (zh) * | 2018-01-18 | 2020-11-10 | 厦门美图之家科技有限公司 | 语音数据处理方法、装置、电子设备及可读存储介质 |
CN108847217A (zh) * | 2018-05-31 | 2018-11-20 | 平安科技(深圳)有限公司 | 一种语音切分方法、装置、计算机设备及存储介质 |
CN109559733B (zh) * | 2018-11-29 | 2023-06-27 | 创新先进技术有限公司 | 语音节奏处理方法和装置 |
CN111862913B (zh) * | 2020-07-16 | 2023-09-05 | 广州市百果园信息技术有限公司 | 将语音转换为说唱音乐的方法、装置、设备及存储介质 |
CN112420062B (zh) * | 2020-11-18 | 2024-07-19 | 腾讯音乐娱乐科技(深圳)有限公司 | 一种音频信号处理方法及设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6549884B1 (en) * | 1999-09-21 | 2003-04-15 | Creative Technology Ltd. | Phase-vocoder pitch-shifting |
CN102522081A (zh) * | 2011-12-29 | 2012-06-27 | 北京百度网讯科技有限公司 | 一种检测语音端点的方法及系统 |
CN103440862A (zh) * | 2013-08-16 | 2013-12-11 | 北京奇艺世纪科技有限公司 | 一种语音与音乐合成的方法、装置以及设备 |
CN105788589A (zh) * | 2016-05-04 | 2016-07-20 | 腾讯科技(深圳)有限公司 | 一种音频数据的处理方法及装置 |
-
2017
- 2017-05-25 CN CN201710377182.8A patent/CN107170464B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6549884B1 (en) * | 1999-09-21 | 2003-04-15 | Creative Technology Ltd. | Phase-vocoder pitch-shifting |
CN102522081A (zh) * | 2011-12-29 | 2012-06-27 | 北京百度网讯科技有限公司 | 一种检测语音端点的方法及系统 |
CN103440862A (zh) * | 2013-08-16 | 2013-12-11 | 北京奇艺世纪科技有限公司 | 一种语音与音乐合成的方法、装置以及设备 |
CN105788589A (zh) * | 2016-05-04 | 2016-07-20 | 腾讯科技(深圳)有限公司 | 一种音频数据的处理方法及装置 |
Non-Patent Citations (6)
Title |
---|
《一种改进的自适应子带谱熵语音端点检测方法》;刘华平等;《系统仿真学报》;20080331;第20卷(第5期);第1366-1371页 * |
《基于倒谱距离—频带方差的端点检测方法》;何俊红等;《计算机与数字工程》;20141130;第42卷(第11期);第2014-2016、2083页 * |
《改进相位声码器的音频时长变换算法研究》;汪石农等;《计算机工程与应用》;20121231;第48卷(第36期);第155-159页 * |
《语音变调技术研究》;吴丽君;《中国优秀硕士学位论文全文数据库 信息科技辑》;20170515(第05期);第18-19页 * |
《语音时长规整技术的研究回溯》;周俊等;《现代电子技术》;20060930(第18期);第102-105页 * |
《说话人识别系统的研究》;蒋纯纲;《中国优秀硕士学位论文全文数据库 信息科技辑》;20090315(第03期);第12-20页 * |
Also Published As
Publication number | Publication date |
---|---|
CN107170464A (zh) | 2017-09-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107170464B (zh) | 一种基于音乐节奏的语音变速方法及计算设备 | |
Chen et al. | Hifisinger: Towards high-fidelity neural singing voice synthesis | |
JP6290858B2 (ja) | 発話の入力オーディオエンコーディングを、対象歌曲にリズム的に調和する出力へと自動変換するための、コンピュータ処理方法、装置、及びコンピュータプログラム製品 | |
US8452586B2 (en) | Identifying music from peaks of a reference sound fingerprint | |
JP5295433B2 (ja) | 複雑さがスケーラブルな知覚的テンポ推定 | |
US8805697B2 (en) | Decomposition of music signals using basis functions with time-evolution information | |
CN109817191B (zh) | 颤音建模方法、装置、计算机设备及存储介质 | |
CN104616663A (zh) | 一种结合hpss的mfcc-多反复模型的音乐分离方法 | |
CN110310621A (zh) | 歌唱合成方法、装置、设备以及计算机可读存储介质 | |
Choi et al. | Korean singing voice synthesis based on auto-regressive boundary equilibrium gan | |
CN112289300B (zh) | 音频处理方法、装置及电子设备和计算机可读存储介质 | |
Matsubara et al. | Investigation of training data size for real-time neural vocoders on CPUs | |
CN112992110B (zh) | 音频处理方法、装置、计算设备以及介质 | |
de León et al. | Blind separation of overlapping partials in harmonic musical notes using amplitude and phase reconstruction | |
JP5573529B2 (ja) | 音声処理装置およびプログラム | |
Nakamura et al. | Shifted and convolutive source-filter non-negative matrix factorization for monaural audio source separation | |
Voinov et al. | Implementation and Analysis of Algorithms for Pitch Estimation in Musical Fragments | |
US11495200B2 (en) | Real-time speech to singing conversion | |
Tan et al. | Time-frequency representations for single-channel music source separation | |
US20230410825A1 (en) | Masking the voice of a speaker | |
Ingale et al. | Singing voice separation using mono-channel mask | |
Özbek et al. | Correntropy function for fundamental frequency determination of musical instrument samples | |
Singh et al. | A Study of Various Audio Augmentation Methods and Their Impact on Automatic Speech Recognition | |
CN116072143A (zh) | 歌声合成方法及相关装置 | |
CN116153277A (zh) | 歌曲处理方法及相关设备 |
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 |