0

Google NewsをMacに読み上げさせる

Googleニュース等のヘッドラインをMacに読み上げさせるやつ作った。最終的にMac以外でも動くようになった。



新聞の勧誘を「インターネットでニュース見てますので」と言って断ってるんだけどよく考えたら見てなかったから、新聞の人に申し訳なくて作った。
自分でインターネットにニュース見に行くの面倒くさいし、テレビとかラジオつけると余計な番組やっててウルサイからニュースだけ届けてほしい。

というわけで3ヶ月ぐらい前に作って、そこそこ良くてずっと使ってるから書いておく。


■使い方
詳細は上のgithubのREADMEを見るとよい。


面倒だったら
git clone git://github.com/shokai/speech-news.git
cd speech-news
gem install bundler
bundle install --path vendor/bundle
でインストールできて


読み上げる。
ruby -Ku speech_news.rb --help
ruby -Ku speech_news.rb

Mac/Linuxに喋らせるで書いた、MacのsayコマンドのKyoko化(日本語化)をやっておく必要あり。



■毎日決まった時間に読み上げる
crontab -e して
0 7 * * *  cd /Users/sho/src/ruby/speech-news && ruby -Ku speech_news.rb > /dev/null 2>&1
0 12 * * * cd /Users/sho/src/ruby/speech-news && ruby -Ku speech_news.rb > /dev/null 2>&1
0 19 * * * cd /Users/sho/src/ruby/speech-news && ruby -Ku speech_news.rb > /dev/null 2>&1
こう書いておくと、7時/12時/19時にニュース読んでくれる。朝はおはようって言うし夜はこんばんはって言う。
ちゃんと書けてるかは crontab -l で確認。


■Mac以外でも読み上げる
Mac/Linuxに喋らせるに書いたGoogle翻訳の声を使うgsayコマンドも一緒に入れておいた。
-sayオプションでgsayを使うようにすれば、Mac以外でも読んでくれる。声怖いけど。
ruby -Ku speech_news.rb -say "tools/gsay"


■Googleニュース以外も読み上げたい
pluginsディレクトリの中に.rbファイルを置けばニュースソースとして自動的に読み込むようになってる。
プラグインは読み上げるべき文字列を配列で返してくれるRubyプログラムならなんでも良い。
今はgoogle.rbだけが置いてある。


自分でプラグインを書くならgoogle.rbを参考にするとか、
a.rb
# プラグインのテストです
return ['うぽって微妙に古そうな銃ばかりでてくるし',
'あれは使われなくなった銃の行き着く精神世界なのでは',
'飛行機の墓場みたいな']
のような感じで、とりあえずStringのArrayを返すやつ書いてみると動く。

0

Mac/Linuxに日本語を喋らせる

喉が痛いのでなるべくしゃべらないようにしたい。


1. say

Macのsayを使う。
Lionから[システム環境設定]->[スピーチ]->[テキスト読み上げ]で「システムの声」にKyokoを指定すると日本語が読める。
たまに読みを間違えるが良い声だと思う。英語も読めるが、発音が日本人っぽくなる。


2. saykana

Mac用のゆっくり声。
http://www.a-quest.com/quickware/saykana/
インストールすると /usr/local/bin/saykana が使えるようになる。
漢字が読めない。ローマ字は「えーびーしー」のように発音する。


3. Google翻訳の声

前にしゃおさんにGoogle翻訳の声を取ってくる方法を教わった。


さすがGoogle、ほぼ漢字も読み間違えない。ただ声がちょっと怖い。

gsayというコマンドを作った

gsay はい
でしゃべる。

パラメータのjpをenに変えれば英語がしゃべれる。
ubuntuは先にmpg321をインストールしておく必要がある
sudo apt-get install mpg321


4. Open Jtalk

Macにインストールするのは面倒なので、これはUbuntu 12.04でしか使っていない。
sudo apt-get install open-jtalk open-jtalk-mecab-naist-jdic htsengine libhtsengine-dev hts-voice-nitech-jp-atr503-m001
これでopen_jtalkコマンドでwavファイルを生成できるようになる

辞書は /var/lib/mecab/dic/open-jtalk/naist-jdic
音声は /usr/share/hts-voice/nitech-jp-atr503-m001
にインストールされる。


デフォルトの声がちょっと気持ち悪いので、MMDAgentの声をインストールする
mkdir ~/tmp/src
cd ~/tmp/src
wget http://downloads.sourceforge.net/project/mmdagent/MMDAgent_Example/MMDAgent_Example-1.1/MMDAgent_Example-1.1.zip
unzip MMDAgent_Example-1.1.zip
sudo cp -R MMDAgent_Example-1.1/Voice/* /usr/share/hts-voice/


jsayというコマンドを作った。
jsay はい
みたいに使う。


参考