Audio8 TTS Preview 0.6B

MehrdadKhnzd1 pts0 comments

Audio8/Audio8-TTS-Preview-0.6B-ONNX-INT4 · Hugging Face

Log In<br>Sign Up

Audio8 TTS Preview 0.6B ONNX INT4

SOTA-class multilingual TTS at compact scale, packaged for low-resource CPU inference.

Audio8 TTS Preview is a 0.6B-parameter multilingual text-to-speech model with<br>zero-shot voice cloning. This repository provides its CPU-oriented ONNX<br>deployment: weight-only INT4 DualAR models, an FP16 neural audio codec, the<br>tokenizer, and the optional FP16 encoder used to register reference voices.

Model files only. Inference, streaming service, and voice-registration<br>code live in the<br>Audio8 TTS repository.

Why this ONNX release

Deployment characteristic

CPU native<br>ONNX Runtime CPUExecutionProvider; no CUDA requirement

Small runtime<br>No PyTorch, Transformers, or Hugging Face Hub dependency after download

Low memory<br>About 1 GiB after loading in the tested Apple M2 configuration

Voice cloning<br>Bundled FP16 codec encoder for reusable local voice profiles

Local service<br>CLI, web UI, HTTP API, streaming PCM, and OpenAI-compatible endpoint

Precision and footprint

Component<br>Precision

Slow/Fast AR weights<br>Weight-only INT4

Activations, hidden states, and KV cache<br>FP16

Codec encoder and decoder<br>FP16

Waveform output<br>FP32, 44.1 kHz mono

Normal synthesis loads only the Slow AR, Fast AR, and codec decoder sessions.<br>On a 16 GB Apple M2 MacBook Air with five ONNX Runtime threads, the service<br>used about 1004 MiB after loading and approximately 1.1-1.2 GiB at<br>synthesis peak . Voice registration releases the online sessions before<br>loading the codec encoder; the measured registration peak was approximately<br>1.55 GiB . Actual memory use varies by platform and allocator behavior.

The online model files occupy about 572 MiB . The complete repository,<br>including the optional voice-registration encoder, is about 968 MiB .

Supported Languages

Cantonese ·<br>Chinese ·<br>Dutch ·<br>English

French ·<br>German ·<br>Italian ·<br>Japanese

Korean ·<br>Polish ·<br>Spanish

Preview status: Language coverage is intentionally limited in this<br>release. For the best results, use one of the 11 recommended languages<br>above. Broader multilingual coverage and Chinese dialect support are<br>planned for future releases.

Model Details

Audio8 TTS uses a DualAR architecture inspired by<br>Fish Audio S2 Pro. The slow AR<br>transformer predicts one semantic token for each audio frame. The fast AR<br>transformer predicts the frame's codec codebooks, conditioned on the slow<br>hidden state and preceding codebooks.

Component<br>Configuration

Main model<br>601,159,424 parameters, excluding the codec

Slow AR<br>24 layers, width 896, 14 attention heads, 2 KV heads

Fast AR<br>4 layers, width 896, 14 attention heads, 2 KV heads

Acoustic tokens<br>10 codebooks, 4,096 entries per codebook

Codec<br>44.1 kHz, 2,048 samples per model frame (~21.5 frames/s)

Context<br>Up to 2,048 packed text/audio positions

Execution provider<br>ONNX Runtime CPU

Quick Start

Python 3.11 or newer is required. The current release is tested on macOS<br>arm64.

1. Download the code and model

git clone https://github.com/Audio8-AI/Audio8_TTS.git<br>cd Audio8_TTS/onnx_runtime

python3 -m pip install -U "huggingface_hub[cli]"<br>hf download Audio8/Audio8-TTS-Preview-0.6B-ONNX-INT4 --local-dir model<br>bash setup.sh

The model files are stored at this Hugging Face repository's root. Downloading<br>with --local-dir model creates the exact layout expected by the runtime:

model/<br>├── slow_ar_int4.onnx(.data)<br>├── fast_ar_int4.onnx(.data)<br>├── codec_decoder_fp16.onnx(.data)<br>├── runtime_manifest.json<br>├── tokenizer/tokenizer.json<br>└── registration/<br>├── codec_encoder_fp16.onnx(.data)<br>└── registration_manifest.json

2. Register a reference voice

Start the local service and open http://127.0.0.1:8024. Upload a 0.5-30<br>second reference recording, its exact transcript, and a voice name.

bash start_server.sh

The same operation is available through HTTP:

curl http://127.0.0.1:8024/api/voices/register \<br>-F 'audio=@/absolute/path/reference.wav' \<br>-F 'text=The exact transcript of the reference recording.' \<br>-F 'name=speaker_a' \<br>-F 'overwrite=false'

The encoder in registration/ is loaded only while registering a voice. The<br>generated profile is stored locally and can be reused across requests.

3. Generate speech

bash run_infer.sh \<br>--text "Welcome to Audio8 TTS ONNX Runtime." \<br>--voice speaker_a \<br>--max-new-tokens 256 \<br>--output outputs/example.wav

The command writes outputs/example.wav and [10, T] codec codes to<br>outputs/example.npy.

HTTP API

curl http://127.0.0.1:8024/api/tts \<br>-H 'Content-Type: application/json' \<br>-d '{"text":"Welcome to Audio8 TTS.","voice_name":"speaker_a","max_new_tokens":256}' \<br>-o outputs/api.wav

OpenAI-compatible API

curl http://127.0.0.1:8024/v1/audio/speech \<br>-H 'Content-Type: application/json' \<br>-d '{"model":"arktts","input":"Welcome to Audio8 TTS.","voice":"speaker_a","response_format":"wav"}' \<br>-o outputs/openai.wav

See the complete<br>ONNX Runtime guide<br>for streaming output, configuration, memory management, and service...

onnx audio8 model voice codec runtime

Related Articles