この前受けたTOEICの結果が返ってきたわけですが、リスニングがぼろぼろすぎたので、どうにかしようと思いました。というわけでdictationの練習でもすることにしました。で、dictationの準備が面倒なんで、適当に教材をダウンロード&加工するスクリプトをRubyで書いたりなど。本当はBBCのlearning englishというところからmp3をダウンロードしてきたかったんだけど、ファイルがどこにあるのかよく分からなかった。ブラウザで開くとプレイヤーが開いたりするし。
で、色々探したところ、VOA Newsというところならニュースの内容と音源を取ってこれそうだったので、ここで。引数にurlを指定するとmp3をダウンロードして、以下のようなdictation用のものを出力してくれます。
Afghan ___ _______ ______ ____ ________ _ _______ _______ __ _________________ __ _________, _________ _________ _______ _________, __________ _ _______ ______ __ ________ ___________ _____ _ ____ _________ __________ __ ______ _____. Afghan and foreign troops have launched a massive manhunt to recapturehundreds of prisoners, including suspected Taliban militants, whoescaped a central prison in southern Afghanistan after a raid byTaliban insurgents on Friday night.
で、mplayerで範囲を指定して、繰り返しやれば簡単に一人dictationができる環境が整います。
mplayer -ss 3 -endpos 5 -loop 2 Gul14jun08prison.mp3
Rubyのソースはこんなの。
#!/usr/bin/ruby require 'rubygems' require 'hpricot' require 'mechanize' require 'pp' url = ARGV[0] agent = WWW::Mechanize.new agent.max_history = 1 source = Hpricot(agent.get_file(url)) agent.get((source/"a.media-asset")[0][:href]).save (source/"span.body").each{ |item| original = item.inner_text.gsub(/\n/, '') text = [] original.split(". ").each{|x| x += "." text.push x } text.each{|sentences| sentences.split(" ").each_with_index{|sentence,index| if index == 0 print sentence else print sentence.gsub(/[a-zA-Z]/, '_') end print " " } puts "\n\n" } puts "\n" puts text }
誰かBBC版でやってくれないかなー。