🚀 🍵 Matxa-TTS カタルーニャ語マルチスピーカー
🍵 Matxa-TTS は、テキスト読み上げ(TTS)における高速音響モデリングのために設計されたエンコーダ - デコーダアーキテクチャである Matcha-TTS をベースにしています。このモデルは、カタルーニャ語のマルチスピーカーテキスト読み上げシステムの音響特徴生成器として機能します。
🚀 クイックスタート
インストール
このモデルは、オープンソースのテキスト読み上げソフトウェアである 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/projecte-aina/espeak-ng.git
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
pip cache purge
pip install mecab-python3
pip install unidic-lite
リポジトリをクローンします:
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 ハブからリモートでロードされます。
まず、インストールされた 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
ONNX
モデルの ONNX バージョンもリリースしています。
トレーニングの実行
チェックポイント全体もリリースされており、トレーニングを続けたり、微調整したりすることができます。詳細はリポジトリの説明を参照してください。
✨ 主な機能
🍵 Matxa-TTS は、TTS の高速音響モデリングのためのエンコーダ - デコーダアーキテクチャである Matcha-TTS をベースにしています。
- エンコーダ部分は、テキストエンコーダと音素の持続時間予測に基づいており、これらが一緒に平均化された音響特徴を予測します。
- デコーダは、本質的に Grad-TTS からインスパイアされた U - Net バックボーンを持ち、Transformer アーキテクチャに基づいています。ここでは、2D CNN を 1D CNN に置き換えることで、メモリ消費の大幅な削減と高速合成を実現しています。
- Matxa-TTS は、最適輸送条件付きフローマッチング(OT - CFM)でトレーニングされた非自己回帰モデルです。これにより、スコアマッチングを使用してトレーニングされたモデルよりも少ない合成ステップで高品質の出力を生成できる ODE ベースのデコーダが得られます。
📦 インストール
上述の「クイックスタート」セクションの「インストール」部分を参照してください。
💻 使用例
基本的な使用法
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
📚 ドキュメント
モデルの意図された用途と制限
このモデルは、カタルーニャ語のマルチスピーカーテキスト読み上げシステムの音響特徴生成器として使用することを目的としています。カタルーニャ語の音素化器を使用して微調整されているため、他の言語で使用すると、出力を音声波形にマッピングした後に理解可能なサンプルが生成されない場合があります。
サンプルの品質は話者によって異なる場合があります。これは、モデルが特定の周波数を学習する際の感度や、各話者のサンプルの品質によるものです。
トレーニング詳細
トレーニングデータ
モデルは 2 つのカタルーニャ語の音声データセットでトレーニングされました。
トレーニング手順
カタルーニャ語の Matcha - TTS は、英語のマルチスピーカーチェックポイントから微調整されました。このチェックポイントは、VCTK データセットを使用してトレーニングされ、モデルの作者によって提供されています。
埋め込み層は、カタルーニャ語の話者数(47)で初期化され、元のハイパーパラメータは保持されました。
トレーニングハイパーパラメータ
- バッチサイズ: 32 (x2 GPUs)
- 学習率: 1e - 4
- 話者数: 47
- n_fft: 1024
- n_feats: 80
- サンプルレート: 22050
- hop_length: 256
- win_length: 1024
- f_min: 0
- f_max: 8000
- データ統計:
- mel_mean: -6578195
- mel_std: 2.538758
- サンプル数: 13340
評価
エポック 2399 から TensorBoard で得られた検証値*:
- val_dur_loss_epoch: 0.38
- val_prior_loss_epoch: 0.97
- val_diff_loss_epoch: 2.195
(微調整はエポック 1864 から開始されました。以前のエポックは VCTK データセットでトレーニングされています)
引用
このコードがあなたの研究に貢献した場合、以下の文献を引用してください:
@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}
}
追加情報
作者
Barcelona Supercomputing Center の言語技術ユニット。
連絡先
詳細については、langtech@bsc.es までメールを送ってください。
著作権
Copyright(c) 2023 by Language Technologies Unit, Barcelona Supercomputing Center.
ライセンス
Apache 2.0
資金提供
この研究は、Generalitat de Catalunya によってアイナプロジェクトを通じて促進および資金提供されています。