ローカル音声認識・音声合成

Pocket TTSでCPU音声生成:6言語に対応

英語、フランス語、ドイツ語、ポルトガル語、イタリア語、スペイン語に対応します。

Pocket TTS1は約100Mパラメータのモデルで、CPU2上でテキストを音声に変換します。Python API3とCLI4を備え、現在の対応言語は英語、フランス語、ドイツ語、ポルトガル語、イタリア語、スペイン語です。韓国語と日本語はリストにないため、その言語向けのTTSには選べません。

実行条件と要点
  • 現在の対応言語は英語、フランス語、ドイツ語、ポルトガル語、イタリア語、スペイン語です。
  • 軽量なCPU向けTTSで、Python APIとCLIを備えています。
  • 韓国語と日本語は現在の対応言語に含まれていません。

CPUでテキスト音声を作りファイルへ保存する

Pocket TTSはKyutaiの軽量TTSです。ドキュメントはPython 3.10以降、PyTorch5 2.5以降を挙げ、GPU6版PyTorchなしでCPU実行できるとしています。CLIまたはPython APIにテキストを渡し、WAVを保存します。公式モデルカードとドキュメント

開いた本、小型コンピューター、スピーカーが置かれた机
入力言語を決め、短い文を合成します。

インストール前に対応言語を確認する

対応言語は英語、フランス語、ドイツ語、ポルトガル語、イタリア語、スペイン語です。韓国語の案内音声や日本語ナレーションにはSupertonic 3やVoxCPM2を比較してください。現在の言語一覧

Python APIで一文をWAVに保存する

仮想環境7にpocket-ttsとWAV保存用のscipyを入れ、公式Hugging Face音声資産をダウンロードします。コードをgenerate.pyとして保存して実行すると、assets/alba-mackenna/casual.wavを音声プロンプト8に使い、現在のフォルダーにoutput.wavを保存します。

Pythonパッケージをインストール
python -m pip install pocket-tts scipy
サンプル音声資産をダウンロード
python -m pip install "huggingface_hub[cli]"
hf download kyutai/tts-voices alba-mackenna/casual.wav --local-dir assets
英語音声のWAV生成例
from pocket_tts import TTSModel
import scipy.io.wavfile

model = TTSModel.load_model()
voice = model.get_state_for_audio_prompt("assets/alba-mackenna/casual.wav")
audio = model.generate_audio(voice, "Hello, this is a short test.")
scipy.io.wavfile.write("output.wav", model.sample_rate, audio.numpy())
スクリプトを実行
python generate.py

速度値は機材条件と合わせて読む

カードはMacBook Air M4 CPUでリアルタイムより速い生成と初回音声までの時間を測定しています。この結果はそのCPUと実行条件での値で、手元の端末の性能保証ではありません。実際に使う長さの原稿を自分の端末で生成し、初回音声までと全体の完了時間を別々に記録してください。

マイク、ヘッドホン、音声波形を表示したモニターのある作業机
WAVで文の流れと数字の読み方を確認します。

ブラウザー実装は別の経路として確認する

Pocket TTSの公式プロジェクトにはブラウザー実装も案内されています。PythonのCPU導入とWeb実行は別環境なので、ここでの手順をブラウザー設定として使わないでください。ブラウザーで使う場合はモデルカードのin-browser implementationsで、現在の実装と言語範囲を確認します。Pocket TTSブラウザー実装

重みのライセンスと利用目的を確認する

現在のモデルカードにはCC-BY-4.0と記載されています。モデル重みと生成物の条件、帰属表示の要件は最新のライセンス本文で確認してください。ローカル実行で端末内処理にできても、入力する音声や声の利用権は別途確認が必要です。モデルカード

ヘッドホン、オーディオプレーヤー、開いたノートが置かれた机
言語一覧を見て、韓国語が必要かどうか先に確認します。

用語の注釈

  1. 音声合成 — テキストを発音や韻律を伴う音声信号に変換する技術です。

    本文に戻る
  2. CPU — OSや一般的なプログラム命令を実行する中央処理装置です。AIでは前処理やデータ転送などの汎用処理も担います。

    本文に戻る
  3. API — 別のコードからプログラムの機能を呼び出すための決められたインターフェースです。

    本文に戻る
  4. CLI — Command-Line Interfaceの略です。ターミナルにコマンドを入力してプログラムを操作する方式です。

    本文に戻る
  5. PyTorch — AIモデルを作成・実行するソフトウェアフレームワークです。モデルと合わせて、対応するPyTorchの版やハードウェアも確認します。

    本文に戻る
  6. GPU — 多くの計算を並列に処理するプロセッサーです。AIモデルの実行ではモデル計算を担います。

    本文に戻る
  7. Python仮想環境 — プロジェクトごとにPythonパッケージを分けて導入する環境です。パッケージのバージョンの衝突を減らせます。

    本文に戻る
  8. プロンプト — モデルに送る入力文です。生成モデルでは作りたい結果を説明する文になり、出力の構成や内容を大きく左右します。

    本文に戻る

よくある質問

この記事で最初に確認すべきことは何ですか?
Pocket TTSは約100Mパラメータのモデルで、CPU上でテキストを音声に変換します。Python APIとCLIを備え、現在の対応言語は英語、フランス語、ドイツ語、ポルトガル語、イタリア語、スペイン語です。韓国語と日本語はリストにないため、その言語向けのTTSには選べません。
条件と出典はどこで確認できますか?
Pocket TTSはKyutaiの軽量TTSです。ドキュメントはPython 3.10以降、PyTorch 2.5以降を挙げ、GPU版PyTorchなしでCPU実行できるとしています。CLIまたはPython APIにテキストを渡し、WAVを保存します。[公式モデルカードとドキュメント](https://huggingface.co/kyutai/pocket-tts)