🚀 微調版丹麥語語音合成模型(speecht5_tts-finetuned-nst-da)
本模型是基於丹麥語語音合成的強大工具,它在特定數據集上微調,能高效實現丹麥語文本到語音的轉換,在輸出質量和推理時間上表現出色,還提供了便捷的使用界面。
🚀 快速開始
本模型是 microsoft/speecht5_tts 在 NST 丹麥語自動語音識別數據庫數據集上的微調版本。在評估集上取得了以下結果:
✨ 主要特性
填補空白
鑑於丹麥語是一種低資源語言,在線上可用的開源丹麥語文本轉語音合成器並不多。截至編寫本文時,在 🤗 上僅有的其他實現是 [facebook/seamless - streaming](https://huggingface.co/facebook/seamless - streaming) 和 [audo/seamless - m4t - v2 - large](https://huggingface.co/audo/seamless - m4t - v2 - large)。本模型提供了一種更簡單的替代方案,在輸出質量和推理時間方面都表現良好。
便捷界面
與上述模型不同,本模型在 🤗 上還有一個關聯的 Space [JackismyShephard/danish - speech - synthesis](https://huggingface.co/spaces/JackismyShephard/danish - speech - synthesis),它為丹麥語文本轉語音合成提供了一個簡單的界面,還可選擇進行語音增強。
📦 安裝指南
文檔未提及安裝步驟,暫不提供相關內容。
💻 使用示例
基礎用法
示例腳本展示瞭如何使用該模型進行推理,可在 [這裡](https://github.com/JackismyShephard/hugging - face - audio - course/blob/main/notebooks/inference/finetuned - nst - da - inference.ipynb) 找到。
📚 詳細文檔
預期用途與限制
預期用途
該模型旨在用於丹麥語文本到語音的合成。
限制條件
- 由於使用了 microsoft/speecht5_tts 的默認分詞器,該模型無法識別特殊符號,如 "æ"、"ø" 和 "å"。
- 該模型最適合短到中等長度的輸入文本,期望輸入文本包含不超過 600 個詞彙標記。
- 為獲得最佳性能,應給模型提供一個丹麥語說話者嵌入,理想情況下,該嵌入是使用 [speechbrain/spkrec - xvect - voxceleb](https://huggingface.co/speechbrain/spkrec - xvect - voxceleb) 從 [alexandrainst/nst - da](https://huggingface.co/datasets/alexandrainst/nst - da) 訓練分割的音頻剪輯中生成的。
- 該模型的輸出是對數梅爾頻譜圖,應使用 microsoft/speecht5_hifigan 將其轉換為波形。為獲得更高質量的輸出,可使用 [ResembleAI/resemble - enhance](https://huggingface.co/ResembleAI/resemble - enhance) 對生成的波形進行增強。
訓練和評估數據
該模型在 [alexandrainst/nst - da](https://huggingface.co/datasets/alexandrainst/nst - da) 上進行訓練和評估,使用均方誤差(MSE)作為損失函數和評估指標。數據集的預處理步驟如下:
- 特殊字符,如 "æ"、"ø" 和 "å" 被轉換為其拉丁等效字符,並且包含數字的文本示例被移除,因為兩者都不在 microsoft/speecht5_tts 分詞器的詞彙表中。
- 通過排除示例少於 280 個或多於 327 個的說話者來進行訓練分割平衡。
- 嘗試使用 [speechbrain/metricgan - plus - voicebank](https://huggingface.co/speechbrain/metricgan - plus - voicebank) 對音頻進行增強,以去除不需要的噪音。
訓練過程
訓練腳本
用於訓練該模型(及其數據預處理)的腳本可在 [這裡](https://github.com/JackismyShephard/hugging - face - audio - course/blob/main/notebooks/training/finetuned - nst - da - training.ipynb) 找到。
訓練超參數
訓練期間使用了以下超參數:
屬性 |
詳情 |
學習率 |
1e - 05 |
訓練批次大小 |
16 |
評估批次大小 |
16 |
隨機種子 |
42 |
優化器 |
Adam(β1 = 0.9,β2 = 0.999,ε = 1e - 08) |
學習率調度器類型 |
線性 |
學習率調度器預熱比例 |
0.1 |
訓練輪數 |
20 |
混合精度訓練 |
原生自動混合精度(Native AMP) |
訓練結果
訓練損失 |
輪數 |
步數 |
驗證損失 |
0.4445 |
1.0 |
9429 |
0.4100 |
0.4169 |
2.0 |
18858 |
0.3955 |
0.412 |
3.0 |
28287 |
0.3882 |
0.3982 |
4.0 |
37716 |
0.3826 |
0.4032 |
5.0 |
47145 |
0.3817 |
0.3951 |
6.0 |
56574 |
0.3782 |
0.3971 |
7.0 |
66003 |
0.3782 |
0.395 |
8.0 |
75432 |
0.3757 |
0.3952 |
9.0 |
84861 |
0.3749 |
0.3835 |
10.0 |
94290 |
0.3740 |
0.3863 |
11.0 |
103719 |
0.3754 |
0.3845 |
12.0 |
113148 |
0.3732 |
0.3788 |
13.0 |
122577 |
0.3715 |
0.3834 |
14.0 |
132006 |
0.3717 |
0.3894 |
15.0 |
141435 |
0.3718 |
0.3845 |
16.0 |
150864 |
0.3714 |
0.3823 |
17.0 |
160293 |
0.3692 |
0.3858 |
18.0 |
169722 |
0.3703 |
0.3919 |
19.0 |
179151 |
0.3716 |
0.3906 |
20.0 |
188580 |
0.3709 |
框架版本
- Transformers 4.37.2
- Pytorch 2.1.1+cu121
- Datasets 2.17.0
- Tokenizers 0.15.2
📄 許可證
本模型使用 MIT 許可證。