От форка Buzz до собственного AI-комбайна: локальная транскрибация, LLM-постобработка и озвучка в одном приложении

29.07.26

Интеграция - Нейросети

Эта статья не столько про новую программу, сколько про путь: от желания немного улучшить чужой open-source проект — до создания собственного инструмента, который закрывает весь цикл работы с речью. Транскрибация, генерация статей и описаний через LLM, синтез аудиокниг — всё локально, в одном приложении. Исходники открыты, лицензия MIT.

Введение

 

Последний год я всё чаще записываю демонстрации своих проектов, доклады, обучающие ролики и видео для YouTube.

Как и многие разработчики, сначала я думал, что самая сложная часть — записать материал. На практике всё оказалось наоборот. После записи начинается длинная и довольно однообразная работа:

- расшифровать аудио или видео;

- исправить ошибки распознавания;

- подготовить статью;

- написать описание для YouTube;

- сделать таймкоды;

- оформить текст в Markdown;

- подготовить публикацию для Telegram;

- иногда ещё и озвучить готовый текст.

Получается интересная арифметика. Запись двадцатиминутного видео занимает двадцать минут. Транскрибация — ещё две-три минуты. А вот дальнейшая обработка текста легко превращается в полчаса, а то и в час работы.

Именно тогда я понял: проблема давно не в распознавании речи. Проблема — во всём процессе обработки.

Думаю, коллегам это знакомо и за пределами YouTube: расшифровки совещаний с заказчиком, вебинары, демонстрации доработок, из которых потом нужно собрать инструкцию или статью. Задача одна и та же — превратить час речи в структурированный текст, потратив на это минимум ручного труда.

 

Шаг первый: не писать своё, а доработать чужое

 

Честно говоря, писать очередную программу для транскрибации я вообще не собирался. Сегодня есть множество хороших open-source решений, и одно из самых известных — Buzz: десктопное приложение на базе Whisper от OpenAI, с тысячами звёзд на GitHub и активным сообществом. Распознавание файлов и YouTube-роликов, запись с микрофона, экспорт в TXT/SRT/VTT — всё уже есть.

На английском языке качество меня полностью устраивало. Поэтому первой мыслью было не создавать своё, а улучшить существующее. Так появился мой форк Buzz.

 

Что не устраивало: русский язык

 

Whisper хорошо справляется с русским, но «хорошо» и «максимально качественно» — разные вещи.

Для русской речи сейчас есть специализированные открытые модели, которые на профильных бенчмарках обгоняют Whisper:

- GigaAM v3 от Сбера — CTC-модель, обученная именно на русском;

- T-one от Т-Банка — открытый ASR-проект для русской речи, из которого, помимо самой модели, можно взять n-граммную языковую модель KenLM.

Идея была простая: интегрировать GigaAM в Buzz и получить лучшее из двух миров — зрелый интерфейс Buzz и качество распознавания специализированных русских моделей.

 

Что пришлось сделать в форке

 

Звучит просто: «добавил поддержку GigaAM». По факту список работ выглядел так:

-встроен пайплайн GigaAM + T-one: акустическая модель GigaAM распознаёт речь, а её CTC-выход декодируется через beam search (публичный API `pyctcdecode`) с n-граммной языковой моделью KenLM из проекта T-one — связка «акустика + языковая модель» даёт заметно меньше ошибок в окончаниях и редких словах, чем жадное декодирование, отдельно для экспериментов T-one доступен и как самостоятельный движок;

- загрузчик GigaAM переписан без использования pip-пакета gigaam — модель ставится напрямую из репозитория, и это потянуло за собой работу с весами и словарём через обёртку transformers;

- декодирование CTC-выхода сделано через beam search с языковой моделью KenLM — на публичном API pyctcdecode; связка «акустическая модель + языковая модель» даёт заметно меньше ошибок в окончаниях и редких словах, чем жадное декодирование;

- определение CUDA — пробным прогоном модели с откатом на CPU: на части конфигураций fp16 на GPU просто падал, и надёжнее оказалось один раз «пощупать» железо, чем верить флагам;

- починены пословные таймстемпы и разбиение слишком длинных сегментов;

- из мелочей — скрыты консольные окна ffmpeg/ffprobe, которые выскакивали на Windows при каждой операции.

В результате качество распознавания русского заметно выросло, и получился вполне рабочий инструмент, которым я пользовался довольно долго.

 

 

Форк доступен здесь: https://github.com/ivanarama/buzz

Видео про эту модернизацию тут : Превращаем видео в текст с таймкодами | Buzz + T-one 

 

Казалось бы — задача решена

 

Некоторое время я действительно думал, что этого достаточно. Видео распознаётся, текст получается качественным. Что ещё нужно?

Но довольно быстро выяснилось, что транскрибация — лишь первый шаг. После неё начиналась настоящая работа. Полученный текст нужно было отправить в LLM и попросить написать статью. Потом отдельно — описание для YouTube. Потом ещё раз — таймкоды. Оформить Markdown. Иногда перевести. Иногда озвучить.

Всё это выполнялось разными программами. Конвейер выглядел примерно так:

 

Пайплайн 1: Обработка видео и LLM
🎬 Видео
Buzz (транскрибация)
Редактор текста
Чат с LLM (статья)
Чат с LLM (описание YouTube)
Чат с LLM (таймкоды)
📝 Markdown-редактор (готовые тексты)
 
Пайплайн 2: Синтез речи (отдельный процесс)
📄 Текст для озвучки
🎧 Отдельная программа для озвучки

 

Каждый этап — это копирование текста, переключение между окнами и повторение одних и тех же действий. Именно в этот момент пришло понимание: проблема никогда не была в транскрибации. Проблема — в отсутствии единого рабочего процесса.

 

Почему форка оказалось недостаточно

 

Buzz — отличный проект, но его задача — транскрибация. Мне же хотелось автоматизировать процесс целиком: чтобы после распознавания одной кнопкой получить статью, краткое содержание, описание YouTube, таймкоды, пост для Telegram — или любой другой результат по собственному промпту. А затем, если нужно, тут же озвучить готовый текст.

Тащить всё это в форк означало бы переписать чужое приложение до неузнаваемости и навсегда остаться в состоянии «вечного merge» с upstream. Это уже не форк и не набор патчей — это отдельное приложение.

Так появился проект «Запись» (Zapis): https://github.com/ivanarama/zapis

 

Ещё одна причина: 2,5 ГБ против 288 МБ

 

Когда работаешь с инструментом каждый день, начинаешь замечать вещи, которые сначала кажутся мелочами. Например, размер.

Мой форк Buzz со всеми зависимостями занимал около 2,5 ГБ. Для современного компьютера не критично, но меня не покидало ощущение, что большая часть этих данных конкретному пользователю никогда не понадобится: в дистрибутив упаковано всё и на все случаи жизни.

В «Записи» подход другой: в дистрибутив не пакуется ни одна модель. GigaAM, KenLM, Whisper, Silero, ruaccent, голоса Piper — всё скачивается в локальный кэш при первом использовании, и только то, что пользователь реально выбрал. В результате приложение занимает около 288 МБ, а дальше «толстеет» ровно настолько, насколько этого хочет сам пользователь.

Приятный побочный эффект: обновление приложения не заставляет заново качать гигабайты моделей — они лежат в кэше отдельно.

 

Архитектура «Записи»

 

«Запись» — это локальное десктопное приложение, устроенное как маленький веб-сервис, упакованный в один исполняемый файл:

 

Zapis (десктоп-приложение, один exe)
- pywebview — нативное окно, внутри обычный веб-интерфейс (HTML/CSS/JS)

- FastAPI — локальный backend
  - backend/asr/ — движки распознавания
    - gigaam_engine.py   (GigaAM v3 CTC + KenLM из T-one)
    - whisper_engine.py  (faster-whisper)
  - backend/llm/ — клиент LLM и управление промптами
  - backend/tts/ — пять движков синтеза + конвейер подготовки текста
  - transcripts.py — история транскриптов
  - tts_runs.py — история озвучек

 

Почему такой стек, а не Qt, как в Buzz:

- Frontend на HTML/CSS/JS — это быстрая вёрстка интерфейса, простые тёмная и светлая темы через CSS-переменные и никакой боли с нативными виджетами на трёх ОС.

- FastAPI внутри — это честное разделение на API и интерфейс. Стриминг ответов LLM идёт по SSE (Server-Sent Events) — слова появляются на экране по мере генерации, как в привычных чатах.

- pywebview — тонкая прослойка, которая превращает всё это в обычное окно приложения, а не вкладку браузера.

- Каждый движок — ASR, LLM, TTS — это отдельный модуль за общим интерфейсом с фабрикой. Добавление нового движка не трогает остальной код.

Собирается всё PyInstaller'ом: на Windows build.ps1 выдаёт Zapis.exe, на Linux и macOS build.sh — соответствующие бинарники. Сборка под три платформы автоматизирована через GitHub Actions: тег в репозитории — и релиз с артефактами собирается сам.

 

 

Блок первый: транскрибация (ASR)

 

Из коробки два движка:

 

Движок Для чего Особенности
GigaAM v3 CTC + KenLM (T-one) Русский язык (по умолчанию) Максимальное качество для русской речи: CTC-модель Сбера + beam search с языковой моделью KenLM из проекта T-one
faster-whisper Мультиязычность en, ru, es, de, fr и другие языки; оптимизированная реализация Whisper

 

На вход — любой аудио- или видеофайл: ffmpeg приводит его к нужному формату (16 кГц, моно) автоматически. На выходе — текст с пословными таймкодами с точностью около 40 мс. Экспорт — TXT, SRT, VTT.

Точные пословные таймкоды — это не только субтитры. Именно они позволяют дальше автоматически генерировать осмысленные таймкоды для YouTube: LLM получает не «голый» текст, а текст с привязкой ко времени.

Нюанс для Windows: KenLM собирается через MSVC; если компилятора нет, приложение не падает, а откатывается на жадное декодирование — качество чуть ниже, но всё работает.

 

Блок второй: LLM-постобработка

 

Это то, ради чего всё затевалось. Готовый транскрипт не нужно никуда копировать — он уже внутри приложения, и к нему сразу применяются пресеты:

- Статья — развёрнутый текст по мотивам записи;

 

 

- Описание YouTube — готовое описание ролика;

 

 

- Таймкоды YouTube — список глав с метками времени;

 

 

- Пост для Telegram — короткая выжимка для канала.

 

 

Плюс произвольные вопросы к транскрипту: «сделай протокол совещания с решениями и ответственными», «составь список требований, которые озвучил заказчик», «переведи на английский» — любой собственный промпт.

 

 

Все шаблоны промптов редактируются в настройках, включая системный промпт.

 

 

С провайдерами LLM подход максимально всеядный:

- любой OpenAI-совместимый endpoint — OpenAI, Azure, OpenRouter, Qwen, DeepSeek, а также локальные Ollama и LM Studio;

- Anthropic — отдельным профилем.

Профилей может быть несколько, с приоритетами и цепочкой fallback: если основной провайдер недоступен или вернул ошибку, запрос автоматически уходит следующему. В настройках задаются температура и лимиты токенов. Ответы стримятся пословно через SSE.

 

 

Отдельно отмечу возможность работать полностью локально: связка «GigaAM + Ollama» позволяет прогнать через весь конвейер запись, которая вообще не должна покидать периметр компании. Для расшифровки совещаний с заказчиком это бывает принципиально.

 

Блок третий: озвучка (TTS) — из текста в аудиокнигу

 

Третий этап конвейера — обратное преобразование: из текста в речь. Кладёте .txt или .md — получаете аудиокнигу.

Движков синтеза пять, на выбор:

 

Движок Тип Особенности
Silero v4_ru Офлайн, CPU По умолчанию; 5 русских голосов: aidar, baya, kseniya, xenia, eugene
Piper Офлайн Выше качество; голоса из rhasspy/piper-voices, регулировка темпа
edge-tts Облако (бесплатно) Нейроголоса Microsoft (ru-RU-Dmitry/Svetlana), без API-ключа
Yandex SpeechKit Облако Нужны API-ключ и folder ID
Sber SaluteSpeech Облако Нужны client_id и client_secret

 

Yandex SpeechKit мне понравился больше всех, но он платный (правда при регистрации и привязывании карты дают 4000р на эксперименты, этого при моём использовании хватит на долго)

Sber SaluteSpeech  приостановили регистрацию, жаль, не смог проверить.

edge-tts  - мой фаворит из бесплатных, по ощущениям чуть-чуть хуже яндекса

Но сам синтез — это меньшая половина дела. Если отдать движку сырой текст, на выходе будет «двадцать три ноль один» вместо «двадцать третье января» и неправильные ударения через слово. Поэтому перед синтезом текст проходит целый конвейер подготовки:

 

📄 .txt файл
разбиение на главы
нарезка на фрагменты
нормализация чисел и дат — правилами или через LLM (с кэшем)
расстановка ударений (ruaccent)
синтез выбранным движком
паузы: предложение 300 мс / абзац 700 мс / глава 1500 мс
сборка дорожки
🎵 mp3 / m4b / m4a / wav (+ метаданные глав)

 

Отдельно отмечу нормализацию через LLM: правила покрывают типовые случаи, но когда в тексте встречается «ЗУП 3.1.28.150», аккуратно развернуть это в произносимый вид проще силами языковой модели. Результаты нормализации кэшируются, чтобы не гонять одни и те же фрагменты повторно.

Формат m4b — это «настоящая» аудиокнига: главы из текстового файла превращаются в главы аудиокниги, по которым можно перемещаться в любом плеере. Длительности пауз между предложениями, абзацами и главами настраиваются.

 

 

История операций

 

И транскрипты, и результаты озвучек сохраняются в историю. Это решает бытовую, но важную проблему: «а где тот текст, который я распознавал в прошлый вторник?»

Распознали видео месяц назад — открываете его из истории и просите LLM сделать из него новый материал. Исходное видео повторно прогонять не нужно. По сути, история превращает приложение в маленькую базу знаний из всего, что вы когда-либо записывали.

 

 

Как выглядит рабочий процесс теперь

 

Мой типовой сценарий после записи двадцатиминутного ролика:

1. Перетащил видеофайл в «Запись», выбрал GigaAM — через пару минут готов транскрипт с таймкодами.

2. Нажал пресет «Статья» — черновик статьи готов, осталось вычитать. (потом ещё обработка скилом, но это отдельная тема)

3. Пресет «Описание YouTube» — готово описание.

4. Пресет «Таймкоды YouTube» — готовы главы для ролика.

5. Пресет «Пост для Telegram» — готов анонс.

6. При необходимости — отправил текст в озвучку и получил аудиоверсию.

То, что раньше требовало пяти программ и часа ручной работы с копированием текста туда-сюда, теперь укладывается в несколько минут в одном окне. Схема из начала статьи схлопнулась в одну:

 

Модуль 1: Обработка Медиа
🎬 Видео / Аудио
Транскрибация (GigaAM v3 / faster-whisper)
LLM: статья, описание, таймкоды, пост
📝 Текст / Посты / Аналитика
 
Модуль 2: Синтез Речи
📄 Текст (.txt)
Синтез речи (5 движков TTS + ruaccent)
🎧 Готовая аудиокнига
 

Установка

 

Самый простой путь — готовые сборки со страницы релизов:

https://github.com/ivanarama/zapis/releases

- WindowsZapis.exe;

- Linux — бинарник Zapis;

- macOS (Apple Silicon)Zapis.app в zip-архиве.

Единственное внешнее требование — ffmpeg в PATH (им декодируются аудио и видео). Модели скачиваются в кэш при первом использовании — при первом запуске распознавания нужен интернет, дальше офлайн-движки работают без сети.

Для запуска из исходников: Python, pip install -r requirements.txt, при этом GigaAM v3 ставится напрямую из GitHub-репозитория (в PyPI его нет). Все настройки живут в человекочитаемом settings.json — его можно править как из UI, так и руками.

Недавно вышел первый стабильный релиз v1.0.0. Лицензия — MIT, код полностью открыт.

 

Итоги

 

Главный вывод из этой истории для меня даже не про конкретное приложение.

Сначала кажется, что проблема — в качестве инструмента («Whisper недостаточно хорош для русского»), и её решает точечная доработка. Но настоящая проблема часто лежит уровнем выше — в процессе, в стыках между инструментами. Форк Buzz честно решил задачу качества распознавания. А сэкономленное время съедалось на копировании текста между окнами.

 

Поэтому:

- если вам нужна просто качественная транскрибация русской речи в привычном интерфейсе — возможно, вам хватит форка Buzz с GigaAM: https://github.com/ivanarama/buzz

- если же вы, как и я, из каждой записи делаете несколько артефактов — статью, описание, таймкоды, пост, озвучку — посмотрите на «Запись»: https://github.com/ivanarama/zapis

Оба проекта открыты. Буду рад вопросам, замечаниям и предложениям в комментариях — и особенно рад issue и pull request'ам на GitHub. Интересно услышать, какие сценарии автоматизации работы с речью актуальны у вас: протоколы совещаний, расшифровки вебинаров, озвучка инструкций?

Ссылка ютуб, на видеоверсию (можно скачать, если тут не открывается).

Вступайте в нашу телеграмм-группу Инфостарт

транскрибация распознавание речи синтез речи озвучка аудиокниги LLM Whisper GigaAM KenLM T-one FastAPI pywebview Python локальный ИИ open source обработка аудио обработка видео таймкоды Zapis Buzz

Вы можете заказать платную адаптацию этой статьи под ваши задачи на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

См. также

SALE! %

Банковские операции Обмен с интернет-банком Мастера заполнения Нейросети Программист Бухгалтер Пользователь 1С:Предприятие 8 1C:ERP 1С:Бухгалтерия 3.0 1С:ERP Управление предприятием 2 1С:Управление холдингом 1С:ERP. Управление холдингом 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Управление торговлей 11 1С:Розница 3.0 Платные (руб)

Корректируйте банковские документы быстро и легко! Создайте правило обработки — и оно автоматически применится при загрузке выписки (отбор по любому реквизиту или регулярному выражению). Решение заполняет расшифровку платежа, комиссию эквайринга, подбирает ведомости на выплату зарплаты, помечает дубли из банка на удаление и многое другое. Доплачивать за алгоритмы не нужно — они включены в решение. Обработка работает при загрузке из файлов клиент-банка и через DirectBank. Новое — искусственный интеллект: модель приводит нестандартные назначения платежа к виду, понятному алгоритмам, а ИИ-ассистент прямо в 1С консультирует по решению и разбирает код правил и алгоритмов. Поддерживаются локальные и облачные OpenAI-совместимые модели — данные могут не покидать ваш контур.

15250 руб.

20.12.2024    17780    90    29    

78

Инструментарий разработчика Нейросети Платные (руб)

Первые попытки разработки на 1С с использованием больших языковых моделей (LLM) могут разочаровать. LLMки сильно галлюцинируют, потому что не знают устройства конфигураций 1С, не знают нюансов синтаксиса. Но если дать им подсказки с помощью MCP, то результат получается кардинально лучше. Далее в публикации: MCP для поиска по метаданным 1С, справке синтакс-помощника и проверки синтаксиса.

15250 руб.

25.08.2025    66679    134    36    

141

Нейросети Системный администратор Программист Бизнес-аналитик Бухгалтер Пользователь Руководитель проекта 1С 8.3 1С:Документооборот 1С:Бухгалтерия 3.0 1С:Зарплата и Управление Персоналом 3.x Россия Платные (руб)

Подключите Codex к открытой или серверной базе 1С и ставьте задачи обычным языком: получайте данные, находите ошибки и связанные документы, проверяйте права, работайте с вложениями и контролируемо вносите изменения.

12078 руб.

30.07.2026    4966    13    4    

12

Нейросети Бесплатно (free)

Разбираем новые, более дешевые и эффективные паттерны работы внешнего 1С:Эксперта, а именно – прямое использование LLM-ассистентов и создание с их помощью инструментов для аудита производительности и нагрузочного тестирования. Показываем, как модели помогают анализировать таймауты и взаимные блокировки по технологическому журналу, проверять сложные запросы, а также находить неочевидные взаимосвязи между показателями загрузки оборудования. Рассказываем о создании скриптов для построения графиков по данным atopsar и для поиска и визуализации стеков горячих запросов, а также о создании неинвазивной оснастки для реалистичных нагрузочных и сценарных тестов без программирования на 1С. Отдельно разбираем антипаттерны и ограничения такого подхода. Делаем вывод, что LLM остается лишь помощником, не превращает джуна в сеньора, а ответственность за итоговый результат по-прежнему несет 1С:Эксперт.

10.08.2026    2919    jf2000    15    

17

Нейросети Программист Бесплатно (free)

Практический кейс автономной разработки для бизнес-платформы OneBase: ИИ-агент под управлением Claude Code и недорогой модели GLM за 37 минут с нуля создаёт полную конфигурацию с метаданными, формами, отчётами и дашбордами. Процесс проходит полностью без участия человека — агент сам нарезает задачи, генерирует демо-данные и исправляет ошибки до успешного прогона всех проверок.

07.08.2026    5130    Ibrogim    10    

11

Нейросети Программист Бесплатно (free)

Вокруг 1С выросла целая индустрия MCP-серверов: свой сервер в контуре, HTTP-сервисы, расширения, докер. Это отличные инструменты для разработчика. Но большинству людей вокруг 1С нужно другое: быстро подключить ИИ к базе, спросить словами, получить таблицу и отключиться. Без программиста, без изменений конфигурации и без единого открытого порта. Рассказываю, как сделали такой шлюз, почему он работает даже на УПП 1.3 на обычных формах, и разбираем живые кейсы: консультант без программиста, бухгалтер без сопровождения и вайб-кодинг Б24 по живой базе.

04.08.2026    5533    svcoopers    5    

9

Нейросети Программист Бесплатно (free)

SFT-адаптация Qwen/Qwen3.6-27B для разработки на платформе 1C:Enterprise: код на BSL, структура выгрузок BSL+XML, схемы XML и типовые практики конфигураций. Модель ориентирована на ассистента разработчика 1С: навигация по метаданным/XML-выгрузке, пояснение и правка BSL, следование внутренним стандартам кодирования, работа с открытыми кодовыми базами 1С.

03.08.2026    5818    andrew.ab    41    

20

Облачные сервисы, хостинг Сервера Нейросети Программист Бесплатно (free)

В последние годы спор «облако или локалка» стал одним из самых горячих в мире работы с нейросетями. Давайте разберемся.

03.08.2026    2783    dsdred    48    

11
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Dimanchik00 2 29.07.26 11:04 Сейчас в теме
Спасибо за интересную статью, Иван. Ее тоже собирали с помощью вашего комбайна ?
И да, мы все превращаемся в AI-комбайнеров.
cleaner_it; Ibrogim; +2 Ответить
2. Ibrogim 1890 29.07.26 11:23 Сейчас в теме
(1) Да. черновик с его помощью, затем скил который переделывает маркдаун в html формат . А потом вычитка, ручные правки и скриншоты.

Хотя у меня есть скил который и скриншоты сам делает для статьи, но меня пока качество не устраивает, он к сожалению не умеет пока читать мои мысли.
3. aximo 2716 29.07.26 15:02 Сейчас в теме
не понятно только одно... где все хайпожоры, топящие за ИИ в комментариях? почему так мало плюсов за статью?
Dimanchik00; Ibrogim; +2 Ответить
7. Ibrogim 1890 29.07.26 17:48 Сейчас в теме
(3) Наверное мало кому интересна работа созвуком.

Однако идеи из статьи могут быть полезны не только домашним блогерам )
Например раньше мы звонки расшифровывали карточкой локально классическим виспером, но переход на GigaAM v3 CTC + KenLM (T-one) улучшил не только качество распознавания но и ускорил в разы его.
Локальное бесплатное решение получается вполне сравнимо с патным спичкитом
9. Dimanchik00 2 29.07.26 20:11 Сейчас в теме
(3) Мое мнение, хайп, по крайней мере в России, уже заканчивается. Уже началась адекватная работа, с пониманием плюсов и минусов AI (на базе LLM ).
Если в терминах Ивана : "Мы, AI-комбайнеры, уже собираем урожай, не забывая про модернизацию комбайнов, сеялок, элеваторов и прочего".
cleaner_it; +1 Ответить
4. SemandCheb 1 29.07.26 17:14 Сейчас в теме
Можете рассмотреть еще один вариант развития вашего продукта.
На входе - видеоролик (например, запись экрана с комментарием), на выходе - готовый документ в PDF/DOCX. Он должен содержать полную транскрибацию речи, в которую автоматически всттавляются скриншоты в те моменты, когда определяются слова-маркеры, например, "посмотрите на слайд", "обратите внимание".
ИИ выдал такие слова маркеры:
1. Прямые указания (Императивы + Локативы):
Посмотрите на (экран / слайд / таблицу / схему / график / доску)
Обратите внимание на (выделенное / красное / левую часть / окно)
Взгляните на (этот пункт / цифру / блок)
Смотрите сюда
Фокусируемся на (этой области / строке)
Обратите взор на...
2. Указание места:
Вот здесь (видно / показано / отображается)
Здесь мы видим...
На этом примере...
Как видно на (экране / слайде)
То, что вы сейчас видите...
На этой картинке / схеме...
3. Описания действий с интерфейсом (особенно для туториалов):
Нажимаем вот на эту (кнопку / ссылку / иконку)
Кликаем по (строке / табличной части)
Выбираем этот (пункт меню / элемент)
Заполняем это (поле / реквизит)
Открывается вот такое (окно / форма)
Переходим в (этот раздел / вкладку)
4. Указания на важность / акценты:
Важный момент здесь...
Ключевая деталь (на экране / в настройке)...
Обратите особое внимание, как...
Самое главное тут — это...
Mick2iS; cleaner_it; Ibrogim; +3 Ответить
5. Ibrogim 1890 29.07.26 17:18 Сейчас в теме
(4) Хм. интересно. Спасибо за идею.

Кстати у меня какраз есть скрипт который pdf в страницу конфлюенс преобразует. Пообщался так, показал пользователям (записав встречу) -> PDF -> инструкция в конфлюенс
cleaner_it; SemandCheb; +2 Ответить
6. SemandCheb 1 29.07.26 17:35 Сейчас в теме
(5) советы от ИИ по этой идеи
Если вы будете обсуждать эту идею с разработчиками, обязательно упомяните эти технические нюансы:

Задержка тайминга (Delay): Скриншот нельзя делать ровно в миллисекунду произнесения слова «посмотрите». Спикер обычно произносит это до того, как переключит слайд или наведет курсор. Нужна настраиваемая задержка (например, брать кадр через 0.5 – 1.5 секунды после окончания маркер-фразы).

Лемматизация: Поиск маркеров должен идти не по точному совпадению, а по начальной форме слова (чтобы сработали и «посмотрите», и «посмотрел», и «смотрящий»).

Частотный фильтр: Если спикер болтлив и говорит «смотрите» каждые 10 секунд, документ раздуется. Нужно вводить правило: «Не чаще 1 скриншота на X секунд текста» или «Не вставлять дублирующиеся кадры» (сравнение кадров по хэшу).

Гибкость: У пользователя должна быть возможность перед генерацией посмотреть список распознанных маркеров и убрать галочки с тех, которые алгоритм понял ошибочно.
cleaner_it; Ibrogim; +2 Ответить
8. starik-2005 3300 29.07.26 18:27 Сейчас в теме
Класс!

Как раз узнал про тон от Т-тех из статьи, поигрался - такое. Зато гига v3 rnnt - ваще сумасшедшее нечто! У него WER 2% всего, чего ни у одной сетки нет. Попробовал сегодня распознать какую-то книженцию, специально сжал до 8к звук - прям вот идеально.
Прикрепленные файлы:
10. Angoleiro 6 30.07.26 07:56 Сейчас в теме
Тоже некоторое время назад задавался вопросом распознавания речи. Как 1Сник сначала попробовал возможности предоставляемые нам нашей любимой экосистемой https://speech.1c.ai/apps/demo_app/. Что облачный вариант, что локальный (все модели) дали околопозорный результат. Попробовал навайбкодить whisper и его модель Larve V3 даже для невнятного голоса на русском языке, записанного на диктофон дала почти идеальную транскрибацию. Обязательно гляну вашу разработку. Спасибо за статью.
16. Ibrogim 1890 30.07.26 13:12 Сейчас в теме
(10) Да, мы несколько лет пользовались виспером (а до этого Vosk) в промышленных масштабах именно для бизнес задач, но GigaAM+T-one дали прямо новый уровень и по скорости и по качеству. Ну а в программе есть и виспер и гигаам.
11. PavelT_057 19 30.07.26 08:56 Сейчас в теме
Сделал аналогичное свое приложение на основе библиотеки https://github.com/microsoft/markitdown, куча всего из коробки, подключаются через скрит любые модели локальные, в том числе использую GigaAM, работает всё локально без GPU, чисто на CPU, быстро. Пример работы: иду на совещание, включаю диктофон, прихожу, закинул аудиозапись, он мне подготовил файл, закинул в любой чат, у тебя на выходе структурированная проблема заказчика практически с готовым ТЗ. Второй вариант: есть куча видео на «Ютубе», чтобы не тратить на просмотр всего, что тебе интересно, так же скормил видео, преобразовал в файл, отдельно стащил все комментарии из видео, закинул в любой чат, попросил его опровергнуть информацию или подтвердить из видео, и ты уже понимаешь, есть смысл его смотреть или нет, особенно актуально сейчас, в разгар всяких идей и возможностей работы с LLM. Работает всё чисто на твоей машине, быстро, видео с 2 часами аудио разбирается за 8 минут.
15. Ibrogim 1890 30.07.26 13:06 Сейчас в теме
(11)
GigaAM
Попробуйте ещё в связке с T-one . результат ещё лучше.
Вот кстати проект https://github.com/SibNN/asr_eval где можно сравнивать на больших датасетах качество разных моделей и пайплайнов
PavelT_057; +1 Ответить
12. ktb 701 30.07.26 12:17 Сейчас в теме
А диаризации (разбивки на участников по голосам) нету в конвейере?
13. Ibrogim 1890 30.07.26 12:59 Сейчас в теме
(12) Пока нет. но идею записал
14. ktb 701 30.07.26 13:01 Сейчас в теме
Что-то ни EXE-шник не работает (не может скачать ни GigaAM, ни whisper, хотя huggingface доступен) и из исходников не стартует (зависимости не ставятся).
Какая версия python нужна?
17. Ibrogim 1890 30.07.26 13:22 Сейчас в теме
(14)
Версия Python

3.11.9 — именно на нём собран known-good набор (.venv в проекте = CPython 3.11.9, об этом и первая строка requirements.txt:1).

Границы жёсткие:

┌────────┬─────────────────────────────────────────────────────────────────┐
│ Python │ Что будет │
├────────┼─────────────────────────────────────────────────────────────────┤
│ ≤ 3.10 │ не встанет: numpy==2.4.4 и scipy==1.17.1 требуют ≥ 3.11 │
├────────┼─────────────────────────────────────────────────────────────────┤
│ 3.11 │ рабочий вариант │
├────────┼─────────────────────────────────────────────────────────────────┤
│ 3.12 │ теоретически резолвится, но набор на нём не проверялся │
├────────┼─────────────────────────────────────────────────────────────────┤
│ ≥ 3.13 │ не встанет: у torch==2.5.1 нет колёс под 3.13 (появились с 2.6) │
└────────┴─────────────────────────────────────────────────────────────────┘

Если «зависимости не ставятся» на 3.13/3.14 — pip начнёт собирать torch из исходников и умрёт. Это самый вероятный сценарий.

Ещё два условия, без которых pip install -r requirements.txt падает независимо от версии:

- Git в PATH — gigaam ставится строкой git+https://github.com/salute-developers/GigaAM.git@6e4b027… (requirements.txt:16). Без git.exe pip падает сразу.
- pyctcdecode ставится отдельно с --no-deps (он пинит numpy<2, конфликт с gigaam). Голый pip install -r requirements.txt его не поставит — см. build.ps1:40.

Правильный порядок с нуля:

py -3.11 -m venv .venv
.\.venv\Scripts\python.exe -m pip install -U pip
.\.venv\Scripts\python.exe -m pip install -r requirements.txt
.\.venv\Scripts\python.exe -m pip install --no-deps pyctcdecode==0.5.0

Плюс ffmpeg в PATH для рантайма.

Почему не качаются модели

Тут ключевое: GigaAM вообще не качается с HuggingFace. Веса берутся с CDN Сбера прямым urllib (.venv/Lib/site-packages/gigaam/__init__.py:27):

https://cdn.chatwm.opensmodel.sberdevices.ru/GigaAM/v3_ctc.ckpt → ~/.cache/gigaam

То есть «huggingface доступен» ничего не говорит о GigaAM — нужен доступ именно к cdn.chatwm.opensmodel.sberdevices.ru. С моей машины он сейчас отвечает 200 (441 МБ), так что сам CDN живой — блокирует что-то на стороне пользователя (прокси/DNS/гео).

Через HF идут только две вещи: KenLM (t-tech/T-one, backend/asr/gigaam_engine.py:427) и модель whisper. Транспорт — httpx (huggingface-hub 1.14). Классика «в браузере HF открывается, а из Python нет» — это корпоративный TLS-перехват: браузер доверяет корневому сертификату из хранилища Windows, а Python смотрит только в certifi/cacert.pem и падает с SSLCertVerificationError. Второй вариант — прокси, прописанный в системе, но не в переменных окружения (urllib и httpx читают только HTTPS_PROXY).

Чтобы отличить одно от другого, пусть пользователь выполнит на своей машине:

.\.venv\Scripts\python.exe -c "import urllib.request as u; print(u.urlopen('https://cdn.chatwm.opensmodel.sberdevices.ru/GigaAM/v3_ctc.ckpt', timeout=20).status)"
.\.venv\Scripts\python.exe -c "import httpx; print(httpx.head('https://huggingface.co/t-tech/T-one/resolve/main/kenlm.bin', follow_redirects=True, timeout=20).status_code)"

- SSLCertVerificationError → перехват сертификатов. Лечится pip install truststore + SSL_CERT_FILE на корпоративный PEM, либо $env:SSL_CERT_FILE = "путь\до\corp-ca.pem".
- таймаут/ConnectionError только на CDN → сеть режет sberdevices.ru; тогда веса надо принести руками в %USERPROFILE%\.cache\gigaam (имя файла v3_ctc.ckpt, MD5 73413e7be9c6a5935827bfab5c0dd678 для сверки).
- 403/407 → нужен прокси в HTTPS_PROXY.

Точный текст ошибки из окна приложения (или из %USERPROFILE%\.cache\..., если он туда пишет) сузил бы это до одного пункта — debug.log в репозитории содержит только шум crashpad от pywebview, полезного там нет.
18. Ibrogim 1890 30.07.26 13:24 Сейчас в теме
(14) чтото ответ от ИИ ушел на модерацию...

Если коротко то попробуйте и пришлите вывод
.\.venv\Scripts\python.exe -c "import urllib.request as u; print(u.urlopen('https://cdn.chatwm.opensmodel.sberdevices.ru/GigaAM/v3_ctc.ckpt', timeout=20).status)"

и

.\.venv\Scripts\python.exe -c "import httpx; print(httpx.head('https://huggingface.co/t-tech/T-one/resolve/main/kenlm.bin', follow_redirects=True, timeout=20).status_code)"
19. ktb 701 30.07.26 15:34 Сейчас в теме
(18) Вроде, методом "тыка" выяснил, что нужен python 3.11 (3.13 не подходит), зависимости установились, но не все, часть в ручном режиме ставил.
Запустилось вроде, но транскрибация 2-х часового видео идет уже 1,5 часа (whisper), нагрузка на проц 20% (12-ядер), нагрузки на видеокарту не видно.
20. Ibrogim 1890 30.07.26 16:18 Сейчас в теме
(19) У меня ноут с отстойной видяхой, поэтому я зашил туда cpu. щас переделаю, но проверить на gpu не смогу
21. ktb 701 30.07.26 16:33 Сейчас в теме
(20) Там вроде даже в JSON-е есть настройка "device", но видимо она не работает, либо я ее неправильно понял.
22. Ibrogim 1890 30.07.26 21:01 Сейчас в теме
(21) Новый релиз опубликовал — «методом тыка» больше ничего искать не надо.
Главное: whisper теперь считает на всех ядрах процессора, а не на четырёх, как раньше. На 12-ядерной машине это ускорение примерно втрое.

Ещё поправил две вещи под ваш случай: приложение теперь доверяет системному хранилищу сертификатов (если у вас корпоративный прокси — модели должны начать скачиваться), а если что-то всё-таки не качается, ошибка теперь пишет конкретный адрес, который недоступен, вместо непонятного текста. Если снова не пойдёт — пришли файл zapis.log, он лежит рядом с exe, там будет видна причина.

Про видеокарту: поддержка появилась, но включается вручную и только для whisper (NVIDIA + cuDNN 9). GigaAM в любом случае считает на процессоре. device применяется только на старте — после его правки приложение надо перезапустить.

Только что кстати видео 27минутное транскрибировал GigaAM за 11 минут (с учетом ещё загрузки модели в память) на cpu.
23. SemandCheb 1 05.08.26 16:11 Сейчас в теме
(22) Посмотрите статью на хабре бенчмарк 23 ASR-нейросетей для русской айтишной диктовки, перекликается с вашей темой
Для отправки сообщения требуется регистрация/авторизация