Qwen/Qwen3-TTS-12Hz-1.7B-CustomVoice

Text to speech with qwen3-tts-engine on Huawei Ascend 910B1.

View on Hugging Face
Text to speechBF16qwen3-tts-engine1 × Ascend 910B1unverified
INSTALLqwen3-tts-engine · ASCENDShell
Run in the prepared environment
git clone https://github.com/InferMatrixLab/qwen3-tts-engine.git
cd qwen3-tts-engine
git checkout b4451682abac651f26046f8d27467de3f007e1e7
python -m pip install --no-deps -e .
npu-smi info
python -c "import torch, torch_npu, triton, qwen_tts; assert torch.npu.is_available()"
export QWEN_TTS_MODEL="$PWD/models/Qwen3-TTS-12Hz-1.7B-CustomVoice"
HF_HUB_OFFLINE=0 python - <<'PY'
import os
from huggingface_hub import snapshot_download
snapshot_download(repo_id="Qwen/Qwen3-TTS-12Hz-1.7B-CustomVoice",
                  revision="0c0e3051f131929182e2c023b9537f8b1c68adfe",
                  local_dir=os.environ["QWEN_TTS_MODEL"])
PY
Unverified on Huawei Ascend 910B1
export ASCEND_RT_VISIBLE_DEVICES="${ASCEND_RT_VISIBLE_DEVICES-0}"
export OMP_NUM_THREADS=4
export HF_HUB_OFFLINE=1
export LD_PRELOAD=/usr/lib/aarch64-linux-gnu/libjemalloc.so.2
python - <<'PY'
import json
import os
import subprocess
import sys
from pathlib import Path
command = json.loads(Path("evidence/campaign-20261017/plan/continuous-direct-prompt-command.json").read_text())
command[0] = sys.executable
command[command.index("--model") + 1] = os.environ["QWEN_TTS_MODEL"]
subprocess.run(command, check=True)
PY
HARDWARE
NVIDIA
Huawei Ascend
Apple Silicon
ENGINE
BACKEND
Linux (prepared Ascend environment; distribution not recorded)
TASK
Single device · recorded configuration
VERIFICATION
Deployment unverifiedAcceptance INCONCLUSIVE

Not revalidated for this catalog. See the original evidence for the exact scope.

ADVANCED Source & reproducibility
Edit the source recipe

Environment & prerequisites

Linux (prepared Ascend environment; distribution not recorded)

  • One allocated Ascend 910B1; Python 3.12 with CANN and Triton Ascend already installed.
  • Prepared environment: torch 2.10.0, torch_npu 2.10.0.post4, qwen-tts 0.1.1, transformers 4.57.3.
  • Preserve the CANN PYTHONPATH; the repository does not install the NPU driver or toolchain.
  • Recorded ARM64 allocator workaround requires /usr/lib/aarch64-linux-gnu/libjemalloc.so.2.
  • GitHub, Python package index and Hugging Face access are required for initial installation and model download.

Limitations & verification scope

  • This catalog entry has not been executed on hardware during the 2026-10-19 documentation work.
  • The historical PASS covers measured engine e783a64b0fb4f9ade2ffb3980b3e1f74a00c9a6a and its frozen contract; it does not qualify this deployment ref automatically.
  • Historical evidence: https://github.com/InferMatrixLab/qwen3-tts-engine/blob/b4451682abac651f26046f8d27467de3f007e1e7/evidence/campaign-20261017/acceptance.md
  • Only this CustomVoice checkpoint, one 910B1 and the recorded BF16 configuration are represented. The separate 910B3 comparison is not validation of this recipe.
  • Keep the install and serve blocks in the same activated shell. Send the request from a second terminal after health succeeds.
  • The endpoint streams base64 PCM over SSE; it does not return a WAV directly. The OS distribution and CANN version were not fully frozen in the source documentation.

Evidence & attribution

Imported reports retain their authorship and verification scope. Catalog checks do not establish inference quality or performance.