FireRedTTS3-Instruct
Compilez le SDK natif depuis les sources de main. Homebrew et les autres distributions CLI précompilées peuvent ne pas encore inclure ces moteurs.
Création de voix en MLX natif à partir du texte exact et d’une instruction vocale. PCM mono à 24 kHz, sans enregistrement de référence.
FireRedTTS3-Instruct conserve les poids Float32 du modèle et du décodeur. Il renvoie l’audio complet en mémoire : omettez --stream. --language accepte les alias anglais et chinois. Une limite de génération produit une erreur plutôt qu’un succès tronqué.
Compiler le SDK depuis les sources
Implémentation (PR #541): main
git clone --single-branch --branch main https://github.com/soniqo/speech-swift.git
cd speech-swift
make buildBundles MLX publiés: aufklarer/FireRedTTS3-Instruct-MLX-fp32
Ligne de commande
.build/release/speech speak "The weather is beautiful today." \
--engine fireredtts3 \
--fireredtts3-model-id aufklarer/FireRedTTS3-Instruct-MLX-fp32 \
--instruct "A calm adult female voice, speaking warmly and clearly." \
--seed 2 --output firered.wavFournissez un texte, --instruct et exactement un répertoire de paquet ou un identifiant compatible. Audio de référence, voix fixes et entrées par lots ne sont pas pris en charge.
Les champs texte et instruction sont limités chacun à 32 768 octets UTF-8. Le prompt d’entrée complet, modèle inclus, doit tenir dans 4 096 tokens après rendu. Les entrées dépassant une limite sont rejetées.
API Swift
import FireRedTTS3TTS
let model = try await FireRedTTS3Model.fromPretrained(
modelId: "aufklarer/FireRedTTS3-Instruct-MLX-fp32")
let output = try await model.generateWithPlan(
text: "The weather is beautiful today.",
instruction: "A calm adult female voice, speaking warmly.")
let pcm = output.samples
model.unload()Mesures sur textes courts
M5 Pro, 48 GiB, Release. Un court texte neutre par langue ; médianes de trois requêtes à chaud après la première. Chargement et vérification des poids exclus ; caches de fichiers chauds. RTF = temps écoulé / durée audio : plus bas signifie plus rapide. La mémoire physique est le maximum du processus pendant le chargement et les quatre requêtes, en Go décimaux.
| Texte | Audio (s) | PCM complet à chaud (s) | RTF | Pic de mémoire physique (GB) |
|---|---|---|---|---|
| Anglais | 2.72 | 4.499 | 1.654 | 10.819 |
| Mandarin | 5.28 | 11.221 | 2.125 | 11.700 |
Périmètre de validation
Le suivi des instructions n’a pas encore été noté. Les mesures sur textes courts décrivent la configuration testée ; la certification de régression de latence reste non concluante.