架空のコンピューターを自宅でインタラクティブなプロジェクトに変える方法を紹介してくれたRelfWolfに感謝します。彼のDr. Arnim Zola制作動画では、プリント製の筐体、ZimaBoard 2、Ollama、Home Assistantを組み合わせ、話しかけた質問にキャラクターとして答える端末を作り上げています。
このプロジェクトでは、複数の独立したシステムを組み合わせています。Ollamaがローカルハードウェア上で言語モデルを実行し、Home Assistantが会話を調整し、ESPベースのデバイスがマイクとスピーカーを提供します。画面上のアニメーションする顔が、そうした応答に物理的な存在感を与えます。
この組み合わせにより、この制作はMarvelに着想を得たプロップの域を超えた意味を持ちます。コンパクトなホームサーバーで音声インターフェースを支える方法、小型モデルに統合機能を過剰に処理させると何が起こるか、そして最も説得力のある音声が必ずしも最も使いやすい選択肢とは限らない理由を探っています。
始める前に:組み立てとデバッグの手順を確認するには、動画全編をご覧ください。これはすぐにインストールできるキットではなく、実験的な制作の記録としてご覧ください。筐体の寸法、デバイス設定、ネットワークアドレスは、使用するコンポーネントによって異なります。
この制作について:以下では、RelfWolfのデモンストレーションと、テスト後に行った変更を紹介します。彼のローカル会話環境ではChatGPTを使用していません。一方、ビジュアル素材はAI画像・動画ツールで別途作成されています。完成した端末は依然としてプロトタイプであり、筐体、音声、応答速度については今後も改良が予定されています。
RelfWolfのDr. Zola AI端末が実際に行うこと
この端末は、音声をローカルでホストされた言語モデルの応答に変換します。Home Assistantがマイクデバイスから音声を受け取り、文字起こしした言葉をOllamaに渡し、生成された返答を音声合成にかけてからスピーカーに音声を返します。
RelfWolfは、キャラクターを説明するシステムプロンプトを会話エージェントに設定しています。また、カスタムのウェイクフレーズと、リスニング中と発話中でアニメーションが切り替わる画面も設定しているため、別のコンピューターインターフェースではなく、端末そのものとつながっているような操作感になります。
会話中、システムは次の処理を行います。
- カスタムウェイクフレーズを検出し、マイクによるリスニングを開始します。
- 発話されたメッセージを会話エージェント用のテキストに変換します。
- ZimaBoard 2上のOllamaを使用して返答を生成し、その返答を音声に変換します。
- 音声を再生しながら、ディスプレイを発話アニメーションに切り替えます。
再生が終わると、画面はアイドルループに戻ります。パネルのライトによって各段階が可視化され、ターミナルの電源が入っているか、音声を聞き取っているか、リクエストを処理しているか、発話中かを示します。
開始前に必要なもの
RelfWolfのビルドには、筐体、ネットワーク、音声ソフトウェアにわたる準備が必要です。使用するコンポーネントは次のとおりです。
- ZimaOSを実行する16GB RAM搭載のZimaBoard 2
- Ollamaとローカルにダウンロードした言語モデル
- 音声パイプラインを設定済みの、動作するHome Assistant環境
- ESPHomeを使用するESPベースのマイクおよびスピーカーデバイス
- ディスプレイ、操作パネルのスイッチ、ボタン、インジケーターLED
- ケースに適した印刷済み筐体、取り付け金具、配線、スピーカー
このワークフローでは、マイクデバイス、Home Assistant、Ollamaサーバーが通信できる必要があります。電子部品を筐体に取り付ける前にこれらの接続をテストし、使用する実際のコンポーネントに照らしてディスプレイの寸法とコネクターの位置を確認してください。
このようなローカルAIターミナルにZimaBoard 2が適している理由
RelfWolfは、ターミナル内部のコンピューターとしてZimaBoard 2を選びます。16GB構成なら、デスクトップタワーを中心にプロジェクトを組み立てることなく、ローカル言語モデルのテスト、ZimaOSによるOllamaの管理、キャラクターディスプレイの駆動を行えるコンパクトなプラットフォームを確保できます。
このデモでは、メモリ容量だけでは体験が決まらない理由も示されています。モデルの負荷、冷却、Home Assistantの設定、音声生成のすべてが、ユーザーが回答を待つ時間に影響します。
パート1: ターミナル筐体と操作パネルを組み立てる
最初のパートでは、アシスタントに物理的な形を与えます。RelfWolfは、画面と操作パネルを備えたレトロコンピューターの筐体を設計し、組み立て用に印刷パーツを準備します。
ステップ1: 筐体を設計して印刷する
ディスプレイと内部ハードウェアの実寸に合わせて筐体を設計します。RelfWolfの経験から、コネクターの配置は画面の見えるサイズと同じくらい重要だと分かります。ディスプレイのモデルが少し違うだけで、後の組み立てで予想外のケーブルのクリアランス問題が発生します。
ステップ 2:操作部品と取り付けポイントを準備する
ケースを閉じる前に、コントロールパネル上でスイッチ、ボタン、LED、配線を組み立てます。ねじ式インサートにより、パネルをねじで固定し、電子部品のテスト中に再び取り外すことができます。
ステップ 3:ディスプレイを取り付け、ケーブルのクリアランスを確認する
画面を設置位置に置いた状態でHDMI接続をテストします。ケーブルが筐体と干渉する場合、RelfWolfは直角HDMIアダプターを使って接続を収め、すぐに筐体を設計し直したり、長い印刷サイクルをやり直したりするのを避けます。
ステップ 4:フロントパネルを固定する
用意したコントロールパネルを端末の前面にはめ込み、インサートにねじで固定します。ソフトウェア、音声、ディスプレイを組み合わせてテストし終えるまで、内部の電子部品にはアクセスできる状態にしておきます。
組み立てたシェルは端末らしい外観を形作りますが、まだ筐体にすぎません。次の作業は、コンピューターがローカルで応答を生成し、その応答をマイクとスピーカーに接続できるようにすることです。
パート 2:ZimaOSとOllamaでローカル会話エージェントを実行する
で 6:01RelfWolfはローカルAIハードウェアを紹介します。まずコマンドラインでモデルをテストし、その後ZimaOSのインターフェースに移動してOllamaをHome Assistantに接続します。
ステップ 1:ZimaBoard 2でOllamaをテストする
音声パイプラインを追加する前に、まず直接テキストでやり取りします。RelfWolfはコマンドラインのテストですぐに応答を受け取り、追加の連携を加える前に、ボードでモデルを実行できることを確認します。
この最初の結果は、後で役立つ基準になります。同じプロジェクトがHome Assistant経由で遅くなった場合、ボードではローカルAIをまったく実行できないと決めつけるのではなく、連携によってリクエストに何が追加されたのかを調査できます。
ステップ 2:ZimaOSでOllamaをセットアップする
動画で紹介されているように、ZimaOSのアプリケーションインターフェースを使ってOllamaをインストールおよび管理します。別のサービスが会話バックエンドとして利用するには、モデルが利用可能で応答している必要があります。
RelfWolfの目標は、会話モデルを自分のハードウェア上で実行することです。ZimaOSがアプリケーション管理インターフェースを提供し、Ollamaがローカルモデルとその応答を処理します。
ステップ 3:Home AssistantをOllamaサーバーに接続する
Home AssistantにOllama統合を追加し、サーバーのローカルアドレスを指定します。Ollamaを会話に使用するAssistエージェントを作成すると、Home Assistantから入力したメッセージがZimaBoard 2上で実行されているモデルに届くようになります。
ステップ4:キャラクターを設定し、不要な処理を減らす
キャラクターの振る舞いを定義するシステムプロンプトを設定し、メッセージを入力してテストします。
RelfWolfによる最初の統合テストでは、CPU使用率が100%に達し、温度が80°Cを超え、返信に予想以上の時間がかかります。小型ファンで温度は下がりますが、返されたJSONから別の問題が明らかになります。スマートホーム制御の情報がモデルにとって負荷になりすぎていたのです。関連する制御オプションを無効にすると、会話がより効果的に機能します。
ステップ5:音声を追加する前に会話を確認する
Home Assistantでテキストテストをもう一度行い、返信がキャラクタープロンプトに従っていることを確認します。これにより、次に行うマイク、ウェイクワード、スピーカーの設定から、言語モデルの統合を切り分けて確認できます。
この改善は、今回の構成と会話に重点を置いた用途に特化したものです。RelfWolfはキャラクターにスマートホーム機器を操作させる必要がないため、その余分なタスクを削除することで、モデルが回答に集中できるようになります。
パート3:ウェイクワード、音声、アニメーションする顔を追加する
最後の工程では、動作する会話エージェントを物理端末に接続します。ESPHomeでマイクとスピーカーをHome Assistantに公開し、カスタムopenWakeWordモデルによって、キャラクター名を呼びかけるとRelfWolfがアシスタントを起動できるようにします。ウェイクフレーズを学習させ、生成されたファイルをダウンロードして、Home Assistantの設定に追加します。
次に、より自然な音声を実現するためKokoroをテストし、短いビジュアルループを2つ作成します。1つは待機アニメーション、もう1つは発話アニメーションです。小さなプログラムが起動時に待機ループを再生し、Home Assistantの再生アクティビティに応じてクリップを切り替えます。ESPHomeはパネルのインジケーターをアシスタントの状態に接続し、小さなテスト用スピーカーはより大きな5Wスピーカーに置き換えます。
完全な組み立てにより、個別のテストでは明らかでなかった問題が浮き彫りになる。Ethernetケーブルを別のネットワークポートに移すと、ボードのアドレスが変わり、接続が切れる。また、ディスプレイは聞こえる音声が始まる前に発話ループを開始する。再生トリガーを調整した後、Kokoroによって全体の待ち時間が20秒を超えるため、RelfWolfはより高速な元の音声モデルに戻す。
基本音声 vs Kokoro vs 最終構成
| 音声設定 | 主な利点 | 主な制限 | 構築における役割 |
|---|---|---|---|
| 元の音声モデル | デモでのより高速な音声生成 | 初期の音声はありふれて聞こえる | 初期テストと最終的に動作したターミナル |
| Kokoro | より自然な音声オプション | 記録されたテストで、音声生成におよそ9秒の遅延を追加 | 音声品質の実験 |
| 最終統合構成 | より高速な音声に、キャラクタープロンプト、ウェイクフレーズ、画面を組み合わせる | 音声品質と応答時間にはまだ改善が必要 | 完成したプロトタイプのデモ |
重要なパフォーマンス、ネットワーク、同期の制限
完成した会話は、各部品が連携できることを示しているが、すべてのモデルや構成で応答時間が一定であることを証明するものではない。RelfWolfのテストでは、統合によって作業量が大幅に増える可能性があり、言語モデルが回答を終えた後も音声生成が遅いままになる場合があることが示されている。
- 会話全体を計測する。 ユーザーは、回答を聞くまで音声認識、モデル推論、音声生成を待つ。
- エージェントに割り当てられたタスクを確認する。 不要なスマートホーム制御情報が、この特定の会話設定で問題を引き起こした。
- 負荷時の冷却を監視する。 追加したファンにより、その後のテストでは報告温度が60℃台半ばまで低下した。
- サーバーアドレスを一貫させる。 ネットワークポートの変更により、ターミナルが使用していた接続が中断された。
- アニメーションを聞こえる再生音声に合わせましょう。 スピーカーイベントが早く発生したからといって、生成された音声がすでに再生されているとは限りません。
- 遅延を考慮して音声品質を選びましょう。 RelfWolfは、最終的なインタラクションにはより高速な元のモデルを選びました。
ローカルAI音声端末のトラブルシューティング
組み立て後に端末が動作しない場合は、RelfWolfのテスト中に問題の原因となった同じ3つの接続を確認してください。
- 特にネットワークケーブルを移動した後は、Home Assistantが正しいOllamaサーバーアドレスを参照していることを確認してください。
- 以前は素早かったモデルが遅くなったり、予期しない構造化出力を返したりする場合は、会話エージェントの設定を確認してください。
- 顔が動き始めてからスピーカーが音を出す場合は、音声と再生のログを確認してください。
モデルが返答を完了する時刻と、実際に音声が始まる時刻も比較してください。実演時のログでは、この2つは別々の遅延でした。各コンポーネントを個別にテストしてから、すべてを筐体内に組み込んだ状態で、完全な音声会話をもう一度行ってください。
コンパクトなホームサーバーが架空の端末に動作する音声機能をもたらす
RelfWolfのプロジェクトは、キャラクターをモチーフにした筐体を、実際に動作するローカルAIインターフェースへと変えます。その結果は、印刷されたケースだけでなく、モデル、音声パイプライン、物理コントロール、ディスプレイの間の連携にも左右されます。
ZimaBoard 2がローカルコンピューティングの基盤を提供し、ZimaOSがアプリケーション管理を担い、Home Assistantがインタラクションを調整します。最も役立つ教訓は、テスト中に行われた変更から得られます。会話エージェントの負荷を減らし、ネットワークアドレスを確認し、再生タイミングを修正し、より高速な音声モデルを選択することです。
RelfWolfによるDr. Zolaの完全な制作記録を見て、製作、デバッグ、最後の会話までを追ってみましょう。最後の評価からは、筐体の改良、印刷品質の向上、音声と応答時間のさらなる改善の余地があることが分かります。
ローカルAIを試したり、音声端末を作ったり、ZimaハードウェアとHome Assistantを組み合わせたりしているなら、ZimaSpaceコミュニティにアクセスして、構成を共有し、次に改善したい部分について話し合いましょう。
Zimaキャンペーンハブ
もっと読む

Rez TechがZimaBoard 2で自分専用のパーソナルクラウドを構築する方法
Rez Techは、ZimaBoard 2、2台のローカルドライブ、RAID 1、ZimaOSを使ってパーソナルクラウドを構築し、ファイルアクセス、4K HDRメディア、コンパクトなNAS構成をテストします。
Silicon SteakがZimaBoard 2でホームラボを小型化
Silicon Steakは、ZimaBoard 2がはるかに大型のホームラボマシンの代替となるかを検証し、ストレージ、メディア再生、Minecraft、Pi-hole、セルフホストアプリ、ZimaOSの管理をテストしています。

Smart LifeがZimaBoard 2でプライベートクラウドを構築する方法
Smart LifeはZimaBoard 2を、スマートフォンの写真や動画を保存する家庭用の拠点に変えます。ハードウェアの組み立て、ZimaOSのストレージ設定、スマートフォンの接続、自動バックアップのオプションを紹介します。


