MacならsayコマンドがあるのでRSSしゃべらすのも簡単

yharaさんがとなりでRubyでtwitterの新着を読み上げさせてみるをやっているときにMacでやってみたやつ.

use strict;
use warnings;
use XML::Feed;
use URI;
use Perl6::Say;

my $FEEDURI = shift;

my $feed = XML::Feed->parse( URI->new($FEEDURI),);

for my $entry ($feed->entries) {
    say $entry->title . '.';
    say $entry->content->body . '.';
}

というのをsay_xml.plという名前で保存して実行してやると,RSSの中身がテキストではかれるので,

$ perl say_xml.pl http://digg.com/rss/indexprogramming.xml| say 

とかすれば,英語の記事のないようをMacが読み上げてくれます.ただし,twitterのRSSとかは英語以外がまじるのでだめ.sayに日本語がとおるWindowsはいいなー.

$ perl say_xml.pl http://digg.com/rss/indexprogramming.xml| say -o /tmp/programming.aiff

とやるとaiffにも吐けるので,mp3に圧縮してpodcast化すると英語勉強に最適!

まぁ,音声合成なのでどこまで正確なのかは疑問ですがMacの音声合成は結構できがいいので悪くないかもしれませんね.