Skip to content

Commit

Permalink
weekly update
Browse files Browse the repository at this point in the history
  • Loading branch information
ov7a committed Oct 4, 2024
1 parent 8eee071 commit f445e14
Show file tree
Hide file tree
Showing 2 changed files with 33 additions and 0 deletions.
7 changes: 7 additions & 0 deletions _posts/mini_posts/2024-10-01-memory-safety-approaches.md
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). Еще статью можно использовать как указатель на кучу малоизвестных языков программирования, в которых экспериментируют со свежими идеями.
26 changes: 26 additions & 0 deletions _posts/mini_posts/2024-10-03-whisper-transcribe.md
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 под капотом. Результат чуть похуже, но в разы быстрее. Но главный минус — не ставит тайминги, и результат — это просто текстовый файл.

В общем, распознавание речи выглядит все еще не до конца решенной проблемой.

0 comments on commit f445e14

Please sign in to comment.