FireRedTTS3-Instruct
Build native SDK support from main source. Homebrew and other prebuilt CLI releases may not include these engines yet.
Native MLX voice design from an exact script and a voice instruction. Mono PCM at 24 kHz; no reference recording is required.
FireRedTTS3-Instruct retains Float32 model and decoder weights. It returns buffered audio: omit --stream. English and Chinese --language aliases are accepted. A generation limit raises an error instead of returning truncated success.
SDK source build
Implementation (PR #541): main
git clone --single-branch --branch main https://github.com/soniqo/speech-swift.git
cd speech-swift
make buildPublished MLX bundles: aufklarer/FireRedTTS3-Instruct-MLX-fp32
Command line
.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.wavProvide one text argument, --instruct, and exactly one bundle directory or compatible model ID. Reference audio, fixed speakers and batch input are unsupported.
Each text and instruction field is limited to 32,768 UTF-8 bytes. The complete rendered input prompt, including its template, must fit within 4,096 tokens. Inputs exceeding either limit are rejected.
Swift API
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()Short-script runtime measurements
M5 Pro, 48 GiB, Release. One short neutral script per language; medians of three warm requests after the first. Loading and weight verification are excluded; filesystem caches were warm. RTF = wall time / audio duration, lower is faster. Physical memory is the process high-water across loading and four requests, in decimal GB.
| Script | Audio (s) | Warm complete PCM (s) | RTF | Peak physical memory (GB) |
|---|---|---|---|---|
| English | 2.72 | 4.499 | 1.654 | 10.819 |
| Mandarin | 5.28 | 11.221 | 2.125 | 11.700 |
Validation scope
Instruction-following quality is unscored. Short-script measurements describe the tested setup; existing-model latency certification remains inconclusive.