Как стать автором
Обновить

Транскрипция речи с открытым исходным кодом

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров8.3K
Всего голосов 16: ↑12 и ↓4+10
Комментарии12

Комментарии 12

Было бы не плохо, если бы оставили ссылку на вашу программу для распознавания речи)

так вроде названия все есть...

Админ,хорошая статья,было очень интересно прочитать.

благодарим, очень приятно. Самим было любопытно.

Воодушевившись статьёй, решил проверить. Поигрался с моделью "base". Результаты впечатлили не особо. Возможно, я обманулся, восприняв название "base" как "не идеально, но сойдёт"? стоит попробовать более тормозные модели?

Эксперименты

скачивание модели:

bash ./models/download-ggml-model.sh base

конвертация исходника во что-то съедобное для ПО:

ffmpeg -i test003.mp3 -acodec pcm_s16le -ar 16000 test003.wav

распознавание:

main.exe -m models\ggml-base.bin -f test003.wav --language ru

результат распознавания аудиокнижки:

[00:00:37.000 --> 00:00:41.000]   Иван Сергеевич Тургенев.
[00:00:41.000 --> 00:00:44.000]   Муму.
[00:00:44.000 --> 00:01:03.000]   В одной из отдаленных улиц Москвы, в сером доме, с белыми колоннами, антрисолью и покривившим с обалконом, желание как добарание, вдова, окружённое, многочисленное дворний.
[00:01:03.000 --> 00:01:17.000]   Сыновья её служили в Петербурге, дочери вышли замуж, она выезжала редко и уединённо, доживала последние годы своей искупой искучающей старости.
[00:01:17.000 --> 00:01:26.000]   День её нерадостные, ненасные давно прошёл, но и вечер её был чернее ночи.
[00:01:26.000 --> 00:01:35.000]   Ищи сла все её челеди, самым замечательным лицом, был дворник Гирасим.
[00:01:35.000 --> 00:01:43.000]   Мужчина, 12 вершков роста, сложённый боготорём, и глухо нему это рождение.
[00:01:43.000 --> 00:01:55.000]   Бароня взяла его из деревни, где он жил один в небольшой из бушке, отдельно отбратив, и считался едва ли не самым исправным тяглого мужиком.
[00:01:55.000 --> 00:02:17.000]   Адорённые необычайные силы, он работал за чить вирых, дело спорило с в его руках, и весело было смотреть на него, когда он либо похал, и налегая огромными ладонями на саху, казалось один, без помощи лышь идёмки, взрезывало пругую грудь земли.
[00:02:17.000 --> 00:02:27.000]   Либо апетров день, так сокрушительно действовал косой, что хоть бы молодой, берёзывый лесок смахивать с корней долой.

Статья — это перевод. Для языков отличных от английского, распознование так себе срабатывает, про это писали несколько раз

habr.com/ru/post/689572
habr.com/ru/company/ods/blog/692246

Я прогнал её на large.
Время на 8700k в 11 потоков ушло в 2 раза больше, чем длина аудио.
На medium - 1:1.
Я впечатлён.
Дифнул разницу между large и medium - есть улучшения.
ИМХО для качества large - единственный вариант для меня.
Всё, что ниже чем medium - сильно страдает по качеству.

А у меня "large" не запускается. Пишет в логах что-то про загрузку модели, а потом молча завершается.

На "large" получается хороший результат (если всё-таки удаётся запустить — но чаще падает на загрузке модели).

Кажется, наконец, стало возможным написать программку для "стенографии". Только памяти отжирать много будет.

Муму
[00:00:29.000 --> 00:00:40.000]   Иван Сергеевич Тургенев
[00:00:40.000 --> 00:00:44.000]   Му-му
[00:00:44.000 --> 00:00:48.000]   В одной из отдаленных улиц Москвы,
[00:00:48.000 --> 00:00:56.000]   в сером доме с белыми колоннами, антресолью и покривившимся балконом,
[00:00:56.000 --> 00:01:03.000]   жила некогда барыня, вдова, окружённая многочисленной дворней.
[00:01:03.000 --> 00:01:08.000]   Сыновья её служили в Петербурге, дочери вышли замуж,
[00:01:08.000 --> 00:01:17.000]   она выезжала редко и уединённо доживала последние годы своей скупой и скучающей старости.
[00:01:17.000 --> 00:01:21.000]   День её, нерадостный и ненастный, давно прошёл,
[00:01:21.000 --> 00:01:27.000]   но и вечер её был чернее ночи.
[00:01:27.000 --> 00:01:32.000]   Из числа всей её челяди самым замечательным лицом
[00:01:32.000 --> 00:01:38.000]   был дворник Герасим, мужчина двенадцати вершков роста,
[00:01:38.000 --> 00:01:43.000]   сложённый богатырём и глухонемой от рождения.
[00:01:43.000 --> 00:01:49.000]   Барыня взяла его из деревни, где он жил один в небольшой избушке,
[00:01:49.000 --> 00:01:56.000]   отдельно от братьев, и считался едва ли не самым исправным тяглым мужиком.
[00:01:56.000 --> 00:02:01.000]   Одарённый необычайной силой, он работал за четверых,
[00:02:01.000 --> 00:02:06.000]   дело спорилось в его руках, и весело было смотреть на него,
[00:02:06.000 --> 00:02:11.000]   когда он либо пахал, и, налегая огромными ладонями на саху,
[00:02:11.000 --> 00:02:17.000]   казалось один, без помощи лошадёнки, взрезывал упругую грудь земли.
[00:02:17.000 --> 00:02:22.000]   Либо о Петров день так сокрушительно действовал косой,
[00:02:22.000 --> 00:02:27.000]   что хоть бы молодой берёзовый лесок смахивать с корней долой,
[00:02:27.000 --> 00:02:33.000]   либо проворно и безостановочно молотил трёхоршинным цепом,
[00:02:33.000 --> 00:02:42.000]   и как рычаг опускались и поднимались продолговатые твёрдые мышцы его плечей.
[00:02:42.000 --> 00:02:49.000]   Постоянное безмолвие придавало торжественную важность его неистомной работе.
[00:02:49.000 --> 00:02:54.000]   Славный он был мужик, и не будь его несчастье,
[00:02:54.000 --> 00:02:59.000]   всякая девка охотно пошла бы за него замуж.

Прикрутить ее к распознаванию речи на маке без сильной просадке по энергопотреблению возможно?

Так как блин это работает-то?!
Я уже чаёк налил горячий, разогрелся в предвкушении посмотреть что это за "десять тысяч строк на салфетке без доступа в интернет" и статья закончилась...

Может кто-нибудь рассказать как работает Whisper? Я открыл Github и вижу там старые добрые модели. Я человек достаточно далекий от нейросетей (но грубо понимающий что такое модель, какие есть алгоритмы итп). Так вот я правильно понимаю что Георгий написал конвертер питорчевских моделей под C++ (тензорную либу ggml которую также сам написал)?

Зарегистрируйтесь на Хабре, чтобы оставить комментарий