Найти тему

Автоматическое превращение аудио в текст (пример инсталлятора)

Оглавление

В этой статье описывается пример автоматического распознавания текста из аудио файла, выполненный с помощью Python.

ТРАНСКРИБАЦИЯ — передача на письме тем или иным набором письменных знаков элементов звучащей речи (фонем, аллофонов, звуков).
Далее буквосочетание "Транскрибация" больше применяться не будет, и речь будет вестись простыми, русским буквами.

Статья предназначена только для примера и ознакомления с одной из технологий "превращения аудио-слов в текст".

Примечание: установка настроена на использования связки "Torch-cuda" для видеокарт NVIDIA !!!

Если вам требуется другой тип установки, сами смените адрес установки torch-пакета (обведено красным).

-2

Модель нейросети "Whisper" — это современная модель для автоматического распознавания речи (ASR) и перевода речи, предложенная в статье Robust Speech Recognition via Large-Scale Weak Supervision Алека Рэдфорда и др. из OpenAI.

Оригинальный материал находится тут: (

openai/whisper-large-v3 · Hugging Face

)

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

GitHub - Nestorchik/audio2text: Example of convert audio to text

)

Что нам потребуется?

Нам потребуется установленные на компьютере:

  • git - (должеy бsть в PATH)
  • Python - (я использовал v3.12)
Что это такое, где взять. как проверить, и т.п., читайте тут:
  • в любом удобном вам месте запускаем терминал ("cmd"), в котором вводим команду:
git clone https://github.com/Nestorchik/audio2text.git
Убедитесь что установка завершилась успешно!!!
Убедитесь что установка завершилась успешно!!!

В зависимости от скорости вашей сети и загрузки GitHub, через какое-то время произойдет установка, и у вас появится папка "audio2text", заходим в нее.

Содержимое папки "audio2text"
Содержимое папки "audio2text"

Остальные файлы в примере:

  • audio.mp3 - 30-секундный отрезок аудио для тестирования.
  • ffmpeg.exe - утилита работы с файлами (требование whisper-large-v3 модели)
  • main.py - образец кода для тестирования установленной модели.
  • install.bat - файл с командами установщика системы.
  • файлы ".git" и "README.MD" - файлы с GitHub с сервера. В "Readme" имеется копия описания установки системы (оба этих файла можете удалить, они в установке и работе не участвуют).

Первым делом мы открываем в любом текстовом редакторе файл "install.bat" и редактируем в нем строку номер 4 куда вписываем ПОЛНЫЙ ПУТЬ к вашему файлу "python.exe" имеющейся у вас установки питона.

Проверить пусть и вписать ваш путь.
Проверить пусть и вписать ваш путь.
Примечание: я тестировал установку на питоне v3.12, но я не вижу каких-то препятствий для использования другой версии питона, хотя на практике я их не тестировал. так что быть уверенным не могу.

Запуск установки

После проверки пути к вашему питону в файле "install.bat" запускаем его из того каталога, куда он установился (взаиморасположение файлов менять нельзя, они знают друг о друге!).

Начнется установка:

-6
  • будет создано новое виртуальное окружение "venv" в текущей папке, и в него будут автоматически установлены все необходимые компоненты и пакеты.
  • по окончании установки не закрывайте окно терминала (!) и проследите все ли установилось без ошибок и обрывов связи!!!
Установка завершена. Закрываем окно.
Установка завершена. Закрываем окно.

В конце установки в текущей папке будет сгенерирован файл "run.bat" , который и будет являться "запускающим" систему файлом.

В текущей папке должен быть расположен файл "audio.mp3" (имя прописано в файле "main.py"), при запуске процесса программа будет искать его по имени.

Примечание: можете поместить свой файл, но тогда потребуется прописать путь к нему и его имя в файле "main.py", а сам файл должен быть ограничен по длительности 30 секундами!!!
Для использования а работе файлов более длительного звучания потребуется переписать параметры запуска в “main.py” (читай официальную документацию).

Содержимое папки после установки "VENV":

(я удалил тут ".git" и "README.MD")

Файл запуска.
Файл запуска.

ВНИМАНИЕ!!!

При первом запуске файла "run.bat" автоматически начнётся скачивание и установка служебных файлов и файлов модели, размер которых превышает 5 гигабайт!!!

Рассчитывайте время запуска так, чтобы не отключать компьютера во время этой операции, иначе придется всю установку начинать сначала!!!

Примечание: служебные файлы и файлы моделей будут скачиваться по адресу (для Windows):

Users\User_Name\.cache\huggingface

Если что-то завершится с ошибкой, во избежание накладок, просто удалите в этой папке все файлы и папки, у которых дата создания позже даты и времени старта вашей установки.

Запуск "run.bat"

(я не смогу показать вам скриншоты процесса установки моделей, поскольку они у меня уже установлены, могу только сказать, что это довольно долго!)

После скачивания служебных файлов и моделей программа автоматически продолжит выполнение, и переведет в текстовый формат все, что "услышит" в файле "audio.mp3".

Программа начала работу:

Программа начала работу
Программа начала работу

Программа завершила работу:

Программа завершила работу
Программа завершила работу

Зеленым обведен текст из аудио-файла "услышанный" моделью.

Красной стрелкой показано напоминание, что тот же текст сохранен в сгенерированном файле "output.txt", который создается каждый раз, если его нет, и в который дописывается распознанный текст, если он уже существует.

Файл вывода
Файл вывода

Все "сие волшебство" наколдовано вот в этих строках файла "main.py":

-12
  • синим — имя аудио файла
  • красным — вывод в окно терминала
  • зеленым — вывод в файл

Для снятия лимита 30 секунд на записи включите эти две строки в файл "main.py". Эти настройки разобьют входной файл на 16 "пакетов" по 30 секунд каждый, что увеличит общую длительность до 16х30 секунд = 8 минут.

-13
Примечание: при возникновении "косяков" при декодировании файла, если в исходном аудио обнаружится много артефактов, в генерируемом тексте могут появиться непечатные символы, которые будут выведены на экран терминала, то в текстовый файл могут не записаться, т.к. формат файла — простой текстовый.

Остальные примеры и параметры, читайте в оригинальном описании по адресу:

openai/whisper-large-v3 · Hugging Face

И будет вам "щасте"...

На главную:

NStor - записки нейро-айтишника | Дзен

Удачи!
NStor
https://t.me/stable_cascade_rus
https://t.me/sriger