Raspberry Piから英語でもメッセージを流せるようにしました

先日、Open JTalkを使って Raspberry Piから日本語のメッセージを流せるようにしましたが、調子に乗ってついでに英語もメッセージを流せるようにしました。

ちょっとググって Google翻訳で英語のテキストを音声データに変換する方法を見つけたので、こんな感じのスクリプトを書いて作業終了。
わずか5分で英語のメッセージも喋るようになりました。
#!/bin/bash
say() { local IFS=+;/usr/bin/mplayer -ao alsa -really-quiet -noconsolecontrols "http://translate.google.com/translate_tts?ie=UTF-8&client=tw-ob&q=$*&tl=en"; }
say $*
まあ、Google翻訳なのでオフラインでは使えませんが、音声の品質はかなり良いと思います。


【追記】
よく考えてみれば日本語も言語パラメタを変えるだけで Google翻訳でいけますね。


【追記 その2】
日本語の音声メッセージはちょっとのんびり喋っている感じがありますので、もう少しスピードを早くしたいところですが、Google翻訳ではスピードを変えられそうにないので、mplayerの方で再生スピードを上げてみました。

ポイントは "-af scaletempo" というオプションを追加することです。
これで音声が変に高くなることなく再生のスピードを上げられました。
#!/bin/bash
say() { local IFS=+;/usr/bin/mplayer -speed 1.3 -af scaletempo -ao alsa -really-quiet -noconsolecontrols "http://translate.google.com/translate_tts?ie=UTF-8&client=tw-ob&q=$*&tl=ja"; }
say $*

この記事へのコメント

leon2002jpn
2023年08月02日 14:46
バッキー様

こんにちは。
以前にヤフー知恵袋でお世話になった者です。
その時のやり取りはこちら → https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q12211770777

また似たようなことで悩んでいるんですが、今度はGoogle翻訳ではなく、papago という翻訳サイト https://papago.naver.com/ から同様に音声データを取得したいです。
この papago から取得したいデータの言語は、主に韓国語です。

もしお分かりになるようでしたら、教えていただけると助かります。
お忙しいところご面倒をお掛けしまして恐縮ですが、宜しくお願いいたします。
バッキー
2023年09月27日 18:28
leon2002jpnさん、コメント投稿ありがとうございます。
またコメント投稿に気付くのが遅くなって申し訳ありません。

papago翻訳の音声データですが、Google翻訳のような単純なAPIで音声データを取得しているわけではなさそうなので、正規の papago API を利用するしかないと思います。

この記事へのトラックバック