OpenAI Whisper — это не просто программа для транскрипции. Это универсальная нейросетевая модель с открытым исходным кодом, разработанная OpenAI, которая может выполнять целый ряд задач, связанных с обработкой речи и аудио.
Что может OpenAI Whisper?
1. Транскрипция (распознавание речи)
Это её основная и самая известная функция.
- Высокая точность: Whisper обучен на огромном и разнообразном наборе данных, что обеспечивает высокую точность распознавания даже при наличии фонового шума, акцентов и неидеального качества записи.
- Поддержка многих языков: Он может транскрибировать речь на многих языках (более 50). Ты можешь указать язык с помощью флага
--language ru, как делала в своих заметках, что значительно повышает точность.
2. Перевод речи (Speech Translation)
Whisper может не только транскрибировать, но и сразу переводить распознанную речь на английский язык. Ты подаёшь ему аудиозапись, например, на русском, а он выдаёт текст на английском.
- Команда: Это делается с помощью флага
--task translate.
3. Идентификация языка (Language Identification)
Если ты не знаешь, на каком языке говорит диктор в аудиофайле, Whisper может это определить. При транскрипции он автоматически определяет доминирующий язык в аудио, если ты не указываешь его явно.
4. Разные форматы вывода
- Текстовый файл (.txt): Чистая транскрипция.
- Файл субтитров (.srt, .vtt): Включает временные метки, что критически важно для создания субтитров к видео.
- JSON (.json): Подробный структурированный вывод, удобный для программной обработки.
5. Разные модели (уровни точности и скорости)
Whisper поставляется с несколькими моделями разного размера: tiny, base, small, medium, и large.
Модель |
Размер (параметры) |
Ресурсы |
Скорость/Точность |
tiny |
Самая маленькая |
Минимум |
Самая быстрая, низкая точность |
base |
Маленькая |
Низкие |
Хороший баланс |
small |
Средняя |
Средние |
Выше точность, медленнее |
medium |
Большая |
Высокие |
Очень высокая точность, медленная |
large |
Самая большая |
Максимум |
Максимальная точность |
Вот пошаговая инструкция, основанная на моём опыте с Ubuntu, как получить текст из аудиозаписи (для теста я использовала запись радио передачи).
Подготовка среды Ubuntu
Для успешной работы Whisper тебе потребуется Python 3, его менеджер пакетов pip и, самое главное, библиотека ffmpeg для обработки аудио.
Шаг 1: Обновление системы и установка ffmpeg
ffmpeg — это критически важный инструмент, который Whisper использует для чтения и декодирования аудиофайлов (например, .mp3).
# Обновляем список пакетов
sudo apt update
# Устанавливаем ffmpeg и другие зависимости
sudo apt install -y ffmpeg python3 python3-pip
Шаг 2: Установка Whisper и зависимостей (рекомендуемый способ)
Я рекомендую использовать pipx. Он устанавливает приложения Python в изолированные окружения, предотвращая конфликты зависимостей с другими твоими проектами. Он также автоматически добавляет исполняемый файл в системный путь $PATH.
Установи pipx:
sudo apt install pipx
pipx ensurepath
# Применяем изменения к текущей сессии оболочки (shell)
source ~/.bashrc # или ~/.zshrc, в зависимости от твоей оболочки
Установи Whisper через pipx: Устанавливаем прямо из репозитория OpenAI на GitHub:
pipx install git+https://github.com/openai/whisper.git
После этих манипуляций команда whisper должна быть доступна в твоей консоли.
Запуск транскрипции
Проверить работу можно, запустив транскрибацию твоего файла (imja_faila.mp3).
Использование команды Whisper:
whisper imja_faila.mp3 --model base --language ru
imja_faila.mp3: Путь к твоему аудиофайлу.--model base: Мы используем базовую модель, как самую быструю. Если нужна более высокая точность, можешь попробовать small или medium (они требуют больше ресурсов).--language ru: Указание русского языка значительно ускоряет процесс и повышает точность.
Как Whisper сохраняет результаты
Как ты верно подметила, Whisper по умолчанию очень удобен. Он автоматически генерирует несколько форматов вывода и сохраняет их в той же директории, где находится исходный аудиофайл.
Просто проверь созданные файлы с помощью команды ls:
ls imja_faila.*
Ты увидишь список файлов, среди которых:
- imja_faila.mp3 (оригинал)
- imja_faila.txt (файл с чистой транскрипцией — это, скорее всего, то, что тебе нужно для текста)
- imja_faila.srt (файл субтитров с временными метками, полезно для видео)
- imja_faila.json (детальный вывод в формате JSON для программной обработки)
Вот и всё! Теперь ты можешь быстро и эффективно транскрибировать аудио прямо на своём сервере.
