К содержанию
Новости

audio.cpp объединяет 12 аудиомоделей в едином C++‑рантайме на базе ggml и показывает ускорение TTS до 5× по сравнению с Python

Разработчик представил audio.cpp, нативный C++ фреймворк для инференса аудиомоделей, построенный поверх ggml. В репозитории уже есть 12 готовых моделей из 25 заявленных семейств. Среди них решения для TTS, клонирования и дизайна голоса: Chatterbox, MioTTS, OmniVoice, PocketTTS, Qwen3-TTS и VoxCPM2. Есть и инструменты для ASR, выравнивания и VAD: Qwen3-ASR, Qwen3 Forced Aligner и Silero VAD. Отдельная группа предназначена для конверсии голоса и работы с аудио, Seed-VC, MioCodec и Vevo2. При этом Vevo2 поддерживает не только эти задачи, но и TTS, генерацию пения, конверсию и редактирование вокала.

Как сообщает r/LocalLLaMA (Reddit), цель проекта не в том, чтобы собрать «зоопарк» моделей. Идея другая: дать общий рантайм, в котором разные аудиомодели используют одну систему сессий, CLI, сервер, утилиты для аудио и единые рабочие процессы. Это должно заменить набор отдельных Python-окружений и зависимостей. Инференс и серверная часть написаны на нативном C++, а Python используется только для скачивания и конвертации пакетов моделей.

Бенчмарки проводились на Ubuntu/CUDA с оригинальными весами без квантизации. Сравнивали время выполнения audio.cpp и эталонного Python-пайплайна. PocketTTS показала ускорение 3.68× при 1-shot запуске, 3.22× в тёплой сессии и 3.15× на длинных текстах. У Qwen3-TTS результаты составили 1.83×, 2.74× и 3.06× соответственно. Vevo2 показала 5.03×, 1.75× и 1.77×, MioTTS, 2.73× и 2.28×. Chatterbox ускорилась на 1.58× на длинных текстах.

Есть и тест с длинным входом на 1,028 слов. PocketTTS сгенерировала 5m 53.12s аудио за 7.30s, это 48.40× реального времени. OmniVoice выдала 5m 57.00s за 17.77s (20.09×), а Vevo2 сгенерировала 7m 37.68s за 52.47s (8.72×).

Все участвовавшие в тесте семейства TTS оказались быстрее реального времени, показатели лежат в диапазоне от 4.34× до 48.40×. В проекте также показан конвейер редаббинга. Запись длиной 418s делится на фрагменты, затем транскрибируется через Qwen3-ASR, после чего речь генерируется заново голосом-референсом с помощью Qwen3-TTS. Весь процесс запускается одной командой CLI. Фреймворк может работать на CPU, CUDA, Vulkan и Metal, хотя доступность бэкендов зависит от конкретной модели. Потоковая обработка пока в целом не реализована, поэтому текущие сценарии рассматриваются как офлайн.

Ключевые факты

  • Фреймворк audio.cpp на C++ поверх ggml поддерживает 25 семейств моделей, из которых 12 уже опубликованы в репозитории и заявлены как готовые к использованию.

  • В набор выпущенных моделей входят системы для TTS и клонирования голоса (Chatterbox, MioTTS, OmniVoice, PocketTTS, Qwen3-TTS, VoxCPM2), ASR и VAD (Qwen3-ASR, Qwen3 Forced Aligner, Silero VAD), а также конверсии и редактирования аудио (Seed-VC, MioCodec, Vevo2).

  • Бенчмарки на Ubuntu/CUDA с оригинальными весами без квантования показывают ускорение по сравнению с Python‑реализациями: например, Vevo2 до 5.03× быстрее в 1-shot запуске, PocketTTS, до 3.68×, Qwen3-TTS, до 3.06× в long-form.

  • В тесте с входом 1,028 слов PocketTTS сгенерировал 5m 53.12s аудио за 7.30s (48.40× реального времени), OmniVoice, 5m 57.00s за 17.77s (20.09×), Vevo2, 7m 37.68s за 52.47s (8.72×).