FireRedTTS3-Instruct

实验性

MLX 模型包已公开。SDK 支持需要下方审核分支(草稿 PR #541)。

原生 MLX 语音设计:输入原文和声音指令,输出 24 kHz 单声道 PCM,无需参考录音。

FireRedTTS3-Instruct 保留 Float32 模型和解码器权重。它返回完整缓冲音频,请勿使用 --stream。--language 接受英语和中文别名。达到生成上限会报错,不会将截断音频视为成功。

SDK 审核分支

SDK 审核分支 (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

已发布的 MLX 模型包: aufklarer/FireRedTTS3-Instruct-MLX-fp32

命令行

.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

提供一个文本参数、--instruct,以及模型包目录或兼容模型 ID,二者只能选一。不支持参考音频、固定说话人和批量输入。

指令语音合成选项

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()

短文本运行测量

M5 Pro、48 GiB、Release。每种语言使用一条简短中性文本,报告首次请求后连续三次热运行的中位数。不含加载和权重校验;文件系统缓存已预热。RTF = 耗时 / 音频时长,越低越快。物理内存为加载及四次请求的进程高水位,以十进制 GB 表示。

文本音频 (s)热运行完整 PCM (s)RTF峰值物理内存 (GB)
英语2.724.4991.65410.819
普通话5.2811.2212.12511.700

验证范围

指令遵循质量尚未评分。短文本测量仅描述受测配置;现有模型的延迟回归认证仍无定论。

原生指令语音合成

来源