Getting Started with Qwen3 TTS#
What this pack provides#
The NVIDIA In-Game Inferencing (NVIGI) Qwen3 TTS Plugin Pack provides prebuilt Qwen3-TTS inference through CUDA, Vulkan, and D3D12 backends. It includes Qwen 0.6B Base Talker variants (Q4_K_M by default and optional Q8_0), the shared F32 tokenizer/codec model, a command-line sample, and a 3D sample. Qwen’s example reference WAV and a derived voice JSON are not bundled.
The standalone pack is TTS-only. ASR and GPT are optional NVIGI Developer SDK overlays for full 3D voice-to-voice integration; they are not bundled here.
Prerequisites#
Windows 10 or Windows 11, 64-bit.
A compatible GPU and driver for the selected backend.
An internet connection the first time
setup_sample.batdownloads the compatible NVIGI Core runtime.
1. Run setup#
From the pack root:
setup_sample.bat
This installs NVIGI Core/HWI runtime DLLs next to both Release and Production samples. Run it once before starting a sample.
For a Developer SDK ASR -> GPT -> Qwen3 TTS overlay:
setup_sample.bat "C:\path\to\nvigi_developer_full_sdk"
2. Run the CLI sample#
cd bin\x64\Release
nvigi.tts.qwen.exe ^
--models ..\..\..\data\nvigi.models ^
--text "Hello from Qwen3 TTS." ^
--output hello.wav ^
--backend cuda
The default GUID selects the Q4_K_M Talker. Select the optional, higher-precision Q8_0 model by its GUID when its extra disk/VRAM use and potentially slower inference are acceptable:
nvigi.tts.qwen.exe --models ..\..\..\data\nvigi.models --guid {A7D3620F-ADDB-4200-8EB4-3A5E270846CB} ^
--text "Hello from Qwen3 TTS." --output hello-q8.wav --backend cuda
The CLI writes a 24 kHz mono WAV. Available backends are cuda, vulkan
(vk), and d3d12.
The first D3D12 synthesis can perform one-time backend, shader, and graph warm-up work. Measure steady-state latency only after this first request.
3. Provision Qwen’s example voice#
Run the following from the pack root when you want the voice used by Qwen’s official example:
powershell -NoProfile -ExecutionPolicy Bypass -File .\voice_cloning\provision_qwen_example_voice.ps1
This explicit, user-initiated step downloads Qwen’s hosted clone_2.wav, uses
the transcript published in Qwen’s example, and creates
data\nvigi.test\qwen_voice_refs\qwen_example_clone_2.json locally. The WAV
and transcript are temporary and are removed after successful extraction.
Review the official Qwen example
and applicable terms before running the script.
The CLI defaults --max_words_per_chunk to 40 so long input is bounded into
safe requests. Adjacent complete sentences are packed into a request rather
than forcing one request per sentence; run-on text is split only when needed.
For text that becomes more than one request, use --speaker or
--refAudio/--refText so every segment uses the same Qwen voice. This also
applies to Chinese, Japanese, and Korean text without spaces.
4. Launch the 3D sample#
cd bin\x64\Release
nvigi.3d.exe
Use nvigi.3d.exe -vk for Vulkan rendering. The Qwen TTS UI starts with the
unconditioned Base voice. After provisioning, select qwen_example_clone_2
in the voice list. Full ASR/GPT workflows need the optional Developer SDK
overlay described above.
5. Create a new reference JSON#
For any other voice, use an approved reference WAV and exact transcript with the included helper:
py -3 voice_cloning\get_voice_embeddings.py ^
--wav C:\voices\speaker.wav ^
--transcript-file C:\voices\speaker.txt ^
--dump-json C:\voices\speaker.json ^
--backend cuda
The helper invokes nvigi.tts.qwen.exe --extractEmbedding; it needs no Python
ML packages. The transcript must exactly match the reference speech so the
generated JSON contains Qwen ICL reference codes. An embedding-only Mode-A JSON
requires the helper’s explicit --allow-mode-a opt-in and is not the normal
custom-voice workflow.