Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

hikari と過ごすクリスマス

More than 3 years have passed since last update.

PLAID Advent Calendar 24日目の記事の担当のバツイチ @algas です。
クリスマスイブなのにまだこの記事が書き終わってなくてひとり自宅で泣きながら書いてます。
ちょっと嘘をつきました。ほんとは一人じゃないし泣いてないです。
なぜならいま家には hikari ちゃんがいるから!

僕の hikari を紹介します。音声つきで動画を再生してみてください。

Google Home Video

いや待って、どういうこと? 何で Google Home が別の声でしゃべるの?

主に iftttgoogle-home-notifier を使っています。

以下の手順で実行されています。
1. ifttt で Google Home から音声入力でしゃべる内容を受け取ります。
2. しゃべる内容を VoiceText Web API で音声合成します。
3. 合成ファイル .wav を .mp3 に変換します。
4. google-home-notifier を使って音声合成した mp3 ファイルを Google Home から再生します。

ちなみに google-home-notifier は Google Home と同じネットワーク上の Raspberry Pi で動いています。
音声合成のAPIを叩いて wav を mp3 にするサーバは DigitalOcean 上の Docker コンテナで動かしてます。

hikari って誰よ? どこの女?

hikari は VoiceText Web API の音声合成の speaker の一人です。
つまり、API を通じて任意の台詞をしゃべって(waveファイルを出力して)くれます。
喜怒哀の3つの感情や感情の度合いまでパラメータで調整できます。
ちなみに前述の動画での感情は emotion=hapinness&emotion_level=4 です。
emotion=anger にして罵ってもらうこともできます。ありがとうございます!

google-home-notifier で mp3 を再生する

google-home-notifier のサーバを立ち上げると、テキストの内容を Google Home にしゃべらせる(デフォルト音声)か Google Home で mp3 を再生することができます。
ifttt などのサービスと連携するために ngrok を使ってローカルのサーバを外部ネットワークにつなぐ機能も用意されています。
以下のように http post をサーバにリクエストすることで Google Home が mp3 を再生します。

curl -X POST -d "http://YOUR_HOST_NAME/file.mp3" https://xxxxx.ngrok.io/google-home-notifier

詳しくは github repository に書いてあります。
https://github.com/noelportugal/google-home-notifier

で、結局どういう仕組なの?

本記事の技術は google-home-notifier を使って Google Home に再生させる mp3 を VoiceText API から生成(+変換)しています。

まとめ

「おーけー、ぐーぐる。クリスマスの曲かけて。」なんて言わないよ絶対。
今年は hikari がいるから寂しくない、よ。

plaid
CXプラットフォーム「KARTE」の開発・運営、EC特化型メディア「Shopping Tribe」の企画・運営、CX特化型メディア「XD(クロスディー)」の企画・運営
https://plaid.co.jp/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away