🚀 speecht5_tts_hr
這是一個針對克羅地亞語微調的 SpeechT5 文本轉語音模型。它基於 SpeechT5 模型,通過在克羅地亞語數據集上進行微調,能夠更精準地將文本轉換為克羅地亞語語音,為克羅地亞語的語音合成提供了有效的解決方案。
✨ 主要特性
- 多模態處理:SpeechT5 模型在一個架構中包含三種語音模型,可實現語音轉文本(用於自動語音識別或說話人識別)、文本轉語音(用於聲音合成)以及語音轉語音(用於不同語音之間的轉換或語音增強)。
- 統一表示學習:模型先在不同的語音到文本和文本到語音的數據模態上進行預訓練,在文本和語音的統一表示空間中學習,能夠同時從文本和語音中學習信息。
- 可微調性:可以針對不同任務(如克羅地亞語等前南斯拉夫地區語言的文本轉語音)對預訓練模型進行微調。
📦 安裝指南
文檔未提及安裝步驟,故跳過此章節。
💻 使用示例
文檔未提供代碼示例,故跳過此章節。
📚 詳細文檔
模型
SpeechT5 是在 LibriTTS 數據集上針對語音合成(文本轉語音)進行微調的模型。它是成功的 T5 模型(文本到文本轉移變換器)的升級版,T5 模型僅針對自然語言處理進行訓練。該模型最初由微軟研究團隊在科學論文 "SpeechT5: Unified - Modal Encoder - Decoder Pre - Training for Spoken Language Processing"(https://arxiv.org/abs/2110.07205)中提出。
在上述科學研究中對 SpeechT5 模型進行了廣泛評估,結果顯示它在包括自動語音識別、語音合成、語音翻譯、語音轉換、語音增強和說話人識別等廣泛的語音處理任務中都取得了非常好的效果。
SpeechT5 模型在一個架構中包含三種語音模型,可用於以下轉換:
- 語音到文本 - 用於自動語音識別或說話人識別;
- 文本到語音 - 用於聲音合成;
- 語音到語音 - 用於不同語音之間的轉換或語音增強。
SpeechT5 模型由一個通用的編碼器和解碼器網絡組成,另外還有六個特定於所處理數據模態(語音/文本)的神經網絡。其獨特之處在於,該模型首先在不同的語音到文本和文本到語音的數據模態上進行預訓練,從而在文本和語音的統一表示空間中學習。這樣,模型可以同時從文本和語音中學習。這使得我們能夠針對不同任務(如前南斯拉夫地區語言(黑山語、塞爾維亞語、波斯尼亞語、克羅地亞語)的文本轉語音)對預訓練模型進行微調。
數據集
- LibriTTS(https://www.openslr.org/60/):這是一個多說話人的英語語料庫,包含約 585 小時的英語語音,由 Heiga Zen 在谷歌語音和谷歌大腦團隊成員的幫助下準備。該語料庫專為 TTS(文本到語音)研究而設計,它源自原始的 LibriSpeech 語料庫(https://www.openslr.org/12/),即來自 LibriVox 的 mp3 音頻文件和來自古登堡計劃的文本文件。
- VoxPopuli 數據集:在相關科學論文中發佈,包含:
- 23 種語言的 40 萬小時未標記語音數據;
- 16 種語言的 1800 小時轉錄語音數據;
- 17300 小時的“語音到語音”數據;
- 29 小時非英語母語者的轉錄語音數據,用於帶口音語音的研究。
技術實現
為了將基礎模型應用於文本轉語音轉換,對 SpeechT5 模型進行了實驗性訓練。
由於原始的 SpeechT5 模型僅在英語任務(LibriTTS 數據集)上進行訓練,因此需要在可用的克羅地亞語數據上對新模型進行訓練。VoxPopuli 集是用於此用途的流行開放數據集之一,它包含 2009 年至 2020 年歐洲議會的錄音。鑑於並非所有地區語言的數據都能滿足需求,因此從 VoxPopuli 數據集中選取了克羅地亞語數據,因為它的代表性最強。在項目的後續階段,將收集黑山語、塞爾維亞語和波斯尼亞語的數據,以提高訓練質量和模型的準確性。
最終的數據集包含 43 小時轉錄語音、83 位不同的說話人以及 33.7 萬個轉錄標記(1 個標記 = 3/4 個單詞)。
在技術實現的第一階段,數據集經過了多個處理階段,以便為訓練 SpeechT5 模型進行調整和標準化。數據處理方法屬於自然語言處理領域中語言數據操作的標準方法(詞彙形成、分詞、去除或轉換不支持的字符/字母、文本/語音清理、文本歸一化)。
在下一階段,分析了 VoxPopuli 數據集中說話人的統計信息,並據此選擇了文本/語音質量令人滿意且有足夠樣本用於模型訓練的說話人。在這一階段,對數據集進行了平衡處理,使高質量文本/語音樣本的男性和女性說話人在訓練中得到平等體現。
數據準備好後,開始對 SpeechT5 模型的超參數進行調整和優化,這些超參數對於快速、高效地進行模型訓練以及獲得令人滿意的準確性是必要的。進行了多次實驗性訓練會話以獲得最佳超參數,然後在模型評估階段使用這些超參數。
在用於測試的數據集上對模型進行評估,結果顯示出了有希望的結果。模型開始在準備好的數據集上學習,但也顯示出了一定的侷限性。主要侷限性與輸入文本序列的長度有關。模型顯示出無法為長輸入文本序列(超過 20 個單詞)生成語音。通過將輸入序列劃分為較小的單元並以這種形式傳遞給模型進行處理,克服了這一侷限性。出現此侷限性的主要原因主要在於缺乏大量數據,而要獲得最佳結果則需要在這些數據上對模型進行微調。
🔧 技術細節
- 數據處理:對數據集進行了詞彙形成、分詞、去除或轉換不支持的字符/字母、文本/語音清理、文本歸一化等處理,以適應 SpeechT5 模型的訓練。
- 說話人選擇與數據集平衡:分析 VoxPopuli 數據集中說話人的統計信息,選擇文本/語音質量好且樣本充足的說話人,並平衡男性和女性說話人的樣本。
- 超參數調整:進行多次實驗性訓練會話,以獲得能夠使模型快速、高效訓練且具有滿意準確性的最佳超參數。
- 模型侷限性及解決方法:模型在處理長輸入文本序列(超過 20 個單詞)時存在侷限性,通過將輸入序列劃分為較小單元來解決。
📄 許可證
本項目採用 MIT 許可證。