Инструменты20 июля 2026 г., 13:48 МСК🤖 Auto

Transcribe.cpp: кроссплатформенный движок ASR на ggml с поддержкой 60+ моделей

Автор Handy представил transcribe.cpp — библиотеку для локальной транскрипции, объединяющую 16 семейств моделей, аппаратное ускорение (Vulkan/CUDA/Metal) и привязки к 4 языкам.

Баннер новости 3944

Проблема фрагментации ASR-стека

Создатель проекта Cjpais (автор приложения Handy) столкнулся с критическими проблемами при распространении кроссплатформенных приложений с распознаванием речи. Существующий стек состоял из whisper.cpp и ONNX, что требовало поддержки двух разных движков и конвертации моделей. Попытки использовать MLX для Apple добавляли еще одну зависимость. Многие альтернативные библиотеки имели неизвестных авторов, отсутствие тестирования и не были оптимизированы для CPU/GPU, оставляя производительность на столе.

Решение: единый движок на базе ggml

Transcribe.cpp (версия v0.1.0) позиционируется как прямой, совместимый с whisper.cpp движок инференса, но с гораздо более широким охватом. Ключевые технические особенности:

  • Поддержка моделей: 16 семейств ASR, более 60 конкретных моделей (все из репозитория handy-computer на Hugging Face).
  • Аппаратное ускорение: Vulkan, Metal, CUDA и TinyBLAS. Поддержка GPU является базовым требованием для локального инференса.
  • Точность: Каждая модель прошла численную валидацию относительно референсной реализации и полный цикл тестирования WER (Word Error Rate) на тысячах высказываний. Результаты публикуются в репозитории.
  • Кроссплатформенность: Работает на Mac, Windows и Linux. Поддерживает потоковую (Streaming) и пакетную (Batch) транскрипцию.

Сравнение возможностей и экосистемы

Библиотека создана для решения проблемы «распределения» (distribution) локального AI. В отличие от многих демо-проектов, transcribe.cpp предоставляет официальные привязки (bindings) для популярных языков, что критично для интеграции в десктопные и мобильные приложения.

Характеристика Transcribe.cpp Typical Alternatives (ONNX/Whisper.cpp)
Количество поддерживаемых моделей 60+ (16 семейств) 1-2 (Whisper, иногда другие)
Аппаратное ускорение Vulkan, Metal, CUDA, TinyBLAS Часто только CPU или ограниченный GPU
Валидация точности (WER) Полная, опубликованные данные Отсутствует или непрозрачна
Языковые привязки (Bindings) Python, JS/TS, Rust, ObjC/Swift Часто отсутствуют или требуют ручной настройки
Совместимость с .bin Да (drop-in replacement для whisper.cpp) Зависит от формата

Производительность и доступность

Проект демонстрирует, что локальная транскрипция может быть эффективной даже на слабом железе. Тесты на процессоре Ryzen 4750U (Fedora + Vulkan) и чипе M4 Max показывают, что современные модели SOTA работают быстрее реального времени (faster than real-time) при потреблении энергии в несколько ватт. Отмечается, что даже на ARM-чипе RK3566 транскрипция возможна быстрее реального времени.

Поддержка и будущее

Проект получил поддержку от Mozilla AI (программа BiR), Modal (кредиты для тестирования CUDA) и Blacksmith (CI/CD). Автор подчеркивает, что transcribe.cpp — это не просто код, а инфраструктурный шаг к тому, чтобы локальный AI стал стандартом для десктопных приложений, избавляя пользователей от необходимости отправлять голос в облако.

Источник: Cjpais ↗