はじめに
こんにちは!
ネクスティエレクトロニクス開発部員です。
普段の業務では各種エッジAIデバイスの技術サポートを担当しています。
ここ数年で生成AIは一気に身近な存在となり、その多くは大規模なクラウドサーバーで動作することが一般的になりました。
高度な推論能力や膨大な計算資源を活かせる一方で、ネットワーク遅延やセキュリティ、コストといった課題も指摘されています。
こうした背景のもと、「必要な処理をできるだけデバイス側で完結させる」エッジAIが注目を集めています。
データをエッジデバイス側で処理することで、リアルタイム性の向上、クラウド依存の低減、機密データの保護といったメリットが期待でき、クラウドAIと並行して、エッジAIも急速に進化が進んでいます。
こうしたエッジAIの可能性をより身近に感じていただくために、このコラムではRaspberry Pi 5とRaspberry Pi AI HAT+ 2を使って音声AIアシスタントを動作させる例をご紹介します。
AI HAT+ 2はエッジAIアクセラレータHailo-10Hを搭載しておりINT4で40TOPS(INT8 20TOPS)という高い演算性能を持っています。そのため、LLM/VLM/音声認識といったさまざまな生成AIや認識系のモデルを高速に実行することが出来ます。
実際にエッジデバイス上で実用的な速度の生成AIモデルが動作するのをご覧になれば、これからの製品開発へのアイデアや手掛かりになると思います。
ぜひお試しください!
Raspberry Pi 5の準備
準備するもの
- Raspberry Pi 5
- Raspberry Pi AI Hat+ 2
- SDカード
- マウス、キーボード、モニタ
- USBマイク・スピーカー
- 電源 (USB Type-C)
生成AIのモデルは数GB以上のものが多いため32GB以上のSDカードを用意しておくとよいでしょう。
OSのインストール
Raspberry Pi 5のOSをSDカードに書き込みます。今回はRaspberry Pi Imagerを利用しました。
ソフトをダウンロードしたら起動します。
以下のように項目を選択、入力します。
| 項目 | 選択 |
|---|---|
| Device | Raspberry Pi 5 |
| OS | Raspberry Pi OS (64-bit) |
| ストレージ | 書き込み先のSDカード |
| Hostname | ホスト名 |
| Localisation | Capital city: Tokyo(Japan) |
| User | ユーザー名、パスワード |
| Wi-Fi | 必要に応じて |
| Remote Access | 必要に応じて |
| Raspberry Pi Connect | 必要に応じて |
全て設定が終わったらWRITEをクリックして書き込みます。
Raspberry Pi AI HAT+ 2の取り付け
次にRaspberry Pi AI HAT+ 2をRaspberry Pi 5へ取り付けます。
箱には以下のパーツが入ってます。
- AI HAT+ 2ボード
- I/O延長用ピンヘッダ
- ヒートシンク
- スペーサー、ネジ
まず、ヒートシンクを取り付けましょう。ヒートシンク裏のシートを剥がします。説明カードを見ながら向きを合わせてピンを差し込みましょう。AI HAT+ 2ボードとヒートシンクのRaspberry Piのロゴの向きが一致する方向です。
ピンが差し込みにくい場合は、ヒートシンクを下にして上からボードを押すようにすると差し込みやすいと思います。ボードを壊さないようにピンの周囲を押すようにします。
AI HAT+ 2ボードのフレキシブルケーブルをRaspberry Pi 5のコネクタに差し込みます。取り付けの際にはコネクタの茶色いスライダーを引き上げておきます(力を入れすぎて壊さないように注意!)差し込んだらスライダーを押し込むとケーブルが固定されます。
付属のスペーサーとネジで固定します。これで取り付けは完了です。
AI HAT+ 2(Hailo-10H)実行環境のインストール
AI HAT+ 2にはエッジAIアクセラレータHailo-10Hが搭載されています。このデバイスを制御するためのドライバや各種ツールをインストールしていきます。
1.電源を入れてターミナルを起動します。
ソフトウェアのインストールにネットワーク接続が必要なのでRaspberry Pi 5をWi-Fiまたは有線LANに接続してください。
2.ターミナルで以下を実行します($はターミナルのプロンプトなので入力しません)。パッケージ名が10hではなく、hailo-h10-allなので注意してください。
$ sudo apt update
# ドライバモジュールのビルド、インストールを行うのに必要
$ sudo apt install dkms
# AI HAT+ 2実行環境
$ sudo apt install -y hailo-h10-all
$ sudo reboot
3.再起動したら、ターミナルを起動します。hailortcli scanを実行して以下のように表示されれば無事に実行環境がインストールされています。
$ hailortcli scan
Hailo Devices:
[-] Device: 0001:01:00.0
音声AIアシスタントデモの実行
次にHAILO社が公開しているサンプルアプリケーションを実行してみましょう。
参考リンク:
以下のようなデモが用意されています。
| 名前 | 概要 |
|---|---|
| Agent Tools Example | LLMから様々な機能を呼び出すデモ |
| VLM chat | VLMによるインタラクティブなコンピュータビジョン |
| Voice Assistant | 音声認識、LLMによる音声AIアシスタントデモ |
| Simple LLM Chat | シンプルなLLMのサンプル |
| Simple VLM Chat | シンプルなVLMのサンプル |
| Simple Whisper Chat | シンプルな音声認識のサンプル |
| Hailo Ollama | Open WebUIとHailo-Ollamaの統合サンプル |
この記事ではVoice Assistantを動かしてみます。
サンプルアプリケーションコードの取得とパッケージのインストール
参考リンク:
1.ターミナルで適当なディレクトリへ移動し、ソースコードを取得します。取得したらデモのディレクトリに移動してください。
他の用途でもPythonを利用する場合はパッケージが影響を受けないようにデモ実行専用のPython仮想環境を構築したほうがよいでしょう。
$ git clone https://github.com/hailo-ai/hailo-apps.git
$ cd ./hailo-apps/
# venv_gen_aiという名前のPython仮想環境を作成する
# システムにインストールされたHAILOパッケージを引き継ぐため
# --system-site-packagesを指定する
$ python -m venv --system-site-packages venv_gen_ai
# Python実行環境の切り替え
$ . venv_gen_ai/bin/activate
注意:再起動して実行する際には、最初に仮想環境を切り替えるようにしてください。
2.デモで必要となるライブラリ、Pythonパッケージをインストールします。
$ sudo apt-get install -y portaudio19-dev
# hailo-apps/で実行
$ pip install -e ".[gen-ai]"
3.USBマイク・スピーカーをつないだ状態で次のツールを実行します。 ツールが自動的に接続されているマイク・スピーカーを認識し、録音・再生テストを行います。
$ hailo-audio-troubleshoot
音声アシスタントデモの実行
1.モデルをダウンロードするディレクトリを作成します
$ sudo mkdir /usr/local/hailo
$ sudo chown <ユーザ名>:<ユーザ名> /usr/local/hailo
2.以下のコマンドを実行して、音声アシスタントデモを実行します。初回はモデルダウンロードを行うため時間がかかります。
# 初回は/usr/local/hailoにモデルをダウンロードします
$ python -m hailo_apps.python.gen_ai_apps.voice_assistant.voice_assistant
3.モデルのダウンロードが完了するとアシスタントが起動します。音声区間検出(VAD)機能が有効化されていないので音声入力の開始、終了のタイミングをスペースキーを押して指示します。
では早速試してみましょう。
デフォルトでは英語のみを認識するようになっています。スペースキーを押して"Hello, who are you ?"と音声を入力し、終わったら再度スペースキーを押します。今回は以下のような反応が返ってきました。
動作が確認出来たら'Q'を入力してデモを終了します。
日本語対応
この記事を執筆している時点(2026/01/30)では音声アシスタントデモは以下のモデルを読み込むようになっています。
| モデル名 | タスク |
|---|---|
| Whisper-Base | 音声自動認識 |
| Qwen2.5-1.5B-Instruct | LLM |
どちらも多言語に対応しているモデルなので日本語の入出力が行えるようにしてみましょう。
元のコードをコピーしてvoice_assistant_ja.pyというファイルを作成し、エディタでファイルを開きます。
# 音声AIアシスタントのディレクトリに移動します
$ cd hailo_apps/python/gen_ai_apps/voice_assistant
$ cp voice_assistant.py voice_assistant_ja.py
$ nano voice_assistant_ja.py
ソースコードを以下のように修正します。
変更点
...
def on_audio_ready(self, audio):
self.abort_event.clear()
# 1. Transcribe
- user_text = self.s2t.transcribe(audio)
+ # Whisperの言語コードで日本語(ja)を指定
+ user_text = self.s2t.transcribe(audio, language="ja")
if not user_text:
print("No speech detected.")
return
...
修正したらCtrl-Oで保存し、エディタを終了します。
ではhailo-appsディレクトリへ戻って、音声アシスタントを実行してみましょう。--vadオプションを指定すると音声入力の自動区間検出が有効になり、マイクに話しかけるだけで音声を認識するようになります。
$ python -m hailo_apps.python.gen_ai_apps.voice_assistant.voice_assistant_ja --vad
次のように日本語でのやり取りができるようになりました。
LLMモデルの変更
Qwen2.5-1.5B-Instructの日本語の回答は文字化けが含まれたり少し不自然です。
別のLLMモデルを試してみましょう。以下のリンクからQwen2-1.5B-Instruct.hefをhailo-appsディレクトリへダウンロードします。
次にエディタを開いて、ダウンロードしたモデルを強制的に読み込むように修正します。
$ nano voice_assistant_ja.py
変更点
class VoiceAssistantApp:
...
def __init__(self, debug=False, no_tts=False):
...
if model_path is None:
raise RuntimeError("Failed to resolve HEF path for LLM model. Please ensure the model is available.")
...
- self.llm = LLM(self.vdevice, str(model_path))
+ # 読み込むモデルを指定します
+ self.llm = LLM(self.vdevice, "./Qwen2-1.5B-Instruct.hef")
修正したら再度、音声アシスタントを実行します。
$ python -m hailo_apps.python.gen_ai_apps.voice_assistant.voice_assistant_ja --vad
今回利用したモデルはパラメータ数が1.5Bと小さいため日本語の回答の品質はあまり高くありません。しかし、大きなサイズのモデル提供も予定されており、今後はより自然に日本語でやり取りできるようになるでしょう。
また、Whisper-Baseに音声を入力してからテキストが出力されるまでの時間はおよそ2秒以下と高速です。安価なエッジAIで動作する音声アシスタントとしては十分な性能ではないでしょうか。
ぜひ、手元でお試しいただき、オリジナルのアプリケーション開発にご活用ください!
まとめ
この記事ではRaspberry Pi AI HAT+ 2 を利用して音声認識やLLMといった生成AIモデルを高速に実行する例を紹介しました。AI HAT+ 2に搭載されているHailo-10Hは生成AIだけでなく様々な画像AIモデルを動かすことができます。
モデルは以下のHailo Model Explorer Generative AI/Visionからダウンロードすることができます。
また無償で提供されているHailo Dataflow Compilerを使えばカタログにない任意のモデルを変換することも可能です。Dataflow CompilerはONNXフォーマット、TensorFlow Lite (TFLite) フォーマットに対応しています。
今回紹介したデモ以外にもhailo-appsには外部機能を呼び出すAIエージェントやYOLOやCLIPなどの画像処理AIのサンプルなども用意されていますので、これらを元にすれば独自アプリケーションを短期間で作成することができます。ぜひ、エッジAIを実世界に適用してみてください!
また、ネクスティ エレクトロニクス開発部では Hailo-8やHailo-10HのM.2モジュールやNXP社の i.MX シリーズを使用した製品開発や技術サポートを行っています。i.MX 8やi.MX 95とHailo-8、Hailo-10Hを組み合わせた動作事例などお客様の要望に合わせた様々な製品のご紹介ができますので、お気軽にお問い合わせください。






