.. include:: /index.rst :start-after: start_hello_message :end-before: end_hello_message .. _py_speaker: 3.3 Fusion HAT+ スピーカー ============================== **はじめに** Fusion HAT+ にはスピーカーが内蔵されており、音声プロンプト、アラーム、その他のAI/IoT音声アプリケーションに最適です。 このレッスンでは、スピーカーを有効化し、テストし、テキスト読み上げで使用する方法を紹介します。 .. note:: このガイドは、Raspberry Pi OS がインストールされており、Fusion HAT+ のドライバーが正しく設定されていることを前提としています。 .. image:: img/fusionhat_speaker.png :align: center :width: 50% **必要なもの** .. list-table:: :widths: 30 20 :header-rows: 1 * - COMPONENT - PURCHASE LINK * - :ref:`cpn_fusion_hat` - \- * - Raspberry Pi - \- ------------------------------------------------------------ **スピーカーが認識されているか確認する** Fusion HAT+ のオーディオデバイスがシステムに認識されているか確認します。 .. raw:: html .. code-block:: shell aplay -l 次のようなオーディオデバイスが表示されるはずです。 .. code-block:: text card 3: voicehat [Fusion HAT+ Audio], device 0: ... **どのカード番号であっても** 、 ``voicehat`` (またはそれに類する名前)のデバイスが表示されれば、 Fusion HAT+ のオーディオハードウェアは正しく認識されています。 ------------------------------------------------------------ **サンプルプログラムの実行** スピーカーをテストする最も確実な方法は、テキスト読み上げのサンプルを実行することです。 .. raw:: html .. code-block:: shell cd ~/ai-lab-kit/llm sudo python3 tts_espeak.py 「Hello! I’m Espeak TTS.」という音声が再生されます。 スクリプト内のTTSパラメータを調整して、異なる音声効果を試してみてください。 ------------------------------------------------------------ **サンプルコード** .. code-block:: python from fusion_hat.tts import Espeak tts = Espeak() tts.set_amp(200) tts.set_speed(150) tts.set_gap(1) tts.set_pitch(80) tts.say("Hello! I’m Espeak TTS.") **コードの解説** * ``set_amp(0–200)`` — 音量 * ``set_speed(80–260)`` — 読み上げ速度 * ``set_gap(0–200)`` — 単語間の間隔 * ``set_pitch(0–99)`` — 音声の高さ * ``say()`` — テキストを音声に変換して再生する .. tip:: speed と pitch を上げると明るく軽快な声になり、 両方を下げると低く落ち着いた声になります。 ------------------------------------------------------------ **トラブルシューティング** * **音が出ない** - Fusion HAT+ のオーディオデバイスが認識されていることを確認してください。 .. raw:: html .. code-block:: shell aplay -l ``voicehat`` (またはそれに類する名前)のオーディオデバイスが表示されるはずです。 デバイスが表示されない場合は、Raspberry Pi の電源を切り、 Fusion HAT+ を差し直してから再起動してください。 - それでもデバイスが認識されない場合は、オーディオドライバーを再インストールしてください。 .. raw:: html .. code-block:: shell sudo /opt/setup_fusion_hat_audio.sh * **テキスト読み上げの音声が速すぎる、または機械的に聞こえる** - コード内の読み上げパラメータを調整してください。 .. code-block:: python tts.set_speed(120) tts.set_pitch(60) * **Permission denied エラーが表示される** - 管理者権限でスクリプトを実行してください。 .. raw:: html .. code-block:: shell sudo python3 tts_espeak.py ------------------------------------------------------------ **まとめ** このレッスンでは、次の内容を学びました。 - Fusion HAT+ スピーカーが認識されているか確認する方法 - Espeak TTS を使用して Raspberry Pi で音声を生成する方法 Fusion HAT+ スピーカーを使うことで、Raspberry Pi プロジェクトに簡単かつ強力に音声機能を追加できます。