模型概述
模型特點
模型能力
使用案例
🚀 🍵 Matxa-TTS (Matcha-TTS) 加泰羅尼亞語多口音模型
本項目推出了首款多說話人、多方言的神經文本轉語音(TTS)模型 🍵 Matxa。它與聲碼器模型 🥑 alVoCat 協同工作,能夠高效生成四種方言的高質量、富有表現力的語音:
- 巴利阿里方言
- 中部方言
- 西北方言
- 瓦倫西亞方言
這兩個模型均使用開放數據進行訓練。🍵 Matxa 模型可免費用於非商業用途,但用於商業用途時,需要獲得語音藝術家的許可。你可以訪問 專用空間 聆聽這些語音。
🚀 快速開始
📦 安裝指南
模型使用開源文本轉語音軟件 espeak-ng 進行訓練。目前,主項目 espeak-ng 已包含從 此處 開始的加泰羅尼亞語音素化器工作。
創建虛擬環境:
python -m venv /path/to/venv
source /path/to/venv/bin/activate
若要使用加泰羅尼亞語 Matxa-TTS 進行訓練和合成,需要編譯 espeak-ng:
git clone https://github.com/espeak-ng/espeak-ng
export PYTHON=/path/to/env/<env_name>/bin/python
cd /path/to/espeak-ng
./autogen.sh
./configure --prefix=/path/to/espeak-ng
make
make install
克隆倉庫:
git clone -b dev-cat https://github.com/langtech-bsc/Matcha-TTS.git
cd Matcha-TTS
從源代碼安裝包:
pip install -e .
💻 使用示例
基礎用法
PyTorch
語音端到端推理可與 加泰羅尼亞語 Matxa-TTS 一起完成。兩個模型(加泰羅尼亞語 Matxa-TTS 和 alVoCat)均可從 HF hub 遠程加載。
首先,導出以下環境變量以包含已安裝的 espeak-ng 版本:
export PYTHON=/path/to/your/venv/bin/python
export ESPEAK_DATA_PATH=/path/to/espeak-ng/espeak-ng-data
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/path/to/espeak-ng/lib
export PATH="/path/to/espeak-ng/bin:$PATH"
然後運行推理腳本:
cd Matcha-TTS
python3 matcha_vocos_inference.py --output_path=/output/path --text_input="Bon dia Manel, avui anem a la muntanya."
你還可以修改生成樣本的長度比例(語速)和溫度:
python3 matcha_vocos_inference.py --output_path=/output/path --text_input="Bon dia Manel, avui anem a la muntanya." --length_scale=0.8 --temperature=0.7
此外,你可以從以下表格中選擇說話人 ID:
python3 matcha_vocos_inference.py --output_path=/output/path --text_input="Bon dia Manel, avui anem a la muntanya." --length_scale=0.8 --temperature=0.7 --speaker_id 3
口音 | 姓名 | 說話人 ID |
---|---|---|
巴利阿里方言 | quim | 0 |
巴利阿里方言 | olga | 1 |
中部方言 | grau | 2 |
中部方言 | elia | 3 |
西北方言 | pere | 4 |
西北方言 | emma | 5 |
瓦倫西亞方言 | lluc | 6 |
瓦倫西亞方言 | gina | 7 |
請注意,根據不同的口音,你應選擇合適的文本清理器作為參數,默認使用中部加泰羅尼亞語清理器。
python3 matcha_vocos_inference.py --output_path=/output/path --text_input="Bon dia Manel, avui anem a la muntanya." --length_scale=0.8 --temperature=0.7 --speaker_id 0 --cleaner "catalan_balear_cleaners"
口音 | 清理器 |
---|---|
巴利阿里方言 | catalan_balear_cleaners |
中部方言 | catalan_cleaners(默認) |
西北方言 | catalan_occidental_cleaners |
瓦倫西亞方言 | catalan_valencia_cleaners |
ONNX
我們還發布了模型的 ONNX 版本,你可以通過 OVOS 插件使用它。只需從 pypi 安裝插件:
pip install ovos-tts-plugin-matxa-multispeaker-cat
然後進行合成:
from ovos_tts_plugin_matxa_multispeaker_cat import MatxaCatalanTTSPlugin
sent = "Això és una prova de síntesi de veu."
tts = MatxaCatalanTTSPlugin()
tts.get_tts(sent, "test.wav", voice="valencia/gina")
高級用法
訓練
請參閱 倉庫說明
📚 詳細文檔
🔧 技術細節
模型描述
🍵 Matxa-TTS 基於 Matcha-TTS,這是一種為文本轉語音(TTS)中的快速聲學建模而設計的編碼器 - 解碼器架構。 編碼器部分基於文本編碼器和音素時長預測,共同預測平均聲學特徵。 解碼器本質上採用了受 Grad-TTS 啟發的 U-Net 主幹結構,該結構基於 Transformer 架構。在後者中,通過將 2D CNN 替換為 1D CNN,實現了內存消耗的大幅降低和快速合成。
Matxa-TTS 是一個使用最優傳輸條件流匹配(OT-CFM)訓練的非自迴歸模型。這使得基於常微分方程(ODE)的解碼器能夠在比使用分數匹配訓練的模型更少的合成步驟中生成高質量的輸出。
訓練詳情
訓練數據
該模型在 多口音加泰羅尼亞語 語音數據集上進行訓練:
數據集 | 語言 | 時長(小時) | 說話人數量 |
---|---|---|---|
LaFrescat | 加泰羅尼亞語 | 3.5 | 8 |
訓練過程
Matxa 多口音加泰羅尼亞語 模型是從加泰羅尼亞語 Matxa-base 模型微調而來。這個 Matxa-base 模型是從英語多說話人檢查點微調得到的,使用了加泰羅尼亞語 CommonVoice v.16 數據庫的 100 小時子集。通過使用 UTMOS 系統選擇了這一小部分樣本,UTMOS 系統是一種預測平均意見得分(MOS)的指標,該得分通常由人類評估者根據他們對語音質量的主觀感知來設定。
嵌入層使用每個口音的加泰羅尼亞語說話人數量(總共 8 個)進行初始化,並保留了原始的超參數。
訓練超參數
- 批量大小:32(x2 GPU)
- 學習率:1e-4
- 說話人數量:2
- n_fft:1024
- n_feats:80
- 採樣率:22050
- 跳長:256
- 窗長:1024
- f_min:0
- f_max:8000
- 數據統計:
- 梅爾均值:-6578195
- 梅爾標準差:2.538758
- 樣本數量:13340
評估
從第 2399 個 epoch 的 TensorBoard 中獲得的驗證值:
- val_dur_loss_epoch:0.38
- val_prior_loss_epoch:0.97
- val_diff_loss_epoch:2.195
多口音推理分析
這裡展示了使用四種口音生成的相同推理的音素對齊頻譜圖。以下頻譜圖對應句子 La seva gerra sembla molt antiga。這句話展示了區分加泰羅尼亞語變體的三個語音特點。
在巴利阿里方言和瓦倫西亞方言中,[t] 會發音,而在其他兩種方言中則不發音。可以看到,seva 中的 -v- 在中部方言中發音為 [β],而在瓦倫西亞方言中發音為 [w]。此外,還可以觀察到 gerra 中的 /ʒ/ 在瓦倫西亞方言中有塞擦音發音 ([d͡ʒ])。
巴利阿里方言推理
中部方言推理
西北方言推理
瓦倫西亞方言推理
預期用途和限制
此模型旨在作為加泰羅尼亞語文本轉語音系統的聲學特徵生成器。它使用加泰羅尼亞語音素化器進行了微調,因此如果將該模型用於其他語言,在將其輸出映射到語音波形後,將無法產生可理解的樣本。
樣本質量可能因說話人而異。這可能是由於模型在學習特定頻率時的敏感性,也可能是由於每個說話人的樣本質量不同。
如許可證部分所述,這些模型僅可用於非商業目的。任何有商業使用意向的各方需要聯繫權利持有者,即語音藝術家,以獲得其語音的使用許可。更多信息請參閱 附加信息 部分下的許可證部分。
📄 許可證
本項目採用 知識共享署名 - 非商業性使用 4.0 國際許可協議。這些模型可免費用於非商業和研究目的。商業使用僅可通過獲得語音藝術家的許可來實現。如需更多信息,請聯繫 langtech@bsc.es 和 lafrescaproduccions@gmail.com。
引用
如果本代碼對您的研究有幫助,請引用以下文獻:
@misc{mehta2024matchatts,
title={Matcha-TTS: A fast TTS architecture with conditional flow matching},
author={Shivam Mehta and Ruibo Tu and Jonas Beskow and Éva Székely and Gustav Eje Henter},
year={2024},
eprint={2309.03199},
archivePrefix={arXiv},
primaryClass={eess.AS}
}
附加信息
作者
巴塞羅那超級計算中心語言技術部門
聯繫方式
如需進一步信息,請發送電子郵件至 langtech@bsc.es
版權
版權所有 (c) 2023 巴塞羅那超級計算中心語言技術部門
資助
本工作由加泰羅尼亞政府通過 Aina 項目 推動和資助。
部分模型訓練得益於加利西亞超級計算中心 CESGA(Centro de Supercomputación de Galicia)以及 巴塞羅那超級計算中心 在 MareNostrum 5 上提供的計算時間。




