TGStat
TGStat
Введите текст для поиска
Расширенный поиск каналов
  • Язык сайта
    flag Russian flag English flag Uzbek
  • Вход на сайт
  • Каталог
    Каталог каналов и чатов Региональные подборки Тематические подборки Платные каналы Поиск каналов
    Добавить канал/чат
  • Рейтинги
    Рейтинг каналов Рейтинг чатов Рейтинг публикаций
    Рейтинги брендов и персон
  • Аналитика
  • Поиск по публикациям
  • Мониторинг Telegram
  • Продвижение
    Реклама через Яндекс Бизнес Реклама в каналах через TGStat Agency Реклама на сайте TGStat.ru
Mithgol the Webmaster

2 May, 00:49

Открыть в Telegram Поделиться Пожаловаться

В предшествующем сообщении я только что разсказалъ о том, для чего вообще может быть нужным автоматическое изготовление субтитров, а теперь перехожу к техническим подробностям того, как выглядит строка команды, запускающей FFmpeg.

Примѣрно вот как выглядит она:

ffmpeg -hide_banner -i имя_видеофайла -vn -sn -af "whisper=language=ru:destination=whispered.srt:format=srt:queue=30:use_gpu=0:vad_model=C\\:/путь/к/ggml-silero-v6.2.0.bin:model=C\\:/путь/к/ggml-large-v3.bin" -f null -

В этой команде параметр «имя_видеофайла» должен быть замѣнёнъ именем конкретного видеофайла (ну или аудиофайла), распознавание рѣчи из которого происходит.

В этой команде содержимое параметров «format=srt» и «whispered.srt» означает, что субтитры будут записаны в файл «whispered.srt». Никто ещё не научил Whisper (и FFmpeg) сразу создавать субтитры в каком-нибудь другом формате — ни в «.ass», ни в «.vtt». (А вот если не «сразу», а «потóм», то тогда в том же FFmpeg, уж конечно, нетрудно перегнать субтитры из формата «.srt» в формат «.vtt», в котором слияние или разбиение реплик оказывается гораздо менѣе трудоёмким за счёт того, что там их хотя бы не приходится заодно ещё и перенумеровывать.)

В этой команде параметр «language=ru» должен быть замѣнёнъ на другой (напримѣръ, «language=en» или «language=ja») при необходимости распознавания другого языка. Если предполагается распознавание многоязычной видеозаписи, то этот параметр можно не указывать, но нейросѣть начнёт работать медленнѣе и допускать ошибки в распознавании языков. (Вы удивитесь, когда увидите, сколь многие краткие возгласы на других языках — или возгласы невербальные — и даже нѣкоторые фрагменты пѣнія птицъ — могут казаться нейросѣти словами изъ корейскаго или китайскаго языка.)

В этой команде параметр «use_gpu=0» можно не указывать (и даже нужно не указывать), если даже въ нынѣшней непростой экономической ситуации вы приняли (и исполнили) рѣшеніе обзавестись видеокартою болѣе производительною, чѣмъ центральный процессор.

В этой команде строка «/путь/к/» должна быть (въ двухъ мѣстахъ) замѣнённою на настоящий путь к тому каталогу, в который вы полóжите скачанные вѣсá натренированных нейросѣтей, одна из которых («ggml-large-v3.bin») занимается распознаванием рѣчи, а другая («ggml-silero-v6.2.0.bin») распознаванием пауз между репликами. Для скорости я предположил их лежащими на диске C (он обычно SSD).

Файл «ggml-large-v3.bin» занимает чуть больше трёх миллиардов байтов, а найти его можно в подкаталоге https://huggingface.co/ggerganov/whisper.cpp/tree/main на сайте Hugging Face. Теоретически можно предполагать, что со временем там появится и какой-нибудь файл v4 (для настройки нейросѣти, натренированной ещё лучше, нежели v3), но на практике с конца 2023 года этого не случалося ни разу.

Файл «ggml-silero-v6.2.0.bin» занимает меньше мегабайта, а найти его можно в подкаталоге https://huggingface.co/ggml-org/whisper-vad/tree/main на сайте Hugging Face.

При всей своей ≈трёхгигабайтной натренированности нейросѣть способна допускать ошибки в распознавании рѣчи, причём не только из числа извѣстныхъ ещё в восьмидесятые годы (напримѣръ, «это же ребёнок» вмѣсто «это жеребёнок» и наоборот) или сдѣлавшихся извѣстными благодаря misheard lyrics въ эстрадныхъ пѣсняхъ (напримѣръ, «скрип колеса» вмѣсто «скрипка-лиса» и наоборот), но и в болѣе простых случаях — напримѣръ, при простой невнятице в окончаниях слов (нейросѣть не училася в средней школе правилам согласования слов по склонению или по спряжению).

Способна она и галлюцинировать, то есть «на ровном мѣстѣ» вписывать в субтитры такие слова, которыя вообще никто не произносил в конкретной видеозаписи, но которыя зато очень часто попадалися в подобных мѣстахъ в том исходном материале, на котором нейросѣть натренировывали:

➊ В начале субтитров иногда появляются заблаговременныя извиненія за будущія допущенныя ошибки в субтитрах.

➋ В конце субтитров иногда появляются призывы «подписываться на канал».

➌ И в начале, и в конце иногда «воскресают» упоминания составителей исходных субтитров. (На русском языке чаще других упоминается нѣкій DimaTorzok.)
Who is DimaTorzok? · openai whisper · Discussion #2372
Sometimes when I do transcription of audio, I encounter errors in the text -> "Субтитры создавал DimaTorzok" Why? Who is he? Why???

655 0 18 1 11
Каталог
Каталог каналов и чатов Подборки каналов Поиск каналов Добавить канал/чат
Рейтинги
Рейтинг каналов Telegram Рейтинг чатов Telegram Рейтинг публикаций Рейтинги брендов и персон
API
API статистики API поиска публикаций API Callback
Наши каналы
@TGStat @TGStat_Chat @telepulse @TGStatAPI
Почитать
Академия TGStat Исследование Telegram 2019 Исследование Telegram 2021 Исследование Telegram 2023
Контакты
Справочный центр Поддержка Почта Вакансии
Всякая всячина
Пользовательское соглашение Политика конфиденциальности Публичная оферта
Наши боты
@TGStat_Bot @SearcheeBot @TGAlertsBot @tg_analytics_bot @TGStatChatBot