Расшифровка аудио и видео

Когда требуется расшифровать аудиофайл, или ролик с ютуба, я пользуюсь whisper или whisper-ctranslate2 в среде Гугл колаб

При использовании библиотеки whisper-ctranslate2 лучше использовать графическую карту — GPU. Меню → Среда выполнения → Сменить среду выполнения → GPU
# установка оригинального whisper
!pip install git+https://github.com/openai/whisper.git

# установка ffmpeg
!sudo apt update && sudo apt install ffmpeg

# установка whisper-ctranslate2
!pip install -U whisper-ctranslate2

# установка yt-dlp для сохранения видео с ютуба
!pip install yt-dlp

Двойной символ && используется для запуска двух команд одновременно, если первая команда завершена успешно. Это означает, что если первая команда возвращает ошибку, то вторая команда не будет выполнена.

Гитхаб whisper-ctranslate2

С декабря 2023 года выдается ошибка: «RuntimeError: Library libcublas.so.11 is not found or cannot be loaded»
Для исправления ошибки установите Cuda 11 командой:

!apt install libcublas11

Скачивать будем ролик Ильи Бирмана из лекции о понимании задачи

# качаем ролик id в mp3 в корень
!yt-dlp -x --audio-format mp3 -o ./birman_ponimanie_zadachi.mp3 -- PbnbwkoCQOE

Распознавать можно whisper-ctranslate2 — по моим наблюдением расшифровывает в 2—3 раза быстрее чем оригинальный whisper. На данный момент модель large-v2 самая полная.

#распознаем через whisper-ctranslate2
!whisper-ctranslate2 "birman_ponimanie_zadachi.mp3" --language Russian  -o ./result --model large-v2 --model_dir ./model
Результат в консоле будет появляться по мере распознавания. Результирующие файлы будут в папке result в форматах .json, .srt, .tsv, .txt и .vtt. Например, в txt — только текст, в tsv — таймкоды, в vtt и srt — субтитры.

Через оригинальный whisper имеет смысл распознавать на компьютерах без видеокарт, это долго, но работает. Whisper требует версию питона 3.8—3.10, на других версиях не заработает.

#распознаем через оригинальный whisper
!whisper "iliahov2.mp3" -o ./result --model large-v2 --model_dir ./model

Если вам нужно что-то распознать или транскрибацию провести. Пишите в телеграм, договоримся :—)

Отправить
Поделиться
Твитнуть
Запинить