吳恩達盛讚的Deep Voice詳解教程,教你快速理解百度的語音合成原理...

2021-01-07 雷鋒網

雷鋒網AI科技評論按:百度前段時間推出了語音合成應用 Deep Voice,雷鋒網也於近日回顧了百度在語音識別及語音合成的研究歷程《從SwiftScribe說起,回顧百度在語音技術的七年積累》,但對於不了解TTS的同學們來說,要理解 Deep Voice 同樣困難。

而近日,百度首席科學家吳恩達在 Twitter 上轉發了MIT Dhruv Parthasarathy 的一篇medium 文章,其詳細闡述了Baidu Deep Voice 的具體原理及操作方法。吳恩達表示,「如果你是語音合成的新手,那麼這篇文章便是 Deep Voice 優秀且可讀性強的一個總結。感謝@dhruvp! 」雷鋒網AI科技評論編譯,未經許可不得轉載,以下為原文內容:

我希望把 ML/AI 領域最新的重要文章做成一個系列,該領域的文章裡有相當多非常直觀的思路,希望這些直觀的思路能在本文中有所展現。百度 Deep Voice 是一個應用深度學習把文本轉換成語音的系統, 這篇文章是本系列的第一篇博文,也是分析 Deep Voice 文章的上篇。

百度 Deep Voice

首先貼上Deep Voice 的 Arxiv連結:https://arxiv.org/abs/1702.07825

最近,吳恩達所在的百度人工智慧團隊發布了一篇令人嘆為觀止的文章,文章介紹了一種基於深度學習把文本轉換成語音的新系統。文章中百度 Deep Voice 生成的錄音例子如下所示,讓結果來說話(錄音內容)

百度文本轉換語音系統成果。錄音來源:http://research.baidu.com/deep-voice-production-quality-text-speech-system-constructed-entirely-deep-neural-networks/

顯而易見,與 MacOS 的 TTS (文本轉換成語音)系統相比,百度 Deep Voice 生成的錄音聽起來更自然,更像人類朗讀的聲音。但以上結果應當注意到一個大前提——百度 Deep Voice 原型有一個先天優勢,那就是它利用人類朗讀的一個錄音源件來進行訓練,這給它添加了一點人類說話的韻味。除此之外,Deep Voice還可以訪問頻率和持續時間數據。

除了能輸出高質量的語音,論文創新的幾個關鍵點是:

1. Deep Voice 將深度學習應用於語音合成的全過程。

以前的 TTS 系統會在某些環節上採用深度學習,但在Deep Voice之前,沒有團隊採用全深度學習的框架。

2.需要提取的特徵非常少,因此容易應用於不同的數據集。

傳統語音合成需要進行大量的特徵處理和特徵構建,但百度通過使用深度學習避免了這些問題。這使得 Deep Voice 的應用範圍更加廣泛,使用起來也更加方便。論文中也提到,如果需要應用於新的數據集,與傳統系統動輒幾個星期的時間相比,Deep Voice 可以在幾個小時內完成重新調試:

傳統的 TTS 系統完成(重新訓練)需數天到數周的時間進行調節,而對Deep Voice進行手動操作和訓練模型所需的時間只要幾個小時就足夠。

3.與現有技術相比,這個系統非常高效,專為生產系統而設計。

相比於 DeepMind 關於人類音頻合成的開創性論文中實現的 WaveNet ,現在這個系統的有效速度提升了400倍。 

我們專注於創建一個能迅速實現產品化的系統,這需要我們的模型能運行實時推斷。Deep Voice 可以在幾分之一秒內合成音頻,並在合成速度和音頻質量之間提供可調和的權衡。相比之下, WaveNet 合成一秒鐘的音頻,系統需要跑好幾分鐘。

一、背景材料

光說說這些創新點就足以令人感到興奮不已了!但是它是如何工作的呢?這篇博文的剩餘部分,將嘗試深入研究 Deep Voice 的不同部分,以及分析它們是如何融合在一起的。在此之前,可能你需要先看看這個視頻,了解一下基礎知識:

做好了功課,現在是時候深入探究 Deep Voice 的工作原理了!這篇博客的其餘部分將遵循以下結構:

1.首先,看看 Deep Voice 如何理解一個例句並將其轉換為與人聲相似的語音(這一步就是大家熟知的合成流程)。

2.然後將推理流程進一步拆解,了解每個部分的作用。

3.接下來,我們將介紹這些獨立部分實際上是如何訓練的,以及實際的培訓數據和標籤。

4.最後,在下一篇博文中,我們將深究用於實現這些不同組件的深度學習架構。

二、合成流程——將新文本轉換為語音

現在讓我們立足高點,看看 Deep Voice 如何識別一個簡單的句子,並將其轉換為我們聽得見的音頻。

我們即將探究的流程具有以下結構:

Deep Voice 的推理線路。來源:https://arxiv.org/pdf/1702.07825.pdf

為了理解這些組件是什麼,以及它們如何組合在一起,我們一起逐步細究合成的具體過程。我們來看看 Deep Voice 是如何處理下面這個句子的:

It was early spring.

步驟1:將語素(文本)轉換為音素

以英語為代表的語言不是語音語言(phonetic)。

(雷鋒網AI科技評論按:語音語言指的是單詞拼寫與讀音一致的語言,比如拉丁語就是一種典型的語音語言,即單詞中沒有不發音的字母,每個字母都有固定的發音。 )

例如以下單詞(參考於linguisticslearner),都帶後綴「ough」:

1.thoug (和 go 裡面的 o 類似 )

2.through (和 too 裡面的 oo 類似)

3.cough (和 offer 裡面的 off 類似 )

4.rough (和 suffer 裡面的的 uff 類似)

注意,即使它們有相同的拼寫,但它們的發音卻完全不同。如果我們的 TTS 系統使用拼寫作為其主要輸入,即使有相同的後綴,在接受為什麼"thoug"和"rough"發音如此不同上,會不可避免地會陷入困境。 因此,我們需要使用稍微不同的表達方式,展示出更多的發音信息。

音素正是這樣的一樣東西。我們發出來的聲音由不同音素單位組成。將因素組合在一起,我們幾乎可以 重複發出任何單詞的發音。這裡有幾個拆分成音素的詞語(改編自CMU的音素字典):

· White Room - [ W, AY1, T, ., R, UW1, M,. ]

· Crossroads - [ K, R, AO1, S, R, OW2, D, Z, . ]

在音素旁邊的1,2等數字表示應該發重音的位置。此外,句號表示音間停頓。

因此 Deep Voice 的第一步是,利用一個簡單的音素字典,把每個句子直接轉換為對應的音素。

我們的句子

處理我們句子的第一步, Deep Voice 將具有以下輸入和輸出。

· Input - "It was earky spring"

· Output - [IH1, T, ., W, AA1, Z, ., ER1, L, IY0, ., S, P, R, IH1, NG,. ]

在下一篇博文中我們將介紹如何訓練這樣的模型。

步驟2,第1部分:預測持續時間

現在有了音素後,我們需要估計在說話時,這些音素的發音時間。這也是一個有趣的問題,因為音素應該基於上下文來決定它們或長或短的持續時間。拿下面圍繞音素「AH N」的單詞舉例:

· Unforgettable

· Fun

相比第二個單詞,「AH N」顯然需要在第一個單詞裡發更長的發音時間,我們可以訓練系統做到這一點。能夠理解每個音素,並預測它們的發音時長(以秒為單位)是關鍵。

我們的句子

在這一步我們的例句會變成以下形式:

· Input - [IH1, T, ., W, AA1, Z, ., ER1, L, IY0, ., S, P, R, IH1, NG,.]

· Output - [IH1 (0.1s), T(0.05s),. (0.01s),...]

步驟2,第2部分:基頻預測

基本頻率(藍線)是聲帶發出濁音音素期間產生的最低頻率(將其視為波形的形狀)。我們的目標是預測每個音素的基頻。

為了讓發音儘可能地接近人聲,我們還想要預測出每個音素的音調和語調。這一點從多方面考量,對以漢語為代表的語言尤為重要。因為這些語言中,相同的聲音,讀出不同的音調和重音具有完全不同的含義。預測每個音素的基頻有助於我們發好每一個音素,因為頻率會告訴系統,什麼音素該發什麼音高和什麼音調。

此外,一些音素並不完全都發濁音,這意味著發這些音不需要每次都震動聲帶。

例如,拿發音「ssss」和「zzzz」做例子,注意到前者是清音 (unvoiced),發音時聲帶沒有振動,而後者是濁音 (voiced) ,發音時聲帶振動了。

我們的基本頻率預測也將考慮到這一點,預測出何時應當發清音,何時應該發濁音。

我們的句子

在這一步我們的例句會變成以下形式:

· Input - [IH1, T, ., W, AA1, Z, ., ER1, L, IY0, ., S, P, ., R, Ih1, NG,.]

· Output - [IH1(140hz),T(142hz),. (Not voiced),...]

步驟3:音頻合成


在最後一步,我們將音素、持續時間和基頻 (F0 profile) 合併,生成一個真正的音頻。


生成語音的最後一步是,合併音素、持續時間和頻率,輸出聲音。Deep Voice 是基於 DeepMind 的 WaveNet 基礎之上的改進版本,成功地實現了這一步。為了理解WaveNet的基礎架構,強烈建議閱讀他們的原創博客文章。

基於每個輸入的貢獻, DeepMind 的原始 WaveNet 可以把眾多不同輸入擴大指數倍。注意上面列出的指數樹結構。

資源:https://deepmind.com/blog/wavenet-generative-model-raw-audio/

WaveNet 生成原始波形,允許生成所有類型的聲音,不同的口音、情緒、呼吸和人類語音的其他基本部分都能包含在內,這樣的聲音和人類的聲音區別就非常小了。此外, WaveNet 甚至能在這一步之上生成音樂。

在發布的文章中,百度團隊通過優化程序的執行能力,特別是優化執行生成高頻輸入的能力來改進 WaveNet 。因此, WaveNet 需要幾分鐘來生成一秒鐘的新音頻,百度修改後的 WaveNet 可能只需要幾分之一秒完成同樣的任務,如 Deep Voice 的作者所述:

Deep Voice 可以在幾分之一秒內合成音頻,並在合成速度和音頻質量之間提供可調諧的權衡。相比之下,以前的 WaveNe 合成一秒鐘的音頻需要幾分鐘的運行時間。

我們的句子

下面是 Deep Voice 管道最後一步的輸入和輸出!

·Input - [IH1(140hz,0.5s), T(142hz, 0.1s),. (Not voiced, 0.2s), W(140hz, 0.3s), ...]

·Output - see bolow. 錄音

文字轉語音結果。錄音來源:http://research.baidu.com/deep-voice-production-quality-text-speech-system-constructed-entirely-deep-neural-networks/

三、概要

以上就是探究的結果了!通過這三個步驟,我們已經看到了 Deep Voice 如何理解一段簡單的文字,以及如何生成這段文字的讀音。以下是這些步驟的再次總結:

1.將文本轉換為音素。「It was early spring」

· [IH1, T, ., W, AA1, Z, ., ER1, L, IY0, ., S, P, R, IH1, NG,. ]

2.預測每個音素的發音持續時間和頻率。

· [IH1, T, ., W, AA1, Z, ., ER1, L, IY0, ., S, P, R, IH1, NG,. ] - > [IH1 (140hz, 0.5s), T (142hz, 0.1s), . (Not voiced, 0.2s), W (140hz, 0.3s),…]

3.合併音素、持續時間和頻率,輸出該文本的聲音。

· [IH1 (140hz, 0.5s), T (142hz, 0.1s), . (Not voiced, 0.2s), W (140hz, 0.3s),…] - > Audio

但是我們該如何實際訓練 Deep Voice 以便能夠執行上述這些步驟呢? Deep Voice 如何利用深度學習實現這個目標?

在下一篇博文中,我們將介紹 Deep Voice 訓練的方方面面,並展示更多底層神經網絡背後的奧妙,詳情請點擊以下連結 Baidu Deep Voice part2 - training

有興趣了解更多關於深度學習的知識,或者工作在深度學習領域?發送電子郵件到 founders@getathelas.com 加入 Athelas !我們一直在尋找充滿激情和好奇心的人:https://athelas.com/jobs/

更多機器學習文章請點擊以下連結:

Baidu Deep Voice part2 - training

Write an AI to win at Pong from scratch with Reinforcement Learning

更多資訊請關注雷鋒網。

via   athelas   雷鋒網(公眾號:雷鋒網)編譯

雷鋒網版權文章,未經授權禁止轉載。詳情見轉載須知。

相關焦點

  • 高效「煉丹」必備技能:一文實現深度學習數學原理入門,還有吳恩達...
    但是,如果只做代碼「搬運工」,不了解神經網絡背後的數學原理,很難對項目有深刻全面的理解,debug反而會更難、耗時更長。下面的深度學習數學基礎詳解,以DLP為例,你讀完後會對它的數學基礎有全面的了解,並且熟悉用數學解釋算法的基本思路。除了DLP,文末還一併為你準備了RNN、CNN數學原理,以及吳恩達老師的AI數學基礎課程。一文實現AI數學基礎入門,還在等什麼?
  • 百度Deep Voice作者與Bengio團隊切磋五大技術細節,端到端的語音...
    Deep Voice 目前需要藉助一個音素模型與音頻合成組件的幫助,希望在未來能夠實現真正意義上的端到端(end-to-end)語音合成,上述系統不需要經過複雜的合成流程,也不依賴手工設計特徵的輸入或預訓練文本。在官網上,百度研究院展示了三個不同的語音樣本做為對比,歡迎點擊此處查看。
  • 百度語音識別系統DeepSpeech 2:算法識別中英文
    【環球科技綜合報導】據Inside Bigdata網站11月27日報導,百度研究院(baidu research)宣布矽谷人工智慧實驗室 (SVAIL)已經開發出了一種新型語音識別系統——深度語音識別系統(Deep Speech 2)。該系統能通過簡單學習算法準確的識別英語和漢語。具體細節刊登在預印本在線資料庫arXiv.org,Deep Speech 2:英漢端對端深度語言識別。
  • 對話吳恩達、Yann LeCun: AI 2018 年的裡程碑以及 2019 年的預測
    在對 2018 的回顧和對未來的預測中,其中一些專家表示,他們很欣慰越來越少地聽到「人工智慧終結者」這樣的說法,同時也有越來越多的人開始理解人工智慧能做什麼以及不能做什麼。不過,這些專家也強調,該領域的計算機和數據科學家在推動人工智慧發展的過程中,需要繼續保持負責任的倫理觀。
  • 百度、微軟的漢語英語識別準確率已分別超越人類
    近日, 微軟宣布英語的語音識別轉錄詞錯率僅 5.9%,達到了專業速錄員水平超越了人類。百度首席科學家吳恩達(Andrew Ng)發推特對此表示恭賀:「在 2015 年我們就超越了人類水平的漢語識別;很高興看到微軟在不到一年之後讓英語也達到了這一步。」
  • 吳恩達 NIPS 2016:利用深度學習開發人工智慧應用的基本要點(含...
    今日,在第 30 屆神經信息處理系統大會(NIPS 2016)中,百度首席科學家吳恩達教授發表演講:《利用深度學習開發人工智慧應用的基本要點(Nuts and Bolts of Building Applications using Deep Learning)》。
  • 微軟聯手浙大研發出DeepSinger
    想必你一定聽過最近大火的"AI女團",7月10日,微軟小冰攜手小米小愛、B站冷鳶、百度小度首次集體亮相世界人工智慧大會,以一首AI歌曲《智聯家園》正式「出道」。AI女團的首場演唱會可謂驚豔全場。從整首歌的歌詞、卡點、節奏來看,這首《智聯家園》演唱得不亞於專業音樂團隊。如果只聽音樂,恐怕很難分辨出這是AI生成的歌聲。
  • Facebook開源TTS神經網絡VoiceLoop:基於室外聲音的語音合成
    ,該方法能夠將文本轉換成室外採樣的聲音的語音。最後,說話者語音被簡單表徵為短向量,適用於生成語音裡新的說話者和可變性(variability),該語音通過在生成音頻之前啟動緩衝來獲得。在兩個數據集上的實驗結果證明該方法具備處理多個說話者和室外語音的能力。為了促進可重複性,我們公開了原始碼和模型:PyTorch 代碼和樣本音頻文件可在 ytaigman.github.io/loop 獲取。
  • 百度地圖首發語音定製:「明星權利」下沉,人工智慧升格
    以至於有人在朋友圈中寫下了這樣一句話:充滿「人氣」的導航語音定製,正在打破語音時代的「花園圍牆」。只要20分鐘,聽見自己的聲音作為對新技術永遠有著嘗鮮欲望的泛極客,我在第一時間去AppStore更新了最新版的百度地圖,滿懷期待地錄製了自己的語音包。為了方便大家對「語音定製功能」的理解,這裡將整個體驗分為三個過程:第一步,錄製環境的準備。
  • 吳恩達李開復狹路相逢!王小川傅盛產品撞臉,AI四教父落地戰打響
    「權威教父」吳恩達:掘金AI從製造業入手說起「AI教父」的名聲,被叫得最響的自然是百度前首席科學家吳恩達(Andrew Ng)。美籍華裔吳恩達出身於倫敦,父親是香港人,吳恩達年輕時候在香港和新加坡度過。
  • 郭德綱out了,聽自己的語音導航吧
    百度地圖事業部總經理李瑩最後你就可以用自己的語音包替換掉其他明星語音包,可以在百度地圖的景區智能語音導覽、智能語音交互、導航等全部場景使用。語音的風格遷移其實也被稱作是「語音克隆」(voice clone)、「多說話人風格遷移」(multi-speaker)、「風格遷移」(style transfer)、「語音轉換」(voice conversion)。要知道語音的風格遷移非常困難。
  • 走進百度地圖 揭秘「湯唯導航語音的誕生」
    自百度地圖上線湯唯導航語音之後,已經有越來越多的人愛上了出行時和湯唯「對話」,但是你知道這麼迷人的導航語音是怎樣「煉成」的嗎?在百度地圖最近推出的「解密之作」——《「女神音」的誕生》中,來自百度地圖的「技術大神」就親自為我們解答了這個疑惑。  「女神是在哪裡錄製的?」「語音包是一個字一個詞錄的嗎?」「地圖中的所有地名都要念一遍嗎?」
  • 爐邊對話吳恩達:不回應70HR招聘要求,看好小公司AI驅動
    曾任職於谷歌大腦和百度,Coursera創始人,並最近建立神秘公司Deeplearning.ai的吳恩達也是嘉賓之一。今天午飯後的「爐變對話「環節,吳恩達和大家聊了聊他對於AI的理解和期待。他似乎很願意繼續保持自己新公司的神秘感,對於未來的動作守口如瓶。主持人調侃起之前盛傳其公司要求員工工作時間為每周70個小時的傳聞,吳恩達只笑稱自己收到很多簡歷,不願多談。
  • 百度賈磊暢談AI語音技術的現在、過去和未來
    在國內,談到智能語音技術,肯定繞不開一個人,那就是現任百度語音首席架構師賈磊,他是智能語音界舉足輕重的AI大牛,於2010年加入百度,組建了百度語音團隊,主導研發了百度語音識別和語音合成等一系列百度自有智慧財產權的語音核心技術。
  • 吳恩達:史上最通俗易懂的人工智慧概念解釋
    編者按:本文來自微信公眾號"筆記俠「(ID:Notesman),作者:吳恩達,責編:戈多內容來源:2017年9月11日,斯坦福,吳恩達為GASA大學作主題為「探索人工智慧」的分享。筆記俠作為獨家課程筆記合作夥伴,經主辦方審閱授權發布。筆記君邀您,先思考:1. 為什麼AI會突然在這幾年進步這麼快?2.
  • 為什麼你的語音助手說話不像人?關於TTS技術原理及挑戰
    而在現實生活中,AI 語音助手說話還遠遠達不到我們理想的聲音。為什麼你的機器人女友說話不像斯嘉麗詹森?今天,Rokid A-Lab 語音合成算法工程師鄭傑文將從語音合成技術談起,給大家分析其中原因。以下,Enjoy
  • 語音技術的現在、過去和未來,百度賈磊暢談20年從業之旅
    >在國內,談到智能語音技術,肯定繞不開一個人,那就是現任百度語音首席架構師賈磊,他是智能語音界舉足輕重的AI大牛,於2010年加入百度,組建了百度語音團隊,主導研發了百度語音識別和語音合成等一系列百度自有智慧財產權的語音核心技術。
  • 電商早班車 | Airbnb中國終於確定了它的中文名「愛彼迎」 ;吳恩達...
    電商早班車 | Airbnb中國終於確定了它的中文名「愛彼迎」 ;吳恩達宣布將從百度離職 iwangshang / 徐露 / 2017-03-23 摘要:騰訊2016年總營收
  • 只要20句,百度地圖就能為你定製一個語音包
    百度語音技術賦能地圖,全球首推語音定製產品人工智慧技術的落地應用正在向各行業襲來。9月19日,百度地圖"'音'為有你,更有'AI'"語音定製功能發布會召開,重磅推出全球首個地圖語音定製產品。該功能科技範兒十足,用戶只需在百度地圖App上錄製20句話,最快20分鐘,即可生成個人完整語音包。
  • AI軟體克隆你的聲音,全球詐騙案件已屢次得逞!
    例如高德導航裡的各種明星語音包,「林志玲為您導航祝您好心情」、「郭德綱前方有落石車碎人心碎」、「你鎮定一下羅永浩要開始導航了」,基本上能夠達到以假亂真的效果。大部分時候用戶也分不出來到底是明星自己錄的,還是合成的語音。當然這種場景中,語音合成只是為了提升用戶體驗做的一個小功能。不僅沒有對用戶造成損失,反而讓用戶開車的時候擁有更好的體驗。