Поиск по сайту:

Как использовать 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. Для достижения наилучших результатов используйте графический процессор и оптимизируйте систему для обработки в режиме реального времени.