Repository navigation
VoiceSwitch v0.4.0-beta для macOS: локальная расшифровка аудио и видео #8
mitimaicode
announced in
Announcements
Replies: 1 comment
|
Обновление: этот материал относится к приложению для macOS. Отдельный пакет фактически установленного Linux-серверного контура опубликован в v0.5.0-beta; анонс — в Discussion #11. |
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
VoiceSwitch начинался как локальная диктовка для macOS: нажать
fn + Option,произнести фразу и получить текст в активном приложении. В новой beta появился
отдельный сценарий для длинных записей — импорт аудио и видеофайлов.
Что появилось в v0.4.0-beta
Из видео VoiceSwitch извлекает только первую аудиодорожку. Кадры не
анализируются, системный звук не захватывается, а временные метки SRT/VTT пока
соответствуют приблизительным границам блоков, а не отдельным словам.
Почему файловый режим устроен отдельно
Короткая диктовка и часовая запись используют те же ASR-модели, но требуют
разной обвязки. Для длинного файла важны предсказуемая память, возможность
остановить задачу, сохранение уже готовых частей и корректные стыки.
Перед файловой задачей VoiceSwitch освобождает постоянный worker диктовки,
нормализует аудио локальным ffmpeg в mono WAV 16 kHz и запускает отдельный
процесс распознавания. Исходный файл и результат не отправляются во внешние
API после первоначальной загрузки моделей.
Что проверено
GitHub Actions на macOS собрал Swift-приложение и app bundle, проверил подпись
и ресурсы, прогнал 13 тестов файлового worker и выполнил чистую установку
зависимостей GigaAM. Опубликованные DMG и ZIP после релиза повторно скачаны и
проверены по приложенным SHA-256.
Это beta для Apple Silicon и macOS 14+. Сборка подписана ad-hoc и не
нотарифицирована Apple, поэтому первый запуск выполняется через правый клик →
«Открыть».
Скачать релиз:
https://github.com/mitimaicode/VoiceSwitch/releases/tag/v0.4.0-beta
Интересно, что полезнее развивать следующим: точные таймкоды, разделение
говорящих или дальнейшее улучшение надёжности длинных задач?
All reactions