Как использовать Whisper AI для транскрипции аудио в реальном времени на Linux
Whisper AI — это усовершенствованная модель автоматического распознавания речи (ASR), разработанная OpenAI, которая может транскрибировать аудио в текст с впечатляющей точностью и поддерживает несколько языков. Хотя Whisper AI в первую очередь предназначен для пакетной обработки, его можно настроить для транскрипции речи в текст в режиме реального времени в Linux.
В этом руководстве мы рассмотрим пошаговый процесс установки, настройки и запуска Whisper AI для динамической транскрипции в системе Linux.
Что такое Whisper AI?
Whisper AI — это модель распознавания речи с открытым исходным кодом, обученная на обширном наборе данных аудиозаписей и основанная на архитектуре глубокого обучения, которая позволяет:
- Расшифровка речи на нескольких языках.
- Эффективно справляйтесь с акцентами и фоновым шумом.
- Выполнять перевод разговорной речи на английский.
Поскольку он предназначен для высокоточной транскрипции, он широко используется в:
- Услуги транскрипции в реальном времени (например, для специальных возможностей).
- Голосовые помощники и автоматизация.
- Расшифровка записанных аудиофайлов.
По умолчанию Whisper AI не оптимизирован для обработки в режиме реального времени. Тем не менее, с помощью некоторых дополнительных инструментов он может обрабатывать аудиопотоки в реальном времени для немедленной транскрипции.
Системные требования Whisper AI
Прежде чем запускать Whisper AI в Linux, убедитесь, что ваша система соответствует следующим требованиям:
Требования к аппаратному обеспечению:
- Центральный процессор: многоядерный процессор (Intel/AMD).
- Оперативная память: не менее 8 ГБ (рекомендуется 16 ГБ или более).
- GPU: NVIDIA GPU с CUDA (опционально, но значительно ускоряет обработку).
- Хранилище: не менее 10 ГБ свободного места на диске для моделей и зависимостей.
Требования к программному обеспечению:
- Дистрибутив Linux, такой как Ubuntu, Debian, Arch, Fedora и т.д.
- Python версии 3.8 или более поздней.
- Pip пакетный менеджер для установки пакетов Python.
- FFmpeg для работы с аудиофайлами и потоками.
Шаг 1: Установка необходимых зависимостей
Перед установкой Whisper AI обновите список пакетов и обновите существующие пакеты.
sudo apt update [On Ubuntu]
sudo dnf update -y [On Fedora]
sudo pacman -Syu [On Arch]
Далее вам нужно установить Python 3.8 или выше и менеджер пакетов Pip, как показано на рисунке.
sudo apt install python3 python3-pip python3-venv -y [On Ubuntu]
sudo dnf install python3 python3-pip python3-virtualenv -y [On Fedora]
sudo pacman -S python python-pip python-virtualenv [On Arch]
Наконец, вам нужно установить FFmpeg, который представляет собой мультимедийную платформу, используемую для обработки аудио и видео файлов.
sudo apt install ffmpeg [On Ubuntu]
sudo dnf install ffmpeg [On Fedora]
sudo pacman -S ffmpeg [On Arch]
Шаг 2: Установите Whisper AI в Linux
После установки необходимых зависимостей вы можете приступить к установке Whisper AI в виртуальной среде, которая позволяет устанавливать пакеты Python, не затрагивая системные пакеты.
python3 -m venv whisper_env
source whisper_env/bin/activate
pip install openai-whisper
После завершения установки проверьте, правильно ли был установлен Whisper AI, запустив его.
whisper --help
При этом должно отобразиться меню справки с доступными командами и параметрами, что означает, что Whisper AI установлен и готов к использованию.
Шаг 3: Запуск Whisper AI в Linux
После установки Whisper AI вы можете начать расшифровку аудиофайлов с помощью различных команд.
Расшифровка аудиофайла
Чтобы расшифровать аудиофайл (audio.mp3), выполните:
whisper audio.mp3
Whisper обработает файл и сгенерирует расшифровку в текстовом формате.
Теперь, когда все установлено, давайте создадим скрипт на Python для захвата звука с микрофона и его расшифровки в режиме реального времени.
nano real_time_transcription.py
Скопируйте и вставьте следующий код в файл.
import sounddevice as sd
import numpy as np
import whisper
import queue
import threading
Load the Whisper model
model = whisper.load_model("base")
Audio parameters
SAMPLE_RATE = 16000
BUFFER_SIZE = 1024
audio_queue = queue.Queue()
def audio_callback(indata, frames, time, status):
"""Callback function to capture audio data."""
if status:
print(status)
audio_queue.put(indata.copy())
def transcribe_audio():
"""Thread to transcribe audio in real time."""
while True:
audio_data = audio_queue.get()
audio_data = np.concatenate(list(audio_queue.queue)) # Combine buffered audio
audio_queue.queue.clear()
# Transcribe the audio
result = model.transcribe(audio_data.flatten(), language="en")
print(f"Transcription: {result['text']}")
Start the transcription thread
transcription_thread = threading.Thread(target=transcribe_audio, daemon=True)
transcription_thread.start()
Start capturing audio from the microphone
with sd.InputStream(callback=audio_callback, channels=1, samplerate=SAMPLE_RATE, blocksize=BUFFER_SIZE):
print("Listening... Press Ctrl+C to stop.")
try:
while True:
pass
except KeyboardInterrupt:
print("\nStopping...")
Выполните скрипт с помощью Python, который начнет прослушивать входной сигнал вашего микрофона и отобразит расшифрованный текст в режиме реального времени. Говорите четко в микрофон, и вы должны увидеть результаты, напечатанные на терминале.
python3 real_time_transcription.py
Заключение
Whisper AI — это мощный инструмент для преобразования речи в текст, который может быть адаптирован для транскрипции в режиме реального времени в Linux. Для достижения наилучших результатов используйте графический процессор и оптимизируйте систему для обработки в режиме реального времени.