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 のいずれか一つを指定します。参照音声、固定話者、バッチ入力には対応していません。
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.44 | 0.470 | 0.610 | 8.448 |
| 標準中国語 | 4.88 | 0.457 | 0.572 | 8.619 |
英語の計時音声には認識器間の未解決の差があります。Parakeet は末尾に「and」を加え、Qwen3-ASR は全文と一致しました。両結果を保持しています。
検証範囲
指示追従の品質は未採点です。短文の測定は試験した構成のみを示し、既存モデルの遅延回帰の認定は未確定です。