本日、Navoiy TTSをオープンソースとして公開することにしました。CosyVoice2-0.5BをベースにGPUに載せ、十分なウズベク語音声の「材料」で調理しました。その結果、ウズベク語を上手に話せるテキスト読み上げモデルができました。
このモデルはウズベク語の文章を、落ち着いた、または表情豊かな音声に変換します。数字、日付、時刻、アポストロフィ、キリル文字のウズベク語を合成前に整える正規化ツールも含まれています。
完璧なものはなく、このモデルにも限界があります。すべては材料、つまりデータ次第です。質の高い材料が多いほど、良い結果につながります。
なぜモデルを公開したのか?
日常会話は単純な単語だけでは成り立ちません。そのため、次のことができるようモデルを準備しました。
- 数字、日付、時刻を正しく読む。
- 人名や地名を正しく発音する。
- ラテン文字とキリル文字の両方を理解する。
- 自然な間を置いて話す。
- さまざまな話し方に対応する。
- 文中のロシア語や英語の単語を発音する。
皆さんが遭遇する可能性のある他の状況も考慮し、そこで生じる難しい課題の解決を目指しました。
感謝を伝える最も簡単な方法は、このプロジェクトを友人に紹介することです。皆さんのプロジェクトで役立てていただければ幸いです。
私たちのモデルをご利用いただき、うれしく思います。音声認識と音声合成のモデルをご利用いただきありがとうございます。
使い方は?
次の手順でモデルをインストール、設定、実行してください。チェックポイントは単独では動作せず、元のCosyVoiceコードとCosyVoice2-0.5Bベースモデルも必要です。
1. まずCosyVoiceをインストール
git clone --recursive https://github.com/FunAudioLLM/CosyVoice.git
cd CosyVoice
git checkout 074ca6dc9e80a2f424f1f74b48bdd7d3fea531cc
git submodule update --init --recursive
pip install -r requirements.txt
cd ..2. Navoiy TTSをダウンロード
git clone https://huggingface.co/aisha-org/navoiy-tts
pip install -r navoiy-tts/requirements.txtモデルカードに指定されたリビジョンのCosyVoice2-0.5Bベースモデルをダウンロードしてください。
3. 音声を生成
python navoiy-tts/inference.py \
--cosyvoice-dir CosyVoice \
--base-model-dir CosyVoice/pretrained_models/CosyVoice2-0.5B \
--checkpoint navoiy-tts/emotion_600h_joint.pt \
--reference reference.wav \
--text "Bugun siz bilan muhim bir xabarni baham ko'rmoqchiman." \
--emotion warm \
--output output.wavスクリプトにはCUDA計算環境が必要で、24 kHzの音声を生成します。--list-emotionsで利用可能な感情をすべて確認できます。
感情
モデルはcalm、happy、sad、angry、nervous、surprised、whisper、warm、tired、sarcasticの感情に対応しています。
これらの設定は特定の結果を保証するものではありません。音声は文章、参照音声、チェックポイント、乱数シードによって変わります。本番環境への導入前に、ご自身の文章でテストすることをお勧めします。
正規化
数字や日付は、音声合成モデルにとって発音が難しい場合があります。Navoiy TTSには正規化モジュールもあります。
from uztts.normalize import normalize
print(normalize('Bugun 16.07.2026, soat 14:30 da uchrashamiz.'))キリル文字をラテン文字に変換し、アポストロフィを統一し、一般的な数字、日付、時刻、序数などを正規化します。
制限事項
人名、外来語、略語、特殊な数字を誤って発音する場合があります。単語の繰り返し、省略、変更が起こることもあります。方言や多言語の文章については、まだ十分に評価していません。
声を複製する前に、声の持ち主から明確な同意を得てください。なりすまし、欺瞞、詐欺、嫌がらせ、音声認証の回避にモデルを使用しないでください。聞き手が実在の人物の声だと誤解する可能性がある場合は、合成音声であることを明示してください。
まとめ
Navoiy TTSは、すべての文で完璧な出力を約束するものではありません。開発者や研究者がテストし、改善し、新しい製品づくりに利用できる開かれた基盤です。
Hugging Faceでモデルを確認し、デモを聞いて、体験を共有してください。
