MOSS-VoiceGenerator
实验性
MLX 模型包已公开。SDK 支持需要下方审核分支(草稿 PR #541)。
原生 MLX 语音设计:输入原文和声音指令,输出 24 kHz 单声道 PCM,无需参考录音。
MOSS-VoiceGenerator 保留 BF16 语言模型权重和 FP32 合成编解码器。使用 --stream 输出增量 PCM。请省略 --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 与完整原文一致。两份结果均保留。
验证范围
指令遵循质量尚未评分。短文本测量仅描述受测配置;现有模型的延迟回归认证仍无定论。