マイクに話しかけた言葉を,リアルタイムにAIが認識(whisper, whisper_mic, Python を使用)(Windows 上)

概要

Windows のパソコンで,マイクに話しかけた言葉を,リアルタイムにAIが認識する方法を紹介する.Whisper と mallorbc の whisper_mic を使用し,マイクからの音声をテキストに変換する.Whisper は音声の文字起こしと翻訳を行うモデルであり,whisper_mic は Whisper でマイクの音声入力を扱えるようにするツールである.Windows 上でのインストール手順を説明し,実行するとマイクに話しかけた言葉が認識される.より高い認識精度が必要な場合は,大きいモデルを選択できる.whisper_mic は,faster-whisper(CTranslate2 による高速実装で,同じ精度のまま処理を高速化し,使用メモリも抑える)を用いる「--faster」オプションに対応しており,これを付けて実行すると,より高速に認識できる.実行結果として,夏目漱石の「こころ」の冒頭を読み上げたテキストが得られた例を示す.

次を利用して,マイクに話しかけた言葉を,リアルタイムにAIが認識することを実現


(夏目漱石の「こころ」の冒頭を読み上げた結果)

目次

関連する外部ページ

サイト内の関連情報

Whisper

音声からの文字起こし,翻訳

mallorbc の whisper_mic

Whisper でのマイクの使用を可能にする. 利用可能な言語モデルは,tiny,base,small,medium,large. 「--faster」オプションにより,faster-whisper(CTranslate2 による高速実装)を使用できる.

第1章:前準備

Python 3.12 のインストール

Pythonのインストールを行い、Pythonのプログラムを実行する環境を整える。扱う環境は、Windows搭載パソコンである。金子研究室では、Python 3.12.10を推奨する。

[Windows での Python 3.12 のインストール手順を見るには、ここをクリック]

Windows での Python 3.12 のインストール

以下のいずれかの方法でPython 3.12をインストールする。Pythonがインストール済みの場合、この手順は不要である。

方法 1:winget によるインストール

インストールコマンドの実行方法

管理者権限コマンドプロンプトを起動する(手順:Windowsキーまたはスタートメニュー → cmd と入力 → 右クリック → 「管理者として実行」)。そして、コマンド全体をコマンドプロンプトにコピー&ペーストする。

--scope machine を指定することで、システム全体(全ユーザー向け)にインストールされる。このオプションの実行には管理者権限が必要である。インストール完了後、コマンドプロンプトを再起動するとPATHが反映される。

REM Python 3.12 をシステム領域にインストール
winget install --id Python.Python.3.12 -e --scope machine --silent --accept-source-agreements --accept-package-agreements --override "/quiet InstallAllUsers=1 PrependPath=1 Include_test=0 Include_pip=1 Include_launcher=1 InstallLauncherAllUsers=1 TargetDir=\"C:\Program Files\Python312\""
if not "%ERRORLEVEL%"=="0" ( color 0c & echo Python 3.12 のインストールに失敗しました & ping 127.0.0.1 -n 6 >nul & color )

REM Python と Scripts を PATH 先頭に追加
powershell -NoProfile -Command "$p='C:\Program Files\Python312'; $s=\"$p\Scripts\"; if(Test-Path $p){$k=[Microsoft.Win32.Registry]::LocalMachine.OpenSubKey('SYSTEM\CurrentControlSet\Control\Session Manager\Environment',$true); $c=$k.GetValue('Path','',[Microsoft.Win32.RegistryValueOptions]::DoNotExpandEnvironmentNames); $t=$k.GetValueKind('Path'); $new=$c; if((';'+$new+';') -notlike \"*;$p;*\"){$new=$p+';'+$new}; if((';'+$new+';') -notlike \"*;$s;*\"){$new=$s+';'+$new}; if($new -ne $c){$k.SetValue('Path',$new,$t)}; $k.Close()}"

REM 現在のセッションにも反映(システムPATHを再取得して連結)
for /f "usebackq tokens=2,*" %A in (`reg query "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v Path`) do set "PATH=%B"

REM pip / wheel の更新
python -m pip install --no-user -U pip wheel
if not "%ERRORLEVEL%"=="0" ( color 0c & echo pip / wheel の更新に失敗しました & ping 127.0.0.1 -n 6 >nul & color )

方法 2:インストーラーによるインストール

  1. Python公式サイト(https://www.python.org/downloads/)にアクセスし、「Download Python 3.x.x」ボタンからWindows用インストーラーをダウンロードする。
  2. ダウンロードしたインストーラーを実行する。
  3. 初期画面の下部に表示される「Add python.exe to PATH」にチェックを入れてから「Customize installation」を選択する。このチェックを入れ忘れると、コマンドプロンプトから python コマンドを実行できない。
  4. 「Install Python 3.xx for all users」にチェックを入れ、「Install」をクリックする。

インストールの確認

コマンドプロンプトで以下を実行する。

python --version

バージョン番号(例:Python 3.12.x)が表示されればインストール成功である。「'python' は、内部コマンドまたは外部コマンドとして認識されていません。」と表示される場合は、インストールが正常に完了していない。

Whisper のインストール(Windows 上)

Windows での Whisper のインストール: 別ページ »で説明

whisper_mic のインストール(Windows 上)

  1. whisper_mic の前提ソフトウエアのインストール
  2. 管理者権限コマンドプロンプトを起動する (手順:Windowsキーまたはスタートメニュー → cmd と入力 → 右クリック → 「管理者として実行」)。そして,次のコマンドを実行
    python -m pip install --no-user -U SpeechRecognition numpy tqdm more-itertools transformers ffmpeg-python click pyaudio pydub
    
  3. whisper_mic のインストール

    Windows で,管理者権限コマンドプロンプトを起動する (手順:Windowsキーまたはスタートメニュー → cmd と入力 → 右クリック → 「管理者として実行」)。そして,次のコマンドを実行

    python -m pip install --no-user -U whisper-mic
    
  4. faster-whisper のインストール

    --faster」オプションを使用する場合は,次のコマンドを実行して faster-whisper をインストールしておく.

    python -m pip install --no-user -U faster-whisper
    

第2章:マイクに話しかけた言葉を,リアルタイムにAIが認識

実行し,マイクに話しかけてみる.whisper_mic は既定で多言語モデルを使用し,話しかけた言語を自動判別するため,日本語の音声もそのまま認識できる.英語専用モデルを使う場合は「--english」オプションを付ける.より高速に認識したい場合は,「--faster」オプションを付けて faster-whisper 実装を使用する.

管理者権限コマンドプロンプトを起動する (手順:Windowsキーまたはスタートメニュー → cmd と入力 → 右クリック → 「管理者として実行」)。そして,次のコマンドを実行

グラフィックスボードのメモリに余裕があるときは,より高い精度を得るために,「whisper_mic --model medium」や「whisper_mic --model large」を実行できる
whisper_mic --model large --faster

(夏目漱石の「こころ」の冒頭を読み上げた結果)
whisper_mic --model small --faster

(夏目漱石の「こころ」の冒頭を読み上げた結果)