4.08x real-time — не маркетинг, а цифры на RTX 5090
Когда энтузиасты портировали VibeVoice на C++/ggml, они не просто переписали код. Они сняли с TTS цепи Python Runtime. Результат: генерация 10 секунд речи за 2.45 секунды на RTX 5090. Это в 4.08 раза быстрее, чем звучит оригинал. И в 2.86 раза быстрее, чем та же модель под PyTorch. Цифры из официального бенчмарка audio.cpp от 30 июня 2026.
| Конфигурация | Скорость (RTF) | Задержка (10 сек аудио) |
|---|---|---|
| Python + PyTorch (RTX 5090) | 1.43x RT | ~7.0 сек |
| audio.cpp (C++/ggml, RTX 5090) | 4.08x RT | ~2.45 сек |
| audio.cpp (CPU, 32 ядра) | 1.2x RT | ~8.3 сек |
Это не просто цифры. Это значит, что VibeVoice перестаёт быть моделью для мощных серверов и становится инструментом для локального TTS на обычном GPU. Вспомните, как мы разбирали vibevoice.cpp — тогда речь шла о speech-to-speech. Теперь отдельно вынесли чистый TTS-инференс для модели 1.5B. И это меняет правила игры.
Что внутри: C++ vs Python — почему разрыв в 2.86x
Разница не магическая. Python-версия тянет весь PyTorch, CUDA графы и лишние аллокации. audio.cpp компилирует вычислительный граф заранее, использует кастомные ggml-операции и поддерживает квантование до 4-bit. На RTX 5090 это даёт не только скорость, но и экономию VRAM: модель 1.5B в FP16 жрёт ~3.1 ГБ, а в Q4 — всего 0.9 ГБ. Можно запустить даже на картах с 4 ГБ.
Квантование не сильно бьёт по качеству. Субъективные тесты (MOS) показывают падение с 4.35 до 4.22 — разница на грани восприятия. Для большинства сценариев Q4 — золотая середина.
Сравните с Qwen3-TTS.cpp, где ускорение достигалось за счёт ARM NEON и Metal. Там тоже ggml, но архитектура модели другая. VibeVoice 1.5B — это diffusion-based TTS (аналогично Voicebox), что даёт более натуральную интонацию, но требует больше вычислений. audio.cpp оптимизирует как раз этот диффузионный цикл, распараллеливая шаги.
Как это работает и примеры из жизни
audio.cpp — это не отдельный демон, а консольная утилита (и библиотека). Кидаете текстовый файл или строку, на выходе получаете WAV. Поддерживаются пайплайны из одного вызова. Никаких Python скриптов, никаких `pip install` для инференса. Всё статически скомпилировано в один бинарник размером 12 MB.
Представьте: вы пишете голосового NPC для Unity. Раньше нужно было гнать аудио через HTTP к серверу с PyTorch. Задержка в 500 мс + сеть. Теперь с Unity можно интегрировать audio.cpp через нативный плагин, и генерация 2-секундной фразы занимает 0.5 секунды. Это делает диалоги в реальном времени.
Другой сценарий — аудиокниги. Нужно начитать 10 часов текста. VibeVoice в audio.cpp на RTX 5090 управится за 2.5 часа. Python-версия — за 7 часов. Разница в стоимости электроэнергии и времени.
Сравнение с альтернативами
| Инструмент | Среда выполнения | Скорость (RTX 5090) | Вес модели |
|---|---|---|---|
| VibeVoice Python (1.5B) | PyTorch + CUDA | 1.43x RT | ~3.1 GB (FP16) |
| audio.cpp (1.5B, Q4) | C++/ggml | 4.08x RT | ~0.9 GB |
| Chatterbox Turbo | VLLM + Triton | 37.6x RT (голосовой кодек) | ~2 GB (кодек) |
| Qwen3-TTS.cpp | C++/ggml | ~4x RT (CPU) | ~1.1 GB (Q4) |
Chatterbox Turbo быстрее, но он использует кодековую модель, а не прямой диффузионный синтез. Качество речи VibeVoice на порядок выше: меньше артефактов, лучше эмоции. Qwen3-TTS.cpp хорош на CPU, но VibeVoice даёт более живой голос.
Кому это нужно прямо сейчас
- Разработчикам голосовых ассистентов, уставшим от лагов облачных API — замените Azure на локальный VibeVoice.
- Интеграторам TTS в мобильные и IoT — audio.cpp собирается под ARM, нет зависимостей.
- Исследователям, которые хотят экспериментировать с voice cloning — модель поддерживает conditioning на референсное аудио (как в оригинальном VibeVoice).
- Всем, кто ценит приватность — ни один байт не уходит в облако.
Если у вас нет RTX 5090 под рукой, арендовать можно на Vast.ai или RunPod — обойдётся около $0.50/час. audio.cpp не требует установки драйверов поверх контейнера, просто загрузите бинарник.
Подводные камни и что дальше
На CPU скорость падает до 1.2x RT — это всё ещё real-time, но не сверхбыстро. На Raspberry Pi 5 — 0.15x RT, то есть генерация 10 секунд займёт больше минуты. Пока не ваш вариант. Кроме того, голосовой клонинг (speech-to-speech) в audio.cpp не завезли — это только TTS. Зато vibevoice.cpp покрывает этот сценарий.
Ожидайте, что в ближайшие полгода ggml-порты появятся для всех крупных TTS моделей: Cosmos, VoiceCraft, MetaVoice. C++ станет стандартом для продакшен-инференса аудио, а Python останется уделом прототипирования. audio.cpp — первый ласточка, и уже сейчас это самый быстрый способ запустить VibeVoice локально.