音声文字変換(speech to text)の実装には様々なサービスがありますが、ailia SDKを使えば複数のモデルを数分で簡単に試すことができます。
この記事は、以下のような方におすすめです:
● 音声文字変換の各種モデルを実際に試してみたい方
● プログラミング初心者でAIに興味がある方
● 音声文字変換を自社サービスに組み込みたい方
本記事では、Apple Silicon搭載Macで、Pythonを使って環境構築から複数の音声文字変換モデルの実践までを10分で実装する手順を解説します。

1. ailia SDKとは?
AIモデルの実装を簡単に行えるSDKです。以下の特徴があります:
- 高速な推論エンジンによる、スムーズな実行
- 画像認識、物体検出、姿勢推定など、370以上の豊富な事前学習済みモデル
- Mac、Windows、Linux、組み込みボード(Jetson、Raspberry Pi)まで対応したクロスプラットフォーム
- 多言語対応(Python/C++/Unity(C#)/Java(JNI)/Kotlin/Rust/Flutter)
- GPU対応(CUDA、Vulkan、Metal)
2. 環境構築(所要時間:約2分)
動作条件
- Python 3.6 以降
インストール手順
- まず、ailia SDKをインストールします:
pip3 install ailia
- サンプルコードをダウンロードして、移動します。:
git clone https://github.com/axinc-ai/ailia-models
cd ailia-models - 依存ライブラリをインストールします:
pip3 install -r requirements.txt
pip3 install -r audio_processing/requirements.txt
3. 標準的なwhisperモデル(所要時間:約3分)
- 概要:
- 標準的なwhisper モデルを使って、音声データからテキスト出力ができます。
- 環境を整えます:
- まずはailia-modelsリポジトリ内の該当フォルダに移動します。
cd audio_processing/whisper
- 次に、以下のコマンドで、環境を整えます。
pip3 install librosa
pip3 install pyaudio - 補足
- pyaudioのインストール時に「portaudio.h file not found」というエラーが発生した場合は、以下のコマンドを試してみてください:
export CFLAGS="-I/usr/local/include"
export LDFLAGS="-L/usr/local/lib"
pip3 install pyaudio - CFLAGSとLDFLAGSの設定: PortAudioライブラリが標準の場所にインストールされていない場合、コンパイラにヘッダーファイルとライブラリファイルの場所を伝える必要があります。CFLAGSとLDFLAGS環境変数を設定することで、これを実現できます。/usr/local/includeと/usr/local/libは、PortAudioライブラリがインストールされている場所に合わせて変更してください。
- pyaudioのインストール時に「portaudio.h file not found」というエラーが発生した場合は、以下のコマンドを試してみてください:
- まずはailia-modelsリポジトリ内の該当フォルダに移動します。
- サンプル音声で試してみましょう:
- 以下のコマンドを実行します。なお、初回実行時は、 onnx ファイルと prototxt ファイルの自動ダウンロードが行われ、多少時間が掛かります
python3 whisper.py
- 無事に実行されれば、下記の出力をターミナル内で確認できるはずです。
[00:00.000 --> 00:10.000] He hoped there would be stew for dinner, turnips and carrots and bruised potatoes and fat mutton pieces to be ladled out in thick, peppered, flour-fattened sauce.
- 以下のコマンドを実行します。なお、初回実行時は、 onnx ファイルと prototxt ファイルの自動ダウンロードが行われ、多少時間が掛かります
- 自分の音声データで試してみましょう:
- ご自身の音声データを audio_processing/whisperフォルダに test.m4a として保存してください。その後、以下のコマンドを実行します。
python3 whisper.py --input test.m4
- 無事に実行されれば、下記のように、テストデータの出力をターミナル内で確認できるはずです。
[00:00.000 --> 00:04.000] マイクテスト、マイクテスト、これはマイクテストです
- ご自身の音声データを audio_processing/whisperフォルダに test.m4a として保存してください。その後、以下のコマンドを実行します。
- いくつかのオプションを試してみましょう:
- model_type オプションを追加すると、モデルタイプを「tiny」、「base」、「small」、「medium」から選択して指定できます。(デフォルトは base)
python3 whisper.py --model_type small
- task translate オプションを指定すると、英語に翻訳できます。
python3 whisper.py --task translate
- V オプションを指定すると、マイクからの入力モードになります。ターミナルに「Please speak something (何か話してください)」と表示されている時にマイクに向かって話します。約 0.5 秒の無音の後に録音を終了し、音声認識を行います。予測結果を表示した後、再び「何か話してください」の待機状態に戻ります。終了する場合は Ctrl+c を入力します
python3 whisper.py -V
- model_type オプションを追加すると、モデルタイプを「tiny」、「base」、「small」、「medium」から選択して指定できます。(デフォルトは base)
4. 軽量のwhisperモデル(所要時間:約3分)
- 概要:
- Distil-Whisperは、Whisperの軽量化版モデルです。主な特徴は:
- 軽量化:元のWhisperモデルと比較して、パラメータ数が大幅に削減されています。これにより、モデルのサイズが小さくなり、メモリ使用量や計算コストが低減されます。また、軽量化により、リソースが限られた環境(例えば、モバイルデバイス・組み込みシステム・リアルタイム音声認識・リソース制約のある環境など)でも音声認識を実行しやすくなります。
- 高速化:モデルの軽量化に伴い、推論速度が向上しています。これにより、リアルタイムに近い音声認識が可能になります。また、高速化は、大量の音声データを処理する際にも役立ちます。
- 性能維持:軽量化と高速化を実現しつつ、元のWhisperモデルと同等の音声認識精度を維持するように設計されています。これにより、性能を犠牲にすることなく、より効率的な音声認識が可能になります。
- 知識蒸留:Distil-Whisperは、知識蒸留という技術を用いて学習されています。これは、大きなモデル(教師モデル)の知識を小さなモデル(生徒モデル)に転移させる手法です。この手法により、軽量なモデルでも高い性能を発揮できます。
- Distil-Whisperは、Whisperの軽量化版モデルです。主な特徴は:
- 環境を整えます:
- まずはailia-modelsリポジトリ内の該当フォルダに移動します。
cd audio_processing/distil-whisper
- 次に、以下のコマンドで、環境を整えます。
pip3 install soundfile
- まずはailia-modelsリポジトリ内の該当フォルダに移動します。
- サンプル音声で試してみましょう:
- 以下のコマンドを実行します。なお、初回実行時は、 onnx ファイルと prototxt ファイルの自動ダウンロードが行われ、多少時間が掛かります
python3 distil-whisper.py
- 無事に実行されれば、下記の出力をターミナル内で確認できるはずです。
[00:00.000 --> 00:10.000] He hoped there would be stew for dinner, turnips and carrots and bruised potatoes and fat mutton pieces to be ladled out in thick, peppered, flour-fattened sauce.
- 以下のコマンドを実行します。なお、初回実行時は、 onnx ファイルと prototxt ファイルの自動ダウンロードが行われ、多少時間が掛かります
- 自分の音声データで試してみましょう:
- ご自身の音声データを audio_processing/distil-whisperフォルダに test.wav として保存してください。なお、先ほどインストールしたsoundfile ライブラリは、m4a 形式のファイルを直接サポートしておらず、wav, flac, ogg などの形式をサポートしているので、同形式へ変換する必要があります。変換には、ffmpeg などのツールを使用できます。
ffmpeg -i test.m4a test.wav
- その後、以下のコマンドを実行します。
python3 distil-whisper.py --input test.wav
- ご自身の音声データを audio_processing/distil-whisperフォルダに test.wav として保存してください。なお、先ほどインストールしたsoundfile ライブラリは、m4a 形式のファイルを直接サポートしておらず、wav, flac, ogg などの形式をサポートしているので、同形式へ変換する必要があります。変換には、ffmpeg などのツールを使用できます。
5. 日本語に最適化されたwhisperモデル(所要時間:約2分)
- 概要:
- Kotoba-Whisperは、日本語の音声認識に最適化されたモデルです。
- 環境を整えます:
- まずはailia-modelsリポジトリ内の該当フォルダに移動します。
cd audio_processing/kotoba-whisper
- 次に、以下のコマンドで、環境を整えます。
pip3 install librosa
- まずはailia-modelsリポジトリ内の該当フォルダに移動します。
- サンプル音声で試してみましょう:
- 以下のコマンドを実行します。なお、初回実行時は、 onnx ファイルと prototxt ファイルの自動ダウンロードが行われ、多少時間が掛かります
python3 kotoba-whisper.py
- 無事に実行されれば、下記の出力をターミナル内で確認できるはずです。
INFO kotoba-whisper.py (664) : ちょっと見ていきましょう。
- 以下のコマンドを実行します。なお、初回実行時は、 onnx ファイルと prototxt ファイルの自動ダウンロードが行われ、多少時間が掛かります
- 自分の音声データで試してみましょう:
- ご自身の音声データを audio_processing/kotoba-whisperフォルダに test.wav として保存してください。その後、以下のコマンドを実行します。
python3 kotoba-whisper.py --input test.wav
- ご自身の音声データを audio_processing/kotoba-whisperフォルダに test.wav として保存してください。その後、以下のコマンドを実行します。
6. まとめ
わずか10分で、Whisperとその派生モデルによる音声文字変換を実装できました!
ailia SDKでは、この他にもdeepspeech2、reazon_speech、reazon_speech2など、複数の音声文字変換モデルを試すことができます。370以上の事前学習済みモデルを活用でき、画像認識、物体検出、自然言語処理など幅広い分野に対応しています。
「高速」「使いやすさ」「豊富なモデル」を特徴とするailia SDKは、AIを実装する際の強力なツールとなるでしょう。ぜひ、ご自身の開発プロジェクトでお試しください。
7. 参考リンク

土橋克寿
証券会社、ビジネス誌副編集長を経て2013年に独立。欧米中印のスタートアップ取材や、各国首脳・テック企業幹部へのインタビューを多数実施。Yahoo!ニュース エキスパートなど国内外メディアで執筆。2018年より株式会社クロフィー代表取締役として、AI開発・PRコンサルティングなどを手掛ける。
https://news.yahoo.co.jp/expert/authors/dobashikatsutoshi
https://x.com/dobatty