阅读理解:Transfer Learning from Speaker Verification to Multispeaker Text-To-Speech Synthesis

前言

现在银行打来的电话,还有很多骚扰电话已经完全用自动语音服务来实现了,回顾一下语音服务的三大技术基础:TTS、ASR、SI/SV。伴随着DL技术的广泛应用,现在自动对话系统的体验越来越好,三项技术在DL引擎的驱动下,日新月异的发展,未来你通过电话想知道对方是不是人会很难的(现在银行打来的自动语音电话已经很难分清是合成还是人工了)。今天要学习的这篇论文就是希望能打开TTS的门,也能将这三项技术融合到实际的产品。
在这里插入图片描述

热身开始,TTS在哪,长啥样

siri出现之前,语音合成的声音几乎没有语调,就像电影里的机器人说话的感觉。比较经典的是以eSpeak为代表的的共振峰合成技术,利用经典的声学理论,对实现系统来说,开销不大。但合成的声音现在听起来非常搞笑。python的库pyttsx3后端就使用的espeak引擎(此外还有sapi5-SAPI5 on Windows XP, Windows Vista, and (untested) Windows 7和nsss-NSSpeechSynthesizer on Mac OS X 10.5 and higher)。python是零距离接触TTS最好的工具了,google和ibm也为python提供了自己的tools,有兴趣的可以下载到自己的系统里体验1

pip install gTTS
pip install tts-watson

google 的例子:

from gtts import gTTS
import os
tts = gTTS(text='Good morning', lang='en')
tts.save("good.mp3")
os.system("mpg321 good.mp3")

ibm花生的例子:

from tts_watson.TtsWatson import TtsWatson

ttsWatson = TtsWatson('watson_user', 'watson_password', 'en-US_AllisonVoice') 
ttsWatson.play("Hello World")

还有一个办法在pypi的网站搜索TTS,你会惊讶的发现很多好玩的工具。

管中窥豹,TTS已经换了核心

最近5年,tts系统从经典算法演进到以神经网络为核心的拟合(自生成器)算法,逼真程度有了质的飞跃,加入了后端NLP的tts甚至可以和人类进行交流(siri)。这篇论文的一个好处是从独到的视角来看待TTS神经网络合成方法。下图是论文中模型的结构图:
在这里插入图片描述
这个图很清晰的说明了,作者利用三个网络(分别训练)构建了一个TTS网络,此网络不仅能发声,还能模拟说话者的声音和语调(speaker Embedding提供的信息),看到这里不禁令读者要问,这样一个网络可以骗过SV系统,达到以假乱真的效果吗?第一个Speaker Encoder很想deepspeaker的模型,最后实现的是语者嵌入(语者向量)。第二个合成器得出对数梅尔谱,这个应该是google的Tacotron网络,该网络是基于WavNet演进过来的,代表论文是《Natural TTS Synthesis by Conditioning Wavenet On Mel Spectrogram predictions》。第三个声码器将梅尔谱变换到时域,实现语音的合成,据作者提到的sample-by-sample autoregressive WaveNet。由此看来此论文语音合成和语者识别的大成者,用这个网络来测试声纹识别系统一定很有意思。

追随着谷歌的脚步看看DL+TTS简短却又震撼的发展历史

DeepMind发布WaveNet

Google 旗下的 DeepMind (创造AlphaGo 击败围棋冠军)在2016年9月发表的这篇WAVENET: A GENERATIVE MODEL FOR RAW AUDIO,是TTS系统划时代的一件事情,一年以后的2017年10月4日,Deepmind发表博客称,其一年前提出的生成原始音频波形的深层神经网络模型WaveNet已正式商用于Google Assistant中[2],该模型比起一年前的原始模型效率提高1000倍,且能比目前的方案更好地模拟自然语音。wavenet的出现,彻底宣告了当时主流的基于拼接的TTS和参数TTS算法的消亡。这是真应了那句话:时代要抛弃你,都不和你打声招呼。WaveNet是一种生成模型,类似VAE、GAN等,WaveNet最大的特点是可以直接生成raw audio的模型[3],在DeepMind的博客里还能找到关于wavenet的那篇博文,各种动图和音频,比论文要看着舒服点。

Tacotron和Tacotron 2网络

知乎上的一篇博文Tacotron&Tacotron2——基于深度学习的端到端语音合成模型详细的分析了TacotronTacotron 2网络以及与wavenet的继承关系。引用博文上的话:

  1. Wavenet并不是一个端到端模型,由于它的输入并不是raw text而是经过处理的特征,因此它实际上只是代替了传统TTS pipeline的后端(回忆我们在之前文章中的概念,传统TTS pipeline由前端和后端组成)。Wavenet最大的成功之处就是使用dilated causal convolution技术来增加CNN的receptive field,从而提升了模型建模long dependency的能力。
  2. Tacotron是第一个端对端的TTS神经网络模型,输入raw text,Tacotron可以直接输出mel-spectrogram,再利用Griffin-Lim算法就可以生成波形了。
  3. Tacotron2使用了一个和Wavenet十分相似的模型来代替Griffin-Lim算法,同时也对Tacotron模型的一些细节也做了更改,最终生成了十分接近人类声音的波形。

结束语

另外百度也开发了DeepVoice系列,目前应该在第三代,都是非常优秀的基于DL的TTS系统。由此看来玩这个东西还得大厂啊。本文不做太多扩展了,pip install deepvoice3_pytorch可以直接在python上体验,以备后用吧。
这么看本文标题的论文其实在Tacotron 2的网络上引入了speeker Embedding,理论上可以随意生成你想要的人声,这个如果是真的,我觉得其实是很可怕的事情。但即使是真的,我相信克制这个技术的新技术也会随着出现。玩这个还有一个比较有名的拉里.伯德系统,不是打球的那个,是Lyriebird Ai(现在属于Descript,致力于AI旁白合成软件),该公司在2019年收购了加拿大蒙特利尔的初创公司——Lyrebird。Lyrebird如今负责Descript的AI研究,主攻自动语音转文本和旁白合成技术。这是个可以模拟真人说话到以假乱真的ai系统,这家公司提出了“Edit audio by editing text. Drag and drop to add music and sound effects”,据说Lyriebird时代还提出过“警醒人类在未来(甚至现在)声音篡改模仿都是可能的,尽管现在法庭上还将录音作为一项重要的证据,他们不认为这是很妥当的,因为谁都可能伪造这种证据。”[4],不过原文找不到了。比较有意思的是在天眼查上居然找到了这家公司和关联了几个竞品公司,那就截个图来结束这篇博文吧,试看未来是谁做的更好。
在这里插入图片描述

延伸资料

《WAVENET: A GENERATIVE MODEL FOR RAW AUDIO》
《TACOTRON: TOWARDS END-TO-END SPEECH SYNTHESIS》
TACOTRON 2: 《Natural TTS Synthesis by Conditioning Wavenet On Mel Spectrogram predictions》
《Transfer Learning from Speaker Verification to Multispeaker Text-To-Speech Synthesis》
有github基于此论文做了实现中文TTS语音克隆
github上一个对wavenet的实现

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值