Конвертер голосовых и видео файлов в текст и srt
поддерживает все виды контейнеров и кодеков (mp3, mp4, avi,... ) которые понимает ffmpeg.
я часто записываю голосовые сообщения и пользуюсь диктофоном. а так же пишу документы и в пишу в блог. Хочу иметь как медиа материалы, так и их текстовую форму т.к. по тексту работает поиск и иногда это упрощает набор текста (если хорошо надиктовано).
Используемые модели обучены на dataset "аудиокниги" т.е. подходящий входной звук это - в тишине относительно выразительное и членораздельное чтение диктора, один одновременно звучащий голос. Для распознавания с диктофона этот dataset хорошо подходит.
В планах: у меня есть проект https://redforester.com и плагины для него. Это может стать основой плагина для
- системы управления контентом (генерирование текстового представления)
- для поиска в медиафайлах
- для распознавания голосовых команд
У меня есть телеграмм бот. там тоже может быть сделано распознавание голосовых команд.
с временными метками (субтитры)
$ ./media2srt.sh /media/mp/ac22fd5c-3daf-4f5a-a4bf-65b346984f64/home/mp/Загрузки/0.mp3
[sudo] пароль для mp:
1
00:00:01,020 --> 00:00:03,990
уважаемые друзья ещё больше аудио книг на
2
00:00:03,990 --> 00:00:06,360
ресурсах книга в ухе книга в ухе
3
00:00:06,390 --> 00:00:09,750
самая большая коллекция аудиокниг слушай или качай
4
00:00:09,752 --> 00:00:11,160
совершенно бесплатно
только текст
$ ./media2text.sh /media/mp/ac22fd5c-3daf-4f5a-a4bf-65b346984f64/home/mp/Загрузки/0.mp3
уважаемые друзья ещё больше аудио книг на ресурсах книга в ухе книга в ухе самая большая коллекция аудиокниг слушай или качай совершенно бесплатно
чтобы сохранить сделайте перенаправление вида > fileName.txt
Можно использовать в пакетном режиме для обработки нескольких файлов через xargs + sh + parallel
. Например так:
$ sudo cp ./media2text.sh /usr/local/sbin/
$ pwd
/media/mp/ac22fd5c-3daf-4f5a-a4bf-65b346984f64/BACKUP/Видео/_кодекс мастера аудиокнига
$ HERE=$(pwd)
$ # передать все mp3 файлы на обработку и дописать выходной файл их результатами
$ ls *.mp3 | xargs -I {} sh -x -c "media2text.sh '$HERE/{}' >> TEXT_RESULT.txt"
- входной файл приходит в ffmpeg (через docker mount, а не через входной поток) , из него извлекается голос.
- язык текста выбирается выбором образа, который уже содержит обченную модель.
- данные подаются на вход модели порциями и забираем частичнораспонанный текст. Когда модель подтвеждает распознанный блок текста - он печатается на выход (+ опционально srt заголовок)
- скачать.
- собрать docker образы. в скрипте сборки можете выбрать комментариями языки (мне нужен только русский)
- можно закинуть sh скрипт себе в
/usr/local/bin