---
license: apache-2.0
language:
- yue
- zh
- nl
- en
- fr
- de
- it
- ja
- ko
- pl
- es
library_name: onnxruntime
pipeline_tag: text-to-speech
base_model: Audio8/Audio8-TTS-Preview-0.6b
tags:
- onnx
- int4
- audio
- text-to-speech
- tts
- voice-cloning
- zero-shot
- multilingual
---
Audio8 TTS Preview 0.6B ONNX INT4
**SOTA-class multilingual TTS at compact scale, packaged for low-resource CPU inference.**
[](https://github.com/Audio8-AI/Audio8_TTS)
[](https://huggingface.co/Audio8/Audio8-TTS-Preview-0.6b)
[](https://audio8-ai.github.io/Audio8_TTS/)
[](https://onnxruntime.ai/)
[](https://github.com/Audio8-AI/Audio8_TTS/blob/master/LICENSE)
Audio8 TTS Preview is a 0.6B-parameter multilingual text-to-speech model with
zero-shot voice cloning. This repository provides its CPU-oriented ONNX
deployment: weight-only INT4 DualAR models, an FP16 neural audio codec, the
tokenizer, and the optional FP16 encoder used to register reference voices.
> **Model files only.** Inference, streaming service, and voice-registration
> code live in the
> [Audio8 TTS repository](https://github.com/Audio8-AI/Audio8_TTS/tree/master/onnx_runtime).
## Why this ONNX release
| | Deployment characteristic |
|---|---|
| **CPU native** | ONNX Runtime `CPUExecutionProvider`; no CUDA requirement |
| **Small runtime** | No PyTorch, Transformers, or Hugging Face Hub dependency after download |
| **Low memory** | About 1 GiB after loading in the tested Apple M2 configuration |
| **Voice cloning** | Bundled FP16 codec encoder for reusable local voice profiles |
| **Local service** | CLI, web UI, HTTP API, streaming PCM, and OpenAI-compatible endpoint |
### Precision and footprint
| Component | Precision |
|---|---|
| Slow/Fast AR weights | Weight-only INT4 |
| Activations, hidden states, and KV cache | FP16 |
| Codec encoder and decoder | FP16 |
| Waveform output | FP32, 44.1 kHz mono |
Normal synthesis loads only the Slow AR, Fast AR, and codec decoder sessions.
On a 16 GB Apple M2 MacBook Air with five ONNX Runtime threads, the service
used about **1004 MiB after loading** and approximately **1.1-1.2 GiB at
synthesis peak**. Voice registration releases the online sessions before
loading the codec encoder; the measured registration peak was approximately
**1.55 GiB**. Actual memory use varies by platform and allocator behavior.
The online model files occupy about **572 MiB**. The complete repository,
including the optional voice-registration encoder, is about **968 MiB**.
## Supported Languages
Cantonese ·
Chinese ·
Dutch ·
English
French ·
German ·
Italian ·
Japanese
Korean ·
Polish ·
Spanish
> **Preview status:** Language coverage is intentionally limited in this
> release. For the best results, use one of the 11 recommended languages
> above. Broader multilingual coverage and Chinese dialect support are
> planned for future releases.
## Model Details
Audio8 TTS uses a DualAR architecture inspired by
[Fish Audio S2 Pro](https://github.com/fishaudio/fish-speech). The slow AR
transformer predicts one semantic token for each audio frame. The fast AR
transformer predicts the frame's codec codebooks, conditioned on the slow
hidden state and preceding codebooks.
| Component | Configuration |
|---|---|
| Main model | 601,159,424 parameters, excluding the codec |
| Slow AR | 24 layers, width 896, 14 attention heads, 2 KV heads |
| Fast AR | 4 layers, width 896, 14 attention heads, 2 KV heads |
| Acoustic tokens | 10 codebooks, 4,096 entries per codebook |
| Codec | 44.1 kHz, 2,048 samples per model frame (~21.5 frames/s) |
| Context | Up to 2,048 packed text/audio positions |
| Execution provider | ONNX Runtime CPU |
## Quick Start
Python 3.11 or newer is required. The current release is tested on macOS
arm64.
### 1. Download the code and model
```bash
git clone https://github.com/Audio8-AI/Audio8_TTS.git
cd Audio8_TTS/onnx_runtime
python3 -m pip install -U "huggingface_hub[cli]"
hf download Audio8/Audio8-TTS-Preview-0.6B-ONNX-INT4 --local-dir model
bash setup.sh
```
The model files are stored at this Hugging Face repository's root. Downloading
with `--local-dir model` creates the exact layout expected by the runtime:
```text
model/
├── slow_ar_int4.onnx(.data)
├── fast_ar_int4.onnx(.data)
├── codec_decoder_fp16.onnx(.data)
├── runtime_manifest.json
├── tokenizer/tokenizer.json
└── registration/
├── codec_encoder_fp16.onnx(.data)
└── registration_manifest.json
```
### 2. Register a reference voice
Start the local service and open . Upload a 0.5-30
second reference recording, its exact transcript, and a voice name.
```bash
bash start_server.sh
```
The same operation is available through HTTP:
```bash
curl http://127.0.0.1:8024/api/voices/register \
-F 'audio=@/absolute/path/reference.wav' \
-F 'text=The exact transcript of the reference recording.' \
-F 'name=speaker_a' \
-F 'overwrite=false'
```
The encoder in `registration/` is loaded only while registering a voice. The
generated profile is stored locally and can be reused across requests.
### 3. Generate speech
```bash
bash run_infer.sh \
--text "Welcome to Audio8 TTS ONNX Runtime." \
--voice speaker_a \
--max-new-tokens 256 \
--output outputs/example.wav
```
The command writes `outputs/example.wav` and `[10, T]` codec codes to
`outputs/example.npy`.
### HTTP API
```bash
curl http://127.0.0.1:8024/api/tts \
-H 'Content-Type: application/json' \
-d '{"text":"Welcome to Audio8 TTS.","voice_name":"speaker_a","max_new_tokens":256}' \
-o outputs/api.wav
```
### OpenAI-compatible API
```bash
curl http://127.0.0.1:8024/v1/audio/speech \
-H 'Content-Type: application/json' \
-d '{"model":"arktts","input":"Welcome to Audio8 TTS.","voice":"speaker_a","response_format":"wav"}' \
-o outputs/openai.wav
```
See the complete
[ONNX Runtime guide](https://github.com/Audio8-AI/Audio8_TTS/tree/master/onnx_runtime)
for streaming output, configuration, memory management, and service controls.
## Evaluation
The source Audio8 TTS Preview checkpoint is a compact first-tier model on
Seed-TTS and CV3 multilingual evaluation. See the
[base model card](https://huggingface.co/Audio8/Audio8-TTS-Preview-0.6b#evaluation)
for benchmark tables, methodology, and comparison notes.
INT4 quantization can change sampled token sequences, so quality should be
evaluated for each target language, voice, and deployment setting rather than
assuming bit-for-bit equivalence with the source checkpoint.
## Limitations and Responsible Use
- This is a Preview checkpoint with limited multilingual and dialect coverage.
- Very long, noisy, or incorrectly transcribed references can reduce stability
and speaker similarity.
- Generated speech can be misused for impersonation or misinformation. Obtain
consent before cloning a voice and clearly disclose synthetic audio where
appropriate.
- Evaluate the model for accuracy, safety, and legal compliance before
deployment.
## License and Acknowledgements
The code and model weights are released under the
[Apache License 2.0](https://github.com/Audio8-AI/Audio8_TTS/blob/master/LICENSE).
See the upstream
[NOTICE](https://github.com/Audio8-AI/Audio8_TTS/blob/master/NOTICE) for
attribution details.
We thank the Fish Audio team for publishing the DualAR architecture used in
Fish Audio S2 Pro.