MOSS-VoiceGenerator
Los paquetes MLX son públicos. El SDK requiere la rama de revisión indicada abajo (PR #541 en borrador).
Diseño de voz con MLX nativo a partir de un guion exacto y una instrucción. PCM mono a 24 kHz, sin grabación de referencia.
MOSS-VoiceGenerator conserva pesos de lenguaje BF16 y el códec de síntesis FP32. Use --stream para PCM incremental. Omita --language e indique el idioma en --instruct. La finalización vacía los dieciséis libros de códigos.
Rama de revisión del SDK
Rama de revisión del 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 buildPaquetes MLX publicados: aufklarer/MOSS-VoiceGenerator-MLX-bf16
Línea de comandos
.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.wavIndique un texto, --instruct y exactamente un directorio de paquete o un ID de modelo compatible. No admite audio de referencia, voces fijas ni entrada por lotes.
Opciones de TTS por instrucciones
API Swift
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()Mediciones con textos cortos
M5 Pro, 48 GiB, Release. Un texto neutro corto por idioma; medianas de tres solicitudes en caliente después de la primera. Se excluyen carga y verificación de pesos; la caché de archivos estaba caliente. RTF = tiempo de ejecución / duración del audio: menor es más rápido. La memoria física es el máximo del proceso durante la carga y las cuatro solicitudes, en GB decimales.
| Texto | Audio (s) | Primer PCM en caliente (s) | RTF | Memoria física máxima (GB) |
|---|---|---|---|---|
| Inglés | 3.44 | 0.470 | 0.610 | 8.448 |
| Mandarín | 4.88 | 0.457 | 0.572 | 8.619 |
El audio inglés de temporización presenta una discrepancia no resuelta: Parakeet añade “and” al final; Qwen3-ASR coincide con el texto completo. Se conservan ambos resultados.
Alcance de validación
El seguimiento de instrucciones aún no se ha puntuado. Las mediciones con textos cortos describen la configuración probada; la certificación de regresión de latencia sigue siendo inconclusa.