CN111771213B - 语音风格迁移 - Google Patents
语音风格迁移 Download PDFInfo
- Publication number
- CN111771213B CN111771213B CN201980013180.8A CN201980013180A CN111771213B CN 111771213 B CN111771213 B CN 111771213B CN 201980013180 A CN201980013180 A CN 201980013180A CN 111771213 B CN111771213 B CN 111771213B
- Authority
- CN
- China
- Prior art keywords
- neural network
- speech
- audio data
- person
- receiving
- 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
- 230000005012 migration Effects 0.000 title description 10
- 238000013508 migration Methods 0.000 title description 10
- 238000013528 artificial neural network Methods 0.000 claims abstract description 368
- 238000000034 method Methods 0.000 claims abstract description 94
- 230000015572 biosynthetic process Effects 0.000 claims abstract description 19
- 238000003786 synthesis reaction Methods 0.000 claims abstract description 19
- 230000006870 function Effects 0.000 claims description 83
- 238000012549 training Methods 0.000 claims description 78
- 230000008569 process Effects 0.000 claims description 62
- 230000005236 sound signal Effects 0.000 claims description 45
- 230000000306 recurrent effect Effects 0.000 claims description 36
- 238000000605 extraction Methods 0.000 claims description 31
- 238000003860 storage Methods 0.000 claims description 28
- 230000002457 bidirectional effect Effects 0.000 claims description 24
- 230000002123 temporal effect Effects 0.000 claims description 16
- 238000012360 testing method Methods 0.000 claims description 12
- 238000012545 processing Methods 0.000 claims description 11
- 238000003672 processing method Methods 0.000 claims description 10
- 238000012804 iterative process Methods 0.000 claims description 3
- 230000001105 regulatory effect Effects 0.000 abstract description 23
- 239000011295 pitch Substances 0.000 description 57
- 210000002569 neuron Anatomy 0.000 description 37
- 230000004913 activation Effects 0.000 description 13
- 238000011176 pooling Methods 0.000 description 12
- 241001672694 Citrus reticulata Species 0.000 description 9
- 239000011159 matrix material Substances 0.000 description 9
- 230000015654 memory Effects 0.000 description 9
- 238000002864 sequence alignment Methods 0.000 description 9
- 210000002364 input neuron Anatomy 0.000 description 8
- 210000004205 output neuron Anatomy 0.000 description 8
- 238000006243 chemical reaction Methods 0.000 description 6
- 239000013598 vector Substances 0.000 description 6
- 230000003750 conditioning effect Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000007493 shaping process Methods 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 3
- 230000008451 emotion Effects 0.000 description 3
- 230000001537 neural effect Effects 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000001276 controlling effect Effects 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 230000007787 long-term memory Effects 0.000 description 2
- 230000002441 reversible effect Effects 0.000 description 2
- 230000033764 rhythmic process Effects 0.000 description 2
- 230000006403 short-term memory Effects 0.000 description 2
- 238000001228 spectrum Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000001172 regenerating effect Effects 0.000 description 1
- 230000008929 regeneration Effects 0.000 description 1
- 238000011069 regeneration method Methods 0.000 description 1
- 210000000225 synapse Anatomy 0.000 description 1
- 230000009466 transformation 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
- G10L13/00—Speech synthesis; Text to speech systems
- G10L13/02—Methods for producing synthetic speech; Speech synthesisers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/40—Processing or translation of natural language
- G06F40/42—Data-driven translation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- 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
- G10L25/00—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
- G10L25/27—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the analysis technique
- G10L25/30—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the analysis technique using neural networks
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Data Mining & Analysis (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Molecular Biology (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- User Interface Of Digital Computer (AREA)
- Electrically Operated Instructional Devices (AREA)
Abstract
提供用于语音合成的计算机实施方法。语音合成器可经训练以产生经合成音频数据,所述经合成音频数据对应于源说话者根据目标说话者的语音特性说出的话语。可通过带时间戳的音位序列、音调曲线数据及说话者识别数据来训练所述语音合成器。所述语音合成器可包含话音建模神经网络及调节神经网络。
Description
相关申请案的交叉参考
本申请案主张2018年2月16日提出申请的美国临时申请案第62/710,501号及2019年1月28日提出申请的美国临时申请案第62/797,864号以及2019年2月28日提出申请的欧洲专利申请案第18157080.5号的权益,上述申请案中的每一者的全部内容并入供参考。
技术领域
本发明涉及音频信号处理。确切来说,本发明涉及处理音频信号以用于实施语音风格迁移。
背景技术
以人B的风格真实地呈现人A的语音颇具挑战性。如果人A与人B说不同的语言,那么挑战会进一步增大。举例来说,设想配音演员用普通话给英语电影配音。给角色A配音的配音演员需要讲出角色A的语音仿佛角色A在用普通话说话一样。在此种情形中,语音风格迁移的目标是以普通话作为输入来产生听起来仿佛角色A正在使用说话演员的话音说流利的普通话的话音。孙利发等人在IEEE 2015年4月19日的2015IEEE关于声学、语音及信号处理(ICASSP)的国际会议上的“使用基于深度双向长短期存储器的递归神经网络的话音转换”第4869到4873页描述使用基于深度双向长短期存储器的递归神经网络(DBLSTM-RNN)来进行话音转换。
发明内容
本文中揭示各种音频处理方法。一些此类方法可涉及训练语音合成器。在一些实例中,一种方法可由计算机实施。举例来说,所述方法可至少部分地经由包括一或多个处理器以及一或多个非暂时性存储媒体的控制系统来实施。在一些此类实例中,所述训练可涉及:(a)通过经由包括一或多个处理器以及一或多个非暂时性存储媒体的控制系统实施的内容提取过程来接收与第一人的第一语音对应的第一音频数据;(b)通过所述内容提取过程生成与所述第一语音对应的第一带时间戳的音位序列及第一音调曲线数据;(c)由经由所述控制系统实施的第一神经网络接收所述第一带时间戳的音位序列及所述第一音调曲线数据;(d)由所述第一神经网络生成与所述第一带时间戳的音位序列及所述第一音调曲线数据对应的第一神经网络输出,所述第一神经网络输出包括多个帧大小;(e)由经由所述控制系统实施的第二神经网络接收所述第一神经网络输出,所述第二神经网络包括模块层次,每一模块以不同的时间分辨率操作;(f)由所述第二神经网络产生第一经预测音频信号;(g)经由所述控制系统对所述第一经预测音频信号与第一测试数据进行比较;(h)经由所述控制系统确定所述第一经预测音频信号的损耗函数值;及(i)重复进行(a)到(h)直到所述第一经预测音频信号的当前损耗函数值与所述第一经预测音频信号的先前损耗函数值之间的差小于或等于预定值(445)为止。
根据一些实施方案,所述方法的至少一些操作可涉及改变至少一个非暂时性存储媒体位置的物理状态。举例来说,重复进行(f)可涉及改变与所述第二神经网络的至少一个权重对应的至少一个非暂时性存储媒体位置的物理状态。
在一些实例中,(a)可涉及接收与第一人的第一语音对应的第一带时间戳的文本。另一选择为或另外,(a)可涉及接收与所述第一人对应的第一识别数据。
在一些实施方案中,所述方法可涉及控制语音合成器进行语音产生。在一些此类实施方案中,所述语音产生可涉及:(j)通过所述内容提取过程接收与第二人的第二语音对应的第二音频数据、与所述第二语音对应的第二带时间戳的文本及与所述第一人的语音对应的第一识别数据;(k)通过所述内容提取过程生成与所述第二语音对应的第二带时间戳的音位序列及第二音调曲线数据;(l)由所述第一神经网络接收(k)的所述第二带时间戳的音位序列及所述第二音调曲线数据;(m)由所述第一神经网络生成与(k)的所述第二带时间戳的音位序列及所述第二音调曲线数据对应的第一神经网络输出;(n)由所述第二神经网络接收(m)的所述第一神经网络输出且接收所述第一识别数据;及(o)由所述第二神经网络产生与(m)的所述第一神经网络输出且与所述第一识别数据对应的经合成音频数据。根据一些实例,所述第二音频数据可对应于在第一人是不同年龄时的第一人的语音。在一些此类实例中,所述第二音频数据可以是在当前或最近时间从第一人接收的语音。举例来说,第一人的第一语音可对应于在第一人较年轻时的第一人的语音。
根据一些实例,所述经合成音频数据可对应于由第二人根据第一人的语音特性说出的话语。在一些此类实例中,所述训练可涉及接收呈第一语言的第一音频数据,且所述经合成音频数据可对应于第二人用第二语言说出的话语。然而,在一些替代实例中,所述经合成音频数据可对应于由处于第二年龄的第一人根据处于第一年龄或在第一人处于第一年龄范围中的时间期间的第一人的语音特性说出的话语。举例来说,所述第一年龄可以是比所述第二年龄年轻的年龄。一些实例可涉及使一或多个换能器重新生成经合成音频数据。
根据一些实施方案,所述训练可涉及由第三神经网络接收所述第一音频数据。在一些此类实施方案中,所述训练可涉及训练第三神经网络以确定与所述第一人的语音对应的第一语音特性且输出经编码音频数据。
在一些实例中,所述训练可涉及训练第四神经网络以确定所述经编码音频数据是否对应于第一人的语音。在一些此类实例中,所述语音产生可涉及:由所述第三神经网络接收第二音频数据;由第三神经网络产生与所述第二音频数据对应的第二经编码音频数据;由所述第四神经网络接收所述第二经编码音频数据;经由迭代过程产生经修改的第二经编码音频数据,直到第四神经网络确定所述经修改的第二经编码音频数据对应于所述第一人的语音为止。根据一些实施方案,在所述第四神经网络确定所述经修改的第二经编码音频数据对应于所述第一人的语音之后,所述方法可涉及将所述经修改的第二经编码音频数据提供到所述第二神经网络。
在一些实施方案中,重复进行(a)到(h)可涉及基于当前损耗函数值经由后向传播训练所述第一神经网络或所述第二神经网络中的至少一者。根据一些实例,所述第一神经网络可包含双向递归神经网络。
本文中所描述的方法中的一些或所有方法可由一或多个装置根据存储在一或多个非暂时性媒体上的指令(例如,软件)来实行。此种非暂时性媒体可包含存储器装置,例如本文中所描述的存储器装置,包含但不限于随机存取存储器(RAM)装置、只读存储器(ROM)装置等。因此,本发明中所描述的标的物的各个创新性方面可在上面存储有软件的非暂时性媒体中实施。举例来说,所述软件可包含用于控制至少一个装置处理音频数据的指令。举例来说,所述软件可由控制系统(例如,本文中揭示的控制系统)的一或多个组件执行。举例来说,所述软件可包含用于实行本文中所揭示的方法中的一或多者的指令。
可经由设备实施本发明的至少一些方面。举例来说,一或多个装置可经配置以至少部分地实行本文中所揭示的方法。在一些实施方案中,设备可包含接口系统及控制系统。所述接口系统可包含一或多个网络接口、所述控制系统与存储器系统之间的一或多个接口、所述控制系统与另一装置之间的一或多个接口及/或一或多个外部装置接口。所述控制系统可包含通用单芯片或多芯片处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑装置、离散门或晶体管逻辑或离散硬件组件中的至少一者。因此,在一些实施方案中,所述控制系统可包含一或多个处理器以及一或多个非暂时性存储媒体,所述一或多个非暂时性存储媒体操作地耦合到所述一或多个处理器。
根据一些此类实例,所述设备可包含接口系统及控制系统。举例来说,所述控制系统可经配置以实施语音合成器。在一些实施方案中,所述语音合成器可包含内容提取器、第一神经网络及第二神经网络。举例来说,所述第一神经网络可包含双向递归神经网络。根据一些实施方案,所述第二神经网络可包含多个模块,在一些例子中所述多个模块可以是模块层次。在一些此类实例中,每一模块可以不同的时间分辨率操作。
根据一些此类实例,所述第一神经网络及所述第二神经网络可已根据包含以下步骤的过程被训练:(a)经由所述接口系统及由所述内容提取器接收与第一人的第一语音对应的第一音频数据;(b)由所述内容提取器生成与所述第一语音对应的第一带时间戳的音位序列及第一音调曲线数据;(c)由所述第一神经网络接收所述第一带时间戳的音位序列及所述第一音调曲线数据;(d)由所述第一神经网络生成与所述第一带时间戳的音位序列及所述第一音调曲线数据对应的第一神经网络输出,所述第一神经网络输出包括多个帧大小,所述帧大小中的每一者与所述第二神经网络的模块的时间分辨率对应;(e)由所述第二神经网络接收所述第一神经网络输出;(f)由所述第二神经网络产生第一经预测音频信号;(g)对所述第一经预测音频信号与第一测试数据进行比较;(h)确定第一经预测音频信号的损耗函数值;及(i)重复进行(a)到(h)直到所述第一经预测音频信号的当前损耗函数值与所述第一经预测音频信号的先前损耗函数值之间的差小于或等于预定值为止。
在一些实施方案中,所述控制系统可经配置以控制所述语音合成器模块进行语音产生。举例来说,所述语音产生可涉及:(j)由所述内容提取器且经由所述接口系统接收与第二人的第二语音对应的第二音频数据、与所述第二语音对应的第二带时间戳的文本及与所述第一人的语音对应的第一识别数据;(k)由所述内容提取器生成与所述第二语音对应的第二带时间戳的音位序列及第二音调曲线数据;(l)由所述第一神经网络接收(k)的所述第二带时间戳的音位序列及所述第二音调曲线数据;(m)由所述第一神经网络生成与(k)的所述第二带时间戳的音位序列及所述第二音调曲线数据对应的第一神经网络输出;(n)由所述第二神经网络接收(m)的所述第一神经网络输出且接收所述第一识别数据;及(o)由所述第二神经网络产生与(m)的所述第一神经网络输出且与所述第一识别数据对应的经合成音频数据。根据一些实例,所述第二音频数据可对应当第一人是不同的年龄或处于不同年龄范围中时第一人的语音。在一些此类实例中,第二音频数据可以是在当前时间或在最近时间从第一人接收的语音。举例来说,第一人的第一语音可对应于当第一人较年轻时第一人的语音。
根据一些实例,经合成音频数据可对应于第二人根据第一人的语音特性说出的话语。在一些实施方案中,所述训练可涉及接收呈第一语言的第一音频数据,且经合成音频数据可对应于第二人用第二语言说出的话语。然而,在一些替代实例中,经合成音频数据可对应于由处于第二年龄的第一人根据处于第一年龄或处于包含所述第一年龄的年龄范围期间(例如,21到25岁的年龄、26到30岁的年龄等)的第一人的语音特性说出的话语。举例来说,第一年龄可以是比第二年龄年轻的年龄。在一些实例中,控制系统可经配置以使一或多个换能器重新生成第二经合成音频数据。根据一些实施方案,产生经合成音频数据可涉及改变与第二神经网络的至少一个权重对应的至少一个非暂时性存储媒体位置的物理状态。
本发明的一些替代方面可经由设备实施。根据一些此类实例,设备可包含接口系统及控制系统。举例来说,所述控制系统可经配置以实施语音合成器。在一些实施方案中,所述语音合成器可包含内容提取器、第一神经网络及第二神经网络。举例来说,所述第一神经网络可包含双向递归神经网络。根据一些实施方案,所述第二神经网络可包含多个模块,在一些例子中所述多个模块可以是模块层次。在一些此类实例中,每一模块可以不同的时间分辨率操作。
根据一些此类实例,所述第二神经网络可已经训练以产生与第一说话者的第一语音对应的第一经合成音频数据。在一些实施方案中,所述控制系统可经配置以控制所述语音合成器:(a)由所述内容提取器且经由所述接口系统接收与第二人的第二语音对应的第二音频数据、与所述第二语音对应的第二带时间戳的文本及与所述第一人的语音对应的第一识别数据;(b)由所述内容提取器生成与所述第二语音对应的第二带时间戳的音位序列及第二音调曲线数据;(c)由所述第一神经网络接收(b)的所述第二带时间戳的音位序列及所述第二音调曲线数据;(d)由所述第一神经网络生成与(b)的所述第二带时间戳的音位序列及所述第二音调曲线数据对应的第一神经网络输出,所述第一神经网络输出包括多个帧大小,所述帧大小中的每一者与所述第二神经网络的模块的时间分辨率对应;(e)由所述第二神经网络接收(d)的所述第一神经网络输出且接收所述第一识别数据;及(f)由所述第二神经网络产生与(d)的所述第一神经网络输出且与第一识别数据对应的第二经合成音频数据。
在一些实施方案中,所述第二经合成音频数据可对应于由第二人根据第一人的语音特性说出的话语。在一些此类实例中,所述训练可涉及接收呈第一语言的第一音频数据,且经合成音频数据可对应于由第二人用第二语言说出的话语。一些此类实例可涉及使一或多个换能器重新生成经合成音频数据。在一些实例中,产生经合成音频数据可涉及改变与所述第二神经网络的至少一个权重对应的至少一个非暂时性存储媒体位置的物理状态。
在附图及以下说明中陈述本说明书中所描述的标的物的一或多个实施方案的细节。依据说明、图式及权利要求书将明了其它特征、方面及优点。注意,下图的相对尺寸可能未按比例绘制。各图式中,相似参考编号及名称指示相似元件。
附图说明
图1展示根据本文中揭示的一些实施方案的训练一或多个神经网络以用于语音风格迁移的过程。
图2展示根据本文中揭示的一些实施方案的使用一或多个经训练神经网络来进行语音风格迁移的过程。
图3是展示设备的组件的实例的框图,所述设备可经配置以实行本文中揭示的方法中的至少一些方法。
图4是概述根据一个实例的训练语音合成器的方法的方框的流程图。
图5展示根据一些实例的语音合成器训练系统的块。
图6展示使经训练语音合成器产生经合成音频数据的实例。
图7展示双向递归神经网络的一个实例。
图8展示话音建模神经网络的实例性块以及可在训练期间提供到话音建模神经网络的输入的实例。
图9展示话音建模神经网络的实例性块及可在语音产生过程期间提供到话音建模神经网络的输入的实例。
图10展示自动编码器的块的实例。
图11展示训练包含自动编码器的语音合成器的过程的实例性块。
图12A说明可在训练说话者分类器的过程期间使用的块的实例。
图12B说明说话者分类器的一个实例。
图13提供使用说话者分类器及自动编码器来进行语音合成的实例。
图14说明根据一个实例的调节神经网络及话音建模神经网络的块。
具体实施方式
以下说明涉及目的在于描述本发明的一些创新性方面的某些实施方案以及可实施这些创新性方面的情景的实例。然而,可以各种不同的方式应用本文中的教示。此外,所描述的实施例可以各种硬件、软件、固件等实施。举例来说,本申请案的方面可,至少部分地体现为设备、包含多于一个装置的系统、方法、计算机程序产品等。因此,本申请案的各方面可呈硬件实施例、软件实施例(包含固件、常驻软件、微码等)及/或软件及硬件两方面的实施例组合形式。这些实施例在本文中可被称为“电路”、“模块”或“引擎”。本申请案的一些方面可呈包含在一或多个非暂时性媒体中的计算机程序产品形式,所述一或多个非暂时性媒体上包含有计算机可读程序代码。举例来说,这些非暂时性媒体可包含硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、便携式压缩磁盘只读存储器(CD-ROM)、光学存储装置、磁性存储装置或前述各项的任何适合的组合。因此,不旨在将本发明的教示限制于图中所展示及/或本文中所描述的实施方案,而是具有广泛适用性。
语音风格迁移(Speech style transfer)有时被称为“话音变换”或“话音转换”,且因此这些术语在本文中可互换使用。图1展示根据本文中揭示的一些实施方案的训练一或多个神经网络以用于语音风格迁移的过程。在图1中所展示的实例中,训练过程涉及提供与一个人(说话者A)的正被馈送到内容提取块中的语音对应的音频数据。在一些所揭示实例中,说话者A可被称为“目标说话者”。
根据此实例,内容提取块不需要文本输入。举例来说,基于神经网络的音位分类器可经训练且用于内容提取块中以获得与输入语音对应的带时间戳的音位序列。尽管在此实例中,仅提供与人A的语音对应的音频数据作为输入,但在替代实例中,与人A的语音对应的文本可与输入语音波形一起被输入。根据一些此类实施方案,文本可与时间戳一起提供。
根据此实例,内容提取块的输出是数据,所述数据包括:输入语音的音调曲线,其有时在本文中可被称为“音调曲线数据”或“语调”;以及带时间戳的音位序列,其对应于输入语音,可有时被称为语音节奏。举例来说,音调曲线数据可以是跟踪输入语音随时间而变化的音调的函数或曲线。根据一些实施方案,在特定时间处的音调曲线数据可对应于输入语音在所述时间处的基频、输入语音的基频的对数值、输入语音的基频的归一化对数值或输入语音在所述时间处的峰值(最高能量)频率。然而,在替代实例中,音调曲线数据可对应于给定时间处的多个音调。
根据此实例,使用音调曲线数据及带时间戳的音位序列来训练一或多个话音模型神经网络以产生用于输入语音的同一串话语(“训练数据集”)。下文描述适合的神经网络的一些实例。根据一些实施方案,训练过程可涉及训练两个或多于两个神经网络。根据一些此类实施方案,所述训练过程可涉及将一或多个神经网络的输出提供到第二神经网络。所述第二神经网络可以是话音模型神经网络。在已对神经网络或网络进行训练之后,其可用于语音产生,这在本文中也被称为“语音合成”。
图2展示根据本文中揭示的一些实施方案的使用一或多个经训练神经网络来进行语音风格迁移的过程。在此实例中,将另一人的语音(说话者B的语音)输入至上文参考图1所描述的同一内容提取块。将第二人的语音的由内容提取块输出的音调曲线数据及带时间戳的音位序列提供到已针对说话者A的话音进行训练的话音模型神经网络。在一些替代实例中,已针对处于第一年龄的说话者A的话音训练话音模型神经网络。并非将另一人的语音提供到内容提取块,一些实施方案涉及提供处于第二年龄的说话者A的语音。举例来说,第一年龄可以是比第二年龄年轻的年龄。
然而,也向已针对说话者A的话音进行训练的话音模型神经网络提供与说话者A对应或与说话者A的语音对应的识别数据(其可以是简单的“ID”或更复杂的识别数据)。因此,根据此实例,话音模型神经网络用说话者A的话音以说话者B的语音节奏及语调输出说话者B的话语。换句话说,在此实例中,话音模型神经网络输出经合成音频数据,所述经合成音频数据包含由说话者B根据话音模型神经网络已获悉的说话者A的语音特性说出的话语。在一些替代实例中,向已针对处于第一年龄的说话者A的话音进行训练的话音模型神经网络提供与处于第一年龄的说话者A对应的识别数据。可以说话者A在第一年龄的话音输出处于第二年龄的说话者A的输入话语。举例来说,第一年龄可以是比第二年龄年轻的年龄。
在一些实施方案中,所述训练过程可涉及接收呈第一语言的第一音频数据,且经合成音频数据可对应于第二人用第二语言说出的话语。举例来说,如果已知说话者A说英语且已知说话者B说普通话,那么说话者A的识别数据可与英语(语言1)相关联且说话者B的识别数据可与普通话(语言2)相关联。在产生阶段,向话音模型神经网络或网络提供来自人B的语音,但提供人A的识别数据。结果是用语言2以人A的风格呈现语音。
因此,一些实施方案可涉及针对语言1(例如,普通话)中的在语言2(例如,英语)中不存在的声音训练话音模型神经网络。一些训练实施方案可使用两种语言的联合音位集合(“超集”),而不是一个是英语且一个是普通话。一些实例可涉及以下训练过程:提示通常说语言2的目标说话者发出与语言1的音位(举例来说,普通话音位)对应的声音,在语言2中没有语言1的对应音位。举例来说,目标说话者可对着经由耳机提供给目标说话者的麦克风重复声音,使得所述声音不会被正用于输入目标说话者的话音的麦克风收录。
根据一些替代实例,在训练过程期间,目标说话者可提供仅包含其母语(语言1)的音位的声音。在一些此类实例中,语音产生过程可涉及当以语言2生成语音时,使用语言1中的最类似音位。
在一些替代实施方案中,训练过程可涉及形成原子发声的超集的表示。原子发声包含音位及人类能够发出的非语音发声(包含摩擦声及声门声音)。原子发声一些人视为发音的基本单位。
已进行各种先前尝试来开发令人满意的语音风格迁移方法及装置。举例来说,“样本递归神经网络(SampleRNN)”是由蒙特利尔学习算法研究所(MILA)开发的端对端神经音频产生模型,所述模型一次产生一个音频样本。(参见样本递归神经网络:无限制端对端神经音频产生模型(SAMPLERNN:An Unconditional End-To-End Neural Audio GenerationModel),2017年4月24到26日在法国土伦举行的关于学习表示的国际会议上发布的会议论文)。此模型将自回归深度神经网络与状态性递归神经网络组合在分级结构中以在长时间跨度内捕获时间序列的变化的基础源。
尽管SampleRNN表示在话音变换领域的进步,但SampleRNN有一些缺点。举例来说,SampleRNN生成的语音信号是含糊不清不易理解的语音。另外,当人可以不同的方式表达相同的情绪时,无法自然地表达演员所传达的情绪:甚至使用语义分析来提取文本的情绪仍无法令人满意。此外,SampleRNN未提供处理多个目标说话者的机制。
一些所揭示实施方案提供以下潜在技术改进中的一或多者。举例来说,根据各种所揭示实施方案生成的语音信号是易理解的语音,不会含糊不清。根据本文中揭示的一些实施方案,可通过训练过程学习多个说话者的话音风格。一些实施例不需要来自源说话者及目标说话者的平行语音来训练。一些实施方案将配音演员的输入语音信号(或其它讲话者的输入语音信号)的语义含义及/或输入语音信号的特性考虑在内以改进所产生语音信号的韵律。一些实施方案提供多个目标说话者的可学习高维表示,以形成更易理解且听起来自然的语音信号。
图3是展示可经配置以实行本文中揭示的方法中的至少一些方法的设备的组件的实例的框图。在一些实例中,设备305可以是或可包含个人计算机、桌上型计算机或经配置以提供音频处理的其它本地装置。在一些实例中,设备305可以是或可包含服务器。根据一些实例,设备305可以是经配置以经由网络接口与服务器通信的客户端装置。设备305的组件可经由硬件、经由存储在非暂时性媒体上的软件、经由固件及/或通过其组合来实施。本文中所揭示的图3以及其它图中所展示的组件的类型及数目仅通过举例展示实例。替代实施方案可包含更多、更少及/或不同的组件。
在此实例中,设备305包含接口系统310及控制系统315。接口系统310可包含一或多个网络接口、控制系统315与存储器系统之间的一或多个接口及/或一或多个外部装置接口(例如一或多个通用串行总线(USB)接口)。在一些实施方案中,接口系统310可包含用户接口系统。用户接口系统可经配置以从用户接收输入。在一些实施方案中,用户接口系统可经配置以向用户提供反馈。举例来说,用户接口系统可包含具有对应触摸及/或手势检测系统的一或多个显示器。在一些实例中,用户接口系统可包含一或多个麦克风及/或说话者。根据一些实例,用户接口系统可包含用于提供触感反馈的设备,例如马达、振动器等。举例来说,控制系统315可包含通用单芯片或多芯片处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑装置、离散门或晶体管逻辑及/或离散硬件组件。
在一些实例中,设备305可实施在单个装置中。然而,在一些实施方案中,设备305可实施在多于一个装置中。在一些此类实施方案中,控制系统315的功能性可包含在多于一个装置中。在一些实例中,设备305可以是另一装置的组件。
图4是概述根据一个实例的训练语音合成器的方法的方框的流程图。在一些例子中,所述方法可由图3的设备或由另一类型的设备实行。在一些实例中,方法400的方框可经由存储在一或多个非暂时性媒体上的软件实施。像本文中所描述的其它方法一样,方法400的方框未必按照所指示的次序实行。此外,这些方法可包含比所展示及/或所描述的更多或更少的方框。
在此,方框405涉及接收与第一人的语音对应的音频数据。在此实例中,“第一人”是目标说话者,其可以是或可实际上不是已针对其话音对语音合成器进行训练的第一人。为维持术语的一致性,在方框405中接收到的音频数据在本文中可被称为“第一音频数据”,且第一人的语音可在本文中被称为“第一语音”。
在一些实例中,可仅提供来自第一人的第一音频数据作为输入。根据此类实施方案,可从第一语音获得文本。然而,由于语音至文本转换方法存在潜在不准确性,因此此类方法可能不是最优。因此,在替代实施方案中,方框405涉及接收与第一语音对应的文本。所接收文本可包含与第一音频数据的时间对应的时间戳。
在一些实例中,方框405可涉及接收与第一人对应的识别数据,所述识别数据在本文中可被称为“第一识别数据”。根据一些实例,第一识别数据可实质上仅仅指示“此为说话者A”。然而,在替代实例中,第一识别数据可包含关于第一语音的一或多个属性的信息。下文描述一些实例。在训练情境中,提供识别数据可允许使用来自多个目标说话者的语音来训练一或多个神经网络。另一选择为或另外,在训练情境中提供识别数据可在人处于不同的年龄时区分来自同一人的语音。在简单实例中,处于第一年龄(或包含所述第一年龄的年龄范围)的说话者A的语音可被指定为A1,且处于第二年龄(或包含所述第二年龄的年龄范围)的说话者A的语音可被指定为A2。
根据此实例,方框405涉及通过经由包括一或多个处理器以及一或多个有形存储媒体的控制系统实施的内容提取过程接收第一音频数据。举例来说,内容提取过程可由控制系统的一或多个处理器根据存储在一或多个非暂时性存储媒体中软件来实施。
在此实例中,在方框410中,内容提取过程经配置以生成与第一语音对应的带时间戳的音位序列及音调曲线数据。为维持属一致性,在方框410中生成的带时间戳的音位序列在本文中可被称为“第一带时间戳的音位序列”,且在方框410中生成的音调曲线数据在本文中可被称为“第一音调曲线数据”。
根据此实施方案,方框405涉及接收由神经网络由内容提取过程生成的第一带时间戳的音位序列及第一音调曲线数据。所述神经网络在本文中可被称为“第一神经网络”。第一神经网络在本文中也可被称为“调节网络”,这是由于在一些实施方案中第一神经网络可预处理或调节第一带时间戳的音位序列及第一音调曲线数据再将这些数据提供到话音建模神经网络。
方框420提供第一神经网络可如何调节第一带时间戳的音位序列及第一音调曲线数据的一个实例。在此实例中,第一神经网络经配置以生成与第一带时间戳的音位序列及第一音调曲线数据对应的第一神经网络输出,其中第一神经网络输出是以在帧大小中的两者或多于两者(“多个”)生成。在一些实例中,第一神经网络输出的帧大小可对应于第二神经网络的适合输入帧大小。
在一些实例中,第一神经网络可在将第一神经网络输出传递到第二神经网络之前先处理多个帧。然而,在替代实施方案中,第一神经网络可在处理第一神经网络输出的多个帧的同时无延迟地将第一神经网络输出传递到第二神经网络。
因此,在此实例中,方框425涉及由经由控制系统实施的第二神经网络接收第一神经网络输出。在此实例中,第二神经网络包含模块层次且每一模块以不同的时间分辨率操作。第一神经网络输出的帧大小对应于第二神经网络的模块的时间分辨率。下文提供一些详细实例。
根据此实施方案,方框430涉及由第二神经网络产生第一经预测音频信号。在此实例中,方框435涉及经由控制系统对第一经预测音频信号与第一测试数据进行比较,且方框440涉及经由控制系统确定第一经预测音频信号的损耗函数值。所属领域的技术人员应了解,可使用损耗函数值训练第二神经网络。根据一些实施方案,也可使用损耗函数值训练第一神经网络。
根据一些实例,训练第二神经网络(且在一些例子中,训练第一神经网络)可继续进行直到损耗函数相对“平坦”,使得当前损耗函数值与先前损耗函数值(例如,之前损耗函数值)之间的差处于或低于阈值。在图4中所展示的实例中,方框445涉及重复方框405到440中的至少一些方框直到第一经预测音频信号的当前损耗函数值与第一经预测音频信号的先前损耗函数值之间的差小于或等于预定值,例如1.90、1.92、1.94、1.96、1.98、2.00等。如下文所描述,重复一些方框(例如,重复方框420及/或重复方框430)可涉及改变与第二神经网络的至少一个权重对应的至少一个有形存储媒体位置的物理状态。
如上文所提及,提供识别数据可允许使用来自多个目标说话者的语音来训练一或多个神经网络。可针对每一目标说话者重复上文参考图4所描述的过程,且训练结果可被保存且与对应于每一目标说话者的识别数据相关联。可使用这些训练结果例如基于选定目标说话者来产生语音。
图5展示根据一些实例的语音合成器训练系统的块。在一些例子中,系统500可通过本文中所揭示的图3的设备或由另一类型的设备来实行。在一些实例中,可经由存储在一或多个非暂时性媒体上的软件实施系统500的块。替代实施方案可包含比所展示及/或所描述的更多或更少的块。
在此,系统500经配置以将与目标说话者的语音对应的输入音频数据提供到内容提取块505。在一些例子中,目标说话者可对应于在本文中别处提及的“第一人的第一语音”。在一些实例中,可经由接口系统(例如,图3中所展示且上文所描述的接口系统310)提供输入音频数据。在一些实例中,可经由来自目标说话者的同期语音的麦克风信号提供输入音频数据。然而,在其它实例中,可经由先前记录的目标说话者的语音提供输入音频数据。在一些此类实例中,先前记录的语音可在将输入音频数据提供到内容提取块505的时间之前已被记录了数年或甚至是数十年。举例来说,先前记录的语音可在人的生涯的早期阶段(例如,在演员生涯、音乐家生涯、政治家生涯等的早期阶段的特定时间周期期间)记录下来。举例来说,此先前记录的语音可对应于电影或电视声道、采访录音等的一些部分。
在此实例中,内容提取块505包含音位序列对准估计器块510及音调曲线估计器块515。在此实例中,音位序列对准估计器块510接收输入音频数据及与所述输入音频数据对应的文本。在一些实例中,所接收文本可包含与输入音频数据的时间对应的时间戳。根据一些实例,所接收文本可包含采访文字记录文本、脚本文本、抄本文本等。根据此实例,音调曲线估计器块515接收输入音频数据,但不接收与输入音频数据对应的文本。在一些实例中,内容提取块505也可接收与目标说话者对应的识别数据。
在此实例中,音位序列对准估计器块510经配置以生成与输入音频数据对应的带时间戳的音位序列512。在一些实施方案中,音位序列对准估计器块510可基于在非线性梅尔频率标度上对对数功率谱进行线性余弦变换来将输入音频数据转换成梅尔频率倒谱系数(mel-frequency cepstral coefficient,MFCC),梅尔频率倒谱系数表示声音的短期功率谱。音位序列对准估计器块510可经配置以参考词典将文本转换成已知音位。音位序列对准估计器块510可经配置以在MFCC特征与音位之间进行对准。在一些实例中,音位序列对准估计器块510可以是基于语音辨识系统(例如Kaldi语音辨识系统)的强制性对准器。然而,其它实施方案可采用其它类型的语音辨识系统。
在此,音调曲线估计器块515经配置以生成与输入音频数据对应的音调曲线数据517。在一些实例中,音调曲线数据517可针对每一音频帧指示音调的归一化对数值。在一些实例中,音频帧的持续时间可为5毫秒(ms)。然而,替代实例可实施更小或更大的音频帧,例如4ms的帧、6ms的帧、8ms的帧、10ms的帧等。根据一些实例,音调曲线估计器块515可经配置以在表示音调绝对值的序列中产生例如200个浮点数。音调曲线估计器块515可经配置以对这些浮点数实行对数运算且针对每一目标说话者将所得的值归一化,使得输出围绕0.0(例如,0.5)的曲线而不是绝对音调值(例如,200.0Hz)。在一些实例中,音调曲线估计器块515可经配置以使用语音时间特性。根据一些实例,音调曲线估计器块515可首先使用具有不同截止频率的数个低通滤波器。在一个实例中,低通滤波器可具有50Hz的截止频率,使得将传递0Hz与50Hz之间的信号。其它实施方案可具有其它截止频率。根据一些此类实施方案,这些低通滤波器的截止频率可在50Hz与500Hz之间变化。如果经滤波信号仅由基频组成,那么音调曲线估计器块515可形成正弦波。基频可基于此正弦波的周期而获得。在一些例子中,音调曲线估计器块515可使用过零及峰值峰谷间隔来选择最佳基频候选。在一些实例中,音调曲线估计器块515可包含音调估计器,例如在Github上提供的World音调估计器。然而在其它实例中,音调曲线估计器块515可包含另一类型的音调估计器。
在一些实例中,内容提取块505经配置以输出指示当前音频帧是被表达还是未被表达的指示符。根据一些实施方案,内容提取块505经配置以输出多个音位,包含当前音位、最近音位中的一或多者以及未来音位中的一或多者(例如,下一音位及可能地额外音位)。根据一个此类实例,内容提取块505经配置以输出五个音位,包含当前音位、两个之前音位以及两个接下来的音位。
根据此实施方案,调节神经网络520接收带时间戳的音位序列512及音调曲线数据517。调节神经网络520是上文参考图4所描述的“第一神经网络”的例子。在此实例中,调节神经网络520经配置以预处理或调节带时间戳的音位序列512及音调曲线数据517再将这些数据提供到话音建模神经网络525。在一些实例中,话音建模神经网络525可包含多个模块,每一模块以不同的速率或时间分辨率操作。由调节神经网络520输出的帧大小可对应于话音建模神经网络525的模块的时间分辨率。
在此实例中,话音建模神经网络525经配置以产生经预测音频信号530且将经预测音频信号530提供到损耗函数确定块535。在此,损耗函数确定块535经配置以对经预测音频信号与测试数据540进行比较且确定经预测音频信号的损耗函数值。根据此实例,测试数据540是与目标说话者的语音对应的音频数据。在一些实例中,测试数据540包含与目标说话者的先前未提供到内容提取块505的语音对应的音频数据。在此实例中,使用损耗函数值来训练话音建模神经网络525。根据一些实施方案,也可使用损耗函数值来训练调节神经网络520。
根据一些实例,训练话音建模神经网络525(且在一些例子中,训练调节神经网络520)可继续进行直到损耗函数相对“平坦”,使得当前损耗函数值与先前损耗函数值之间的差处于或低于阈值。如下文更详细地描述,训练话音建模神经网络525可涉及改变与话音建模神经网络525权重及/或激活函数值对应的有形存储媒体位置的物理状态。
图6展示使得训练语音合成器以产生经合成音频数据的实例。在此实例中,已对话音建模神经网络525进行训练以合成与目标说话者的话音对应的音频数据。根据此实例,将与源说话者的语音对应的输入音频数据提供到内容提取块505。在一些例子中,源说话者的语音可对应于在本文中别处提及的“第二人的第二语音”。然而,在其它实例中,可已对话音建模神经网络525进行训练以合成与当目标说话者处于第一年龄或在说话者处于包含所述第一年龄的年龄范围(例如21到25岁的年龄、26到30岁的年龄等)中的时间期间时所述说话者的话音对应的音频数据。根据一些此类实例,源说话者的语音可对应于在目标说话者处于不同的年龄(例如当目标说话者较年长时)的时间期间目标说话者的语音。
在此实例中,音位序列对准估计器块510接收输入音频数据及与输入音频数据对应的文本,且音调曲线估计器块515接收输入音频数据但不接收与所述输入音频数据对应的文本。所接收文本可包含与输入音频数据的时间对应的时间戳。尽管输入音频数据现在对应于源说话者,但在一些实施方案中,内容提取块505接收与目标说话者对应的识别数据。在其中源说话者与目标说话者是处于不同年龄的同一人的一些实施方案中,可将在所期望年龄或年龄范围的目标说话者的识别数据提供到块505。在一个简单实例中,说话者A在第一年龄(或年龄范围)的语音可被指定为A1且说话者A在第二年龄(或年龄范围)的语音可被指定A2。因此,在此类实例中,系统500将产生经合成音频数据,所述经合成音频数据对应于源说话者根据目标说话者的语音特性说出的话语。
在此实例中,音位序列对准估计器块510经配置以生成与来自源说话者的输入音频数据对应的带时间戳的音位序列512。在此,音调曲线估计器块515经配置以生成与来自源说话者的输入音频数据对应的音调曲线数据517。
根据此实施方案,调节神经网络520经配置以预处理或调节带时间戳的音位序列512及音调曲线数据517再将这些数据的经调节版本(其是在本文中别处提及的“第一神经网络输出”的实例)提供到话音建模神经网络525。
在此实例中,除接收与来自源说话者的输入音频数据对应的带时间戳的音位序列512及音调曲线数据517的经调节版本之外,话音建模神经网络525也接收与目标说话者对应的识别数据。因此,在此实例中,话音建模神经网络525经配置以产生经预测音频信号530(a/k/a“经合成音频数据”),经预测音频信号530包含与第一神经网络输出及第一识别数据对应的经合成音频数据。在这些例子中,经合成音频数据对应于由源说话者根据目标说话者的语音特性说出的话语。根据其中训练过程涉及接收与用第一语言的目标说话者对应的音频数据的一些实例,经合成音频数据可对应于源说话者用第二语言说出的话语。
尽管在此实例中,话音建模神经网络525已被训练以合成与目标说话者的语音对应的语音,但在一些实施方案中,可对经预测音频信号530进行评估及改善在将其输出以供存储、以经由一或多个换能器重新生成等。在一些此类实施方案中,可将经预测音频信号530提供到损耗函数确定块535。损耗函数确定块535可对经预测音频信号530与测试数据进行比较且可确定经预测音频信号530的损耗函数值。损可使用所述耗函数值来进一步改善经预测音频信号530。根据一些实施方案,也可使用损耗函数值来训练调节神经网络520。
根据一些实施方案,第一神经网络及/或第二神经网络可以是递归神经网络。所属领域的技术人员已知,递归神经网络是个别单元或“神经元”之间的连接形成有向循环的一种神经网络类别。此特征允许递归神经网络展现出动态时间行为。与前馈式神经网络不同,递归神经网络可使用其内部存储器来处理任意输入序列。此能力使得递归神经网络可适用于多种任务,例如笔迹辨识或语音辨识。
基本递归神经网络包含节点网络,所述节点通常被称为“神经元”。每一神经元有向(单向)连接到其它神经元。每一神经元具有时变实值激活函数,通常被称为“激活”,所述时变实值激活函数鉴于输入或输入集合而界定神经元的输出。神经元之间的每一连接(也被称为“突触”)具有可修改实值权重。神经元可以是输入神经元(自网络外部接收数据)、输出神经元或在从输入神经元到输出神经元的途中修改数据的隐藏神经元。一些递归神经网络可包含在输入神经元层与输出神经元层之间的数个隐藏神经元层。
可通过控制系统(例如,上文参考图3所描述的控制系统315)实施神经网络。因此,针对其中第一神经网络或第二神经网络是递归神经网络的实施方案,训练第一神经网络或第二神经网络可涉及改变与递归神经网络中的权重对应的非暂时性存储媒体位置的物理状态。存储媒体位置可以是可由控制系统存取或者是所述控制系统的一部分的一或多个存储媒体的若干部分。如上文所提及的权重对应于神经元之间的连接。训练第一神经网络或第二神经网络也可涉及改变与神经元的激活函数的值对应的非暂时性存储媒体位置的物理状态。
在一些实例中第一神经网络可以是双向递归神经网络。通过标准的递归神经网络无法从得到当前状态与未来时间对应的输入。相比之下,双向递归神经网络不要求其输入数据是固定的。此外,可从当前状态得到双向递归神经网络的未来输入信息。双向递归神经网络的基本过程是将与相反时间方向对应的两个隐藏层连接到同一输入及输出。通过实施此类型的结构,双向递归神经网络的输出层中的神经元可从过去状态及未来状态接收信息。当需要输入的上下文时,双向递归神经网络特别有用。举例来说,在笔迹辨识应用中,可通过位于当前字母之前及之后的字母的知识来提高性能。
图7展示双向递归神经网络的一个实例。图7中所展示的层数目、每一层中的神经元数目等仅是实例:其它实施方案可包含更多或更少的层、每一层中包含更多或更少的神经元等。
在图7中,以圆圈表示神经元701。层705的“x”神经元是输入神经元,其经配置以从双向递归神经网络700外部接收数据。层730的“y”神经元是输出神经元,其经配置以从双向递归神经网络700输出数据。层710到725中的神经元是在从输入神经元到输出神经元的途中修改数据的隐藏神经元。在一些实施方案中,双向递归神经网络700的神经元可采用反曲激活函数、双曲正切激活函数、或者反曲激活函数与双曲正切激活函数两者。尽管图7中展示四个隐藏层,但一些实施方案可包含更多或更少的隐藏层。一些实施方案可包含更多隐藏层,例如数百或数千个隐藏层。举例来说,一些实施方案可包含128、256、512、1024、2048或更多个隐藏层。
在此实例中,双向递归神经网络700包含三列神经元,三列神经元中的每一列对应于不同的时间。举例来说,时间可对应于将输入数据提供到双向递归神经网络700的时间间隔。中心列704对应于时间t,左列702对应于时间t-1且右列706对应于时间t+1。举例来说,时间t-1可与就在时间t之前的时间处获取的数据样本对应,且时间t+1可与就在时间t之后的时间处获取的数据样本对应。
在此实例中,隐藏层710与715对应于相反的时间方向。隐藏层710的神经元701在时间上前向传递数据,而隐藏层715的神经元701在时间上后向传递数据。然而,隐藏层710不将输入提供到隐藏层715,且隐藏层715不将输入提供到隐藏层710。
层705的与特定时间对应的输入神经元(例如,列704中的与时间t对应的输入神经元)将信息提供到与同一时间对应的隐藏层710的神经元及隐藏层715的神经元。隐藏层710的神经元及隐藏层715的神经元将信息提供到层720的与同一时间对应的单个神经元。
尽管神经网络的信息及处理流程从输入神经元进行到输出神经元,但图7也说明在相反方向上的“后向传播”(被称为“后传播”),如由点划箭头740所描绘。后向传播是在神经网络中用于在处理一批数据之后计算每一神经元的误差贡献的方法。后向传播可涉及应用梯度下降最优化算法来通过计算损耗函数的梯度调整神经元的权重。
在图7中所展示的实例中,层730的输出神经元可将输出提供到损耗函数确定块,所述损耗函数确定块可将当前损耗函数值提供到层730的输出神经元。后传播技术有时也被称为误差的后向传播,这是由于误差可在输出处计算出且通过点划箭头740所展示的神经网络层后向分散。
尽管在此实例中已在双向递归神经网络的上下文中图解说明且描述了后传播,但后传播技术可应用在其它类型的神经网络中,包含但不限于其它类型的递归神经网络。举例来说,后传播技术可用于在本文中别处所描述的话音建模神经网络(“第二神经网络”)、自动编码器及/或语音分类器神经网络。
图8展示话音建模神经网络的实例性块及可在训练期间提供到话音建模神经网络的输入的实例。根据一些实例,话音建模神经网络525的神经元可采用反曲激活函数及/或双曲正切激活函数。另一选择为或另外,话音建模神经网络525的神经元可采用修正线性单元(ReLU)激活函数。在此实例中,将S_t、P_t、Q_t及F_t提供到话音建模神经网络525。在此,S_t表示目标说话者识别数据,P_t表示话音建模神经网络525针对目标说话者产生的之前经预测音频信号,Q_t表示与目标说话者的话音对应的输入时间对准音位序列,且F_t表示与目标说话者的话音对应的基频曲线数据。
在此实例中,话音建模神经网络525包含模块805、810及815,所述模块中的每一者以不同的时间分辨率操作。在此实例中,模块805比模块810处理更多的样本/帧,且模块815比模块805处理更多的样本/帧。在一些此类实例中,模块805处理的样本/帧是模块810的十倍,且模块815处理的样本/帧是模块810的八倍。根据一些此类实施方案,话音建模神经网络525可包括上文所描述的SampleRNN神经网络的经修改版本。举例来说,SampleRNN神经网络可经修改以针对多个目标说话者而被训练且产生与多个目标说话者中的选定目标说话者对应的经合成音频数据。然而,这些仅是实例。在其它实施方案中,话音建模神经网络525可包含不同的数目个模块及/或模块可经配置以处理不同的帧大小。
因此,可例如通过调节神经网络520(图8中未展示)将不同的帧大小的输入数据输入到话音建模神经网络525。在一个此类实例中,在16KHz下对音频数据进行取样,因此调节神经网络520可提供80个样本(“大的帧”大小),等同于模块805的每一帧占音频数据的5ms。在一个此类实施方案中,调节神经网络520可提供8个样本(“小的帧”大小),等同于模块810的每一帧占音频数据的.5ms。根据一个此类实施方案,调节神经网络520可提供640个样本(“样本预测器”的帧大小)等同于模块815的每一帧占音频数据的40ms。根据一些此类实例,模块810的操作可比模块805快十倍且比模块815快80倍。
在一些实施方案中,调节神经网络520可仅重复提供到模块810的相同的8个样本十次,以生成80个样本以供输入到模块805。根据一些此类实施方案,调节神经网络520可重复提供到模块810的相同的8个样本八十次,以生成640个样本以供输入到模块815。然而,在替代实施方案中,调节神经网络520可根据其它方法将输入提供到话音建模神经网络525。举例来说,可以除16KHz之外的其它频率对输入音频数据进行取样,模块805、810及815可基于不同的帧大小进行操作等。在一个替代实施方案中,模块805可接收20个样本/帧,且模块815可使用先前的20个样本作为历史。下文参考图14描述模块805、810及815的一些详细实例。
在此实例中,C_t表示话音建模神经网络525针对当前目标说话者输出的经合成音频数据。尽管图8中未展示,在许多实施方案中,训练过程将涉及将C_t提供到损耗函数确定块、从损耗函数确定块接收损耗函数值且根据损耗函数值训练至少话音建模神经网络525。一些实施方案也涉及根据损耗函数值训练调节神经网络。
图9展示话音建模神经网络的实例性块及可在语音产生过程期间提供到话音建模神经网络的输入的实例。在此实例中,将S_t、P_s→t、Q_s及F_s提供到话音建模神经网络525。在此,S_t表示目标说话者识别数据,P_s→t表示话音建模神经网络525产生的之前预测(源到目标风格迁移)的音频信号,Q_s表示与源说话者的话音对应的输入时间对准音位序列,且F_s表示与源说话者的话音对应的基频曲线数据。
如上文参考图8所描述,在此实例中,话音建模神经网络525包含模块805、810及815,模块中的每一者以不同的时间分辨率操作。因此,可将不同的帧大小的输入数据输入到话音建模神经网络525,举例来说通过调节神经网络520(图9中未展示)。
一些实施方案可涉及一或多个额外神经网络。在一些此类实施方案中,第三神经网络可在训练过程期间接收输入音频数据(例如,上文参考图4所描述的“第一语音”)。训练过程可涉及训练第三神经网络以确定与第一人的语音对应的第一语音特性且输出经编码音频数据。
根据一些此类实例,第三神经网络可以是或可包含自动编码器。自动编码器是可用于高效译码的无监督学习的神经网络。通常来说,自动编码器的目标是通常出于降维目的而学习一组数据的表示或“编码”。
图10展示自动编码器的块的实例。举例来说,自动编码器1005可由控制系统,(例如,上文参考图3所描述的控制系统315)实施。举例来说,自动编码器1005可由控制系统的一或多个处理器根据存储在一或多个非暂时性存储媒体中的软件实施。图10中所展示的元件的数目及类型仅是实例。自动编码器1005的其它实施方案可包含更多、更少或不同的元件。
在此实例中,自动编码器1005包含具有三层神经元的递归神经网络(RNN)。根据一些实例,自动编码器1005的神经元可采用反曲激活函数及/或双曲正切激活函数。RNN层1到3中的神经元在维持N维输入数据的N维状态的同时处理N维输入数据。层1010经配置以接收RNN层3的输出且应用池化算法。池化是非线性减少取样的形式。根据此实例,层1010经配置以应用最大值池化函数,所述最大值池化函数将RNN层3的输出分割成一组M个非重叠部分或“子区”,且针对每一此种子区输出最大值。
图11展示训练包含自动编码器的语音合成器的过程的实例性块。在此实例中,可如上文参考图8所描述地实施训练过程的大多数方面。上文参考图8描述S_t、F_t、Q_t及P_t的值。
然而,在此实例中,自动编码器1005也向话音建模神经网络525提供输入。根据此实例,自动编码器1005在训练过程期间从目标说话者接收输入音频数据C_t并将Z_t输出到话音建模神经网络525。在此实施方案中,Z_t包含与输入音频数据C_t相比维度得以降低的经编码音频数据。
在此实例中,C_t’表示话音建模神经网络525针对当前目标说话者输出的经合成音频数据。在此实施方案中,训练过程涉及将C_t’及“基准真值”音频数据(在此实例中是输入音频数据C_t)提供到损耗函数确定块535,从损耗函数确定块接收损耗函数值并至少根据所述损耗函数值训练话音建模神经网络525。此实例还涉及根据损耗函数值训练自动编码器1005。为避免不必要的杂乱,图10不包含指示由损耗函数确定块535提供到话音建模神经网络525及自动编码器1005的损耗函数值的箭头。一些实施方案也涉及根据所述损耗函数值训练调节神经网络。在所有情形中,训练过程涉及改变与被训练的神经网络的至少一个权重对应的至少一个有形存储媒体位置的物理状态。
在一些此类实例中,训练也可涉及训练第四神经网络以确定由第三神经网络产生的经编码音频数据是否对应于第一人的语音。第四神经网络在本文中可被称为“说话者身份分类器”或简称为“说话者分类器”。在一些此类实施方案中,语音产生过程可涉及由第三神经网络接收与源说话者的语音对应的音频数据。在一些例子中,源说话者可对应于在本文中别处(例如,在对图6的说明中)所提及的“第二人”。因此,所接收音频数据可对应于在本文中别处提及的“与第二人的第二语音对应的第二音频数据”。
在一些此类实例中,语音产生过程可涉及由第三神经网络产生与第二音频数据对应的第二经编码音频数据。语音产生过程可涉及由第四神经网络接收第二经编码音频数据。在一些实例中,语音产生过程可涉及经由迭代过程产生经修改的第二经编码音频数据直到第四神经网络确定经修改的第二经编码音频数据对应于第一人的语音,且在第四神经网络确定经修改的第二经编码音频数据对应于第一人的语音之后,将经修改的第二经编码音频数据提供到第二神经网络(例如,提供到话音建模神经网络525)。
图12A说明可在训练说话者分类器的过程期间使用的块的实例。在此实例中,说话者分类器1205是一类神经网络且根据来自自动编码器1005的输入及来自损耗函数确定块535的反馈加以训练。图12B中图解说明且下文描述说话者分类器1205的更详细实例。根据此实施方案,在对说话者分类器1205进行训练时,自动编码器1005已被训练且自动编码器1005的权重是固定的。
根据此实例,自动编码器1005在训练过程期间从目标说话者接收输入音频数据C_t并将Z_t输出到说话者分类器1205。在此实施方案中,Z_t包含与输入音频数据C_t维度得以降低的经编码音频数据。
根据此实施方案,说话者分类器1205将作为目标说话者的经预测说话者识别数据的S_t^输出到损耗函数确定块535。在此实例中,S_t、目标说话者的“基准真值”说话者识别数据也被输入到损耗函数确定块535。
“说话者识别数据”中所包含的数据的类型及数量可根据特定实施方案而各有不同。在简单情形中,说话者识别数据可仅指示特定说话者的身份(例如,“说话者A”)。在一些此类例子中,说话者分类器1205可仅经训练以确定例如说话者A是否为说话者A。举例来说,根据一些此类实施方案,说话者分类器1205可被训练直到损耗函数确定块535确定S_t^与S_t匹配为止。
然而,在一些实施方案中,说话者识别数据可更复杂。根据一些此类实施方案,说话者识别数据可指示由说话者分类器1205及/或由自动编码器1005学习的目标说话者的语音特性。在一些此类实施方案中,说话者识别数据可表示目标说话者的语音特性的多维向量。在一些实施方案中,向量的维度可为8、16、32、64或128。根据一些此类实施方案,说话者分类器1205可经训练直到损耗函数确定块535确定S_t^与S_t之间的差处于或低于阈值。训练过程涉及改变与说话者分类器1205的至少一个权重对应的至少一个有形存储媒体位置的物理状态。
图12B说明说话者分类器的一个实例。在此实例中,说话者分类器1205包含卷积神经网络。根据此实例,说话者分类器1205接收自动编码器1005的输出作为输入并基于此输入进行说话者分类。在一些实例中,说话者分类器1205的输入包含M×N个特征,其中N是输入帧的数目且M是特征尺寸。
在此实例中,卷积层1210包含64个滤波器。然而在其它实施方案中,卷积层1210可包含不同的数目个滤波器,例如30个滤波器、40个滤波器、50个滤波器、60个滤波器、70个滤波器、80个滤波器、90个滤波器、100个滤波器等。在此,每一滤波器核心具有16×1滤波器大小。根据此实例,卷积层1210实行步长或“步幅”为4的卷积运算。步幅指示当滑动滤波器时如何遍历许多特征。因此,在此实例中,沿着输入数据滑动滤波器是卷积层1210实行的一类卷积运算。在此实例中鉴于M×N输入,输出大小为C1×floor((N–16)/4+1),其中floor(x)表示取最大整数i使得i≤x的运算。
根据此实施方案,神经网络层1215从卷积层1210接收输出且应用ReLU激活函数。在此,最大值池化块1220对神经网络层1215的输出应用最大值池化运算。在此实例中,最大值池化块1220通过从每8个特征取最大值来降低神经网络层1215的输出的维度。在此,最大值池化块1220具有8×1核心大小且应用步幅8。
在此实例中,卷积层1225包含100个滤波器。然而在其它实施方案中,卷积层1225可包含不同数目个滤波器,例如30个滤波器、40个滤波器、50个滤波器、60个滤波器、70个滤波器、80个滤波器、90个滤波器、110个滤波器、120个滤波器、130个滤波器等。在此,每一滤波器核心具有5×1滤波器大小。根据此实例,卷积层1225实行步长或“步幅”为1的卷积运算。
根据此实施方案,神经网络层1230从卷积层1225接收输出并应用ReLU激活函数。在此,最大值池化块1235对神经网络层1230的输出应用最大值池化运算。在此实例中,最大值池化块1235通过从每6个特征取最大值降低神经网络层1230的输出的维度。在此,最大值池化块1220具有6×1核心大小且应用步幅1。
在此实例中,线性层1240接收最大值池化块1235的输出且通过矩阵乘法应用线性变换。根据一个此类实例,线性层1240根据以下方程式应用线性变换:
y=Ax+b(方程式1)
在方程式1中,x表示输入,A表示可学习权重矩阵且b表示可学习偏倚。根据此实施方案,层1245对线性层1240的输出应用软性最大值函数。软性最大值函数(也被称为归一化指数函数)是对数函数的泛化,其在总计达1的范围[0,1]中将任意实际值的K维向量z降低到实际值的K维向量σ(z)。
说话者分类器1205的输出1250是说话者识别信息。根据此实例,输出1250包含总数目个说话者身份类别中的每一说话者身份类别的说话者分类概率分布。举例来说,输出1250可包含说话者是说话者A的概率P1、说话者是说话者B的概率P2等。
图13提供使用说话者分类器及自动编码器来进行语音合成的实例。上文描述(例如,参考图9)此过程的一些方面(包含C_s、S_t、P_s->t及F_s所表示的内容)且在此将不再赘述。在此实例中,C_s表示提供到自动编码器1005的源说话者的输入音频数据。Z_s表示自动编码器1005的输出,所述输出被输入到说话者分类器1205的。
在图13中所指示的时间处,自动编码器1005及说话者分类器1205已被训练,并且其权重已被存储且是固定的。根据此实例,来自损耗函数确定块535的反馈不用于改变自动编码器1005或说话者分类器1205的权重,而是用于修改Z_s的值直到说话者分类器1205将经修改源说话者的语音分类为目标说话者的语音。
在一些实施方案中,修改Z_s的值的过程可包含反向优化过程,例如随机梯度下降过程。在一个实例中,随机梯度下降过程可基于以下模型函数F:
y=F(x,w)(方程式2)
在方程式2中,F表示具有参数w、输入x及输出y的模型函数。基于方程式2可建构如下损耗函数L:
损耗=L(F(x,w),Y)(方程式3)
在方程式3中,Y表示基准真值标记。在训练神经网络的正常过程中,力图更新w的值。然而,在此实例中,神经网络已被训练且w的值是固定的。因此,在此实例中,反向优化过程可涉及更新或优化x的值以将方程式3中的L的值最小化。在伪码中,可如下描述此过程的一个实例。重复以下过程直到L(F(x,w),Y)达到近似最小值:
在方程式4中,表η示学习速率。在此实例中,x表示从自动编码器1005接收的经编码音频数据。
图14说明根据一个实例的调节神经网络及话音建模神经网络的块。举例来说,图14的块可经由控制系统(例如,图3中所展示且上文所描述的控制系统315)实施。在一些此类实例中,图14的块可由控制系统根据存储在一或多个非暂时性媒体上的软件指令实施。图14中所展示的帧大小、帧速率、元件数目及元件类型仅是实例。
根据此实例,调节神经网络520包含双向RNN 1415。在此实例中,调节神经网络520也包含块1407,块1407中存储有多个说话者(在此例子中,109个说话者)的语音特性数据。根据此实例,语音特性数据对应于在针对说话者中的每一者训练调节神经网络520的过程期间已由调节神经网络520学习的目标说话者的语音特性。在一些实施方案中,块1407可包含存储语音特性数据的存储器位置的指针。尽管在此实例中,语音特性数据由32维向量表示,但在其它实例中,语音特性数据可以其它方式表示,例如通过其它维度的向量。
在此实例中,块1405表示已例如根据从用户接收的输入选择的特定目标说话者。将说话者识别数据从块1405提供到块1407,块1407将语音特性数据1410提供到衔接块1414。在此实施方案中,衔接块1414也接收音位特征1412(例如,从内容提取块,例如上文所描述的内容提取块505)。
在此实例中,衔接块1414经配置以将语音特性数据1410与音位特征1412衔接起来并将输出提供到双向RNN 1415。举例来说,双向RNN 1415可经配置以如上文所描述地发挥功能(例如,参考图7)。
在此实例中,话音建模神经网络525包含模块805、810及815,所述模块中的每一者以不同的时间分辨率操作。在此实例中,模块805比模块810处理更多样本/帧,且模块815比模块805处理更多样本/帧。在一些此类实例中,模块805处理的样本/帧是模块810的十倍,且模块815处理的样本/帧是模块810的八倍。根据一些此类实施方案,话音建模神经网络525可包括上文所描述的SampleRNN神经网络的经修改版本。然而,这些仅是实例。在其它实施方案中,话音建模神经网络525可包含不同数目个模块,及/或模块可经配置以处理不同的帧大小。
由于模块805、810及815各自以不同的时间分辨率操作,因此在此实例中调节神经网络520将不同帧大小的输出提供到模块805、810及815中的每一者。根据此实例,调节神经网络520在与50个帧对应的时间间隔(例如,在调节神经网络520产生50个帧期间的时间间隔)期间将大小为1024个样本的50个帧提供到模块805。在此,调节神经网络520将50个大小为1024个样本的帧提供到重复张量块1430,重复张量块1430重复50个帧10次且向模块810提供500个大小为1024个样本的帧。在此实例中,调节神经网络520将50个大小为1024个样本的帧提供到重复张量块1445,重复张量块1445重复50个帧80次且向模块815提供4000个大小为1024个样本的帧。
根据此实例,模块805包含重定形块1418,重定形块1418经配置以将含4000个音频样本的单个帧重定形成各自具有80个样本的50个帧。在此实例中,线性运算块1420经配置以对每一帧实行线性运算使得从由重定形块1418输出的80个样本/帧形成1024个样本/帧。在一些此类实例中,线性运算块1420经配置以根据以下方程式经由矩阵乘法对每一帧实行线性运算:
Y=X*W(方程式5)
在方程式5中,X表示输入矩阵,在此实例中所述输入矩阵具有50×80个维度且对应于重定形块1418的输出。在方程式5中,Y表示维度为50×1024的输出矩阵且W表示维度为80×1024的矩阵。因此,线性运算块1420的输出与双向RNN 1415的输出具有相同数目的帧以及相同的帧大小,使得可对线性运算块1420的输出与双向RNN1415的输出求和并提供到RNN 1422。
线性运算块1425经配置以对每一帧实行线性运算使得从由RNN 1422输出的1024个样本/帧形成1024个样本/帧。在一些实例中,线性运算块1425经配置以经由矩阵乘法对每一帧实行线性运算。在此实例中,重定形块1427经配置以将50个含10240个音频样本帧重定形成500个各自具有1024个样本的帧。因此,可对重定形块1427的输出与重复张量块1430的输出求和。
在此实例中,重定形块1432经配置以将具有4000个样本的一个输入音频数据帧重定形成各自具有8个样本的500个帧。线性运算块1435经配置以对每一帧实行线性运算使得从由重定形块1432输出的8个样本/帧形成1024个样本。在一些实例中,线性运算块1435经配置以经由矩阵乘法对每一帧实行线性运算。在这些运算之后,可对线性运算块1435的输出与重定形块1427的输出及重复张量块1430的输出求和。
在此实例中,将此和提供到RNN 1437。在此,将RNN 1437的输出提供到线性运算块1440,在此实例中,线性运算块1440经配置以对每一帧实行线性运算使得从由RNN 1437输出的1024个样本/帧形成8192个样本/帧。在一些实例中,线性运算块1440经配置以经由矩阵乘法对每一帧实行线性运算。在此实例中,重定形块1442经配置以将各自具有8192个样本的500个数据帧重定形成各自具有1024个样本的4000个帧。然后,重定形块1442的输出具有与重复张量块1445的输出相同的维度,且可因此与重复张量块1445的输出求和。
根据此实例,模块815包含最靠近邻近者块1447,所述最靠近邻近者块1447经配置以将之前7个样本与音频数据的当前样本一起提供到线性运算块1450。在此实施方案中,线性运算块1450经配置以对每一帧实行线性运算使得从由最靠近邻近者块1447输出的8个样本/帧形成1024个样本/帧。然后,线性运算块1450的输出具有与重复张量块1445的输出相同的维度,且因此可与重复张量块1445的输出及重定形块1442的输出求和。在一些替代实施方案中,块1447及块1450可由例如具有总共1024个滤波器的单个卷积层替换,每一滤波器的大小为8×1。在滤波器大小为8×1的情况下,卷积滤波器可对之前7个样本及当前样本进行运算。
将所得的和提供到线性运算块1452。在此实例中,线性运算块1452经配置以成为也包含线性运算块1457及线性运算块1462的多层感知器的一部分。将线性运算块1452的输出提供到ReLU块1455,ReLU块1455将其输出提供到线性运算块1457。将线性运算块1457的输出提供到ReLU块1460,ReLU块1460将其输出提供到线性运算块1462。在此实例中,线性运算块1462经配置以对每一帧实行线性运算使得从由ReLU块1460输出的1024个样本/帧形成256个样本/帧。在此实施方案中,音频数据是8位音频数据,且因此256个样本/帧对应于输入音频数据的可能的音频样本值的数目。
根据此实施方案,块1465对线性运算块1462的输出应用软性最大值函数。在此实例中,软性最大值函数对256个值或类别/帧中的每一者进行分类。在此实例中,由话音建模神经网络525输出的输出数据1470包含音频样本分布,所述音频样本分布指示256个值或类别/帧中的每一者的概率。
本文中所定义的一般原理可适用于其它实施方案而这并不背离随附权利要求书的范围。因此,并不旨在将权利要求书限制于本文中所展示的实施方案,而是被授予与本发明、本文中所揭示的原理及创新性特征一致的最宽泛范围。
Claims (27)
1.一种计算机实施的音频处理方法,其包括:
训练语音合成器,其中所述训练涉及:
(a)由经由包括一或多个处理器以及一或多个非暂时性存储媒体的控制系统实施的内容提取过程来接收(405)与第一人的第一语音对应的第一音频数据;
(b)由所述内容提取过程生成(410)与所述第一语音对应的第一带时间戳的音位序列及第一音调曲线数据;
(c)由经由所述控制系统实施的第一神经网络接收(415)所述第一带时间戳的音位序列及所述第一音调曲线数据;
(d)由所述第一神经网络生成(420)与所述第一带时间戳的音位序列及所述第一音调曲线数据对应的第一神经网络输出,所述第一神经网络输出包括多个帧大小;
(e)由经由所述控制系统实施的第二神经网络接收(425)所述第一神经网络输出,所述第二神经网络包括模块层次,每一模块以不同的时间分辨率操作,其中所述第一神经网络已生成所述第一神经网络输出,使得所述第一神经网络输出的所述多个帧大小中的每个帧大小与所述第二神经网络的模块的时间分辨率对应;
(f)由所述第二神经网络基于所述第一神经网络输出来产生(430)第一经预测音频信号;
(g)经由所述控制系统对所述第一经预测音频信号与第一测试数据进行比较(435),所述测试数据是与所述第一人的语音对应的音频数据;
(h)经由所述控制系统确定(440)所述第一经预测音频信号的损耗函数值;及
(i)重复进行(a)到(h)直到所述第一经预测音频信号的当前损耗函数值与所述第一经预测音频信号的先前损耗函数值之间的差小于或等于预定值为止(445),其中重复进行(f)包括改变与所述第二神经网络的至少一个权重对应的至少一个非暂时性存储媒体位置的物理状态。
2.根据权利要求1所述的音频处理方法,其中(a)进一步包括接收与所述第一人的所述第一语音对应的第一带时间戳的文本。
3.根据权利要求1或权利要求2所述的音频处理方法,其中(a)进一步包括接收与所述第一人对应的第一识别数据。
4.根据权利要求3所述的音频处理方法,其进一步包括控制经训练语音合成器进行语音产生,其中所述语音产生包括:
(j)通过所述内容提取过程接收与第二人的第二语音对应的第二音频数据、与所述第二语音对应的第二带时间戳的文本及与所述第一人的语音对应的第一识别数据;
(k)通过所述内容提取过程生成与所述第二语音对应的第二带时间戳的音位序列及第二音调曲线数据;
(l)由所述第一神经网络接收(k)的所述第二带时间戳的音位序列及所述第二音调曲线数据;
(m)由所述第一神经网络生成与(k)的所述第二带时间戳的音位序列及所述第二音调曲线数据对应的第一神经网络输出;
(n)由所述第二神经网络接收(m)的所述第一神经网络输出且接收所述第一识别数据;及
(o)由所述第二神经网络产生与(m)的所述第一神经网络输出且与所述第一识别数据对应的经合成音频数据。
5.根据权利要求4所述的音频处理方法,其中所述经合成音频数据对应于由所述第二人根据所述第一人的语音特性说出的话语。
6.根据权利要求5所述的音频处理方法,其中所述训练涉及接收呈第一语言的所述第一音频数据,且其中所述经合成音频数据对应于所述第二人用第二语言说出的话语。
7.根据权利要求4到6中任一权利要求所述的音频处理方法,其进一步包括使一或多个换能器重新生成所述经合成音频数据。
8.根据权利要求4到6中任一权利要求所述的音频处理方法,其中所述训练进一步包括:
由第三神经网络接收所述第一音频数据;及
训练所述第三神经网络以确定与所述第一人的语音对应的第一语音特性并输出经编码音频数据。
9.根据权利要求8所述的音频处理方法,其中所述训练进一步包括训练第四神经网络以确定所述经编码音频数据是否对应于所述第一人的语音。
10.根据权利要求9所述的音频处理方法,其中所述语音产生进一步包括:
由所述第三神经网络接收所述第二音频数据;
由所述第三神经网络产生与所述第二音频数据对应的第二经编码音频数据;
由所述第四神经网络接收所述第二经编码音频数据;
经由迭代过程产生经修改的第二经编码音频数据直到所述第四神经网络确定所述经修改的第二经编码音频数据与所述第一人的语音对应为止,且在所述第四神经网络确定所述经修改的第二经编码音频数据与所述第一人的语音对应之后,将所述经修改的第二经编码音频数据提供到所述第二神经网络。
11.根据权利要求1或权利要求2所述的音频处理方法,其中重复进行(a)到(h)涉及基于当前损耗函数值经由后向传播来训练所述第一神经网络或所述第二神经网络中的至少一者。
12.根据权利要求1或权利要求2所述的音频处理方法,其中所述第一神经网络包括双向递归神经网络。
13.一种语音合成设备,其包括:接口系统(310);
控制系统(315),其包括一或多个处理器以及一或多个非暂时性存储媒体,所述一或多个非暂时性存储媒体操作地耦合到所述一或多个处理器,所述控制系统经配置以实施语音合成器,所述语音合成器包含内容提取器、第一神经网络及第二神经网络,所述第一神经网络包括双向递归神经网络,所述第二神经网络包括模块层次,每一模块以不同的时间分辨率操作,所述第一神经网络及所述第二神经网络已根据包括以下步骤的过程被训练:
(a)经由所述接口系统及由所述内容提取器接收与第一人的第一语音对应的第一音频数据;
(b)由所述内容提取器生成与所述第一语音对应的第一带时间戳的音位序列及第一音调曲线数据;
(c)由所述第一神经网络接收所述第一带时间戳的音位序列及所述第一音调曲线数据;
(d)由所述第一神经网络生成与所述第一带时间戳的音位序列及所述第一音调曲线数据对应的第一神经网络输出,所述第一神经网络输出包括多个帧大小,所述帧大小中的每个帧大小与所述第二神经网络的模块的时间分辨率对应;
(e)由所述第二神经网络接收所述第一神经网络输出;
(f)由所述第二神经网络基于所述第一神经网络输出来产生第一经预测音频信号;
(g)对所述第一经预测音频信号与第一测试数据进行比较,所述测试数据是与所述第一人的语音对应的音频数据;
(h)确定所述第一经预测音频信号的损耗函数值;及
(i)重复进行(a)到(h)直到所述第一经预测音频信号的当前损耗函数值与所述第一经预测音频信号的先前损耗函数值之间的差小于或等于预定值为止,其中所述控制系统经配置以控制经训练述语音合成器模块进行语音产生,且其中所述语音产生包括:
(j)由所述内容提取器且经由所述接口系统接收与第二人的第二语音对应的第二音频数据、与所述第二语音对应的第二带时间戳的文本及与所述第一人的语音对应的第一识别数据;
(k)由所述内容提取器生成与所述第二语音对应的第二带时间戳的音位序列及第二音调曲线数据;
(l)由所述第一神经网络接收(k)的所述第二带时间戳的音位序列及所述第二音调曲线数据;
(m)由所述第一神经网络生成与(k)的所述第二带时间戳的音位序列及所述第二音调曲线数据对应的第一神经网络输出;
(n)由所述第二神经网络接收(m)的所述第一神经网络输出且接收所述第一识别数据;及
(o)由所述第二神经网络产生与(m)的所述第一神经网络输出且与所述第一识别数据对应的经合成音频数据。
14.根据权利要求13所述的语音合成设备,其中所述经合成音频数据对应于由所述第二人根据所述第一人的语音特性说出的话语。
15.根据权利要求14所述的语音合成设备,其中所述训练涉及接收呈第一语言的所述第一音频数据,且其中所述经合成音频数据对应于所述第二人用第二语言说出的话语。
16.根据权利要求13到15中任一权利要求所述的语音合成设备,其中所述控制系统经配置以使一或多个换能器重新生成所述经合成音频数据。
17.根据权利要求13到15中任一权利要求所述的语音合成设备,其中产生所述经合成音频数据包括改变与所述第二神经网络的至少一个权重对应的至少一个非暂时性存储媒体位置的物理状态。
18.一种语音合成设备,其包括:
接口系统(310);
控制系统(315),其包括一或多个处理器以及一或多个非暂时性存储媒体,所述一或多个非暂时性存储媒体操作地耦合到所述一或多个处理器,所述控制系统经配置以实施语音合成器,所述语音合成器包含内容提取器、第一神经网络及第二神经网络,所述第一神经网络包括双向递归神经网络,所述第二神经网络包括模块层次,每一模块以不同的时间分辨率操作,所述第二神经网络已经进行训练以通过根据权利要求1到12中任一权利要求所述的音频处理方法来产生与第一说话者的第一语音对应的第一经合成音频数据,其中所述控制系统经配置以控制所述语音合成器:
(a)由所述内容提取器且经由所述接口系统接收与第二人的第二语音对应的第二音频数据、与所述第二语音对应的第二带时间戳的文本及与所述第一人的语音对应的第一识别数据;
(b)由所述内容提取器生成与所述第二语音对应的第二带时间戳的音位序列及第二音调曲线数据;
(c)由所述第一神经网络接收(b)的所述第二带时间戳的音位序列及所述第二音调曲线数据;
(d)由所述第一神经网络生成与(b)的所述第二带时间戳的音位序列及所述第二音调曲线数据对应的第一神经网络输出,所述第一神经网络输出包括多个帧大小,所述帧大小中的每个帧大小与所述第二神经网络的模块的时间分辨率对应;
(e)由所述第二神经网络接收(d)的所述第一神经网络输出且接收所述第一识别数据;及
(f)由所述第二神经网络产生与(d)的所述第一神经网络输出且与所述第一识别数据对应的第二经合成音频数据。
19.根据权利要求18所述的语音合成设备,其中所述第二经合成音频数据对应于由所述第二人根据所述第一人的语音特性说出的话语。
20.根据权利要求19所述的语音合成设备,其中所述训练涉及接收呈第一语言的所述第一音频数据,且其中所述第二经合成音频数据对应于所述第二人用第二语言说出的话语。
21.根据权利要求18到20中任一权利要求所述的语音合成设备,其进一步包括使一或多个换能器重新生成所述第二经合成音频数据。
22.根据权利要求18到20中任一权利要求所述的语音合成设备,其中产生所述经合成音频数据包括改变与所述第二神经网络的至少一个权重对应的至少一个非暂时性存储媒体位置的物理状态。
23.一种语音合成设备,其包括:接口系统(310);
控制系统(315),其包括一或多个处理器以及一或多个非暂时性存储媒体,所述一或多个非暂时性存储媒体操作地耦合到所述一或多个处理器,所述控制系统经配置以实施语音合成器,所述语音合成器包含内容提取器、第一神经网络及第二神经网络,所述第一神经网络包括双向递归神经网络,所述第二神经网络包括模块层次,每一模块以不同的时间分辨率操作,所述第一神经网络及所述第二神经网络已根据包括以下步骤的过程被训练:
(a)经由所述接口系统且由所述内容提取器接收与目标说话者的第一语音对应的第一音频数据;
(b)由所述内容提取器生成与所述第一语音对应的第一带时间戳的音位序列及第一音调曲线数据;
(c)由所述第一神经网络接收所述第一带时间戳的音位序列及所述第一音调曲线数据;
(d)由所述第一神经网络生成与所述第一带时间戳的音位序列及所述第一音调曲线数据对应的第一神经网络输出,所述第一神经网络输出包括多个帧大小,所述帧大小中的每个帧大小与所述第二神经网络的模块的时间分辨率对应;
(e)由所述第二神经网络接收所述第一神经网络输出;
(f)由所述第二神经网络产生第一经预测音频信号;
(g)对所述第一经预测音频信号与第一测试数据进行比较;
(h)确定所述第一经预测音频信号的损耗函数值;及
(i)重复进行(a)到(h)直到所述第一经预测音频信号的当前损耗函数值与所述第一经预测音频信号的先前损耗函数值之间的差小于或等于预定值为止,其中所述控制系统经配置以控制所述语音合成器模块进行语音产生,且其中所述语音产生包括:
(j)由所述内容提取器且经由所述接口系统接收与源说话者的第二语音对应的第二音频数据、与所述第二语音对应的第二带时间戳的文本及与所述目标说话者的语音对应的第一识别数据;
(k)由所述内容提取器生成与所述第二语音对应的第二带时间戳的音位序列及第二音调曲线数据;
(l)由所述第一神经网络接收(k)的所述第二带时间戳的音位序列及所述第二音调曲线数据;
(m)由所述第一神经网络生成与(k)的所述第二带时间戳的音位序列及所述第二音调曲线数据对应的第一神经网络输出;
(n)由所述第二神经网络接收(m)的所述第一神经网络输出且接收所述第一识别数据;及
(o)由所述第二神经网络产生与(m)的所述第一神经网络输出且与所述第一识别数据对应的经合成音频数据。
24.根据权利要求23所述的语音合成设备,其中所述经合成音频数据对应于由所述源说话者根据所述目标说话者的语音特性说出的话语。
25.根据权利要求23所述的语音合成设备,其中所述目标说话者与所述源说话者是处于不同年龄的同一个人。
26.根据权利要求23所述的语音合成设备,其中所述目标说话者的所述第一语音对应于处于第一年龄或处于包含所述第一年龄的年龄范围期间的人的语音,且所述源说话者的所述第二语音对应于处于第二年龄的所述人的语音。
27.根据权利要求26所述的语音合成设备,其中所述第一年龄是比所述第二年龄年轻的年龄。
Applications Claiming Priority (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862710501P | 2018-02-16 | 2018-02-16 | |
US62/710,501 | 2018-02-16 | ||
EP18157080 | 2018-02-16 | ||
EP18157080.5 | 2018-02-16 | ||
US201962797864P | 2019-01-28 | 2019-01-28 | |
US62/797,864 | 2019-01-28 | ||
PCT/US2019/017941 WO2019161011A1 (en) | 2018-02-16 | 2019-02-14 | Speech style transfer |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111771213A CN111771213A (zh) | 2020-10-13 |
CN111771213B true CN111771213B (zh) | 2021-10-08 |
Family
ID=66102176
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980013180.8A Active CN111771213B (zh) | 2018-02-16 | 2019-02-14 | 语音风格迁移 |
Country Status (4)
Country | Link |
---|---|
EP (1) | EP3752964B1 (zh) |
JP (1) | JP6911208B2 (zh) |
CN (1) | CN111771213B (zh) |
WO (1) | WO2019161011A1 (zh) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB201804073D0 (en) * | 2018-03-14 | 2018-04-25 | Papercup Tech Limited | A speech processing system and a method of processing a speech signal |
US20210089909A1 (en) * | 2019-09-25 | 2021-03-25 | Deepmind Technologies Limited | High fidelity speech synthesis with adversarial networks |
WO2020035085A2 (en) * | 2019-10-31 | 2020-02-20 | Alipay (Hangzhou) Information Technology Co., Ltd. | System and method for determining voice characteristics |
CN111627420B (zh) * | 2020-04-21 | 2023-12-08 | 升智信息科技(南京)有限公司 | 极低资源下的特定发音人情感语音合成方法及装置 |
CN111599343B (zh) * | 2020-05-14 | 2021-11-09 | 北京字节跳动网络技术有限公司 | 用于生成音频的方法、装置、设备和介质 |
CN112116906B (zh) * | 2020-08-27 | 2024-03-22 | 山东浪潮科学研究院有限公司 | 一种基于gan网络的现场混音方法、装置、设备及介质 |
CN112309365B (zh) * | 2020-10-21 | 2024-05-10 | 北京大米科技有限公司 | 语音合成模型的训练方法、装置、存储介质以及电子设备 |
CN112382272B (zh) * | 2020-12-11 | 2023-05-23 | 平安科技(深圳)有限公司 | 可控制语音速度的语音合成方法、装置、设备及存储介质 |
CN112633381B (zh) * | 2020-12-24 | 2023-09-01 | 北京百度网讯科技有限公司 | 音频识别的方法及音频识别模型的训练方法 |
CN112992107B (zh) * | 2021-03-25 | 2024-06-11 | 腾讯音乐娱乐科技(深圳)有限公司 | 训练声学转换模型的方法、终端及存储介质 |
EP4293660A4 (en) * | 2021-06-22 | 2024-07-17 | Samsung Electronics Co Ltd | ELECTRONIC DEVICE AND ITS CONTROL METHOD |
JP7069386B1 (ja) | 2021-06-30 | 2022-05-17 | 株式会社ドワンゴ | 音声変換装置、音声変換方法、プログラム、および記録媒体 |
CN114171053B (zh) * | 2021-12-20 | 2024-04-05 | Oppo广东移动通信有限公司 | 一种神经网络的训练方法、音频分离方法、装置及设备 |
CN115132196B (zh) * | 2022-05-18 | 2024-09-10 | 腾讯科技(深圳)有限公司 | 语音指令识别的方法、装置、电子设备及存储介质 |
WO2023236054A1 (zh) * | 2022-06-07 | 2023-12-14 | 北京小米移动软件有限公司 | 一种生成音频的方法、装置及存储介质 |
CN114999447B (zh) * | 2022-07-20 | 2022-10-25 | 南京硅基智能科技有限公司 | 一种基于对抗生成网络的语音合成模型及语音合成方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101199002A (zh) * | 2005-06-09 | 2008-06-11 | A.G.I.株式会社 | 检测音调频率的语音分析器、语音分析方法以及语音分析程序 |
CN105869630A (zh) * | 2016-06-27 | 2016-08-17 | 上海交通大学 | 基于深度学习的说话人语音欺骗攻击检测方法及系统 |
CN106328122A (zh) * | 2016-08-19 | 2017-01-11 | 深圳市唯特视科技有限公司 | 一种利用长短期记忆模型递归神经网络的语音识别方法 |
CN106875007A (zh) * | 2017-01-25 | 2017-06-20 | 上海交通大学 | 用于语音欺骗检测的基于卷积长短期记忆端对端深度神经网络 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8340977B2 (en) * | 2008-05-08 | 2012-12-25 | Broadcom Corporation | Compensation technique for audio decoder state divergence |
US8527276B1 (en) * | 2012-10-25 | 2013-09-03 | Google Inc. | Speech synthesis using deep neural networks |
JP6543820B2 (ja) * | 2015-06-04 | 2019-07-17 | 国立大学法人電気通信大学 | 声質変換方法および声質変換装置 |
US9558734B2 (en) * | 2015-06-29 | 2017-01-31 | Vocalid, Inc. | Aging a text-to-speech voice |
US9792897B1 (en) * | 2016-04-13 | 2017-10-17 | Malaspina Labs (Barbados), Inc. | Phoneme-expert assisted speech recognition and re-synthesis |
US10176819B2 (en) * | 2016-07-11 | 2019-01-08 | The Chinese University Of Hong Kong | Phonetic posteriorgrams for many-to-one voice conversion |
-
2019
- 2019-02-14 CN CN201980013180.8A patent/CN111771213B/zh active Active
- 2019-02-14 EP EP19716599.6A patent/EP3752964B1/en active Active
- 2019-02-14 JP JP2020542648A patent/JP6911208B2/ja active Active
- 2019-02-14 WO PCT/US2019/017941 patent/WO2019161011A1/en unknown
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101199002A (zh) * | 2005-06-09 | 2008-06-11 | A.G.I.株式会社 | 检测音调频率的语音分析器、语音分析方法以及语音分析程序 |
CN105869630A (zh) * | 2016-06-27 | 2016-08-17 | 上海交通大学 | 基于深度学习的说话人语音欺骗攻击检测方法及系统 |
CN106328122A (zh) * | 2016-08-19 | 2017-01-11 | 深圳市唯特视科技有限公司 | 一种利用长短期记忆模型递归神经网络的语音识别方法 |
CN106875007A (zh) * | 2017-01-25 | 2017-06-20 | 上海交通大学 | 用于语音欺骗检测的基于卷积长短期记忆端对端深度神经网络 |
Non-Patent Citations (2)
Title |
---|
Deep Voice 2: Multi-speaker Neural Text-to-Speech;Sercan Arik et al.;《XP055491751》;20170524;全文 * |
Voice conversion using deep Bidirectional Long Short-Term Memory based Recurrent Neural Networks;SUN LIFA et al.;《2015 IEEE INTERNATIONAL CONFERENCE ON ACOUSTICS, SPEECH AND SIGNAL PROCESSING (ICASSP) 》;XP033187686,DOI:10.1109/ICASSP.2015.7178896;20150419;全文 * |
Also Published As
Publication number | Publication date |
---|---|
JP6911208B2 (ja) | 2021-07-28 |
CN111771213A (zh) | 2020-10-13 |
JP2021508859A (ja) | 2021-03-11 |
EP3752964A1 (en) | 2020-12-23 |
WO2019161011A1 (en) | 2019-08-22 |
EP3752964B1 (en) | 2023-06-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111771213B (zh) | 语音风格迁移 | |
US11538455B2 (en) | Speech style transfer | |
US20220068255A1 (en) | Speech Recognition Using Unspoken Text and Speech Synthesis | |
Ling et al. | Deep learning for acoustic modeling in parametric speech generation: A systematic review of existing techniques and future trends | |
US12039969B2 (en) | Speech processing system and a method of processing a speech signal | |
JP7204989B2 (ja) | エンドツーエンド音声合成システムにおける表現度の制御 | |
Wali et al. | Generative adversarial networks for speech processing: A review | |
Gaurav et al. | Performance of deer hunting optimization based deep learning algorithm for speech emotion recognition | |
US11475874B2 (en) | Generating diverse and natural text-to-speech samples | |
Deng et al. | Foundations and trends in signal processing: Deep learning–methods and applications | |
Algihab et al. | Arabic speech recognition with deep learning: A review | |
EP3739570A1 (en) | Attention-based neural sequence to sequence mapping applied to speech synthesis and vocal translation | |
CN115836300A (zh) | 用于文本到语音的自训练WaveNet | |
CN114267366A (zh) | 通过离散表示学习进行语音降噪 | |
Roy et al. | A survey of classification techniques in speech emotion recognition | |
Khamlich et al. | Performance evaluation and implementations of MFCC, SVM and MLP algorithms in the FPGA board | |
Gambhir et al. | End-to-end multi-modal low-resourced speech keywords recognition using sequential Conv2D nets | |
Mohanty et al. | Application of deep learning approach for recognition of voiced Odia digits | |
Kaur et al. | Formant Text to Speech Synthesis Using Artificial Neural Networks | |
Sathiarekha et al. | A survey on the evolution of various voice conversion techniques | |
Spijkerman | Using voice conversion and time-stretching to enhance the quality of dysarthric speech for automatic speech recognition | |
US12100386B2 (en) | Speech processing system and a method of processing a speech signal | |
Makki et al. | Voice conversion using nonlinear principal component analysis | |
Soundarya et al. | An Investigational Analysis of Automatic Speech Recognition on Deep Neural Networks and Gated Recurrent Unit Model | |
Hsan | A Study on Isolated-Word Myanmar Speech Recognition via Artificial Neural Networks |
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 |