MCPcopy Create free account
hub / github.com/0xShug0/audio.cpp

github.com/0xShug0/audio.cpp @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
20,443 symbols 66,832 edges 1,286 files ⚖ Apache-2.0 1,103 documented · 5% updated 3d agov0.6.2-release-test · 2026-08-25★ 2,0145 open issues

Browse by type

Functions 16,435 Types & classes 4,008
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

audio.cpp

0xShug0/audio.cpp | Trendshift

audio.cpp is a high-performance C++ audio inference framework built on top of ggml, designed to make modern local audio models practical, portable, and fast.

Tired of juggling a dozen Conda environments, hundreds of Python packages, and dependency conflicts just to try a few audio models? audio.cpp gives those paths a shared native runtime instead. Runs on Windows, Linux, and macOS, with support for NVIDIA, AMD, Apple Silicon, and CPU-only machines.

[!IMPORTANT]

2026-08-28 - Dev testing: Fun-CozyVoice3 and BreezeTTS 2 are available for testing on the dev branch.

2026-08-26 - Arena UI: The new Arena tab makes it easier to compare local models side by side for TTS, voice conversion, and ASR. Use one shared input, queue multiple models or GGUF variants, then review outputs with metrics!

CUDA performance headline: multiple TTS paths already run 1.8x to up to 8x faster than their Python reference paths while cutting end-to-end latency by 45%-85%.

GGUF performance: all released model families support GGUF loading, and tested Q8 packages can run up to 1.53x faster while reducing peak VRAM by up to about 37% on routes such as Higgs Audio, Fish Audio, and Voxtral. See the GGUF guide for support status and the Q8 performance report for 16-bit vs Q8 measurements.

Production deployment example: Try Fun-ASR-Nano with audio.cpp on the FunASR platform https://www.funasr.com/en/deploy/audio-cpp.html!

VibeVoice 1.5B: generates a 93.9-minute podcast in 18.2 minutes with 10 diffusion steps and without quantization, running about 5.15x faster than real time.

Supertonic 3: generates about 10 hours of audio in 3 minutes on RTX5090. Up to 200x+ real-time on CUDA, 6x+ real-time on CPU, and 47 ms TTFT in CUDA streaming mode. Demo: 10 hours of audio generated in 3 minutes.

Real-world ASR win: In TranscrIA benchmark on messy French meeting audio, audio.cpp’s Nemotron 3.5 ASR matched the same WER as other implementations while using about 1/4 of the wall time.

It is built for real end-to-end execution rather than one-off model demos: the same runtime powers TTS, voice cloning, voice conversion, ASR, diarization, VAD, source separation, alignment, codec-style models, and higher-level workflows through a common framework surface.

Highlights:

  • Parity. Strong parity tooling against Python reference paths.
  • Performance. Performance-focused execution, reusable sessions, and batch-style offline inference. Optimized for CUDA.
  • Portability. A portable native stack centered on ggml, with CUDA, HIP/ROCm, Vulkan, Metal, and CPU backends behind shared CLI and server entry points instead of Python-only deployment paths.
  • Pipelines. Experimental JSON pipeline support for higher-level multi-step workflows.
  • Audio Utilities. Built-in denoise, enhancement, resampling, and STFT/ISTFT utilities for real production-style task paths.

The goal of the framework is to provide highly optimized, reusable building blocks for audio-related models, so new model integrations can be brought up faster, shared components can be improved once and benefit many families, and real end-to-end inference paths can stay efficient, maintainable, and portable.

audio.cpp would not be moving this quickly without generous contributors bringing in real fixes, new capabilities, and careful polish. See CONTRIBUTING.md for how to contribute and for a shout-out to the people already helping shape the project.

[!TIP] Contribution focus: the most helpful contributions right now are improvements to the UI, API server, and pipeline/workflow subsystems. These areas make the existing model surface easier to use, serve, compose, and validate. See CONTRIBUTING.md for more details.

New model PRs: before starting a new model port, please check the supported model table because several families are already implemented or under testing. New ports should start under the community models surface, where review is lighter than core models but still needs reproducible validation. Please follow the measurement style in PR #19 and PR #63: exact build/run commands, model paths or package ids, generated outputs, parity or path-test results, and relevant performance or memory notes.

News

[!IMPORTANT] 2026-08-26 - Release 0.7: This release adds MiniMax Music 3, MagpieTTS, PersonaPlex, MeanVC2, AudioSR, ControlFoley, FireRedTTS3, FireRedAudio, MiDashengLM-Gen, F5-TTS/Habibi, Granite Speech 5.0 TurboCTC, MMS Forced Aligner, and MOSS-VoiceGenerator, plus DotTTS Edit and ACE-Step 1.5 XL variants, bringing audio.cpp to 62 total model families and 85+ model variants! It also introduces the new Arena UI for side-by-side TTS, voice-conversion, and ASR comparison with shared inputs, queued runs, metrics, and result sorting.

2026-08-13 - Release 0.6: This release adds 5 new model families - DotTTS, NeuTTS, MuScriptor, MiniMax-H3, and SenseVoice - bringing audio.cpp to 49 total model families and 70+ model variants, alongside the new native WebUI from @mirek190, expanded GGUF packaging, and more shared framework runtime pieces.

2026-07-31 - Release 0.5: audio.cpp reaches 44 model families with 9 new additions, early HIP/ROCm support for AMD GPUs, Nix ROCm/HIP build support, Metal optimizations with tested VoxCPM2 runs up to 2.56x faster on Apple Silicon, and a major GGUF-first WebUI/package-spec usability pass.

2026-07-23 - Release 0.4: audio.cpp expanded to 35 model families, adding Higgs Audio v3 TTS 4B, Fish Audio S2 Pro, Voxtral Realtime ASR, community OuteTTS and VieNeu-TTS, broader GGUF/package-spec support, reusable framework improvements, and the integrated WebUI thanks to @kigner and @patrickjchen.

2026-07-14 - Release 0.3: This release added IndexTTS2, Irodori-TTS, MOSS-TTS-Nano, MOSS-TTS-Local, Supertonic 3, Chatterbox voice conversion, and the first broad GGUF loading/conversion wave. Thanks to @justinjohn0306 for MOSS-TTS-Local and @mirek190 for driving GGUF forward.

2026-06-25 to 2026-07-08: audio.cpp grew from the first released model wave into broad TTS, ASR, music generation, source separation, VAD, diarization, codec, and voice-conversion coverage, with VibeVoice 1.5B/7B, LoRA adapter loading, initial streaming support, and major CUDA Conv1DTransp speedups.

Supported Models

Task tags: TTS text to speech, Clone voice cloning, VC voice conversion, S2S speech-to-speech, ASR speech recognition, Align forced alignment, VAD voice activity detection, Diar speaker diarization, Codec audio codec, Sep source separation, MIDI audio-to-symbolic MIDI/events, Music music/song generation, SFX sound effects, Video video generation, Edit audio/music editing, Design voice design, Dialogue multi-speaker dialogue TTS, Ctrl TTS/clone voice control such as emotion, style, instruction, caption, or non-verbal tag control.

Runtime tags summarize the supported loading paths. GGUF package precision varies by model and release; check the audio.cpp GGUF repo or docs/gguf.md for the exact package list. Bundled means the tiny runtime asset ships under assets/framework/models and needs no separate model download. Stream means the family exposes a streaming server/session path.

Speech Generation And Conversation

Family Task Lang Variants Runtime
chatterbox TTS, Clone, VC ar, da, de, el, en, es, fi, fr, hi, it, ko, ms, nl, no, pl, pt, sv, sw, tr Chatterbox with 0.5B backbone GGUF 16/Q8
confucius4_tts Clone zh, en, ja, ko, de, fr, es, id, it, th, pt, ru, ms, vi Confucius4-TTS multilingual voice cloning GGUF F32, Stream
dots_tts TTS, Clone, Edit, Ctrl multilingual DotTTS SOAR, MeanFlow, and Edit GGUF 16/Q8, Stream
dramabox TTS, Clone en DramaBox expressive TTS and voice cloning GGUF Q8
fish_audio TTS, Clone, Ctrl auto, en, zh Fish Audio S2 Pro GGUF 16/Q8
firered_audio ASR, TTS, Clone, Design, Ctrl zh, en FireRedAudio multimodal speech/audio model with ASR, understanding, cloning, design, and edit paths GGUF original/Q8
fireredtts3 TTS, Clone, Design, Ctrl 24 langs + 21 zh dialects FireRedTTS3 Base and Instruct packages for voice cloning, design, semantic edit, and acoustic edit GGUF original/Q8
higgs_audio_tts TTS, Clone, Ctrl auto Higgs Audio v3 TTS 4B GGUF 16/Q8
index_tts2 TTS, Clone, Ctrl zh, en, ja, es, ar IndexTTS-2, IndexTTS-2.5 (variant) GGUF 16/Q8
irodori_tts TTS, Clone, Design, Ctrl ja Irodori-TTS-v4-Small, Irodori-TTS-500M-v3, Irodori-TTS-600M-v3-VoiceDesign GGUF 16/Q8
magpie_tts TTS ar-AE, ar-MSA, ar-SA, de, en, es, fr, hi, it, ko, pt-BR, vi, zh NVIDIA MagpieTTS Multilingual 357M (v2607) with baked speaker prompts and NanoCodec decode GGUF original/Q8
miotts TTS, Clone en, ja MioTTS-1.7B GGUF 16/Q8
moss_tts_local TTS, Clone, Ctrl auto, optional language hint MOSS-TTS-Local-Transformer-v1.5 GGUF 16/Q8
moss_tts_nano TTS, Clone auto MOSS-TTS-Nano-100M GGUF 16/Q8
neutts TTS, Ctrl en NeuTTS 2E with built-in speaker prompts and emotion control GGUF original precision, Stream
omnivoice TTS, Clone, Design, Ctrl 646+ langs OmniVoice, Qwen3-0.6B based GGUF 16/Q8, Stream
personaplex Dialogue, S2S en PersonaPlex 7B v1 speech-to-speech conversational model with packaged voice/persona prompts GGUF Q4/Q8, Stream
pocket_tts TTS, Clone en, de, it, pt, es PocketTTS-100M GGUF 16/Q8
qwen3_tts TTS, Clone, Design, Ctrl zh, en, fr, de, it, ja, ko, pt, ru, es Qwen3-TTS-12Hz-0.6B-Base, Qwen3-TTS-12Hz-1.7B-Base, Qwen3-TTS-12Hz-1.7B-CustomVoice, Qwen3-TTS-12Hz-1.7B-VoiceDesign GGUF 16/Q8
supertonic TTS en, ko, ja, ar, bg, cs, da, de, el, es, et, fi, fr, hi, hr, hu, id, it, lt, lv, nl, pl, pt, ro, ru, sk, sl, sv, tr, uk, vi, na Supertonic 3 GGUF F32, Stream
vibevoice TTS, Dialogue en, zh VibeVoice-1.5B, VibeVoice-7B GGUF 16/Q8
voxcpm2 TTS, Clone, Design, Ctrl ar, da, de, el, en, es, fi, fr, he, hi, id, it, ja, km, ko, lo, ms, my, nl, no, pl, pt, ru, sv, sw, th, tl, tr, vi, zh VoxCPM2-2B, 48 kHz GGUF 16/Q8, Stream

Speech Recognition And Analysis

Family Task Lang Variants Runtime
citrinet_asr ASR en Citrinet-256 GGUF Q8
fun_asr_nano ASR auto, zh, en, ja Fun-ASR-Nano-2512 GGUF 16/Q8
higgs_audio_stt ASR en Higgs Audio v3 STT GGUF 16/Q8, Stream
hviske_asr ASR da Hviske v5.3 GGUF Q8
marblenet_vad VAD lang agnostic MarbleNet VAD Bundled
nemotron_asr ASR 100+ ASR prompt codes incl. auto Nemotron 3.5 ASR Streaming 0.6B GGUF 16/Q8, Stream
qwen3_asr ASR zh, en, yue, ar, de, fr, es, pt, id, it, ko, ru, th, vi, ja, tr, hi, ms, nl, sv, da, fi, pl, cs, fil, fa, el, ro, hu, mk Qwen3-ASR-0.6B, Qwen3-ASR-1.7B-hf GGUF 16/Q8, Stream
qwen3_forced_aligner Align zh, yue, en, de, es, fr, it, pt, ru, ko, ja Qwen3-ForcedAligner-0.6B GGUF 16/Q8
silero_vad VAD lang agnostic Silero VAD Bundled, Stream
sortformer_diar Diar en Sortformer-4spk-v1 -
vibevoice_asr ASR auto VibeVoice ASR GGUF 16/Q8
voxtral_realtime ASR auto Voxtral-Mini-4B-Realtime-2602 GGUF 16/Q8/Q4, Stream

Audio Conversion And Processing

Family Task Lang Variants Runtime
audiosr S2S lang agnostic AudioSR Basic audio super-resolution package GGUF F32
bs_roformer Sep lang agnostic BS-RoFormer vocal separation checkpoints GGUF Q8
controlfoley SFX auto ControlFoley 44 kHz multimodal Foley generation from text, video, and reference audio conditioning GGUF F32/Q8
htdemucs Sep lang agnostic HTDemucs, HTDemucs_ft GGUF 16/Q8
meanvc2 VC lang agnostic MeanVC2 120 ms/40 ms zero-shot voice conversion GGUF F32/Q4, Stream
mel_band_roformer Sep lang agnostic Mel-Band RoFormer MLX vocal separation variants GGUF 16/Q8
miocodec Codec, VC lang agnostic MioCodec v2, 25 Hz, 44.1 kHz GGUF 16/Q8
muscriptor MIDI music MuScriptor Small audio-to-symbolic transcription GGUF F32, Stream
rvc VC lang agnostic RVC F16 GGUF with packaged v1/v2 voices and optional retrieval blending GGUF 16
seed_vc VC lang agnostic SeedVC XLS-R + HiFT, SeedVC Whisper-small + BigVGAN GGUF 16/Q8

Music, Media, And Editing

Family Task Lang Variants Runtime
ace_step Music, Edit 50+ langs ACE-Step 1.5 Turbo/Base and XL Turbo/SFT with acestep-5Hz-lm-1.7B GGUF 16
heartmula Music zh,

Core symbols most depended-on inside this repo

browse all functions →

Shape

Function 11,054
Method 5,381
Class 3,683
Enum 325

Languages

C++86%
C9%
Python5%

Modules by API surface

external/ggml/tests/test-backend-ops.cpp689 symbols
external/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h511 symbols
external/ggml/src/ggml.c481 symbols
external/ggml/src/ggml-vulkan/ggml-vulkan.cpp404 symbols
external/sentencepiece/python/src/sentencepiece/sentencepiece_wrap.cxx320 symbols
external/ggml/src/ggml-cpu/ops.cpp239 symbols
external/ggml/examples/stb_image.h218 symbols
external/ggml/src/ggml-sycl/dpct/helper.hpp213 symbols
external/ggml/src/ggml-opencl/ggml-opencl.cpp213 symbols
src/framework/audio/detail/speech_fft_internal.h205 symbols
external/ggml/src/ggml-sycl/ggml-sycl.cpp202 symbols
external/ggml/src/ggml-webgpu/ggml-webgpu-shader-lib.hpp184 symbols

For agents

$ claude mcp add audio.cpp \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page