MOSS-VoiceGenerator

Experimentell

Die MLX-Bundles sind öffentlich. Die SDK-Unterstützung erfordert den unten verlinkten Review-Branch (Entwurfs-PR #541).

Natives MLX-Stimmdesign aus unverändertem Sprechtext und einer Stimmanweisung. Mono-PCM mit 24 kHz; keine Referenzaufnahme erforderlich.

MOSS-VoiceGenerator behält BF16-Sprachgewichte und den FP32-Synthesecodec. --stream liefert inkrementelles PCM. --language weglassen und Sprachanforderungen in --instruct setzen. Vor Abschluss werden alle sechzehn Codebücher geleert.

SDK-Review-Branch

SDK-Review-Branch (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

Veröffentlichte MLX-Bundles: aufklarer/MOSS-VoiceGenerator-MLX-bf16

Befehlszeile

.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

Ein Textargument, --instruct und genau ein Bundle-Verzeichnis oder eine kompatible Modell-ID sind erforderlich. Referenzaudio, feste Sprecher und Batch-Eingaben werden nicht unterstützt.

Optionen für anweisungsgesteuertes 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()

Laufzeitmessungen mit Kurztexten

M5 Pro, 48 GiB, Release. Ein kurzer neutraler Text pro Sprache; Median aus drei warmen Anfragen nach der ersten. Laden und Gewichtsprüfung sind ausgeschlossen; Dateisystem-Caches waren warm. RTF = Laufzeit / Audiodauer: kleiner ist schneller. Physischer Speicher ist der Prozesshöchstwert über das Laden und vier Anfragen in dezimalen GB.

TextAudio (s)Erstes PCM, warm (s)RTFMaximaler physischer Speicher (GB)
Englisch3.440.4700.6108.448
Mandarin4.880.4570.5728.619

Beim englischen Messaudio besteht ein ungeklärter Erkennerunterschied: Parakeet fügt am Ende „and“ hinzu, Qwen3-ASR erkennt den vollständigen Text. Beide Ergebnisse bleiben erhalten.

Validierungsumfang

Die Anweisungsbefolgung ist unbewertet. Kurztextmessungen beschreiben den getesteten Aufbau; die Latenz-Regressionsprüfung bestehender Modelle bleibt ohne eindeutiges Ergebnis.

Natives anweisungsgesteuertes TTS

Quellen