Зачем:
- зафиксировать сравнение моделей на одном и том же массиве записей
- сохранить воспроизводимый набор файлов для будущих прогонов
Что:
- добавлены метрики и качественный вывод по Parakeet v3
- записаны точные имена, размеры и SHA-256 видео и эталонов
- обновлена рекомендация в README
Проверка:
- git diff --check
- Зачем:
- выбор CPU-модели должен опираться на несколько реальных записей, а не на единичный прогон.
- Что:
- добавлены скорость, WER и качественное сравнение пяти моделей на трёх встречах.
- обновлены рекомендации README и открытый вопрос ADR-006 для E2E RNN-T.
- Проверка:
- git diff --cached --check.
- Зачем:
- закрыты замечания независимого review по воспроизводимости и VAD-приёмке.
- Что:
- рабочая версия Python точно зафиксирована на 3.13.13.
- нулевые и обратные VAD-сегменты исключены из результата.
- в README записаны наблюдаемые скорости новых моделей с указанием CPU.
- Проверка:
- uv run pytest -q: 224 passed, 1 skipped.
- ограниченная проверка Ruff и uv lock --check завершены успешно.
- Зачем:
- добавлена локальная транскрипция смешанной речи и русского текста с пунктуацией.
- Что:
- onnx-asr обновлён до 0.12 и зарегистрированы три модели GigaAM.
- выбор compute_type учитывает опубликованные квантизации и явность настройки.
- обновлены тесты, README и требования PRD.
- Проверка:
- uv run pytest -q: 223 passed, 1 skipped.
- выполнены smoke- и полные прогоны четырёх GigaAM-моделей.
- Зачем:
- смешанная русско-английская речь и отсутствие пунктуации у gigaam-v3-ctc
закрываются моделями из onnx-asr 0.12, но обновление заблокировано пином.
- Что:
- добавлена спека: три модели в каталог, Python 3.13 и ORT 1.28, верхние
границы мажорных версий, ловушки и границы ручной приёмки.
- в backlog добавлены ссылка на спеку из пункта про CPU-дефолт и новое
направление «профили намерения вместо выбора модели».
- Проверка:
- задача трекера #1 с порядком работ и критериями приёмки.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- Зачем:
- формальной процедуры оценки моделей не будет: проект домашний, CI нет,
репрезентативные записи приватны, а тяжёлый пайплайн повышает шанс
забросить работу.
- Что:
- удалены «Кандидатная модель», «Сравнительная оценка», «Контрольная
модель», «Интеграционный smoke-тест» и «Локальный оценочный корпус».
- оставлены «Движок распознавания», «Поддерживаемая модель» и «Модель по
умолчанию» — они держат различие между поддержкой и рекомендацией.
- Проверка:
- git diff HEAD~1 -- CONTEXT.md.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- Зачем:
- инженерным навыкам нужна единая конфигурация трекера задач и доменных документов.
- Что:
- задокументированы Gitea workflow через tea и стандартные triage-метки.
- добавлены доменный словарь и правила работы с ADR, research и specs.
- Проверка:
- git diff --cached --check.
- tea --version: 0.15.1.
- Зачем:
- нужен проверяемый путь от обновления ASR-стека к выбору безопасного CPU-дефолта.
- Что:
- добавлено исследование актуальных движков и моделей с корректным именем файла.
- зафиксированы дефект OpenVINO, кандидаты GigaAM и матрица бенчмарка на Intel Core i5.
- Проверка:
- выполнена проверка git diff --cached --check.
- Зачем:
- внешнее сравнение с облачным Hypescribe показало: главный разрыв локальной транскрипции — не качество распознавания, а структура (спикеры 2/10 против 8/10); без диаризации MoM не собрать.
- Что:
- новый раздел «Структура транскрипта»: диаризация как опциональный пост-процессинг (sherpa-onnx vs pyannote, нужен ADR), ручка нарезки абзацев в formatter, словарь замен терминов как запасной план после бенчмарка RNN-T.
- зафиксировано вне ядра CLI: LLM-чистка и сопоставление имён спикеров.
- Проверка:
- docs-only, тесты не затронуты.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- Зачем:
- транскрипция может тихо терять содержание: блоки галлюцинированных повторов и обрыв распознавания до конца файла выглядят как законченный транскрипт (класс ошибок из ADR-006), и читатель об этом не узнаёт.
- Что:
- новый модуль quality.py: детектор разрыва в хвосте (строго >120 с) и детектор блоков повторяющихся сегментов (серия >=4 для длинного текста, >=10 для короткого вроде «ага»).
- предупреждения жёлтым в консоли (single и batch) и строками «Внимание» в шапке markdown-транскрипта; _format_duration переименована в публичную format_duration.
- 27 новых тестов: границы порогов, нормализация текста, шапка formatter, точные строки CLI-сообщений с обрезкой «(+ ещё N)».
- Проверка:
- uv run pytest — 218 passed, 1 skipped.
- ручной прогон записи 23:01 (gigaam-v3/onnx) — транскрипт полный, предупреждений нет.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- Зачем:
- в дереве с апреля лежал некоммиченный app.py (референсный Parakeet-сервер, не часть CLI) и служебный каталог .qwen/ — мусор в git status.
- Что:
- удалён app.py; его единственная ценная идея (чанкование длинных файлов по паузам через ffmpeg silencedetect) описана в docs/backlog.md с рабочими константами.
- .qwen/ добавлен в .gitignore (по аналогии с .codex).
- Проверка:
- git status — дерево чистое, untracked-файлов нет.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- Зачем:
- рабочие файлы конвейера (задачи-файлы) не должны попадать в дерево.
- Что:
- .scratch/ в .gitignore.
- Проверка:
- git status не показывает .scratch/.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- Зачем:
- фича --install-menu была описана только в глубине README; верхний
список возможностей и инструкция для AI-ассистентов о ней не знали.
- Что:
- пункт «Из проводника Windows» в списке возможностей README со ссылкой
на раздел; команды раздела приведены к tool-установке (без uv run).
- строка context_menu.py в схеме архитектуры AGENTS.md.
- Проверка:
- вычитка README, переход по якорю раздела.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- Зачем:
- запуск транскрипции правой кнопкой из проводника Windows без
терминала, для пользователей без прав администратора.
- Что:
- новый модуль context_menu.py: установка/удаление Transcribe.cmd
в папке SendTo (OEM-кодировка, CRLF, без реестра).
- флаги --install-menu / --uninstall-menu в cli.py с ранней
валидацией до load_config; files стал необязательным аргументом.
- раздел в README.md: установка, использование, ручное удаление
через shell:sendto, известные ограничения.
- Проверка:
- uv run pytest — 191 passed, 1 skipped.
- uv run transcribe --install-menu и правый клик → Отправить →
Transcribe на файле с кириллицей в имени.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Зафиксированы два направления развития:
- temperature fallback и фильтры галлюцинаций для OpenVINO бэкенда
- тестирование int8_float32/int8_float16 на CUDA
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Добавлена секция CPU бэкенда: int8_float32 как рекомендация, тюнинг потоков
- Объяснение разницы качества OpenVINO vs CTranslate2 (pipeline декодирования)
- Секция CUDA: int8_float32/int8_float16 как альтернатива для тестирования
- Обновлена таблица OpenVINO моделей (medium fp16)
- Обновлены таблицы скорости и качества
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
OpenVINO/whisper-medium-fp16-ov доступна через --compute-type fp16.
На CPU fp16 эмулируется программно (медленно), но на Intel Arc GPU
даёт аппаратное ускорение через XMX. Не меняет дефолты.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Бенчмарк показал: int8_float32 даёт 1.5x ускорение на CPU при сохранении
качества float32. Добавлен как рекомендуемый вариант для CPU.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Бенчмарк показал: OpenVINO fp16 даёт 3.7x ускорение, но теряет качество
на русской разговорной речи. CTranslate2 int8_float32 — оптимальный баланс.
Следующий шаг — DirectML бэкенд для AMD Radeon iGPU.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>