マイクに話しかけた言葉を,リアルタイムにAIが認識(whisper, whisper_mic, Python を使用)(Windows 上)
【概要】
Windows のパソコンで,マイクに話しかけた言葉を,リアルタイムにAIが認識する方法を紹介する.Whisper と mallorbc の whisper_mic を使用し,マイクからの音声をテキストに変換する.Whisper は音声の文字起こしと翻訳を行うモデルであり,whisper_mic は Whisper でマイクの音声入力を扱えるようにするツールである.Windows 上でのインストール手順を説明し,実行するとマイクに話しかけた言葉が認識される.より高い認識精度が必要な場合は,大きいモデルを選択できる.whisper_mic は,faster-whisper(CTranslate2 による高速実装で,同じ精度のまま処理を高速化し,使用メモリも抑える)を用いる「--faster」オプションに対応しており,これを付けて実行すると,より高速に認識できる.実行結果として,夏目漱石の「こころ」の冒頭を読み上げたテキストが得られた例を示す.次を利用して,マイクに話しかけた言葉を,リアルタイムにAIが認識することを実現
- Python
- Whisper
- mallorbc の whisper_mic
(夏目漱石の「こころ」の冒頭を読み上げた結果)
【目次】
【関連する外部ページ】
- Introducing Whisper のページ: https://openai.com/index/whisper/
- Whisper の GitHub のページ: https://github.com/openai/whisper
- whisper_mic の GitHub のページ: https://github.com/mallorbc/whisper_mic
【サイト内の関連情報】
● 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:インストーラーによるインストール
- Python公式サイト(https://www.python.org/downloads/)にアクセスし、「Download Python 3.x.x」ボタンからWindows用インストーラーをダウンロードする。
- ダウンロードしたインストーラーを実行する。
- 初期画面の下部に表示される「Add python.exe to PATH」にチェックを入れてから「Customize installation」を選択する。このチェックを入れ忘れると、コマンドプロンプトから
pythonコマンドを実行できない。 - 「Install Python 3.xx for all users」にチェックを入れ、「Install」をクリックする。
インストールの確認
コマンドプロンプトで以下を実行する。
python --version
バージョン番号(例:Python 3.12.x)が表示されればインストール成功である。「'python' は、内部コマンドまたは外部コマンドとして認識されていません。」と表示される場合は、インストールが正常に完了していない。
Whisper のインストール(Windows 上)
Windows での Whisper のインストール: 別ページ »で説明
whisper_mic のインストール(Windows 上)
- whisper_mic の前提ソフトウエアのインストール
- 管理者権限でコマンドプロンプトを起動する
(手順:Windowsキーまたはスタートメニュー →
cmdと入力 → 右クリック → 「管理者として実行」)。そして,次のコマンドを実行python -m pip install --no-user -U SpeechRecognition numpy tqdm more-itertools transformers ffmpeg-python click pyaudio pydub
- whisper_mic のインストール
Windows で,管理者権限でコマンドプロンプトを起動する (手順:Windowsキーまたはスタートメニュー →
cmdと入力 → 右クリック → 「管理者として実行」)。そして,次のコマンドを実行python -m pip install --no-user -U whisper-mic
- 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 large --faster
(夏目漱石の「こころ」の冒頭を読み上げた結果)
whisper_mic --model small --faster
(夏目漱石の「こころ」の冒頭を読み上げた結果)