Pythonでは、音声認識で音声情報をテキスト情報として認識する技術を利用できます。
Pythonの音声認識は、いくつかの方法がありますが、本記事ではOpenAI社が提供するWhisperを利用して、音声認識を行います。
Whisperを用いた音声認識を紹介します
- 音声認識とは
- Whisperライブラリによる音声認識
- Whisperライブラリの使い方
音声認識とは
音声認識は、人間の声を解析し、コンピューターが音声情報を理解する技術です。
音声をテキストに変換したり、音声コマンドを通じてデバイスを制御することが可能です。
スマートフォンやスマートスピーカーで音声認識の技術を利用して、音声でデバイスを制御します。
ライブラリをインストール
pipで関連ライブラリをインストールします。
コマンドライン
pip install torch
pip install openai-whisper
sudo apt install ffmpeg
Whisperを用いて音声認識する
Whisperを用いて音声認識します。
ソースコード
import whisper
# Whisperモデルのロード
model = whisper.load_model("base")
# 音声ファイルのパス
audio_path = "input.wav"
# 音声認識を実行
result = model.transcribe(audio_path, language="ja")
# 結果を表示
print(result["text"])
Whisperによる音声認識の手法
Whisperによる音声認識の手法を紹介します。
学習モデル
Whisperには、複数の学習モデルがあります。
モデル | パラメータ数 | 必要メモリ | 速さ |
---|---|---|---|
tiny | 39M | 1GB | 32x |
base | 74M | 1GB | 16x |
small | 244M | 2GB | 6x |
medium | 769M | 5GB | 2x |
large | 1550M | 10GB | 1x |
音声ファイルを用意する
音声ファイルを用意して、Whisperで音声認識します。
音声ファイルは、録音するか音声合成で作成する方法が良いと思います。
Pythonで音声を録音する方法を紹介します。
Whisperの種類
Whisperは、OpenAI社が提供するソフトウェアの他に、再構築したソフトウェアが存在します。
Whisperの亜種とも言えるソフトウェアを紹介します。
Faster Whisper
Faster Whisperは、OpenAI社が提供するWhisperを、CTranslate2で再構築したモデルです。
GitHub公開版のWhisperと同様にオープンソースとなっており、誰でも利用することができます。
Whisperよりも最大で4倍高速で動作することができます。
まとめ
Whisperを用いた音声認識の方法を紹介しました。
- PyTorch/ffmpegをインストールする必要がある
- 学習モデルが複数存在する
音声アシスタントや、テキスト変換(Speech-To-Text)の機能を作成したい場合、音声認識の実装が不可欠です。
Whisperライブラリでは、音声ファイルをテキスト化することができるため、音声情報をインプットに、AIが回答するアプリケーションを作成することができます。