FireRedTTS3-Instruct

実験的

MLX バンドルを公開しました。SDK は下記のレビュー用ブランチ(ドラフト PR #541)が必要です。

原文と声の指示から音声を設計するネイティブ MLX 実装です。24 kHz モノラル PCM を出力し、参照録音は不要です。

FireRedTTS3-Instruct はモデルとデコーダーの Float32 重みを保持します。音声は一括で返るため --stream は省略してください。--language は英語・中国語の別名を受け付けます。生成上限に達した場合は、途切れた音声を成功として返さずエラーになります。

SDK レビューブランチ

SDK レビューブランチ (PR #541): feat/instructtts-candidates-20261029

git clone --single-branch --branch feat/instructtts-candidates-20261029 https://github.com/soniqo/speech-swift.git
cd speech-swift
make build

公開済み MLX バンドル: aufklarer/FireRedTTS3-Instruct-MLX-fp32

コマンドライン

.build/release/speech speak "The weather is beautiful today." \
  --engine fireredtts3 \
  --fireredtts3-model-id aufklarer/FireRedTTS3-Instruct-MLX-fp32 \
  --instruct "A calm adult female voice, speaking warmly and clearly." \
  --seed 2 --output firered.wav

テキスト引数、--instruct と、バンドルディレクトリまたは互換モデル ID のいずれか一つを指定します。参照音声、固定話者、バッチ入力には対応していません。

指示付き TTS のオプション

Swift API

import FireRedTTS3TTS

let model = try await FireRedTTS3Model.fromPretrained(
    modelId: "aufklarer/FireRedTTS3-Instruct-MLX-fp32")
let output = try await model.generateWithPlan(
    text: "The weather is beautiful today.",
    instruction: "A calm adult female voice, speaking warmly.")
let pcm = output.samples
model.unload()

短い原文での実行測定

M5 Pro、48 GiB、Release。各言語に中立的な短文を一つ使用し、初回後のウォーム要求三回の中央値を示します。読み込みと重み検証は含まず、ファイルシステムのキャッシュは温まった状態です。RTF = 処理時間 / 音声時間で、小さいほど高速です。物理メモリは読み込みと四要求を通じたプロセス最大値で、十進 GB 表記です。

原文音声 (s)ウォーム時の完全な PCM (s)RTF物理メモリのピーク (GB)
英語2.724.4991.65410.819
標準中国語5.2811.2212.12511.700

検証範囲

指示追従の品質は未採点です。短文の測定は試験した構成のみを示し、既存モデルの遅延回帰の認定は未確定です。

ネイティブ指示付き TTS

出典