ウェブサイト検索

LinuxでライブオーディオトランスクリプションのためにWhisper AIを使用する方法


Whisper AIは、OpenAIによって開発された高度な自動音声認識(ASR)モデルで、音声をテキストに高精度で書き起こすことができ、複数の言語をサポートしています。Whisper AIは主にバッチ処理用に設計されていますが、Linux上でリアルタイムの音声からテキストへの書き起こしに設定することも可能です。

このガイドでは、Linuxシステムでのライブ転写のためにWhisper AIをインストール、設定、実行する手順を段階的に説明します。

Whisper AIとは何ですか?

Whisper AIは、大規模な音声録音データセットで訓練されたオープンソースの音声認識モデルであり、深層学習アーキテクチャに基づいています。

  • 複数の言語でスピーチを文字起こしする。
  • アクセントやバックグラウンドノイズを効率的に処理します。
  • 話し言葉を英語に翻訳する。

高精度の転写を目的として設計されているため、広く使用されています。

  • ライブ転写サービス(例えば、アクセシビリティのため)。
  • 音声アシスタントと自動化。
  • 録音された音声ファイルの文字起こし。

デフォルトでは、Whisper AIはリアルタイム処理に最適化されていません。しかし、いくつかの追加ツールを使用することで、ライブオーディオストリームを即時に文字起こしすることができます。

Whisper AIシステム要件

LinuxWhisper AIを実行する前に、システムが以下の要件を満たしていることを確認してください:

ハードウェア要件:

  • CPU: マルチコアプロセッサ(Intel/AMD)。
  • RAM: 少なくとも8GB(16GB以上を推奨)。
  • GPU: CUDAを搭載したNVIDIA GPU(オプションですが、処理速度を大幅に向上させます)。
  • ストレージ: モデルと依存関係のために最低10GBの空きディスクスペースが必要です。

ソフトウェア要件:

  • UbuntuDebianArchFedoraなどのLinuxディストリビューション
  • Python バージョン 3.8 以降。
  • PythonパッケージをインストールするためのPipパッケージマネージャー。
  • 音声ファイルとストリームを扱うための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:LinuxにWhisper AIをインストールする

必要な依存関係がインストールされると、システムパッケージに影響を与えることなくPythonパッケージをインストールできる仮想環境にWhisper AIをインストールすることができます。

python3 -m venv whisper_env
source whisper_env/bin/activate
pip install openai-whisper

インストールが完了したら、Whisper AIが正しくインストールされたかどうかを確認するために実行してください。

whisper --help

これにより、利用可能なコマンドとオプションを含むヘルプメニューが表示されるはずです。つまり、Whisper AIがインストールされ、使用準備が整っていることを意味します。

ステップ3:LinuxでWhisper AIを実行する

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でリアルタイムの文字起こしに適応できる強力な音声認識ツールです。最良の結果を得るためには、GPUを使用し、リアルタイム処理のためにシステムを最適化してください。