SmartSpeaker - YUKAI/codama-doc-r0 GitHub Wiki

オリジナルのスマートスピーカーを作る

codamaの基本的な使い方を学んだ後は、応用例としてオリジナルのスマートスピーカーを作ってみましょう。今回は、話しかけると英語で返答するスマートスピーカーを制作します。

具体的には、オリジナルのウェイクアップ・ワードを作成し、話しかけた内容をテキストに変換、ChatGPT APIを使って返答内容を生成、Google Cloudを使って音声合成し、スピーカーで再生します。

1. Google Cloud Platformのアカウント作成

Google CloudのText-to-Speech APIを使って音声合成するために、まずGoogle Cloud Platformでアカウントを作成しましょう。

Google Cloud Platformの「無料トライアル」をクリックし、Googleアカウントでログインします。 必要な情報を入力して登録を完了しましょう。

2. Google Cloud Text-to-Speech APIを有効にする

Google Cloud Platformのアカウントを作成できたら、音声合成するためのAPIを有効にしましょう。 こちらのドキュメントに従ってText-to-Speech APIを有効にしてください。

secret-key.jsoncodama-doc-r0/examples/smart_speakerディレクトリに保存してください。

3. プログラムの作成

オリジナルのスマートスピーカーを作るためのプログラム例はcodama-doc-r0/examples/smart_speakerディレクトリにあります。

  • api.py:OpenAI、Google CloudのAPIを使うためのプログラム
  • audio.py:録音や再生など、音声データを扱うためのプログラム
  • main.py:スマートスピーカーを使うための全体のプログラム

main.py内のCHAT_CHARACTERでChatGPTのキャラクターを設定できるので、スマートスピーカーの個性を出すことができます。

今回は簡単な英語で返答するようにしたいので次のように設定していますが、お好みのキャラクター設定に変更してください。

CHAT_CHARACTER = '''あなたは幼児向け英会話教室の教師です。
全て英語の歌にして返答します。必ず3行で返答します。
英単語は30words以上50words以内で返答します。行末には必ずピリオドを打ちます。
中学生でもわかるような簡単な英単語だけを使ってください。'''

4. プログラムの実行

codama-doc-r0/examples/smart_speaker/main.pyを実行すると次のような流れになります。

  1. 「こだま」と呼びかけると起動
  2. 3秒間の録音開始
  3. 話しかけた内容がWhisper APIによってテキストに変換される
  4. 変換されたテキストをChatGPT APIに送信し、返答が生成される
  5. 返答内容をGoogle Cloud Text-to-Speech APIに送信し、音声合成されて音声データが返ってくる
$ python main.py

codama2