.. note::

    こんにちは、SunFounderのRaspberry Pi & Arduino & ESP32愛好家コミュニティへようこそ！Facebook上でRaspberry Pi、Arduino、ESP32についてもっと深く掘り下げ、他の愛好家と交流しましょう。

    **参加する理由は？**

    - **エキスパートサポート**：コミュニティやチームの助けを借りて、販売後の問題や技術的な課題を解決します。
    - **学び＆共有**：ヒントやチュートリアルを交換してスキルを向上させましょう。
    - **独占的なプレビュー**：新製品の発表や先行プレビューに早期アクセスしましょう。
    - **特別割引**：最新製品の独占割引をお楽しみください。
    - **祭りのプロモーションとギフト**：ギフトや祝日のプロモーションに参加しましょう。

    👉 私たちと一緒に探索し、創造する準備はできていますか？[|link_sf_facebook|]をクリックして今すぐ参加しましょう！

.. _3.1.4_py:

3.1.4 テキストから音声へ（TTS）
=================================

はじめに
-----------------

TTS（テキストから音声へ）テクノロジーは多くの場面で接触することができます。このテクノロジーはテキストを自然な音声に変換し、ユーザーに良いインタラクティブな体験を提供します。
このプロジェクトで、Raspberry Piを話すように設定してみましょう。

必要な部品
------------------------------

このプロジェクトで必要な部品は以下の通りです。

.. image:: ../img/audio2.png
  :width: 700
  :align: center

一式をまとめて購入するのが便利です。購入リンクはこちら：

.. list-table::
    :widths: 20 20 20
    :header-rows: 1

    *   - 名前
        - このキットのアイテム
        - リンク
    *   - Raphael Kit
        - 337
        - |link_Raphael_kit|

以下からは各部品を個別に購入も可能です。

.. list-table::
    :widths: 30 20
    :header-rows: 1

    *   - コンポーネントの紹介
        - 購入リンク
    *   - :ref:`cpn_gpio_board`
        - |link_gpio_board_buy|
    *   - :ref:`cpn_breadboard`
        - |link_breadboard_buy|
    *   - :ref:`cpn_audio_speaker`
        - \-

実験手順
------------------------------

**ステップ1:** 回路を組み立てます。

.. image:: ../img/4.1.4fritzing.png
  :width: 800
  :align: center

上記の図に従って回路を組み立てた後、3.5mmのオーディオケーブルをRaspberry Piのオーディオジャックに接続します。

.. image:: ../img/audio4.png
  :width: 400
  :align: center

**ステップ2:** ``espeak`` モジュールをインストールします。

.. raw:: html

   <run></run>

.. code-block::

    sudo apt-get install espeak -y

**ステップ3:** コードの保存されているフォルダに移動します。

.. raw:: html

   <run></run>

.. code-block::

    cd ~/raphael-kit/python/

**ステップ4:** コードを実行します。

.. raw:: html

   <run></run>

.. code-block::

    python3 3.1.4_Text-to-speech.py

コードを実行すると、Raspberry Piが親切な言葉であいさつし、コードを停止するとお別れの言葉を言います。

.. note::

    スピーカーから音が出ない場合は、Raspberry Piが間違ったオーディオ出力（デフォルトはHDMI）を選択している可能性があります。その場合は、 :ref:`オーディオ出力の変更` を行ってヘッドフォンに設定してください。

    スピーカーの音量が低いと感じる場合は、 :ref:`音量調整` が可能です。

**コード**

.. note::

    以下のコードは **修正/リセット/コピー/実行/停止** が可能です。ただし、その前にソースコードの保存先（例： ``raphael-kit/python`` ）に移動する必要があります。

.. raw:: html

    <run></run>

.. code-block:: python

    from tts import TTS

    tts = TTS(engine="espeak")
    tts.lang('en-US')

    def main():
        tts.say('Hello, nice to meet you!')

    def destroy():
        tts.say('See you later')

    if __name__ == '__main__':
        try:
            main()
        except KeyboardInterrupt:
            destroy()

**コード説明**

.. code-block:: python

    from tts import TTS

    tts = TTS(engine="espeak")

TTSクラスをインポートし、オブジェクトを生成します。

.. code-block:: python

    tts.lang('en-US')

言語を設定します。

.. note::
    現在、切り替え可能な言語は英語のみです。

.. code-block:: python

    tts.say("Hello, nice to meet you!")

``tts.say()`` を実行すると、指定したテキストをRaspberry Piが話します。

現象の画像
------------------------

.. image:: ../img/3.1.3audio.JPG
   :align: center
