리눅스에서 실시간 음성 인식을 위한 Whisper AI 실행하기

Whisper AIOpenAI에서 개발한 고급 자동 음성 인식 (ASR) 모델로, 오디오를 텍스트로 정확하게 전사하고 다국어를 지원합니다. Whisper AI는 주로 일괄 처리를 위해 설계되었지만 Linux에서 실시간 음성-텍스트 전사를 구성할 수 있습니다.

이 안내서에서는 Linux 시스템에서 라이브 전사를 위해 Whisper AI를 설치, 구성 및 실행하는 단계별 프로세스를 살펴볼 것입니다.

Whisper AI란 무엇인가요?

Whisper AI는 방대한 오디오 녹음 데이터 세트에서 훈련된 오픈 소스 음성 인식 모델로, 다국어로 음성을 전사하고 효율적으로 사투리와 배경 소음을 처리하며, 말로 된 언어를 영어로 번역할 수 있는 딥러닝 아키텍처를 기반으로 합니다.

  • 다국어로 음성 전사하기.
  • 사투리 및 배경 소음 효율적으로 처리하기.
  • 말로 된 언어 번역하기.

높은 정확도 전사를 위해 설계되었기 때문에 다음에서 널리 사용됩니다:

  • 라이브 전사 서비스(예: 접근성을 위해).
  • 음성 비서 및 자동화.
  • 녹음된 오디오 파일 전사.

Whisper AI는 기본적으로 실시간 처리에 최적화되어 있지 않습니다. 그러나 몇 가지 추가 도구로 실시간 오디오 스트림을 처리하여 즉시 전사할 수 있습니다.

Whisper AI 시스템 요구 사항

Whisper AILinux에서 실행하기 전에 시스템이 다음 요구 사항을 충족하는지 확인하십시오:

하드웨어 요구 사항:

  • CPU: 멀티코어 프로세서 (Intel/AMD).
  • RAM: 적어도 8GB (16GB 이상을 권장합니다).
  • GPU: CUDA를 지원하는 NVIDIA GPU (선택 사항이지만 처리 속도를 크게 향상시킵니다).
  • 저장 공간: 모델 및 종속성을 위한 최소 10GB의 여유 디스크 공간.

소프트웨어 요구 사항:

단계 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: Linux에 Whisper AI 설치

의존성이 설치되면 Python 패키지를 시스템 패키지에 영향을 주지 않고 설치할 수 있는 가상 환경에 Whisper AI를 설치할 수 있습니다.

python3 -m venv whisper_env
source whisper_env/bin/activate
pip install openai-whisper
Install Whisper AI on Linux

설치가 완료되면 실행하여 Whisper AI가 올바르게 설치되었는지 확인하십시오.

whisper --help

이렇게 하면 사용 가능한 명령 및 옵션을 포함한 도움말 메뉴가 표시되어 Whisper AI가 설치되어 사용할 준비가 되었음을 나타냅니다.

Check Whisper AI on Linux

단계 3: 리눅스에서 Whisper AI 실행

Whisper AI를 설치하면 다양한 명령을 사용하여 오디오 파일을 전사할 수 있습니다.

오디오 파일 전사

오디오 파일 (audio.mp3)을 전사하려면 다음을 실행하십시오:

whisper audio.mp3

Whisper가 파일을 처리하고 텍스트 형식의 트랜스크립트를 생성합니다.

Transcribing an Audio File

이제 모든 것이 설치되었으므로 마이크로폰에서 오디오를 캡처하고 실시간으로 전사하는 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는 리눅스에서 실시간 트랜스크립션에 적합한 강력한 음성인식 도구입니다. 최상의 결과를 얻으려면 GPU를 사용하고 시스템을 실시간 처리에 최적화하십시오.

Source:
https://www.tecmint.com/whisper-ai-audio-transcription-on-linux/