5uck1ess/tts-bench

Speed and samples benchmark: for all types of text to speech (TTS) models on Windows/Linux/Mac.

tts‑bench – テキスト読み上げモデル向けローカルベンチマークスイート

概要 – tts‑bench は、自分のハードウェア上で多数のオープンソース TTS モデルを実行し、3 つの側面で比較できる Python ベースのツールです。

側面 測定内容 表示方法
速度 コールド/ウォーム初回音声出力時間(TTFA)、リアルタイム係数(RTFx)、メモリ使用量。CPU、CUDA GPU、Apple-Silicon(MPS)で動作。 マシンごとのソート可能なテーブル(例:Ryzen 9 + RTX 5090、Apple M4、RTX 3090)。
聴く すべてのベンチマークプロンプトに対する各モデルの生の音声出力。モデル内蔵音声とゼロショット音声クローン版の両方。 デモサイトのインライン <audio> プレーヤー。プロンプトまたはモデルで閲覧可能。
スコア 客観的な品質数値:UTMOS(自然さ)、WER(明瞭度)、SIM(音声クローン忠実度)。 インタラクティブなソート可能テーブルとトップ 15 チャート。デフォルト/クローントグルで 2 つのグループを分けて表示可能。

このスイートは現在、単一の「総合品質」指標を提供していません。作者は NAQ スコアを試しましたが、人間の好みと一致しなかったため削除しました。


クイックスタート(README より)

  1. 小型パッケージマネージャー uv と Python 3.11 をインストールします。
  2. 提供されているインストールスクリプト(Windows PowerShell または Unix シェル)を実行します。すべてのモデルをインストールするか、サブセットを選択できます。例:
    ./install.sh kokoro piper miso   # Linux/macOS
    .\install.ps1 kokoro,piper,miso # Windows
    
    完全なセットは約 165 GB(リポジトリ内の仮想環境ファイル約 39 GB + ~/.cache/huggingface にキャッシュされるモデルウェイト約 125 GB)を占有します。
  3. ベンチマークを実行します:
    python bench.py
    
    仮想環境フォルダが存在するモデルのみが実行されるため、部分インストールでも問題ありません。
  4. オプションのヘルパー:
    • python speak.py <model> – 単一の発話を再生します。
    • python compare.py "your phrase" – 2 つのモデルのサイドバイサイド A/B クリップを生成します。
    • bench.py に --reference <wav> を追加すると、独自の音声サンプルでクローンモデルを評価できます。

ベンチマーク対象は?

リポジトリは 75 モデル(事前定義音声とゼロショットクローニングモデルの両方)を追跡しています。いくつかのハイライト:

  • ハイエンド GPU で最速:Kokoro(ウォーム TTFA 67 ミリ秒、リアルタイム 104 倍)。
  • CPU で最速:Piper(Ryzen 9 でウォーム TTFA 約 107 ミリ秒、リアルタイム 59 倍)。
  • 最良のクローニング候補(公開ブラインド A/B 投票アリーナに基づく):
    1. OmniVoice – 音声一致は最良だが、単語を落とすことがある。
    2. Echo‑TTS – 僅差で 2 位、クリーンな 44.1 kHz 出力。
    3. IndexTTS‑2 – 3 位。
  • 聴く側面は「最も自然な音声」を決定する推奨方法です。客観スコア(UTMOS、WER、SIM)は補助的なものであり、人間の耳が真実です。

スコアの計算方法

  • UTMOS – 自然さのニューラル予測器。
  • WER – ASR モデルによる単語誤り率(seed‑tts‑eval リポジトリと同じアプローチ)。
  • SIM – クローンモデル用の話者検証類似度。

すべての指標は同じベンチマークプロンプトセットで実行されます。コードは scoring 仮想環境にあります(Linux ではインストールコマンドに scoring または scoring_sim を追加)。


コミュニティと拡張性

  • 人間の好みアリーナ – Hugging Face Spaces アプリ(tts‑arena)で、誰でもクリップのペアに投票できます。投票はライブ Elo リーダーボードに反映され、README は「最良のクローニング」として参照しています。
  • モデルの追加 – ランナープロトコルについては docs/architecture.md を参照してください。モデルテーブルに新しいエントリを追加し、同じ CLI に従う小さなラッパーを提供するだけです。
  • 既知の問題とライセンス – モデルごとの詳細なメモは docs/known‑issues.md と docs/expressive‑control.md にあります。

誰が使うべきか?

  • 研究者 – 自分のマシンで多くのオープンソース TTS システムを再現可能に比較したい人。
  • 開発者 – アプリケーション用のモデルを選択する人(例:低遅延オンデバイス合成 vs. 高品質音声クローニング)。
  • 愛好家 – 数十の音声を聴いて投票することを楽しむ人。

結論

tts‑bench は、ローカルテキスト読み上げモデル向けの本格的でかなり包括的なベンチマークスイートです。速度数値、客観的な品質指標、各モデルを簡単に聴く方法、主観的ランキングのためのコミュニティ駆動の投票システムを提供します。プロジェクトは十分に文書化されており、複数のハードウェアバックエンドをサポートし、新しいモデルで拡張できます。

関連

  • Dispatch
  • Dispatch
  • プロジェクト
  • プロジェクト
  • プロジェクト