MOSS-VoiceGenerator

実験的

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

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

MOSS-VoiceGenerator は BF16 言語重みと FP32 合成コーデックを保持します。逐次 PCM には --stream を使います。--language は省略し、言語要件を --instruct に含めてください。終了時には全十六コードブックを出力し切ります。

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/MOSS-VoiceGenerator-MLX-bf16

コマンドライン

.build/release/speech speak "The little boat crossed the quiet lake before sunset." \
  --engine moss-voicegenerator \
  --moss-voicegenerator-model-id aufklarer/MOSS-VoiceGenerator-MLX-bf16 \
  --instruct "A warm adult female voice, speaking English slowly." \
  --stream --seed 42 --output moss.wav

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

指示付き TTS のオプション

Swift API

import MossVoiceGeneratorTTS

let model = try await MossVoiceGeneratorModel.fromPretrained(
    modelId: "aufklarer/MOSS-VoiceGenerator-MLX-bf16")
let output = try await model.generate(
    text: "The little boat crossed the quiet lake before sunset.",
    instruction: "A warm adult female voice, speaking English slowly.",
    options: .init(maxFrames: 150, seed: 42))
let pcm = output.samples
model.unload()

短い原文での実行測定

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

原文音声 (s)ウォーム時の最初の PCM (s)RTF物理メモリのピーク (GB)
英語3.440.4700.6108.448
標準中国語4.880.4570.5728.619

英語の計時音声には認識器間の未解決の差があります。Parakeet は末尾に「and」を加え、Qwen3-ASR は全文と一致しました。両結果を保持しています。

検証範囲

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

ネイティブ指示付き TTS

出典