Как установить Whisper на Mac — систему от OpenAI для расшифровки аудио в текст

Мы уже рассказывали, как использовать Whisper в браузере. Это софт на основе нейросети, который может транскрибировать аудио в текст на 99 языках. Теперь гайд для владельцев Mac.

Как установить Whisper на Mac — систему от OpenAI для расшифровки аудио в текст

Энтузиаст пересобрал Whisper на C/C++ под macOS — поддерживаются процессоры Intel и Apple Silicon (серия M), а при желании можно даже на iOS установить. По сути это неофициальная версия Whisper, которую оптимизировали под процессоры Apple. Но работает даже лучше: в сравнение с браузерным вариантом версия для Mac в разы быстрее.

Устанавливаем whisper.cpp на Mac

1. Скачиваем код.

Простой вариант: нажать на Code → Download ZIP

Как установить Whisper на Mac — систему от OpenAI для расшифровки аудио в текст

Посложнее через git: скопировать ссылку на код → в терминале написать git clone {ссылка}.

Скачанную папку whisper.cpp переместите туда, где она будет надежно храниться. Например, /User/Name/Files.

3. Все работа с Whisper будет происходить через Terminal. Поэтому сначала нужно перейти в папку whisper.cpp.

Для этого в Terminal напишите cd (с пробелом) и перетяните папку whisper.cpp (путь до нее автоматически пропишется). Нажмите Enter.

4. Делаем сборку командой make.

Если не получилось, значит у вас нет нужных пакетов, поэтому их нужно установить.

Для этого устанавливаем brew. Вставляем и выполняем эту строку в Terminal:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

После окончания процесса не закрывайте Terminal — brew предложит выполнить еще две команды. Выполняем по очереди: первую, затем вторую.

Как установить Whisper на Mac — систему от OpenAI для расшифровки аудио в текст

Снова выполняем make. На этот раз все должно получится.

5. Выполняем ./main.

Ответ должен быть примерно таким:

Это по сути справка с дополнительными параметрами, которые поддерживает Whisper. О них расскажем позже.
Это по сути справка с дополнительными параметрами, которые поддерживает Whisper. О них расскажем позже.

6. Загружаем модель распознавания.

В whisper.cpp доступны следующие модели (чем больше — тем лучше качество и больше время расшифровки):

  • tiny.en
  • tiny
  • base.en
  • base
  • small.en
  • small
  • medium.en
  • medium
  • large-v1
  • large

Самая продвинутая — large. Ее и качаем. Выполняем команду:

make large

7. Делаем тестовую расшифровку.

Скачайте аудиосэмпл, вставьте команду и перетяните сэмпл в Terminal. Получится примерно так:

./main -m models/ggml-large.bin -f /Users/Name/Files/whisper.cpp-master/samples_jfk.wav

Выполняем команду и ждем. Результат такой:

Как установить Whisper на Mac — систему от OpenAI для расшифровки аудио в текст

Кайф! Все работает. Теперь можно делать расшифровку собственных файлов.

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

Главная сложность в том, что на данный момент поддерживаются только файлы расширения .wav с частотой 16Кгц. Поэтому нужно его подготовить.

1. Конвертируем файл.

Это можно сделать любым удобным способом, хоть прямо через Terminal. Для этого установите ffmpeg с помощью команды:

brew install ffmpeg

Затем через команду cd перейдите в папку с вашим файлом (для удобства закидывайте его в папку whisper.cpp) и выполните нужную команду — можно конвертировать и видео, и аудио исходники. Для примера возьмем это видео и скачаем его в двух форматах: .mp4 и .mp3.

Команда для аудио файла:

ffmpeg -i affordable.mp3 -ac 1 -ar 16000 affordable.wav

Команда для видео файла:

ffmpeg -i /Users/Name/Files/whisper.cpp-master/affordable.mp4 -ac 1 -ar 16000 affordablevid.wav

В папке появятся сконвертированные файлы:

Как установить Whisper на Mac — систему от OpenAI для расшифровки аудио в текст

2. Выполняем расшифровку.

Не забывайте перейти в папку whisper.cpp!

Пишем самую базовую команду для выполнения расшифровки:

./main -m models/ggml-large.bin -f /Users/Name/Files/whisper.cpp-master/affordable.wav

Готово. В принципе текст можно скопировать из терминала и делать с ним дальше что угодно:

Как установить Whisper на Mac — систему от OpenAI для расшифровки аудио в текст

Но можно сделать процесс удобнее. Для этого нужно использовать дополнительные параметры.

Дополнительные параметры расшифровки

Перейдите в папку whisper.cpp (также через cd) и напишите команду ./main. Откроется такое окно:

Любые из этих параметров можно указать в команде выполнения. Советуем такой минимальный набор, чтобы на выходе сразу получить текст на нужном языке без таймкодов и в готовом файле:

./main -l ru -m models/ggml-large.bin -nt -otxt -f /Users/Name/Files/whisper.cpp-master/affordable.wav

Что есть что:

  • ./main — команда, запускающая Whisper;
  • -l — выбрать язык исходного файла. Иногда Whisper может русскую (или любую другую) речь сразу переводить на английский. Чтобы оставить оригинальный язык, добавьте этот параметр;
  • -m — выбор модели расшифровки, которую вы предварительно загрузили;
  • -nt — убрать таймкоды из текста, чтобы потом вручную не удалять;
  • -otxt — экспортировать текст в .txt файл после окончания расшифровки (он будет в той же папке, где лежит аудио файл);
  • -f — путь до .wav-файла, который нужно расшифровать.

Результат в Terminal без таймкодов:

Как установить Whisper на Mac — систему от OpenAI для расшифровки аудио в текст

А в папке с исходником появится текстовый файл:

Как установить Whisper на Mac — систему от OpenAI для расшифровки аудио в текст

Пробуйте экспериментировать и с другими параметрами, например еще из полезного:

  • -osrt — сделает .srt-файл с субтитрами к видео;
  • -tr — сразу перевести расшифровываемую запись на нужный язык;
  • -su — ускорить аудио в два раза.
41
32 комментария

https://goodsnooze.gumroad.com/l/macwhisper
есть такая прога (сделана на базе этого кода), в бесплатной версии дает base и small модели.

2
Ответить

спасибо за инструкцию.. но когда дошел до строки "ffmpeg -ic affordable.mp3 -ac 1 -ar 16000 affordable.wav" - выяснил что так там ошибка. .корректная версия - "ffmpeg -i affordable.mp3 -ac 1 -ar 16000 affordable.wav"....ошибка в написании "-ic". все остальное заработало

2
Ответить

Да, действительно была опечатка.
Поправил, спасибо!

Ответить

а какие юзкейсы у этой прилы?

Ответить

Например:
- расшифровать запись рабочего созвона, чтобы сделать фоллоу-ап;
- доклад с конференции и оформить в статью;
- сделать субтитры к видео.

3
Ответить

В приложение под мас с загрузкой файла версии large можно закружить 4 вида аудиофайлов и пользоваться привычным интерфейсом.

1
Ответить