Repository
Higgs-Audio-v3-Studio
Windows / Linux desktop app built with Rust/Tauri for local Higgs Audio v3 TTS inference through a native C++/CUDA engine
- File
- Recommended VRAM
- Engine DLL package
- NVIDIA CUDA 13 GPU/driver required
- Linux engine package
- NVIDIA CUDA 13 GPU/driver required
- Higgs Q8_0 recommended
- 12 GB VRAM
Specs
- FileRecommended VRAM
- Engine DLL packageNVIDIA CUDA 13 GPU/driver required
- Linux engine packageNVIDIA CUDA 13 GPU/driver required
- Higgs Q8_0 recommended12 GB VRAM
- Higgs Q6_K10 GB VRAM
- Higgs Q5_K9 GB VRAM
- Higgs Q4_K_M8 GB VRAM
- Higgs BF1616 GB VRAM
- RoutePurpose
- GET /healthNo-auth health check.
- GET /v1/statusEngine, model, queue, and streaming support state.
- GET /v1/modelsLocal Higgs model folders detected by the app.
- GET /v1/higgs/speakersSaved speaker identities, including speaker:<id> voice names and cache status.
- POST /v1/audio/speechOpenAI-style plain TTS or saved-speaker voice clone, returned as WAV or MP3.
- POST /v1/higgs/voice-cloneVoice clone from a local reference audio path.
- POST /v1/higgs/continue-speechContinue an existing local audio file.
- POST /v1/higgs/audio/streamStreaming TTS/clone/continue response as newline-delimited JSON events.
- POST /v1/higgs/cancelCancel the active generation.
- ModelVRAM
- Higgs Q4_K_M8 GB
- Higgs Q5_K9 GB
- Higgs Q6_K10 GB
- Higgs Q8_012 GB
- Higgs BF1616 GB
- DependencyVersion / Notes
- Visual Studio Build Tools2022 or newer, MSVC C++ workload
- Windows SDKInstalled with Visual Studio Build Tools
- CMake3.20+
- Ninja1.11+
- CUDA ToolkitCUDA 13.x for the prebuilt-compatible CUDA engine
- RustStable MSVC toolchain
- Node.js20+ recommended
- WebView2Required by Tauri on Windows
- GPU familyCUDA architecture
- RTX 30-series86
- RTX 40-series89
- RTX 50-series120 or 120a-real , depending on CUDA/toolchain support
README
Higgs Audio v3 Studio
https://github.com/user-attachments/assets/67a9eeff-415f-4f48-b65c-50c3f9bd2367
Author: Saganaki22
Higgs Audio v3 Studio 0.2.4 is a Windows desktop app built with Rust/Tauri for
local Higgs Audio v3 TTS inference through a ported native C++/CUDA engine. The
app does not shell out to a CLI sidecar: the Tauri UI calls Rust commands, Rust
loads audiocpp_engine.dll with libloading, and the DLL executes the native
inference path through a small C ABI.
This main branch tracks the Windows desktop release. Linux .deb and AppImage
builds are available from the same GitHub Releases page and are built from the
linux
branch.
The goal is simple: a practical desktop workflow for local TTS, voice cloning,
speech continuation, and multi-speaker generation without making users manage a
Python environment.
Downloads
Prebuilt packages are published from:
- GitHub releases: https://github.com/Saganaki22/Higgs-Audio-v3-Studio/releases
- Linux branch source: https://github.com/Saganaki22/Higgs-Audio-v3-Studio/tree/linux
- Hugging Face runtime repository: https://huggingface.co/drbaph/Higgs-Audio-v3-Studio
- Runtime manifest: https://huggingface.co/drbaph/Higgs-Audio-v3-Studio/resolve/main/manifest.json
- Checksums: https://huggingface.co/drbaph/Higgs-Audio-v3-Studio/resolve/main/checksums/SHA256SUMS.txt
Direct runtime downloads:
| File | Recommended VRAM | Direct link |
|---|---|---|
| Engine DLL package | NVIDIA CUDA 13 GPU/driver required | https://huggingface.co/drbaph/Higgs-Audio-v3-Studio/tree/main/engines |
| Linux engine package | NVIDIA CUDA 13 GPU/driver required | https://huggingface.co/drbaph/Higgs-Audio-v3-Studio/tree/main/engines_linux |
| Higgs Q8_0 recommended | 12 GB VRAM | https://huggingface.co/drbaph/Higgs-Audio-v3-Studio/resolve/main/models/higgs-q8_0/q8_0.gguf |
| Higgs Q6_K | 10 GB VRAM | https://huggingface.co/drbaph/Higgs-Audio-v3-Studio/resolve/main/models/higgs-q6_k/q6_k.gguf |
| Higgs Q5_K | 9 GB VRAM | https://huggingface.co/drbaph/Higgs-Audio-v3-Studio/resolve/main/models/higgs-q5_k/q5_k.gguf |
| Higgs Q4_K_M | 8 GB VRAM | https://huggingface.co/drbaph/Higgs-Audio-v3-Studio/resolve/main/models/higgs-q4_k_m/q4_k_m.gguf |
| Higgs BF16 | 16 GB VRAM | https://huggingface.co/drbaph/Higgs-Audio-v3-Studio/resolve/main/models/higgs-bf16/bf16.gguf |
Recommended user flow:
- Download the latest Windows release from GitHub. Linux users should download the
.debor AppImage from the same Releases page. - Launch
Higgs Audio v3 Studio. - Click
Download Engine DLLson Windows, orDownload Engine Fileson Linux, if the engine package is not installed. - Download or browse to a Higgs model folder. In-app Higgs downloads fetch the whole selected folder: GGUF weights plus config/tokenizer/chat-template assets.
- Click
Load Engine, thenLoad Model. - Pick a workflow and generate audio.
<details>
<summary>Hugging Face repository layout</summary>
The Hugging Face repository root should contain manifest.json directly at the
top level. Put it beside models/, engines/, and checksums/:
drbaph/Higgs-Audio-v3-Studio/
manifest.json
engines/
audiocpp_engine.dll
cublas64_13.dll
cublasLt64_13.dll
VCOMP140.DLL
MSVCP140.dll
VCRUNTIME140.dll
VCRUNTIME140_1.dll
engines_linux/
libaudiocpp_engine.so
libcudart.so.13
libcublas.so.13
libcublasLt.so.13
models/
higgs-q8_0/
q8_0.gguf
config/tokenizer/chat-template assets
higgs-q6_k/
q6_k.gguf
config/tokenizer/chat-template assets
higgs-q5_k/
q5_k.gguf
config/tokenizer/chat-template assets
higgs-q4_k_m/
q4_k_m.gguf
config/tokenizer/chat-template assets
higgs-bf16/
bf16.gguf
config/tokenizer/chat-template assets
checksums/
SHA256SUMS.txt
Upload your local Hugging Face staging folder with this same structure to the
Hugging Face repo root so the runtime links resolve under /resolve/main/....
</details>
What It Does
- Runs the ported Higgs Audio v3 C++/CUDA engine inside a Tauri desktop app.
- Supports normal TTS, voice cloning, speech continuation, and multi-speaker workflows.
- Supports reference voice drag/drop, replacement, waveform previews, remove buttons, and automatic 30-second reference preparation for voice cloning and Speaker Gallery uploads.
- Supports optional live streaming playback during generation, with de-clicked chunk edges, waveform scrubbing, and play/pause control for the live stream.
- Supports optional Whisper auto-transcription for reference transcripts.
- Includes a Whisper model selector with direct
whisper.cppmodel downloads. - Includes a Speaker Gallery for reusable speaker identities with reference audio, transcript, notes, display image, normalization, and selected-speaker ZIP import/export.
- Reuses saved speaker reference caches (
.hspkcache) after first inference to skip repeated reference-code preparation. - Includes per-line speaker assignment, draggable line ordering, speaker-line pauses, line-by-line generation progress, and preflight validation for missing speaker references.
- Includes a visible generation queue manager for queued UI jobs, with active-job status, edit, delete, and clear controls.
- Includes a local API with normal WAV/MP3 responses, NDJSON streaming responses, saved-speaker discovery, and a detachable Command Centre log window.
- Exposes generation controls such as temperature, top-k, top-p, seed mode, max tokens, chunking, emotion, style, speed, pitch, and expressiveness.
- Exports generated audio as WAV or MP3.
- Tracks recent generations per mode.
- Shows NVIDIA hardware telemetry for VRAM, GPU load, power, RAM, and history.
- Uses default-browser links for GitHub, releases, Whisper model selection, and external downloads.
Supported Systems
<details>
<summary>Windows, GPU, and tooling targets</summary>
Primary target:
- Windows 11 x64
- Tauri 2 / WebView2 desktop runtime
- Visual Studio 2022 MSVC toolchain for source builds
- NVIDIA RTX GPU with CUDA 13 support for the prebuilt CUDA engine
- Current NVIDIA driver compatible with CUDA 13
- Recommended: RTX 30-series, 40-series, or 50-series GPU with enough VRAM for the selected quantization
Likely compatible:
- Windows 10 x64 with current WebView2 and NVIDIA drivers
- Other CUDA-capable NVIDIA GPUs if the DLL was built for their CUDA architecture
Not the focus of this desktop package:
- CPU-only generation
- macOS desktop packaging
Linux desktop packaging lives on the separate
linux
branch.
</details>
Architecture
<details>
<summary>Runtime architecture and source boundaries</summary>
Tauri Web UI
-> Rust command layer
-> libloading + Windows DLL search path setup
-> audiocpp_engine.dll C API
-> ported Higgs Audio v3 C++ runtime
-> ggml / CUDA backend
-> Higgs Audio v3 TTS, voice clone, continuation
Important boundary:
- UI code lives in
desktop/src. - Rust command glue lives in
desktop/src-tauri/src. - Native C ABI lives in
app/desktop_api/audiocpp_api.h. - Native DLL implementation lives in
app/desktop_api/audiocpp_api.cpp. - Higgs model code lives under
src/models/higgs_tts.
Long-running inference runs on Rust blocking worker threads so the WebView stays
responsive while the native engine is generating audio.
</details>
Runtime Files
<details open>
<summary>Runtime file locations</summary>
Portable/packaged app folder:
Higgs Audio v3 Studio.exe
resources/
engine/
audiocpp_engine.dll # bundled main engine DLL
higgs-assets/
higgs-audio-v3-tts-4b/
config/tokenizer assets
Engine package downloaded by Download Engine DLLs:
%LOCALAPPDATA%/
Higgs Audio v3 Studio/
engine/
audiocpp_engine.dll
cublas64_13.dll
cublasLt64_13.dll
MSVCP140.dll
VCOMP140.DLL
VCRUNTIME140.dll
VCRUNTIME140_1.dll
Default downloaded model folders:
models/
higgs-q8_0/
q8_0.gguf
config/tokenizer/chat-template assets
higgs-q6_k/
q6_k.gguf
config/tokenizer/chat-template assets
higgs-q5_k/
q5_k.gguf
config/tokenizer/chat-template assets
higgs-q4_k_m/
q4_k_m.gguf
config/tokenizer/chat-template assets
higgs-bf16/
bf16.gguf
config/tokenizer/chat-template assets
models/whisper/
ggml-base.en-q8_0.bin # optional, used by auto-transcribe
For packaged/portable builds, keep the resources/ folder beside the executable.
For development, place the engine DLL in desktop/src-tauri/resources/engine/.
The in-app Download Engine DLLs button downloads the engine package into the
per-user app data engine folder, which avoids Windows permission errors when the
app is installed under Program Files. The package includes
audiocpp_engine.dll, cuBLAS/cuBLASLt CUDA 13 runtime DLLs, and the MSVC/OpenMP
runtime DLLs required by the current engine build. Bundled/portable resources
and system-installed CUDA/MSVC runtime folders are still checked automatically
when present.
</details>
Speaker Gallery
<details>
<summary>Reusable speaker identity storage and ZIP import/export</summary>
Speaker Gallery identities are optional. Voice Clone, Continue Speech, and Multi
Speaker can use a saved identity, but users can still upload one-off reference
audio without saving it. One-off voice-clone references and Speaker Gallery
uploads are automatically prepared as WAV and capped to the first 30 seconds so
long accidental uploads do not waste inference setup time. Continue Speech keeps
the full source audio because that workflow may intentionally continue longer
material.
When a speaker identity is created or edited, the app keeps its files in the
user app data speaker store. Each speaker gets a folder named from the speaker
name and internal ID, with:
speakers/
Speaker_Name_persona_id/
manifest.json
reference.wav/mp3/flac
display.png/jpg/webp
transcript.txt
notes.txt
cache/
speaker.hspkcache
Export opens a picker so you can choose exactly which speaker identities to
include. The portable .zip contains manifest.json plus one
speakers/<speaker-name>_<id>/ folder per selected identity. Import reads that
ZIP, unpacks the audio/image assets back into the app speaker store, and restores
the speaker identity list.
Speaker export/import includes identity metadata, reference audio, transcript,
notes, display images, and the saved .hspkcache reference-code cache when it
exists. The cache is created after the first saved-speaker inference and is used
again by Voice Clone, Continue Speech, Multi Speaker, and saved-speaker API jobs.
Model-internal KV-prefix/activation caches are intentionally not serialized,
because those are model/quant specific.
</details>
Local API
<details>
<summary>HTTP API, streaming, and Command Centre</summary>
The app can run a local API server from the API tab. The default base URL is:
http://127.0.0.1:7077/v1
Every /v1 route requires:
Authorization: Bearer <your-api-key>
Useful routes:
| Route | Purpose |
|---|---|
GET /health |
No-auth health check. |
GET /v1/status |
Engine, model, queue, and streaming support state. |
GET /v1/models |
Local Higgs model folders detected by the app. |
GET /v1/higgs/speakers |
Saved speaker identities, including speaker:<id> voice names and cache status. |
POST /v1/audio/speech |
OpenAI-style plain TTS or saved-speaker voice clone, returned as WAV or MP3. |
POST /v1/higgs/voice-clone |
Voice clone from a local reference audio path. |
POST /v1/higgs/continue-speech |
Continue an existing local audio file. |
POST /v1/higgs/audio/stream |
Streaming TTS/clone/continue response as newline-delimited JSON events. |
POST /v1/higgs/cancel |
Cancel the active generation. |
Finished-file routes accept response_format: "wav" or response_format: "mp3" and return audio/wav or audio/mpeg directly.
/v1/higgs/audio/stream emits NDJSON events such as queued, start,
progress, audio, final, done, and error. Audio chunks are delivered as
wavBase64 fields so simple clients can parse progress and audio from one
response stream. The live chunks are WAV. The final event respects
response_format: it returns wavBase64 for WAV or mp3Base64 for MP3.
For script playback, read the HTTP response line-by-line. When event is
audio, base64-decode wavBase64 and feed those WAV bytes to your player or
audio queue. When event is final, check encoding. Save wavBase64 when it
is wav-base64, or mp3Base64 when it is mp3-base64.
Minimal Python stream reader:
import base64
import json
import requests
with requests.post(url, headers=headers, json=payload, stream=True, timeout=600) as r:
r.raise_for_status()
for line in r.iter_lines(decode_unicode=True):
if not line:
continue
event = json.loads(line)
if event["event"] == "audio":
wav_chunk = base64.b64decode(event["wavBase64"])
# Push wav_chunk to your audio playback queue here.
elif event["event"] == "final":
if event.get("encoding") == "mp3-base64":
open("final.mp3", "wb").write(base64.b64decode(event["mp3Base64"]))
else:
open("final.wav", "wb").write(base64.b64decode(event["wavBase64"]))
The API tab includes examples for curl, Python, JavaScript, and PowerShell. Its
Command Centre can be popped out into a separate window with filters for info,
warnings, errors, requests, and jobs. If the main studio window is minimized to
the system tray, the popped-out Command Centre remains visible. Speaker Gallery
changes are hot-synced into the running API, so saved speaker IDs do not require
an API restart after create/edit/delete.
</details>
Install For Users
<details open>
<summary>Portable release</summary>
-
Download the portable release package from GitHub Releases.
-
Put it in a normal writable folder, for example:
C:\AI\Higgs-Audio-v3-Studio\ -
Keep the
resources/folder besideHiggs Audio v3 Studio.exe. -
Run
Higgs Audio v3 Studio.exe. -
If the engine package is missing, click
Download Engine DLLs. -
Use the Model panel to download or browse to a Higgs model.
-
Load the engine and model.
</details>
<details>
<summary>Installer</summary>
- Download the
.exeor.msiinstaller from GitHub Releases. - Install normally.
- Launch the app from the Start Menu.
- Download or browse to the engine/model files from inside the app.
</details>
Model Setup
<details open>
<summary>Higgs and Whisper model setup</summary>
The model selector expects model folders, not loose files. A good downloaded
folder layout is:
models/
higgs-q8_0/
q8_0.gguf
chat_template.jinja
config.json
higgs_audio_v2_tokenizer_config.json
tokenizer.json
tokenizer_config.json
higgs-q6_k/
q6_k.gguf
higgs-q5_k/
q5_k.gguf
higgs-q4_k_m/
q4_k_m.gguf
higgs-bf16/
bf16.gguf
Higgs Audio v3 Q8_0 is the recommended model in the app. In-app Higgs model
downloads now fetch the whole selected model folder: the .gguf file plus
chat_template.jinja, config.json,
higgs_audio_v2_tokenizer_config.json, tokenizer.json, and
tokenizer_config.json. The progress bar shows the current file and per-file
download progress, for example File 1/6: q8_0.gguf.
Recommended VRAM:
| Model | VRAM |
|---|---|
| Higgs Q4_K_M | 8 GB |
| Higgs Q5_K | 9 GB |
| Higgs Q6_K | 10 GB |
| Higgs Q8_0 | 12 GB |
| Higgs BF16 | 16 GB |
Use Browse... if a model is somewhere else.
In-app model downloads use a user-writable folder by default:
C:\Users\<you>\audiocpp\models\
For Whisper auto-transcription, use the Whisper panel on the left:
- Select a Whisper preset.
- The recommended default is
base.en-q8_0. - The smaller turbo option
large-v3-turbo-q5_0is also highlighted. - Click
Download, or clickBrowse...and select an existingggml-*.bin.
</details>
Build Requirements
<details>
<summary>Toolchain requirements</summary>
Known-good Windows build inputs:
| Dependency | Version / Notes |
|---|---|
| Visual Studio Build Tools | 2022 or newer, MSVC C++ workload |
| Windows SDK | Installed with Visual Studio Build Tools |
| CMake | 3.20+ |
| Ninja | 1.11+ |
| CUDA Toolkit | CUDA 13.x for the prebuilt-compatible CUDA engine |
| Rust | Stable MSVC toolchain |
| Node.js | 20+ recommended |
| WebView2 | Required by Tauri on Windows |
</details>
Build Native Engine
<details>
<summary>Build the C++ CUDA DLL</summary>
From the repository root:
# Build the desktop DLL for a CUDA release preset.
.\scripts\build_windows.ps1 `
-Preset windows-cuda-release `
-Target audiocpp_engine `
-Jobs 16
To force CUDA architectures:
.\scripts\build_windows.ps1 `
-Preset windows-cuda-release `
-Target audiocpp_engine `
-CudaArchitectures "86;89;120" `
-Jobs 16
Common architecture targets:
| GPU family | CUDA architecture |
|---|---|
| RTX 30-series | 86 |
| RTX 40-series | 89 |
| RTX 50-series | 120 or 120a-real, depending on CUDA/toolchain support |
The DLL is written to:
build/windows-cuda-release/bin/audiocpp_engine.dll
For development, copy it to:
desktop/src-tauri/resources/engine/audiocpp_engine.dll
For portable release builds, place it beside the final executable.
</details>
Build Desktop App
<details>
<summary>Build or run the Tauri app</summary>
From the repository root:
cd desktop
npm install
npm run build:vite
cd src-tauri
cargo check
cd ..
npm run build
Fast local app run:
cd desktop
npx tauri dev
Build only the frontend:
cd desktop
npm run build:vite
Build the Tauri app without generating installer bundles:
cd desktop
npx tauri build --no-bundle
Full Tauri build output is under:
desktop/src-tauri/target/release/
desktop/src-tauri/target/release/bundle/
</details>
Verification
<details>
<summary>Local verification checks</summary>
Useful checks:
# Frontend TypeScript + Vite production build
cd desktop
npm run build:vite
# Rust command layer
cd src-tauri
cargo check
cd ..\..
# Native DLL target
.\scripts\build_windows.ps1 -Preset windows-cuda-release -Target audiocpp_engine
Expected behavior:
- The app opens to the main TTS workflow.
Download Engine DLLsdownloadsaudiocpp_engine.dllplus the required CUDA/MSVC runtime DLLs.- Higgs model downloads show
File n/6and download the selected model folder assets plus GGUF weights. Load Enginechanges the engine chip from unloaded to loaded.Load Modelenables generation after a valid model folder is selected.- Voice clone and multi-speaker workflows require reference audio. New uploaded clone/Speaker Gallery references are auto-cropped to 30 seconds.
- Multi-speaker generation checks all speech lines before starting. If a line points to a missing speaker or a speaker without a reference voice, the app stops immediately and tells you which line to fix.
- Whisper auto-transcription requires a selected
ggml-*.binWhisper model.
</details>
Troubleshooting
<details>
<summary>Common issues and fixes</summary>
Port 1420 is already in use
Another Vite dev server is already running.
Check the port:
Get-NetTCPConnection -LocalPort 1420 -ErrorAction SilentlyContinue |
Select-Object LocalAddress,LocalPort,State,OwningProcess
Stop the old process or run the app after that server exits.
Engine library not found
The app could not find audiocpp_engine.dll.
Fix one of these:
- Click
Download Engine DLLs. - Copy the DLL beside the release executable.
- In dev, copy it to
desktop/src-tauri/resources/engine/audiocpp_engine.dll.
Load Model is disabled
Load the engine first, then select a valid model folder.
The app lists folders containing model weights such as model.gguf or
model.safetensors. Loose files in the root models/ folder will not appear as
full model entries.
CUDA DLL load errors
Version 0.2.31 added an engine dependency preflight. If Windows cannot load
audiocpp_engine.dll, the app checks common loader dependencies first and shows
a repair dialog listing missing DLLs such as nvcuda.dll,
cublas64_13.dll, cublasLt64_13.dll, vcruntime140.dll,
vcruntime140_1.dll, msvcp140.dll, or VCOMP140.DLL.
Make sure:
- NVIDIA driver is current.
- Click
Download Engine DLLs, or make sure CUDA Toolkit 13.x runtime DLLs required by the engine are onPATH. - Click
Download Engine DLLs, or install Microsoft Visual C++ Redistributable 2015-2022 x64. - The engine DLL was built for your GPU architecture.
VRAM spikes during generation
Short VRAM spikes can happen during inference. They usually come from temporary
workspace buffers, KV cache allocation, CUDA/ggml scratch allocations, audio
codec stages, or graph execution setup. A quantized model can still need extra
transient memory while generating.
Seeing the card jump close to full VRAM for a moment does not always mean the
model weights themselves need that much memory. CUDA/ggml can reserve large
workspace and scratch regions sized for the current graph/session, and Windows
or NVML may report that reserved memory as used. The Higgs generator decode graph
allocates KV cache for the requested maximum token cap, so very high
max_tokens values can reserve much more VRAM up front even when the text is
short.
Version 0.2.31 and later releases Higgs runtime graphs and codec graphs after each
request, releases them when streaming is cancelled or errors out, checks cancel
inside the native decode loop, and sends per-stage native VRAM diagnostics to
the Command Centre. Use those vram stage=... log lines to see whether a spike
comes from reference encoding, generator decode graph allocation, streaming codec
decode, final codec decode, or cleanup. The packaged CUDA engine now uses F16
decode KV cache by default to reduce cache VRAM pressure, with an F32 diagnostic
fallback available for troubleshooting.
If you run out of memory:
- Use a smaller or lower-quantized model.
- Close other GPU-heavy apps.
- Reduce max tokens; the UI default is
1024. - Disable longform chunking or use smaller chunks.
- Try a smaller reference clip.
Whisper auto-transcribe does nothing
Select a Whisper model in the left Whisper panel. The recommended default is
base.en-q8_0. The model file should be a ggml-*.bin from whisper.cpp.
Downloads do not start
Check that the URL is a direct Hugging Face resolve/main/... URL, not a
browser blob/main/... page.
Good:
https://huggingface.co/user/repo/resolve/main/path/file.bin
Not good for direct app download:
https://huggingface.co/user/repo/blob/main/path/file.bin
App links open inside the app instead of browser
Links should be routed through the Rust open_external_url command. If a new
link is added, wire it through that command instead of using an in-app WebView
navigation.
</details>
Responsible Use
Do not use Higgs Audio v3 Studio, Higgs TTS 3, or any voice-cloning workflow to
impersonate people without consent, create malicious or deceptive voices, defraud
others, evade identification, harass people, or cause harm. Generated voices
should be used only where you have the rights and consent needed for the source
voice, transcript, and intended output.
Project Layout
app/desktop_api/ Native C ABI used by the Tauri app
desktop/ Tauri 2 + Vite frontend
desktop/src/ TypeScript UI
desktop/src-tauri/src/ Rust command layer and DLL loader
include/ Public C++ framework headers
src/models/higgs_tts/ Higgs Audio v3 model implementation
external/ggml/ Vendored ggml backend sources
external/whisper.cpp/ Whisper submodule used by the engine DLL
scripts/build_windows.ps1 Windows CMake/MSVC build helper
Upstream And Credits
This desktop app builds on:
- The ported Higgs Audio v3 C++/CUDA engine implemented for this Studio app.
ggml, used by the native backend.whisper.cpp, used for optional local transcription.- Higgs Audio v3 model work from Boson AI.
- Tauri 2, Rust, Vite, and TypeScript for the desktop shell.
Check upstream model licenses before redistributing model weights or using them
commercially.
Citation
@misc{bosonai_higgs_audio_tts_v3_2026,
title = {Higgs TTS 3: Conversational Speech for Voice AI from Boson AI},
author = {Boson AI},
year = {2026},
howpublished = {https://huggingface.co/bosonai/higgs-tts-3-4b},
}
License
Application source code in this repository is Apache 2.0; see LICENSE.
Higgs TTS 3 model weights and upstream model assets are governed by the Boson
Higgs TTS 3 Research and Non-Commercial License; see the upstream model license.