Platform Support

qwen-tts runs on macOS, Linux, and Windows. The CLI automatically detects your hardware and selects the best inference backend during config init.

Support Matrix

PlatformBackendPerformanceNotes
macOS Apple Silicon (M1/M2/M3/M4)mlxBestNative MLX acceleration. Recommended platform. Uses mlx_audio for inference with optimized MLX model weights.
macOS IntelcpuSlowNo GPU acceleration available. Falls back to PyTorch CPU inference.
Linux + NVIDIA GPUcudaFastRequires NVIDIA drivers and CUDA toolkit. Uses PyTorch with CUDA for inference.
Linux CPU-onlycpuSlowPyTorch CPU inference. Functional but not recommended for regular use.
Windows + NVIDIA GPUcudaFastRequires NVIDIA drivers and CUDA toolkit. Uses PyTorch with CUDA for inference.
Windows CPU-onlycpuSlowPyTorch CPU inference. Functional but not recommended for regular use.

Backend Detection

When you run qwen-tts config init, the following logic determines your backend:

  1. If the OS is macOS and the architecture is aarch64 (Apple Silicon) -> mlx
  2. Otherwise, if nvidia-smi is found and returns success -> cuda
  3. Otherwise -> cpu

You can override the auto-detected backend manually:

qwen-tts config set backend cuda

Python Dependencies by Backend

Each backend requires different Python packages in the virtual environment:

MLX (Apple Silicon)

pip install mlx-audio huggingface-hub

CUDA (NVIDIA GPU)

pip install torch transformers huggingface-hub

CPU

pip install torch transformers huggingface-hub --extra-index-url https://download.pytorch.org/whl/cpu

Audio Playback

Generated audio is played automatically when auto_play is enabled. The playback command depends on the platform:

PlatformCommand
macOSafplay (built-in)
WindowsPowerShell SoundPlayer
Linuxaplay, paplay, or ffplay (tried in order)

If no audio player is found, a warning is printed and the generated file is still saved to disk.

Model Variants by Backend

BackendPro VariantLite Variant
MLXmlx-community/Qwen3-TTS-bf16mlx-community/Qwen3-TTS-4bit
CUDAQwen/Qwen3-TTSQwen/Qwen3-TTS
CPUQwen/Qwen3-TTSQwen/Qwen3-TTS

On non-MLX backends, both pro and lite use the same upstream PyTorch checkpoint from Qwen.