Skip to page content
SAVRN
Search Plan a project

Open-weight model · Text to speech

fireredtts3-mlx

by App Automaton appautomaton/fireredtts3-mlx

fireredtts3-mlx is an open-weight model for text to speech from App Automaton, released under Apache License 2.0. Its published files total 6.2 GB.

Multilingual voice cloning on Apple audio This repository brings mlx-speech as a complete MLX voice-cloning pipeline. Give it a reference recording, its transcript, and the text you want spoken. It returns a waveform in the reference speaker's voice.

Parameters—
Context—
Weights6.1 GB
Licenseapache-2.0
AccessOpen weights
Monthly Downloads—

Model Card

By App Automaton, published under apache-2.0, revision 8c6c6490eb70.

Multilingual voice cloning on Apple audio This repository brings mlx-speech as a complete MLX voice-cloning pipeline. Give it a reference recording, its transcript, and the text you want spoken. It returns a waveform in the reference speaker's voice. App Automaton maintains the MLX conversion and runtime. Speech generation runs locally on your Mac, including speaker conditioning and waveform reconstruction. The current release is Base BF16, stored in base/mlx-bf16/. Each model variant has its own complete inference bundle. Instruct will be added under instruct/ after its MLX pipeline is validated, keeping the Base path stable. Requires an Apple Silicon Mac and Python 3.13 or later. The…

Read App Automaton's full model card
# FireRedTTS3 for MLX **Multilingual voice cloning on Apple Silicon** Base BF16 · Pure MLX inference · Mono 24 kHz audio [Runtime guide](https://github.com/appautomaton/mlx-speech/blob/main/docs/fireredtts3.md) · [Source code](https://github.com/appautomaton/mlx-speech) · [Upstream model](https://huggingface.co/FireRedTeam/FireRedTTS3) · [Project website](https://appautomaton.com/mlx-speech/)

This repository brings FireRedTTS3 Base to mlx-speech as a complete MLX voice-cloning pipeline. Give it a reference recording, its transcript, and the text you want spoken. It returns a waveform in the reference speaker's voice.

App Automaton maintains the MLX conversion and runtime. Speech generation runs locally on your Mac, including speaker conditioning and waveform reconstruction.

The current release is Base BF16, stored in base/mlx-bf16/. Each model variant has its own complete inference bundle. Instruct will be added under instruct/ after its MLX pipeline is validated, keeping the Base path stable.

Start with a reference voice

Requires an Apple Silicon Mac and Python 3.13 or later.

pip install "mlx-speech>=0.5.3"

The loader downloads the Base bundle on first use. Replace reference.wav and reference_text with your recording and its exact transcript. A reference in the target language is preferred when available.

from mlx_speech import tts
from mlx_speech.audio import write_wav

model = tts.load(
    "appautomaton/fireredtts3-mlx",
    artifact_subdir="base/mlx-bf16",
)
result = model.generate(
    "你好,很高兴认识你。",
    reference_audio="reference.wav",
    reference_text="For Timothy was a spoiled cat, and he allowed no one.",
    language="Chinese",
    seed=1234,
    flow_steps=10,
    guidance_scale=2.0,
)
write_wav("generated.wav", result.waveform, sample_rate=result.sample_rate)

The aliases fireredtts3-base and fireredtts3-base-bf16 select the same bundle. Only base/mlx-bf16/ and the root model card are downloaded. Additional variants in this repository do not increase the size of a Base download.

The same request from the command line
mlx-speech tts \
  --model appautomaton/fireredtts3-mlx \
  --artifact-subdir base/mlx-bf16 \
  --text "你好,很高兴认识你。" \
  --reference-audio reference.wav \
  --reference-text "For Timothy was a spoiled cat, and he allowed no one." \
  --language Chinese \
  --seed 1234 \
  --flow-steps 10 \
  --guidance-scale 2.0 \
  --output generated.wav

One bundle, complete speech output

The model directory contains all three components and the tokenizer. No separate codec or speaker-model download is needed.

Component Weight file Size
Qwen3 and DiT speech-generation core core.safetensors 3.950 GiB
RedAE waveform encoder and decoder redae.safetensors 1.758 GiB
CAM++ speaker encoder speaker.safetensors 0.014 GiB

config.json, tokenizer.json, tokenizer_config.json, and vocab.json sit beside the weight files at the directory root. The three weight files total 5.722 GiB. Inference also needs memory for activations and the KV cache.

Repository layout
README.md
LICENSE
base/
  mlx-bf16/
    config.json
    core.safetensors
    redae.safetensors
    speaker.safetensors
    tokenizer.json
    tokenizer_config.json
    vocab.json
A downloaded `base/mlx-bf16/` directory also loads directly by local path. Base is the only model variant included in this release.

The conversion casts the original FP32 trainable weights to BF16 and maps their names and layouts for MLX. RedAE's ISTFT window and CAM++ running statistics remain FP32. This artifact uses 16-bit floating-point weights and does not apply INT8 or INT4 quantization.

Languages

The tokenizer accepts the upstream model's 24 language identifiers and 21 Chinese dialect tags. Pass an explicit language such as "English", "Chinese", or "Japanese" with each request.

Accepted language identifiers Arabic, Cantonese, Chinese, Czech, Dutch, English, Finnish, French, German, Greek, Hindi, Indonesian, Italian, Japanese, Korean, Polish, Portuguese, Romanian, Russian, Spanish, Thai, Turkish, Ukrainian, and Vietnamese. The dialect identifiers use the upstream `ZH_` prefix, for example `"ZH_Sichuan"` and `"ZH_Shanghai"`. The complete list is defined in the [MLX tokenizer](https://github.com/appautomaton/mlx-speech/blob/main/src/mlx_speech/models/fireredtts3/tokenizer.py).

Language coverage comes from the upstream model and tokenizer. The local quality check below covers one Mandarin request with an English reference.

Local check

On the fixed request documented in the runtime guide:

Check Result
Output Finite, non-silent, mono 24 kHz waveform
Seed repeatability Two bitwise-identical waveforms on one loaded model
Local ASR transcript 你好,很高兴认识你。
CAM++ reference/output cosine 0.7374

This covers one fixture only; it does not establish voice quality across other languages and recordings.

Current limits

  • Base voice cloning requires both reference audio and its transcript. Instruct voice design and audio editing are outside this bundle.
  • Generation handles one prepared utterance at a time, with batch size one and no waveform streaming.
  • Supply the intended spoken form of numbers and abbreviations. Text normalization and automatic language detection are caller responsibilities.
  • Long-form splitting and joining belong to the application. A local long-form test produced severe noise late in both the MLX output and the upstream reference, so long-passage quality remains a limitation.

Provenance and regression coverage

The conversion uses FireRedTeam's weights at dcf1bdcd and follows the official implementation at 1d32ba78. Both revisions are recorded in config.json.

The repository also retains small, deterministic golden fixtures for RedAE, CAM++, DiT, and autoregressive generation. They let maintainers check numerical regressions without keeping or downloading the full checkpoint. The fixture manifest records the BF16 bundle's SHA-256 hashes and capture provenance. Capture and replay use an explicit MLX CPU stream to keep these checks consistent between developer Macs and CI.

These fixtures exercise tiny models with reproducible synthetic weights. Checkpoint compatibility and full-model voice quality are covered by separate tests that require the real weights. The fixture guide documents the capture script and regression command.

License and attribution

FireRedTTS3 is developed by the FireRed Team and released under Apache 2.0. The MLX runtime and conversion code are maintained by App Automaton under the MIT license.

The upstream project describes voice cloning as intended for academic research. Use reference recordings with the speaker's permission and identify synthetic speech clearly. See the upstream model card for its intended-use statement.

Identity and Version

Repository
appautomaton/fireredtts3-mlx
Publisher
App Automaton
Task
Text to speech
Modality
Audio
Library
mlx
Parameters
Not stated by the source
Languages
ar, yue, zh, cs, nl, en, fi, fr
Revision
8c6c6490eb70a6d12031026f140369dee6cb9903
First published
2026-09-05
Last updated
2026-09-27

Files and Weights

10 files, 6.2 GB in total. The weights are 3 files totalling 6.1 GB in safetensors.

Weights3 files · 6.1 GB
Configuration1 file · 2.8 KB
Tokenizer3 files · 14.2 MB
Documentation2 files · 19.7 KB
Repository1 file · 1.6 KB
Every file
FileTypeSizeSHA-256
base/mlx-bf16/core.safetensorsWeights4.2 GB 8f4bdc779070
base/mlx-bf16/redae.safetensorsWeights1.9 GB a6615e4d3c4d
base/mlx-bf16/speaker.safetensorsWeights14.8 MB 041802be4a49
base/mlx-bf16/config.jsonConfiguration2.8 KB —
LICENSEDocumentation11.4 KB —
README.mdDocumentation8.3 KB —
.gitattributesRepository1.6 KB —
base/mlx-bf16/tokenizer.jsonTokenizer11.4 MB aeb13307a71a
base/mlx-bf16/tokenizer_config.jsonTokenizer9.7 KB —
base/mlx-bf16/vocab.jsonTokenizer2.8 MB —

License and Download

License
apache-2.0
Access
Open weights, no gate
Download size
6.1 GB
Download from App Automaton

Released by App Automaton through its official repository on Hugging Face. Read the license.

Built From

  • Derived from FireRedTeam/FireRedTTS3

Memory Requirements

PrecisionWeights in memory
As published6.1 GB

Weights only, from the published parameter count; the key-value cache and runtime add to this.

Questions About fireredtts3-mlx

Can I use fireredtts3-mlx commercially?

Yes. fireredtts3-mlx is released under Apache License 2.0. The Apache License 2.0 is a permissive open-source license. It permits commercial use, modification and redistribution. It requires keeping the license and copyright notices and any NOTICE file, stating significant changes, and it includes an express patent grant from contributors.

Similar Models

Model · Text to speech

Kokoro-82M

Hexgrad

Kokoro is an open-weight TTS model with 82 million parameters. Despite its lightweight architecture, it delivers comparable quality to larger models while being significantly faster and more cost-efficient. With Apache-licensed weights, Kokoro can be deployed anywhere from production environments to personal projects. You can run this basic cell on Google Colab. Listen to samples. For more languages and details, see Advanced Usage. Under the hood, kokoro uses misaki, a G2P library at https://github.com/hexgrad/misaki Model SHA256 Hash: 496dba118d1a58f5f3db2efc88dbdc216e0483fc89fe6e47ee1f2c53f18ad1e4 Data: Kokoro was trained exclusively on permissive/non-copyrighted audio data and IPA…

Open weights apache-2.0

Model · Text to speech

audio.cpp-gguf

Audio.cpp

This directory contains audio.cpp-native GGUF conversions of multiple speech models. These files are intended for use with audio.cpp. If you enjoy the project, please star audio.cpp on GitHub and this Hugging Face repository. For conversion details, supported layouts, direct-file loading, sidecar embedding, and the latest compatibility notes, see the audio.cpp GGUF guide: - https://github.com/0xShug0/audio.cpp/blob/main/docs/gguf.md!!! Converted and quantized packages are checked with automated metrics, but perceived quality can still differ for human listeners. Please validate the exact package, backend, and route to confirm the output is acceptable for your use case. The table lists the…

Open weights other audio.cpp

Model · Text to speech

XTTS-v2

Coqui.ai

ⓍTTS is a Voice generation model that lets you clone voices into different languages by using just a quick 6-second audio clip. There is no need for an excessive amount of training data that spans countless hours. This is the same or similar model to what powers Coqui Studio and Coqui API. - Supports 17 languages. - Voice cloning with just a 6-second audio clip. - Emotion and style transfer by cloning. - Cross-language voice cloning. - Multi-lingual speech generation. - 24khz sampling rate. - 2 new languages; Hungarian and Korean - Architectural improvements for speaker conditioning. - Enables the use of multiple speaker references and interpolation between speakers. - Stability…

Open weights other coqui

Model · Text to speech

chatterbox

Resemble AI

Chatterbox Multilingual V3 is the latest general-purpose multilingual TTS model in the Chatterbox family. It keeps the same 0.5B model size while improving speaker similarity, reducing hallucinations, and producing more natural, conversational speech across languages. V3 is designed for broad language coverage like V2, but with stronger stability and more expressive generation. It is the recommended multilingual model for users who want one voice cloning model that works across many languages. Try it in the Chatterbox Multilingual TTS V3 Space. Alongside V3, we are releasing the Single Language Pack: dedicated finetunes for priority languages where tighter quality control, stronger…

Open weights mit chatterbox

Model · Text to speech

F5-TTS

Yushen CHEN

Download F5-TTS or E2 TTS and place under ckpts/ Paper: F5-TTS: A Fairytaler that Fakes Fluent and Faithful Speech with Flow Matching

Open weights cc-by-nc-4.0 f5-tts

Model · Text to speech

Kokoro-82M-v1.0-ONNX

ONNX Community

Kokoro is a frontier TTS model for its size of 82 million parameters (text in/audio out). First, install the kokoro-js library from NPM using: You can then generate speech as follows: Optionally, save the audio to a file: The model is resilient to quantization, enabling efficient high-quality speech synthesis at a fraction of the original model size.

Open weights apache-2.0 transformers.js