GoogleHome に違う声で喋らせる

yasukawa

2018年11月05日 21:31



google-home-notifier で喋らせたときに気になるのが、独特の間とイントネーション。
日本語に最適化されていることもあり、カタカナを喋らせると「英語を喋る日本人」を完璧になりきった発音も見事としかいいようがないです。でももうちょっと、それっぽい声で語りかけてほしい・・・っていうか、お前の声が飽きたねん。

そんなことを考えていたら、HOYA がリリースした音声合成 VoiceText が個人利用に限り Web API で利用できるとのこと

■VoiceText Web API
https://cloud.voicetext.jp/webapi

無料利用登録するだけで、誰でも利用できます。
まずは自分のサーバに以下のコマンドを入力してみます。

curl "https://api.voicetext.jp/v1/tts" \
-o "test.wav" \
-u "【APIキー】:" \
-d "text=おはようございます" \
-d "speaker=hikari"

wav ファイルができあがっているので、再生してみると「おはようございます」と言っています。
レスポンスも高速で良い感じ。
パラメータでは以下の声セットがあるみたい。一部を除き感情を乗せた声にすることもできます。よくできてる。

日本語 show(男性)
日本語 haruka(女性)
日本語 hikari(女性)
日本語 takeru(男性)
日本語 santa(サンタ)
日本語 bear(凶暴なクマ)

node.js 用にライブラリが公開されています。

https://github.com/pchw/node-voicetext

npm install voicetext でインストール。

google-home-notifier の仕組みを利用して、再生時に API から取得した wav ファイルを再生するように改造します。
識者によるコードが下記。



これで GoogleHome の声を別人にすることができます。前に比べて若干のラグがあるように感じるけど処理能力あげれば良くなるのかも。いろいろ声を試して自分なりに良いと思うものを選ぶのがいいですね。

といいつつ、僕は結局、デフォルトの声に戻しましたが・・・。
なんというか、抑揚にかんしていえばデフォルトが一番自然な気がします。

2018/09/29
GoogleHome が気づいたら時報を喋らなくなっていた。普段の生活だと意外に気づかないものですね。時々、RaspberryPiの熱暴走とか、GoogleHome の IP が変わっちゃった時とか動かなくなる時あるのでそれかなぁと思っていたけど、設定を見直しても問題なかったので、Google側に仕様変更があったみたい。

2018/02/12
Raspberry pi がカーネルパニックで停止、再起動できない状況になってしまったので再インストール。ログ見ても把握できなかったので復旧できないと判断、データを消す覚悟を決めて最初からやり直した。設定覚えてないところあって、涙目。あと、SDカードを変更したら異常にパフォーマンスが良くなった。書き込…

2017/12/07
Google Home などスマートスピーカーで家電をコントロールすることが楽しくなってきた人も多いと思うのですが、いよいよ家電をコントロールする中枢となる司令塔のプログラムを構築していきます。Google Home 関連だと「Nature Remo」というのが対応していて、簡単に家電に接続することができます。Amazon Echo …

2017/11/20
楽しい GoogleHome を利用したスマートホーム化。GoogleHome に(1)音声入力した内容を Line アプリに送る、(2)カレンダーと同期してスケジュールを教えてもらう、(3)時報を勝手に喋らせる、というのができたので、いよいよ次は。GoogleHome に音声命令して家電のコントロールですね。基本的には赤外線リ…

2017/11/16
そういえば、GoogleHome を利用したクリエイティブが面白すぎて、いろいろ活用したいので Raspberry Pi も購入してしまいました。小型コンピュータとしては Arduino を持っていてセンサーの電子制作などに活用しているのですが、周囲がラズパイの方が多いのですよね……。社内で進めている次のサービスもラズパイ…

2017/11/13
Google Home に命令を渡して、思い通りに喋らせる方法です。前回は、Google Home に向かって喋った内容を、Line に送るという方法を実現しました。■伝言を Google Home に声で伝えれば内容をテキストで Line に送る、という機能を作った。とても簡単。今回は、その逆。Google Home にテキストを送り、それ…