FireRedTTS3-Instruct

Experimental

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 build

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

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

Instruction TTS options

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.

ScriptAudio (s)Warm complete PCM (s)RTFPeak physical memory (GB)
English2.724.4991.65410.819
Mandarin5.2811.2212.12511.700

Validation scope

Instruction-following quality is unscored. Short-script measurements describe the tested setup; existing-model latency certification remains inconclusive.

Native instruction TTS

Sources