ただのにっき
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ファイルが生成されている。cdda2wav
とgogo
をパイプでつないでいるので、テンポラリファイルを作らない。だからめちゃめちゃ速く見える。いや、実際速いかな。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作成にはもちっと修行せねばな。