傳統韻律的表達方式一般由語言學家定義,分為重讀、音調、節奏感等,這種方式需要通過標籤資料去學習韻律的表示。大量的標籤資料往往消耗較多的人力,且難以保持高度的標註一致性。探索一種基於深度學習自動學習韻律特徵表示的方式,對應用場景如語音合成、發音韻律評估、韻律反饋等具有較大的意義。本文將對現有的語音合成應用中的韻律表示進行闡釋。
towards end-to-end prosody transfer for expressive speech synthesis with tacotron基於tacotron [6]語音合成模型,在其中加入學習好的韻律embedding。其中韻律embedding主要通過輸入參考音訊,經過多層encoder,輸入到tacotron中,進行重構損失計算。最後提出多項指標如參考音訊與合成音訊f0,mel係數的差異,評估學習到的韻律embedding是否有效。實驗中發現,如果採用與參考音訊不相同的文字,韻律將會變動很大,表明學到的韻律表示中除了包含韻律相關的因素,也包含文字相關的因素,且學習到的韻律表示更多是模仿複製參考音訊,沒有學到相對韻律變化。這裡面有個思考的點是為什麼會學習到文字相關因素,在加入了包含text embedding模型後。是不是因為文字 embedding和韻律embedding同時學習,沒有達到相互排斥作用。
目前解決之前出現的問題主要有兩種做法。
文獻uncovering latent style factors for expressive speech synthesis隨機初始化多個風格向量,與文字向量進行加權相加,其中權重可由網路自動訓練得到。在tacotron模型結構的基礎上,在解碼出新增兩者的加權和。這種方法解決了兩個問題:1、韻律表示包含資訊雜亂:首先將韻律分解成多種風格進行加權求和,每種風格類似於韻律的原子表示,學習到更有效的韻律特徵;2、韻律表示包含文字資訊:將文字資訊與韻律表示進行加權,達到兩者因素互斥的效果。文中解釋說該模型有效結合了基於文字表示的後驗資訊(給定文字)與基於韻律表示的先驗資訊。
文獻style tokens: unsupervised style modeling, control and transfer in end-to-end speech synthesis在tacotron的基礎上,加入了參考音訊進行韻律表示的學習,與[4]類似,將韻律表示進一步分解成多種風格,對多種風格進行加權求和。該方法中將學到的韻律表示輸入到文字encoder中,可以排除文字對韻律表示學習的影響。同時,由於輸入參考音訊進行韻律學習,學習到的韻律表示與訓練資料將有很大的關係。實驗做了幾組實驗:1、不同雜訊的參考音訊等。經過編碼,學到的韻律表示經過聚類可以將音訊分為雜訊和非雜訊2、不同發音者的參考音訊,經過參考encoder的到的風格表示,經過聚類,可以聚類分成不同發音者。結果如圖6所示。3、英語語音識別中,混雜少量西班牙語,由於西班牙語音調較高,使用西班牙參考音訊,對英語文字進行遷移,將合成文字混合到語料中,可以降低wer。
本文介紹了語音合成中的韻律表示研究,為了提取高質量的韻律embedding,可以人工新增一些有效特徵如f0、duration進行訓練,也可以通過分解韻律表示提取多個有效的韻律表示原子特徵,同時需要排除文字、人物身份特徵等因素的影響。
[1] deep voice: real-time neural text-to-speech
[2] deep voice 2 multi-speaker neural text-to-speech
[3] towards end-to-end prosody transfer for expressive speech synthesis with tacotron
[4] uncovering latent style factors for expressive speech synthesis
[5] style tokens: unsupervised style modeling, control and transfer in end-to-end speech synthesis
[6] tacotron: towards end-to-end speech synthesis
TTS語音合成的實現
在.net中要實現語音合成可以利用微軟的語音技術,利用微軟的這一技術,需要安裝microsoft speech sdk和語音庫,安裝之後,呼叫com中的microsoft speech object library,即可實現語音合成。sdk 5.1 語言包,這裡 sdk 5.1 語音檔案,這裡 下面...
利用微軟的SAPI進行語音合成
利用微軟的sapi進行語音合成 簡介微軟提供了乙個很好的工具用於語音識別與合成,所用的就是微軟的 speech api。在這裡我來介紹sapi的各項功能。如何使用 為了合成語音,我們需要引用system.speech.synthesis 命名空間。這個主類是speechsynthesizer。你可以...
關於語音合成的一點思考
突然之間就對文字轉化語音 text to speech 產生了好奇。怎麼可以這樣呢?它的原理是什麼?瀏覽了一下官方的權威的解說,發現還是似懂非懂。沒關係,它成功地勾起了我的興趣。順便說一下,不小心瞄到了科大的聲學不錯,我們學校的光學也不錯,嘿嘿,不知道它倆是否是絕配哦!這個技術大概已經很成熟了,網上...