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 $*

この記事へのコメント

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