google home notifierの声が可愛くないのでなんとかする

Pocket
LINEで送る
はてなブックマーク - google home notifierの声が可愛くないのでなんとかする

(google home notifierの声を変えたいだけの人は読み飛ばしてください)

年末安かったのでGoogle Home miniを買いました。

最初なのであんまりできることないだろうなーと思いつつ、こういう流行り物ガジェットは触っておきたいものです。

で、嬉しい誤算だったのは Google Homeはかなりカスタマイズというか、自由にハックできるということです。
アレクサさんもIFTTTと連携したりは出来るんですが、もともと想定されてないことだとほとんどできないんですよね・・・。

アレクサと比べて特にGoogle Homeの一番いいところというのは、ユーザーがゴニョゴニョすることで自由に喋らせられるところです。
個人的には、この1点でアレクサと大きく差が付いています。

  • 任意のタイミングで自分にお知らせしてくれる
    • 雨が振りそうになったら話してくれるとか
  • 自分で作ったコマンドで何かしてくれる
    • 公式に対応していないリモコンで「6時間後に寝室のエアコンを付けて」みたいな複雑な命令が出せる

まあそんなこんなでとても便利なのですが、1つ問題がありました。

Google Homeに喋らせるライブラリが google home notifier(ghn)というものでして、先人が作ってくれたグレートなやつです。
ただ問題は、声がすごい微妙ということなんですよね・・・。

通常のGoogle Home、アレクサが喋る声は機械音声ですがかなり自然でいい感じです。
が、ghnで喋らせると一昔前のの機械音声になってしまいます。

ということで、これをなんとかしたい(した)という話です。

広告

どうして google home notifierだと変な声になるのか

これはghnがGoogle翻訳でも使われているAPIを使って音声を作り、それを送って喋らせているからです。
なのでどれくらい変かはGoogle翻訳で適当な文字列を入れると聴くことが出来ます。

じゃあ、別のAPIで音声ファイルを作って、それを喋らせればいいんじゃないか?と考えました。

ていうことで探してみました。結果的にいうと、VoiceTextが最高です。

今までの機械音声で聞いたことのない、ほんとの声優さんに喋ってもらってる感じだと思いました。
下のサイトでは文、感情を自由に設定してでしゃべらせることができるので、ぜひ Hikariちゃんで感情を喜びマックスにして聞いてみてください。

最高なのはもう1つ、APIが無料で使えることです(商用不可など制限あり)

ちなみにDocomoのAPIでもVoiceTextが使えるのですが、感情表現が付けられないのでパスしました。

てことで、これを使います。

google home notifierで VoiceTextを使う

自分で google home notifierを改造して使えるところまでやったのですが・・・うちで動かす
サーバーが NAS上ということで、普通の人には関係ない改造が必要でした。
(DNSライブラリがNAS上でどうしても使えなかったので、直IP専用にしたのと、音声ファイルを返す部分を実装した)

で、自分で作ってから見つけたのですが、まさに同じことを考えて同じ方法を使った方がおられました。

この方の方法だと単純に入れ替えるだけで使えると思います・・・が、音声ファイルを
返す部分のみちょっと実装しないといけないかもしれません。

自分の改造の場合だとNAS上にファイルを生成するようにして、ファイルを返す部分をexample.jsにを実装してました。

もう一つ最近見た、ちょまどさんも同じ方法のようですね。

こちらはAzureサーバーに音声ファイルを置いてGoogle Homeからアクセスする方法です。

感想

唯一の不満が解消されて、Google Homeがしゃべるのが楽しみになりました。
むしろすべてこの声で喋って欲しいです。

ちなみに喋らせるときはこちらの方法を使っています。

sayコマンドを作ってVoiceText+google home notifierで喋らせるようにし、IFTTT、Slack経由で自由に喋らせます。

上記ライブラリ方法でシステムを作るとGoogle Homeでできることがものすごく柔軟に設定できて、これも最高です。

ということで、Google HomeにVoiceTextで喋らせるのはとてもオススメです。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*