トップ 最新

ただのにっき

2000-02-08(火) [長年日記]

TOWER RECORD

町田のビーミー大丸がつぶれることになって、テナントとして入ってるTOWER RECORDもいっしょになくなっちゃうことになった。あたしゃこれから、どこでCDを買ったらいいのだ? ポイントもまだたっぷりあるって言うのに。……それはさておき、最近CDを買っていなかったので、そのTOWERに寄ってJazzのCDを2枚ほど買って来た。ま、TOWERは隣駅の相模大野にもあるしな。

MP3

というわけで、予定を変更して今日のコンダラ引きは「CDから楽してMP3ファイルを作ろ〜っ」です(笑)。Windowsでは、有名なCD2WAV32を使っていて、なかなか使いやすくて悪くなかった。MP3エンコードはもちろん午後のこ〜だ(gogo)gogoは各種プラットフォームに対応しているからLinuxでも使えるとして、あとはCDからWAVをなんとかするだけでいいのだけれど、せっかくLinuxを使うのだから、コマンド一発で黙ってエンコードまでやってくれるようでないとね。GUIなソフトを起動して、いくつもボタンを押さないとエンコードが始まらないようじゃ、Linux使ってる意味がないわけよ。

で、こんな日もこようかと、Kondaraのインストール時にはちゃんとcdda2wavのパッケージをインストールしておいたので、これを使えばいいはず。manをざーっと読んで、適当にこんな感じでコマンドを実行:

$ cdda2wav -D/dev/cdrom1 title

/dev/cdrom1はSCSIな32倍速CD-ROMなんだけど、なにやら「SCSIじゃないからcooked_ioctlを使うぜ」みたいなことを言われている。でもとりあえず吸い出している模様。あう、全曲まとめて1ファイルになってるやんけ(泣)。これは-Bオプションをつければ解決やね。ためしにWindowsマシンから聞いてみると、ちゃんと聴こえるのでOK。ちなみにサウンドカードがちゃんとセットアップされているのがWindowsマシンだけなので、仕方がないのである。いいの、MP3は通勤の時にRioで聴くためのものだから。

WAVはできても、これだけでは面白くない。一気にMP3までやっちまわないと。で、cdda2mp3というコマンドも一緒に入っていたので、これを使うといけるみたいだ。でもmanもないので、使い方がわからん。とりあえず先にgogoをいれるか。gogoのRPMはKondaraにはないので、こちらから持ってくる。gogoのページからもリンクされてます。うちはPentiumII-350MHzだから普通のでいいのかな。RedHat用だけど大丈夫でしょう。現時点での最新は2.25。すんなりインストール完了。試しにさっき作ったWAVファイルをgogoにかけてみると、無事にエンコードできた。気のせいか、WindowsNTで作ってたときより速い気がする(たぶん気のせい)。

このgogoのRPMを作っている酒居さんのページにはさらにLinuxマシンでCDからmp3を作るというありがたいページまで用意してあるので、これを参考にして、楽ちん環境を作ってみることにする。まず、cdda2mp3はシェルスクリプトだということがわかる(サイズ見れば一発だろう……)。でもKondaraのcdda2wavに付属(?)のcdda2mp3はエンコーダーにl3encが指定してあるように、ちょっと違うっぽい。このページにgogo用のcdda2mp3が置いてあるので、ありがたくちょうだいする。

問題はcdda2wavのオプションで、どうしてもCD-ROMをSCSIとして認識させられない。じっくりマニュアルを読んでみたけど、IDが4なら-D0,4,0じゃないんかい? いろんな数字の組合せを試してみたけどダメなので、ここはあきらめてcooked_ioctlを使うことにする。動けばいいのよ、動けば。別にベンチマークしてるわけじゃないんだからさ。というわけで、cdda2mp3を書き換えて、オプション指定部分はこんな感じにした:

# specify the audio track listing program and its options
LAT=list_audio_tracks
LAT_OPTIONS='-D/dev/cdrom1 -Icooked_ioctl'
 
CDDA2WAV=cdda2wav
CDDA2WAV_OPTS='-D/dev/cdrom1 -Icooked_ioctl -H -q -Owav -P0'
 
MP_CODER='gogo'
MP_OPTIONS='-b 96'

Rioに1.5〜2時間分の曲を入れるために96Kbpsでエンコードしている以外はまぁ、普通でしょう。でもってドキドキしつつ、実行:

$ cdda2wav title

無事に動いてます。title01.mp3、title02.mp3……って感じで、ぞくぞくとMP3ファイルが生成されている。cdda2wavgogoをパイプでつないでいるので、テンポラリファイルを作らない。だからめちゃめちゃ速く見える。いや、実際速いかな。CD 1枚を5〜7分でエンコードしちゃってるし。試しに聴いてみても、なんら問題なし。すばらしい(感涙)。これだよ、こういう環境が欲しかったんだよ。

jvim

さて、次。Windows時代に作ったテキストやスクリプトは当然SJISで書かれているんだけど、これが今のKondaraでは編集できない。いや、EmacsやJedなら編集できるかも知れないけど、おれ的にはviを使いたいわけよ。Kondaraに入っているvimは、最新の5.x系で、これはたしか国際化されているのでそのままマルチバイトなテキストの編集ができるのだと聞いたことがある(嘘かも知れない)。でも、日本語化されてるわけではないので、コード系の自動判別とか、いろんなコード系の読み書きはどうやらできないっぽい。実際、SJISのテキストを読むと化け化けだ。これをなんとかしないと、困ることはなはだしい。

で、世の中にはちゃんと日本語化vimことJVimってのがある。会社に置いてあるFreeBSD機にはこれを自分でmakeして入れてあるんだけど、ちゃんとSJISテキストが編集できるので、これを自宅にも入れたい。で、いろいろ探してみると、jvimのRPMパッケージがTurboLinuxにあることがわかったので、jvim+onew-2.0r_2.2.10-5.i386.rpmってのを拾って来た。onewってのは、コンソールで日本語を入力するためのライブラリらしい。しかし、この「2.0」ってのは何の番号だ? まさかバージョンじゃあるまい。

インストールしてmanを読んだら、文末の日付が1992年3月28日!! うげ、ホントに2.0か、これ。せめて3.0にしてくれよ……。いちおう使ってみるも、SJISテキストはなぜかreadonlyで読み込まれちゃうし、機能もいつも使ってるvimに比べるとだいぶ低い。いちおう編集はできるものの、ちょっとストレスたまっちゃうなぁ。ソース持って来てmakeすっか?

というわけで、ソースから作ることにする。まずは、JVimのページへ。vim 5.1の日本語化はかなり難航してるみたいで、ぜんぜん進んでないみたいなので、3.0用のを作ろう。本家のソース(vim-3.0.tar.gz)と、それよりも大きい(笑)日本語化パッチ(jvim.2.0.tar.gz)を入手。まずはソースを展開して、できたvimディレクトリに移動し、パッチを展開。

$ tar zxf vim-3.0.tar.gz
$ cd vim
$ tar zxf ../jvim.2.0.tar.gz

ここでreadme.1stを読むと、patch -p < jvim.diffでパッチを当てよ、とあるので、そうすると、patchに「-pにはNUMの指定が必要だ」と叱られる。え、なぜ(泣)。patchのバージョンが違うのか? -pを指定しないで実行してもうまくいかないので、patchのmanを読みつつ、-p0を指定してみたら、なんとなく当たったもよう(笑)。いいのか、そんなことで(いいのだ)。続いてreadme.docを読むと、src/makjunix.makを編集せよとある。よく読んで、Linux 2.x向きの設定をして(Linux 2.0.x/2.2.xとあるところのコメントを外しただけ)、おもむろにmake

$ cd src
$ make -f makjunix.mak

Warningがいろいろ出るけど、ここは無視。srcの下にvimができてればOK。make installで入るのはこのバイナリとmanページ、ヘルプファイルだけなので、ここは手動で移動してしまおう。rootになって、

# strip vim
# mv vim /usr/local/bin/jvim
# mv ../doc.j/vim.hlp /usr/local/lib/

manページはいらないや。既存のvimのと重なっちゃうし。ちなみに今回は、RPMから入れていないので/usr/local配下を使うことにした。さて、実行してみよう。

$ jvim
bash2: jvim: command not found

をい。変だな、と思ってwhich jvimしてみたら/usr/bin/jvimだって。RPM版を消し忘れてた(笑)。rootでrpm -e jvim+onewして、最挑戦。あれ、同じだ……。おお、これがbashのhashってヤツか?

$ hash
hits    command
   6    /bin/tar
   6    /bin/ls
   5    /usr/bin/wwwoffle
   1    /usr/bin/vim
   3    /usr/bin/w3m
   3    /usr/bin/man
   1    /usr/bin/jvim

当たり(笑)。hash -rでハッシュを消したら実行できた。うん、これなら5.0に比べてもあまり遜色がないから使えるな。SJISファイルはこれでいじることにしよう。本当は、これをRPM化して、Kondara-Zooにでも突っ込めばいっぱしのコンダラーズなんだろうなぁ。でもRPM作成にはもちっと修行せねばな。