Qwen3-TTS-1.7B-VoiceDesign on AX8860 (llama.cpp + ggml-axera, 2026-11-02)

在爱芯 AX8860 的 NPU(4 核)上用 llama.cpp 运行 Qwen3-TTS-1.7B-VoiceDesign:按文字描述设计音色的语音合成。 Qwen3-TTS-1.7B-VoiceDesign on the 4-core NPU of the Axera AX8860, with llama.cpp: speech synthesis with a voice designed from a text description.

文件 / Files

文件 / File 说明 / Description
qwen3-tts-1.7b-voicedesign-bf16.gguf talker 权重(GGUF BF16,3312 MB,md5 c0c13fc8bb1c946f33739d4538b5056e)/ talker weights
mmproj-qwen3-tts-1.7b-voicedesign-bf16.gguf code predictor、声码器权重(GGUF BF16,646 MB,md5 6200b0762d600203d46a52df6a3d9a91)/ code predictor and codec decoder weights
bin/ llama.cpp 板端程序 llama-tts(静态链接,只依赖系统 /opt/lib 与 libc)/ the board program (static; needs only the system /opt/lib and libc)
kernels/ NPU kernel 4 个(与 Qwen3-TTS-1.7B Base 相同):talker prefill、talker decode(含 codec 输出头)、code predictor(一次一帧,运行时 top-k)、声码器(一次 72 帧)+ manifest.json / four kernels (the same as Qwen3-TTS-1.7B Base) + manifest.json
run.sh 运行脚本 / run script

权重只来自 GGUF:kernel 不含权重,加载时从 GGUF 转换(talker 与 code predictor MXFP8,声码器 BF16)。 The weights come only from the GGUFs: the kernels hold none; they are converted at load (talker and code predictor MXFP8, codec decoder BF16).

运行 / Run

环境 / Requirements:AX8860,SDK V0.5.0 或更新(cat /proc/ax_proc/version)/ SDK V0.5.0 or newer.

./run.sh "今天天气很好,我们一起去公园散步吧。" "一位声音温柔的年轻女性,语速适中,语气平静" out.wav zh
./run.sh "The quick brown fox jumps over the lazy dog." "A deep, warm male narrator voice, calm and measured." out.wav en

参数 / Arguments:文本、音色描述、输出文件(默认 out.wav)、语言(auto zh en de it pt es ja ko fr ru,默认 auto)。 text, voice description, output file (default out.wav), language (default auto).

采样 temperature 0.9、top-k 50(官方默认);-n 2000 帧(约 160 s)为上限。 Sampling temperature 0.9, top-k 50 (the official defaults); at most 2000 frames (~160 s).

直接调用程序时设置 / When calling the program directly: LD_LIBRARY_PATH=/opt/lib GGML_AXERA_KERNEL_DIR=<repo>/kernels, -ngl 99 -c 4096,top-k 不超过 50 / top-k up to 50。

性能 / Performance

AX8860,SDK V0.5.1,NPU 4 核;一段中文(一种音色描述)生成 37.4 s 语音 / 4 cores; one Chinese paragraph (one voice description), 37.4 s of speech:

项目 / Item 结果 / Result
合成耗时 / synthesis time 18.06 s(RTF 0.48)
不计首次声码器权重转换 / without the first codec weight conversion RTF 0.42,每帧(80 ms 音频)33 ms / 33 ms per 80 ms frame
NPU:code predictor / talker decode 每帧 / per frame 7.8 ms / 8.1 ms

每个进程一次性的开销 / once per process:加载与权重转换约 25 s;第一次合成另加约 2.5 s 声码器权重转换(已计入上表的合成耗时)。 load and weight conversion ~25 s; the first synthesis adds ~2.5 s of codec weight conversion (in the synthesis time above).

本版 decode kernel 直接读 prefill 的权重 bank,NPU 内存里只放一份层权重:加载后 NPU 内存(CMM)6376 → 5452 MB,输出不变,decode 略快。 This release's decode kernel reads the prefill weight banks (one copy of the layer weights in NPU memory): CMM after load 6376 -> 5452 MB, same outputs, slightly faster decoding.

正确性 / Correctness

中、英文测试句(两种音色描述)生成的语音经 Qwen3-ASR 转写与原文逐字一致。 Speech of the Chinese and English test sentences (two voice descriptions), transcribed back with Qwen3-ASR, matches the text exactly.

已知限制 / Known limits

  • 运行时独占 NPU 4 核 / takes all 4 NPU cores; do not run other NPU programs alongside.
  • 上下文 4096;top-k 最大 50 / context 4096; top-k at most 50.
  • 贪心解码(--temp 0)的语音偏长、停顿多,建议用默认采样 / greedy decoding gives long, pause-heavy speech; keep the default sampling.

源码 / Sources

  • llama.cpp:ZHEQIUSHUI/llama.cpp axera-dev @ 57a30bd(ggml/src/ggml-axera/models/qwen3、qwen3_tts;CustomVoice / VoiceDesign 的 prompt:tools/mtmd/mtmd-helper-gen.cpp;转换:conversion/qwen3tts.py)
  • kernel:ZHEQIUSHUI/ax-dsl-kernels main @ 804a260(models/qwen3_tts)
Downloads last month
56
GGUF
Model size
2B params
Architecture
qwen3tts
Hardware compatibility
Log In to add your hardware

16-bit

Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for AXERA-TECH/Qwen3-TTS-1.7B-VoiceDesign-AX8860-llama.cpp

Quantized
(11)
this model

Collection including AXERA-TECH/Qwen3-TTS-1.7B-VoiceDesign-AX8860-llama.cpp