ATOM Echo でTTSを堪能

アバター画像 お父ちゃん  2020.6.19 
Home > IoT > ATOM Echo でTTSを堪能
すき 0
うんこ 0

さて前回はM5Stack ATOM Echoの基本動作を楽しみ、
サンプルコード StreamHttpClient_ECHO でスピーカをショート破壊するというエキサイティングな経験をしました。

ATOM Echo を初期堪能

ここではスピーカを交換して、TTS (Text to Speech) をストリーミング再生できたのでご報告します。

尚、マネして故障してもHomeMadeGarbageは保証できませんのであしからず。
以下のような危険がございます。

  • ATOM Echo内蔵スピーカの発熱、破壊
  • ATOM Echo 筐体の溶解、IC熱破壊
  • 電源供給側 (PC, USB電源アダプタなど) の過電流破壊

HomeMadeGarbageは特殊な訓練を受けております。

 

 

 

ATOM Echo 内蔵スピーカ

スピーカの発熱・故障問題につきまして公式の発表がございました。

内蔵スピーカの許容入力 絶対最大定格が0.7Wとのことですね。

んで搭載アンプ  NS4168が5V電源で2.5W出力なんですよね。
そりゃ壊れるわ。

前回、交換した手持ちのアンプも0.5Wでしたのでノイズもすごいし実際アツアツでした。。。
筐体から出して使用していたので、熱がこもってのショート不良には至りませんでしたが危険ですよね。

スピーカ交換

そこでここでは以下の8Ω-8Wのスピーカに交換しました。

これならアンプからの2.5W出力が来ても安心ですね♪

 

いい感じにストリーミング再生できました!
かわいいATOMに対してサイズがバカでかいけど。。。。

 

TTS概要

ここではTTSに @robo8080さんに紹介いただいたesp8266-google-ttsライブラリを使用しました。
 
このライブラリで”Google 翻訳を使って、喋らせたいテキストから、音声ファイル (mp3) の URL を作る”ことができます。
 

ATOM Echo で esp8266-google-ttsライブラリで生成されたmp3 URLをストリーミング再生すれば、
任意発話のTTSが実現できるという算段です。

参考

TTS動作

早速動作をご覧ください。

BlynkアプリでスマホからテキストをATOM EchoにWiFi介して送信して、
ATOM Echoはテキストを受けて、esp8266-google-ttsライブラリでmp3 URLをゲットしストリーミング再生します。

やっとTTSの第一歩が踏み出せました 😛 

 

Arduinoコード

以下を参考にコーディングいたしました。

 

たなかまさゆきさんのブログを参考にL. 33-35, L. 104でアンプへのI2S入力端子ピンを明確に指定いたしました。

https://lang-ship.com/blog/work/m5stack-atom-echo-spiffs-mp3/

 

音声周りの構成は以下の通り

またesp8266-google-ttsライブラリはhttpsのURLを返すのでL. 94でhttpに変更しています。
httpsでは再生できませんでしたので。

 

おわりに

ここではTTSで任意の発話をストリーミング再生することに成功しました。

最終目標はATOM Echoで以前ラズパイゼロで作ったおしゃべりティラノくんのようなコンシェルジュを制作することですので
次回は定時発話システムの構築やセンサ値の発話を目指したいと思います。

「ATOM Echo でTTSを堪能」への1件のフィードバック

  1. 初めまして
    こちらで勉強させていただいております。
    (念のためatom echoを2台購入しました)

    さて、見よう見まねで作ってみた所、シリアルモニタから下記エラーが出て鵜なくいきません。

    Failed to get TKK. trying again…

    私側の問題なのか、他の問題(例えばgoogleの仕様が変わった等)を切り分けしたく、現状で動作しているかご確認いただけると大変助かります。

コメントはこちらから

メールアドレスが公開されることはありません。コメントのみでもOKです。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください