-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
2 changed files
with
33 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
--- | ||
layout: post | ||
title: Способы предотвращения ошибок управления памятью | ||
tags: [memory, compiler, фп] | ||
tg_id: 554 | ||
--- | ||
Хорошая [статья](https://verdagon.dev/grimoire/grimoire) про то, какие существуют способы предотвращения ошибок управления памятью. Лирику про гримуары можно [пропустить](https://verdagon.dev/grimoire/grimoire#the-list). Еще статью можно использовать как указатель на кучу малоизвестных языков программирования, в которых экспериментируют со свежими идеями. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
--- | ||
layout: post | ||
title: Автогенерация субтитров с помощью Whisper | ||
tags: [ai, convert, мысли] | ||
tg_id: 555 | ||
--- | ||
Захотелось посмотреть что-нибудь простенькое на сербском с сербскими субтитрами. (Внезапно) оказалось, что это тебе не русский, на котором есть все в 5 озвучках и с 10 видами субтиров скачать FullHD без регистрации и смс. Если озвучку еще можно найти, то субтитры — нереально (даже если искать, например, хорватский, который на 99% такой же). | ||
|
||
Решил изменить подход — найти какую-нибудь утилиту для транскрибирования и автоматом перевести звук в текст. Ну это ведь сейчас каждая колонка умеет, правда же? \*падме.жпг\*. Почти сразу вышел на [Whisper](https://github.com/openai/whisper) от OpenAI. Есть и [другие варианты](https://askubuntu.com/questions/24059/automatically-generate-subtitles-close-caption-from-a-video-using-speech-to-text), но половина из них не поддерживает сербский, и многие заброшены. | ||
|
||
Раз это ИсКуСтВеНый ИнТеЛеКт, то и задачку подберем поинтереснее — Сунђер Боб Коцкалоне! Там почти все гнусавые, но это ж ИИ, наверняка должен понимать контекст и все такое, а я этот мультик не смотрел никогда, проникнусь наконец богатым источником шаблонов для мемов... | ||
|
||
На удивление, никаких токенов и регистраций для использования не нужно, все можно запустить локально. Установка скачивает пол-интернета, но зато утилита запускается элементарно: | ||
``` | ||
whisper SundjerBob0101.mp4 --language Serbian --output_format srt --model large | ||
``` | ||
На вход можно подавать сразу видео без промежуточной конвертации в аудио, а на выходе можно получить сразу субтитры с таймингами. | ||
|
||
На выбор есть несколько моделей. Маленькая — вообще ни о чем, в средней даже я со своим уровнем "А минус 1" вижу косяки. Казалось бы, большая модель, да еще с явным указанием языка, должна работать хорошо (тем более что работает она весьма не быстро), но результат разочаровал. Некоторые фразы транскрибированы лучше, некоторые хуже по сравнению со средней моделью. В добавок к этому, местами текст пропадает совсем, местами появляются цифры, иероглифы или просто мусор. Текст постоянно переключается с кириллицы на латиницу (что считается неприличным). Самое разочаровывающее — есть слова, которых нет в языке вообще. Т.е. эта шляпа не просто не держит контекст, она даже по словарю не смотрит слова. Не получится взять субтитры за основу, чтобы поправить немного ошибок. | ||
|
||
Тем не менее, даже с такими сгенерированными субтитрами я понимаю больше, чем просто на слух. Второй эксперимент я провел на Смешариках — там все получше, смотришь как с хреновыми субтитрами. | ||
|
||
Еще я попробовал [pyTranscriber](https://github.com/raryelcostasouza/pyTranscriber), который использует Google API под капотом. Результат чуть похуже, но в разы быстрее. Но главный минус — не ставит тайминги, и результат — это просто текстовый файл. | ||
|
||
В общем, распознавание речи выглядит все еще не до конца решенной проблемой. | ||
|