AI会話機能ビルドイン製作セットプログラム一式は下記。だんご@GitHub記事で書ききれなかった部分の補足を下記に。Tokenを取得する今回、音声のテキスト化や翻訳機能の全てをGoogleに任せています。Platform(通称GCP)というCloudサービスを提供しています。Consoleを使用します。Tokenを使用するので、GCPで取得する手順を紹介します。Consoleでプロジェクトを作成するGCP1GCPにアクセスします。アカウントを持っていない方は作ってください。コンソールを開くをクリック2下記のようなGCPのページに移動します。・左上のメニューから課金設定を有効化します。・クレジットとして、3万円分Googleからもらえるので有効化しても最初は問題ありません。(3万円クレジットは個人で実験として使う分には使いきれない量の金額になります)3ダッシュボードから使用するAPIを有効化します。APIを使用するのでこの二つを有効化します。APIの承認を受けるために、サービスアカウントの設定を行います。詳細が下記にあるので、手順通りに手続きを進めてください。簡単に流れを説明すると下記のようになります。Tokenが必要です。Tokenを入手するにはふた通りの方法があります。SDKを自分のPCにインストールして使用する下記のチュートリアル通りに進めていけばインストールできます。Tokenを入手することもできます。こちらの方法の方が非常に簡単なのでおすすめです。Shellにアクセスしてください。print-access-tokenアクセストークンをプログラムに組み込みます。AccessTokenの宣言があるので、内容を変更してください。下記のような例になります。"ya29.El_tBAN_1ptLuxTSUpd0EqAmxIBS7M4wKzHb0lKDYC4DbXavLxaIUukk879u9GaFm2KuRQRMNFHhaJR3KbWR5PVaPwMcdNP0m3zcQeucz85dkFd8QkyNBekvKXDmN56RbA"アクセストークンは一定時間が過ぎると認証が切れてしまいます。切れたら随時更新しましょう。今回プログラムが長かったので記事には一切プログラムを載せていません。軽く機能実装方法などに触れた程度でした。APIにデータを投げる時にBASE64でエンコードしますが、このとき使っているAPIはオープンソースのものになります。そのままじゃ使用できなかったのでちょい変した記憶がかすかにありますが、どこを変更したか忘れてしまいました。元のコードは下記にあります。16bitの高速サンプリングをADCで行なっています。・ESP-IDFで用意されているvTaskDelayという遅延関数がありますが、この関数ではus単位のディレイを発生させるのが不可能なので、今回は空のfor文を回してディレイを作っています。・for文の回数はsystemClockによって変える必要があります。私のプログラムの例では240MHzでCPUを回している時の例になります。・ADCは12bitで値を取得するように設定しています。録音の精度を高めるため、ESP32で取得可能な最大bit数で取得しています。・16bitのビット深度で録音する必要があります。1Byte)の変数に6bitずつデータを詰めています。16bit)の箱に12bitを詰めるのでセンターをずらしています。・録音を開始する前に、配列の先頭にヘッダーデータを詰めておきます。今回は決め打ちの値(1秒録音)を入れていますが、本当は動的に変わるようにすべきです。以上の部分までのプログラムが下記になります。}◆HTTPリクエストの分割ESP-IDFでは12000Byte以上のデータを一気にリクエストで送れませんでした。(ちゃんと関数みていないのですが、さらっとみた感じたどそんな制約なかったような...)そのため、データ量が12000Byteを超える場合はリクエストを分割して送信しています。以上の部分が下記になります。}◆RESPONSの処理HTTPリクエストを送信すると、GoogleからJSONのデータが帰ってきます。これを分解するのですが、今回用があるのは音声がテキスト化されたデータと、翻訳データなので、その部分のみ取り出すような乱暴なプログラムにしています。処理したい方は書き直してください。以上の部分が下記になります。使用する・UARTのchannel0はデバッグ用で使用するので、UART1か2を使用して音声合成ICと通信を行います。・音声合成ICはアルファベットデータしか受け付けないので、ひらがな→アルファベット変換の辞書を用意します。以上の部分が下記になります。HTTPSリクエストのプログラムのままなのでじっくりAPI仕様書と一緒に読むと理解できると思います。コメントをキャンセルメールアドレスが公開されることはありません。WordPress.。