Raspberry Piから英語でもメッセージを流せるようにしました
先日、Open JTalkを使って Raspberry Piから日本語のメッセージを流せるようにしましたが、調子に乗ってついでに英語もメッセージを流せるようにしました。
ちょっとググって Google翻訳で英語のテキストを音声データに変換する方法を見つけたので、こんな感じのスクリプトを書いて作業終了。
わずか5分で英語のメッセージも喋るようになりました。
【追記】
よく考えてみれば日本語も言語パラメタを変えるだけで Google翻訳でいけますね。
【追記 その2】
日本語の音声メッセージはちょっとのんびり喋っている感じがありますので、もう少しスピードを早くしたいところですが、Google翻訳ではスピードを変えられそうにないので、mplayerの方で再生スピードを上げてみました。
ポイントは "-af scaletempo" というオプションを追加することです。
これで音声が変に高くなることなく再生のスピードを上げられました。
ちょっとググって Google翻訳で英語のテキストを音声データに変換する方法を見つけたので、こんな感じのスクリプトを書いて作業終了。
わずか5分で英語のメッセージも喋るようになりました。
#!/bin/bashまあ、Google翻訳なのでオフラインでは使えませんが、音声の品質はかなり良いと思います。
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翻訳でいけますね。
【追記 その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 $*
この記事へのコメント
こんにちは。
以前にヤフー知恵袋でお世話になった者です。
その時のやり取りはこちら → https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q12211770777
また似たようなことで悩んでいるんですが、今度はGoogle翻訳ではなく、papago という翻訳サイト https://papago.naver.com/ から同様に音声データを取得したいです。
この papago から取得したいデータの言語は、主に韓国語です。
もしお分かりになるようでしたら、教えていただけると助かります。
お忙しいところご面倒をお掛けしまして恐縮ですが、宜しくお願いいたします。
またコメント投稿に気付くのが遅くなって申し訳ありません。
papago翻訳の音声データですが、Google翻訳のような単純なAPIで音声データを取得しているわけではなさそうなので、正規の papago API を利用するしかないと思います。