← На главную

yapsnap транскрибирует видео и аудио на CPU без облачных API

20.05.2026 21:28 · hackernews

yapsnap — это утилита командной строки, которая превращает любое видео или аудио в текстовый файл прямо на твоём CPU. Никакого GPU, никакого облака, никаких ключей API. Просто кидаешь ссылку или путь к файлу — получаешь .txt.

В основе лежит sherpa-onnx и numpy. Всё это один Python-модуль, который ставится через pip install .. После первого запуска скачивается модель ~80 МБ и остаётся в кеше — дальше всё работает офлайн. Аудио не покидает твою машину.

Работает с любыми ссылками, которые понимает yt-dlp: YouTube, X, TikTok, Instagram Reels, прямые ссылки на .mp4 или .mp3. Локальные файлы — тоже: .wav, .m4a, .webm, .mkv, .flac, .ogg и ещё куча форматов. ffmpeg перегоняет всё в 16 кГц моно PCM, опционально ускоряя atempo-фильтром без повышения тона.

По умолчанию транскрибация идёт на скорости 1.5x — это экономит около трети времени с минимальной потерей точности. Можно поставить --speed 1.0 для шумных или быстрых записей, или --speed 2.0 для ещё большего ускорения. Модель — Kroko English (Zipformer2 transducer, INT8 ONNX), «жрёт» аудио в несколько раз быстрее реального времени на обычном ноутбуке. Только CPU, никаких M-series-трюков.

Если нужны таймкоды, добавь флаг --timestamps — получишь строки вида [MM:SS] на каждое предложение. Таймкоды считаются по позициям токенов и остаются корректными даже при ускорении. Без флага — один сплошной параграф.

Из коробки — английский. Другие языки: французский, немецкий, испанский, итальянский, португальский, нидерландский, шведский, швейцарский немецкий, иврит, турецкий. Модели для них лежат на Hugging Face. Скачиваешь папку, указываешь --model /path/to/kroko-french — и готово. Любая sherpa-onnx стриминговая модель со стандартной структурой (encoder, decoder, joiner, tokens.txt) тоже подойдёт.

По умолчанию результат падает в ./transcripts/, имя файла строится от video ID. Можно переопределить через -o. Полезные флаги: --keep-audio (сохранить скачанное аудио для URL), --output, --speed, --model. Есть переменная окружения KROKO_MODEL.

Лицензия проекта — Apache-2.0, у модели Kroko своя лицензия. Работает на ffmpeg (нужен в PATH), sherpa-onnx и yt-dlp. Устанавливается на macOS (brew install ffmpeg), Linux (apt или dnf) и Windows (winget или choco). В PATH появляются две команды: yapsnap и transcribe (псевдоним).

Читать оригинал →