Android使ってDuo3.0を使って勉強をするために色々やったことメモ

ひさしぶりに英語学習熱がよみがえってきたので、Duo3.0使って勉強するか〜と思っていたらDuo3.0の復習CDを分割するCUEシートが見つかったので、これは、英文と和訳を歌詞として入力して、androidの音楽プレーヤーで英文・和訳を見えるようにできれば、学習しやすいじゃん!と思い、やってみました。

Duo3.0って発売して10年以上たちますが、いまだに売れ筋の単語集なのですね。

ざっくりとした手順を書いてみます。わたしはMacつかっているんですが、1.のfoobar2000のくだりはVMWare Fusionを使ってWindowsでやりました。3のくだりはWindowsでもできると思います(未確認)。

1.Duo3.0の復習CDを分割してmp3にする。

「英語の会」というサイトに書いてあったやりかたを踏襲します。Duo3.0の文ごとに分割できるCUEシートを使って分割を行っています。

で、途中から手順変えてmp3にしているのですが、必要なLAMEエンコーダーは、Windows版だとここいらからとってくると良いかと。

http://www.rarewares.org/mp3-lame-bundle.php

そして、ここにあるやりかたをスライドNo.33基本的に踏襲します。

http://eigonokai.jp/duo30-splitting-method/

スライドNo.33でWAVに一度落としているけど、”Output Format”をmp3にする。エンコーダは、さきほど見つけてきたlame.exeを使う。

これで一文ごとにばらばらになったmp3ができました。

2.DUO3.0の英文、和訳を取得する。

Scansnap等々使い、DUOの復習CDについてあった本をスキャンするなり、手打ちするなりして、英文、和訳を取得します。

(グレーな話ですが、Duoの英文、和訳がネットのどこかにあります。そのものずばりの場所を書くのは著作権上どうかと思いますのでヒント・・・。googleで、DUO3.0の和訳をひとつ入れてみれば何かしらでてくるのではないでしょうか。)

3.mp3にテキストを組み込む。

3.1.rubyとtaglibとtaglib-rubyのインストール

なんとなく書けるrubyでタグ変更をやることにしました。rubyでID3v2タグ(mp3の曲情報の規格)を編集できるライブラリを使って「ちゃっちゃと」できると思ったら大はまり。ID3v2タグを編集できるライブラリは幾つかあったのですが、まともにUSLT(Unsychronised lyrics/text transcription)タグを入れられるものが”taglib-ruby”一個しかなかった。ほかのライブラリはダメダメです。

http://robinst.github.com/taglib-ruby/

ちなみ、taglib-rubyはtaglibというライブラリのバインディングになるので、taglibのインストールも合わせて必要です。Macではbrewでインストールできました。

http://developer.kde.org/~wheeler/taglib.html

3.2.mp3に英文、和訳を組み込むためのスクリプトを書く。

一応、自分で書いたスクリプトをさらしておきます。適当に作ったので、お好みにあわせて適宜変えてみてください。Duo3.0の英文テキストがDUO3_eng.txt、和訳テキストがDUO3_jpn.txtに、つくったmp3がすべてカレントディレクトリにあると想定していて、実行するとカレントディレクトリのmp3ファイルにタグ情報を直接書きこみます。テキストの先頭には xxx. と文章番号とピリオドが入っている前提でパースしています。

日本語テキストファイルはUTF-8で保存されている前提です。USLT.language=”eng”設定がおかしいように見えますが、特に問題にならないのでこうしておきます(というか、ID3.orgを見てもどう書いて良いのかちゃんと書いてない)。

[ruby]

require "taglib"

# DUO例文英文テキストからセンテンスごとに配列に入れる
f=open("DUO3_eng.txt")
current_sentence = 0
sentences = []
while line = f.gets
if (/^(d+).(.*)/ =~ line)
current_sentence = $1.to_i
sentences[current_sentence] = sprintf "%d.%sn",current_sentence,$2
else
sentences[current_sentence] << line
end
sentences[current_sentence].gsub!(/nn/,”)
end
f.close
# DUO例文日本語テキストからセンテンスごとに配列に入れる
f=open("DUO3_jpn.txt")
current_sentence = 0
while line = f.gets
line.strip!
if (/^(d+).(.*)/ =~ line)
prev_sentence = current_sentence
current_sentence = $1.to_i
if(current_sentence-1) != prev_sentence
p current_sentence
abort("mismatch")
end
sentences[current_sentence] = sprintf "%snnnnnnn%d.%sn",sentences[current_sentence],current_sentence,$2
else
sentences[current_sentence] << line
end
end
f.close

#フレーズごとのmp3ファイルに英文の配列を入れる
for current_sentence in 1..560
filename = sprintf("%.3d.mp3",current_sentence)
TagLib::MPEG::File.open(filename) do |mp3|
printf "%dn",current_sentence
tag = mp3.id3v2_tag

tag.artist = "DUO3.0_eng_jpn"

uslt = TagLib::ID3v2::UnsynchronizedLyricsFrame.new
uslt.language = "eng"
uslt.text = sentences[current_sentence]
uslt.text_encoding = TagLib::String::UTF8
tag.add_frame(uslt)
mp3.save
end
end

[/ruby]

3.3.iTunesで確認

iTunesでmp3のファイルを開いて曲の情報→歌詞プロパティで正しく英文→日本語が出ていれば成功。うまくいかなかったらバイナリエディタとにらめっこっこしてみましょう。

4.androidに入れる。

androidでUSLTタグをちゃんと認識できるプレーヤーが意外に少ないです。私がみつけたのは、”Astro Player”というもの。スキンを変えると、かなり大きく歌詞が出ます。

Astro Player

mp3に組み込んだテキストは、英語→日本語の部分で大きく改行いれてますが、このプレーヤーでの利用を想定して、歌詞の部分をフリックすると、日本語訳ができるようにしたのでした。

うーん、満足・・・じゃなかった、これ使って勉強しないとな!

 

最新のスマホ(au EVO 3D)に一括0円で機種変してきた。の巻。

こんな製品が0円でお持ち帰りできるとは、すごい世の中になったもんです。

去年の9月にEVO WiMAXというスマホを(iPhoneからのMNPで)買って満足していたのですが、ケータイとスマホの2台もちも嫌だなぁ。と思いながら調べていたところ、HTC EVO 3Dが毎月割が安い(月1050円/24か月割引)けども機種変21000円になっていることが分かったのでした。

うーん、でもMNPで買う場合と比べると滅茶苦茶高いよなぁ。なんて思ってたのですが、ヨドバシカメラで「ガンガン割引適用中かつ13ヶ月以上同一機種使用している場合はauのISシリーズ15700円引き(HTC EVO 3DとPHOTON)/10500円引き(それ以外のISシリーズ)とあるではないですか。EVO 3Dは21000円だから、5300円!おー、安い!で、ネットで調べてみたら他のお店でも同様のキャンペーンをやっているようでした。つまり、auがやっているキャンペーンだということなんですね。

でも、もっと安いところないかな〜と思い、ちかくのドスパラに行ってみたらEVO 3D(ISW12HT)が機種変14980円で売っていたので、店員さんに「ヨドバシでこんなキャンペーンやってんだけど」と言ってみたら、待たされること15分くらい(たぶん本部に聞いてたんだろう)、0円にしてもらえたのでした!言ってみるもんだねぇ。

というわけで、一括0円で最新機種で機種変できたのでした!

さらに、ネットで話題になっている「auから10000ポイントもらう方法」も前もって使って、10000ポイントもちゃっかりゲットしちゃったのでした。で、トータルで考えると、よく電気屋さんが使う”実質価格”で、”実質マイナス35000円”で買えましたとさ。(ちなみ、auのポイントは”auショッピングモール”で使えるようになったので、機種変でなく普通のショッピングに使えるようになったのでした)

ちなみ、この機種はWiMAXでテザリングができるので、パソコンのネットとスマホが6000円で使い放題。ガンガン学割適用中は5100円で使い放題。おうちにWiMAXが入って、かつ、ネットはADSLくらいの速度あればいいや〜。なんて思っているひとは、もう、おうち用のADSLとか不要になってくるので、とてもお買い得なのです。

そして、めでたくケータイ1台持ちにできたのでした−!おでかけの荷物が減ってうれしいですね。

しかし、このEVO 3Dは定価ベースでも機種変で21000円って、全然売れてないのですかねぇ、、、確かにおサイフケータイもワンセグも使えないし、液晶が若干デカイので日本向けではないのですが、CPUだってデュアルコアだし、androidのチューニングもばっちりできていて、もたつく感じが全くなくてすごくお得だとおもうんだけどねぇ。