FireRedTTS3-Instruct

Expérimental

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 build

Bundles 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.wav

Fournissez 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.

Options TTS par instructions

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.

TexteAudio (s)PCM complet à chaud (s)RTFPic de mémoire physique (GB)
Anglais2.724.4991.65410.819
Mandarin5.2811.2212.12511.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.

TTS natif par instructions

Sources