MENU
やすひら
やすひらと申します。
長靴を履いたタヌキ(ITエンジニア)です。
モノ作りの楽しさを発信中。
X(旧Twitter)のフォローもお願いします。

[Python]Whisperを用いた音声認識

Pythonでは、音声認識で音声情報をテキスト情報として認識する技術を利用できます。
Pythonの音声認識は、いくつかの方法がありますが、本記事ではOpenAI社が提供するWhisperを利用して、音声認識を行います。

やすひら

Whisperを用いた音声認識を紹介します

この記事でわかること
  • 音声認識とは
  • Whisperライブラリによる音声認識
  • Whisperライブラリの使い方
目次

音声認識とは

音声認識は、人間の声を解析し、コンピューターが音声情報を理解する技術です。
音声をテキストに変換したり、音声コマンドを通じてデバイスを制御することが可能です。
スマートフォンやスマートスピーカーで音声認識の技術を利用して、音声でデバイスを制御します。

ライブラリをインストール

pipで関連ライブラリをインストールします。

コマンドライン

pip install torch
pip install openai-whisper
sudo apt install ffmpeg

WhisperはPyTorchを利用しているため、インストールします。
Whisperは音声ファイルの変換に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による音声認識の手法を紹介します。

学習モデル

Whisperには、複数の学習モデルがあります。

モデルパラメータ数必要メモリ速さ
tiny39M1GB32x
base74M1GB16x
small244M2GB6x
medium769M5GB2x
large1550M10GB1x

パラメータ数が少ない軽量のモデルの方が高速の傾向があります。
パラメータ数が多いモデルの方が動作は遅いですが、精度が高い傾向があります。

Whisperを動作させるハードウェアのスペックや、必要とする精度や速度に合わせて、モデルを決定すると良いです。

音声ファイルを用意する

音声ファイルを用意して、Whisperで音声認識します。
音声ファイルは、録音するか音声合成で作成する方法が良いと思います。

Pythonで音声を録音する方法を紹介します。

Whisperの種類

Whisperは、OpenAI社が提供するソフトウェアの他に、再構築したソフトウェアが存在します。
Whisperの亜種とも言えるソフトウェアを紹介します。

Faster Whisper

Faster Whisperは、OpenAI社が提供するWhisperを、CTranslate2で再構築したモデルです。
GitHub公開版のWhisperと同様にオープンソースとなっており、誰でも利用することができます。
Whisperよりも最大で4倍高速で動作することができます。

まとめ

Whisperを用いた音声認識の方法を紹介しました。

Whisperを用いた音声認識の方法は
  • PyTorch/ffmpegをインストールする必要がある
  • 学習モデルが複数存在する

音声アシスタントや、テキスト変換(Speech-To-Text)の機能を作成したい場合、音声認識の実装が不可欠です。
Whisperライブラリでは、音声ファイルをテキスト化することができるため、音声情報をインプットに、AIが回答するアプリケーションを作成することができます。

  • URLをコピーしました!
目次