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

2020-12-15 雷鋒網

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

而近日,百度首席科學家吳恩達在 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科技評論按:語音語言指的是單詞拼寫與讀音一致的語言,比如拉丁語就是一種典型的語音語言,即單詞中沒有不發音的字母,每個字母都有固定的發音。 )

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

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 加入 !我們一直在尋找充滿激情和好奇心的人:Athelashttps://athelas.com/jobs/

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

Baidu Deep Voice part2 - training

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

更多資訊請關注雷鋒網。

via 雷鋒網編譯athelas

相關焦點

  • 吳恩達盛讚的Deep Voice詳解教程,教你快速理解百度的語音合成原理...
    雷鋒網AI科技評論按:百度前段時間推出了語音合成應用 Deep Voice,雷鋒網也於近日回顧了百度在語音識別及語音合成的研究歷程《從SwiftScribe說起,回顧百度在語音技術的七年積累》,但對於不了解TTS的同學們來說,要理解 Deep Voice 同樣困難。
  • 最強大腦「人機大戰」第二輪戰平,吳恩達詳解背後技術原理
    在對手上,此次迎戰百度小度的是名人堂公認最擅長聲音辨別的選手孫亦廷,他辨別聲音細節的能力在名人堂無出其右,能通過水球從0~70米高空墜地破碎的聲音,來準確辨別水球下落時的高度。這相當於在一根70米長的琴弦上拉奏任意位置,他都通過音高準確辨別拉弦的位置,甚至比這更困難。在比賽內容上,存在當前聲紋識別領域公認的幾大難點。
  • 百度的語音識別技術或將超越谷歌和蘋果
    然後,百度團隊使用一種稱為疊加的物理原理,在這些語音樣本中加入大約15種噪音,比如餐館、汽車和地鐵的環境噪音。這些做法實質上把語音樣本增加到10萬小時的數據。然後,百度團隊讓語音識別系統學習在所有的噪音環境下識別語音。 吳恩達表示,這種方法比現有的語音識別系統更為簡單。
  • 這個人就是吳恩達(Andrew Ng),百度新任首席科學家
    可以理解,這樣的探索非常符合李彥宏的偏好。今年1月,李彥宏宣布,百度將建立公司歷史上首個前沿科學研究機構——深度學習研究院(Institute of Deep Learning,IDL)。前不久,《連線》曝光了百度進一步在矽谷設立人工智慧實驗室的消息。
  • 你還缺百度語音合成
    在此基礎上,快聽小說設置的語音定時功能,讓用戶從此再也不用擔心睡著了沒有人幫你關手機,進一步提升用戶的聽書體驗。有了百度語音的助力,「快聽小說」受到了廣大用戶的肯定,聽書的用戶也越來越多,下載量及使用量穩步提升,用戶反饋的關於聽書方面的問題也越來越少。如今,聽書的體驗已經不再是困擾「快聽小說」的問題。
  • 你(也)是吳恩達的學生麼?
    對於桃李最多的評價,吳恩達大方接受並轉推了,還給出了官方回應——「我和我的團隊很榮幸為這麼多的學習者服務,我們將繼續讓AI知識為每個人所理解。」吳恩達在Twitter和Facebook轉推時說。一時,Andrew百萬量級的全球最大學生團紛紛在推文下留言,各抒己見。
  • 你根本不知道吳恩達在百度經歷了什麼
    吳恩達自己也是有想法的,他跟朋友說,想進入工業界但還沒想好去哪。不過就在百度的橄欖枝拋出去沒多久,他便以講課名義來了兩次,王勁和餘凱藉機跟他談了談,但也許是還沒有十足的把握,那層窗戶紙始終沒被戳破。後來王勁和餘凱又去美國找吳恩達。在加州帕羅奧圖市喜來登酒店的露天泳池裡,餘凱還激他,「在在線教育領域,你做出了非凡的事, 但這並不是人工智慧。」
  • 解密人工智慧產業上遊:智能語音合成背後,誰在默默耕耘
    前百度首席科學家吳恩達曾說:「語音是人類交流、人機互動最自然的方式。」過去的70年,人機互動形式不斷進化,從計算機時代的鍵盤,到智慧型手機時代的觸控螢幕,如今語音交互正在引領人工智慧為主導的下一個人機互動的新時代,它能夠在社交、導航、搜索、機器人等領域大規模應用。
  • 把吳恩達深度學習系列課程畫出來是這個樣子
    附錄:   2017年3月,吳恩達從百度離職後,關於他新動向的猜測和關注就一直沒有停歇。剛不久,吳恩達正式披露了自己的新動向。大家可能還不知道吧,吳恩達是在線教育平臺Coursera的聯合創始人,吳恩達在2008年發起了Stanford Engineering Everywhere(SEE)項目,這個項目把斯坦福的許多課程放到網上,供免費學習。NG也教了一些課程,如機器學習課程,包含了他錄製的視頻講座和斯坦福CS299課程的學生材料。吳恩達的理想是讓世界上每個人能夠接受高質量的、免費的教育。
  • 百度推出Warp-CTC中文教程服務國內研發人員
    中新網1月26日電 近日,百度矽谷AI實驗室(SVAIL)首席科學家吳恩達(Andrew Ng)在接受媒體採訪時表示,百度已推出開源人工智慧技術Warp-CTC的中文介紹和安裝教程,方便中國開發者的使用
  • 語音連接人與服務:百度語音涉足智能穿戴領域
    隨著智能行動裝置的普及,語音交互作為一種新興的人機互動方式,正越來越多地引起整個IT業界的重視。此前,百度CEO李彥宏就曾在百度世界大會上表示,「未來5年,消費者使用語音和圖像表達需求的比例將超過50%」。尤其是在各種隨身智能設備層出不窮的情況下,語音更成為未來人機互動最為重要的一項技術。
  • 中文語音合成最高水平,百度語音技術打造全球首款地圖語音定製產品
    9月19日,百度地圖「『音』為有你,更有『AI』」語音定製功能發布會召開,重磅推出全球首個地圖語音定製產品。該功能科技範兒十足,用戶只需在百度地圖App上錄製20句話,最快20分鐘,即可生成個人完整語音包。換句話說,當你之後出行使用地圖功能時,就可以用自己的家人甚至寶寶的定製化語音導航,十一旅遊還可以聽自己聲音的景區解讀。
  • 百度如何布局智能語音,聽張克寧怎麼說
    百度 CEO 李彥宏此前表示,「未來5年,消費者使用語音和圖像表達需求的比例將超過50%」。今年以來,隨著以智能手錶為代表的可穿戴設備的興起,語音交互開始在這些智能設備上扮演起更加重要的角色。 上周六,雷科技和虎嗅在深圳聯合舉辦的 Smart Talk 第七期「語音連接人與服務」活動上,百度語音開放產品負責人張克寧與大家分享了百度眼中的未來智能語音的模樣。百度還表示語音開放技術將永久免費,並宣布推出針對智能可穿戴設備的智能語音解決方案。
  • 百度APP教你一秒變大廚
    除了紅燒排骨,我們還可以用百度APP搜索更多中西菜品做法,如「小炒肉怎麼做」、「怎樣製作蛋糕」、「如何自製酸奶」等等。再也不用動手打字啦:語音搜菜譜,教程秒出,分分鐘解決你的下廚問題。據了解,在百度APP上使用語音搜索的速度是鍵盤輸入的十倍,這種更「秒出」答案的搜索方式給了大家更為便捷的搜索體驗。百度語音搜索是語音技術、自然語言處理、智能搜索三方面的完美融合。
  • 吳恩達談百度深度學習:為什麼要建中文神經網絡
    Medium作者Caleb Garling在吳恩達結束了舊金山的深度學習峰會後,與進行了一次訪談。在大會上吳恩達受到了一大群仰慕他的計算機科學家的訪問。他們的想法是,如果你反饋給一臺電腦很多圖像,比方說一隻狗的圖像,計算機最終將學會如何識別犬類。如果我們可以教會機器這麼做,機器將很快能真正的擁有人的感觀——理解語言和圖像。吳恩達和Caleb Garling談論了他帶領百度在深度學習中面臨的挑戰,他強調,百度只對可以影響 1 億用戶的技術有興趣。其本人十分友好溫和,是那種說起話來你不好意思打斷他的人。
  • 百度地圖開展電臺主持人語音包計劃,領先語音合成技術還原「好聲音」
    具體來說,百度地圖將通過作業員採集、用戶上報、交警數據等渠道,匯聚更全面的數據提供給廣播電臺,降低電臺採集採編的人力投入;同時,將與警媒聯動打造更豐富的播報場景,例如為應急車輛護航播報,用科技築起「生命護航」之路;還將以AI技術持續賦能路況播報能力,從大數據擁堵挖掘到AI語音播報合成,從用戶上報事件到 AI 自動發現道路事件。不斷增強各個場景的播報能力。
  • 「天堂來電」,百度成功語音合成張國榮聲音讓粉絲飆淚
    中新網3月31日電 3月29日晚,在北京當代moma百老匯影城,百度發起了一場「別開生面」的張國榮誕辰60周年紀念活動。通過抓取張國榮全網音視頻數據,百度語音技術團隊成功利用「情感語音合成技術」,合成出張國榮生前的聲音,並在張國榮最新電影《緣分》開場前首次公布對話實錄視頻,實現了粉絲與偶像「互動」的願望,以特殊的方式,紀念一代天王。
  • 百度研發全新語音識別系統 準確率超谷歌
    北京時間12月19日消息,據《福布斯》雜誌網絡版報導,百度在美國康奈爾大學arXiv.org網站發表論文稱,已經研發出了全新語音識別系統Deep Speech,準確率超過了谷歌和蘋果的產品。百度研發全新語音識別系統 準確率超谷歌(圖片來自Forbes)    百度首席科學家吳恩達表示,Deep Speech使用了端對端的深度學習技術,如果按照衡量語音識別系統出錯率的標準基準
  • 百度前首席科學家吳恩達創業:公司叫「深度學習.人工智慧」
    吳恩達百度前首席科學家吳恩達幾小時前剛剛(編註:美國加州當地時間6月23日15:08,北京時間6月24日6:06)在推特上宣布了他的下一個企業Deeplearning.ai(編註:Deeplearning,即「深度學習」;ai,即「人工智慧」),只有一個標誌,一個域名
  • 百度大腦遠場語音開發套件評測—快速上手,超讚語音交互體驗
    ,5 米內有效拾音,支持遠場喚醒、遠場識別、語音合成能 力,使語音開發評估更簡便、更高效。豐富的作業系統/服務支持,助力方便快速進行 AIOT 開發和產品應用。關於百度遠場語音開發套件的更多介紹,可以到百度AI市場了解詳情,我在這裡就不在做贅述。二、開發測試 本次測試環境為Ubuntu 16.04 64ibt 虛擬機,開發平臺是RK3308。登陸開發板後,可以進入/oem 目錄,裡面有開發相關說明以及一些測試示例。