ただのにっき
2000-05-09(火) [長年日記]
■ rio 1.07
通勤電車で音楽を聴くのに、Rio PMP300を使っている。出てすぐに買った(発売日にアキバで探しまくって買った記憶もある)。500が出ても悔しくないもん……ってそーじゃなくて。MP3ファイルをPCからRioに転送するのにRio Managerという専用ソフトが必要で、もちろんこれがWindows専用。パラレルポート接続で、プロトコルも専用。自前のCDをMP3化したリストから自作のRubyスクリプトでランダムにちょうど64MBぶんだけ選択して(ジャンルがほぼ全部Jazzなので可能な技である。ジャンルがまちまちだと気が狂います)、毎晩入れ替えているんだけど、このため「だけ」にWindowsマシンを立ち上げるのは実にむなしかった。
以前(まだWindowsしか使ってなかった頃)、riogeoというフリーソフトを開発した人たちがいて、試しに使ってみたこともあったんだけど、内部メモリ32MBぶんにしかアクセスできない上に(うちのRioは32MBスマートメディアを挿して64MBにしている)、エラー補正ができていないのかノイズがのるのでイマイチだった。その後、Rioからデータを吸い出せることが問題になったりして、開発も止まってしまったみたい。
ところが今日、Software Designを読んでいたら、その名もrioというフリーソフトがあるって言う記事があるじゃないの。慌てて最新の1.07をGET。GPLで配布されていて、もちろんLinuxで動く。外部メモリにもアクセスできるみたいなので、願ったりなかったり。
バイナリパッケージなどないので、もちろん野良ビルドが必要。ドキュメントやMakefile
を読むと、パラレルポートを直接いじるのでroot
権限で動く必要があり、実行ファイルにsetuid
ビットを立てている。ふむん、まぁ、個人で使う分には問題ないっしょ。make
一発でビルドするために、root
になって作業すると、たかだか40KB足らずの実行ファイルができる。こんなに小さいのか。いったいRio Managerの無駄なでかさはなんだったのよ。
試しにWindowsで「今夜の分」である32+32MBのMP3ファイルのリストを作って、転送してみる。内部メモリ用と外部メモリ用で2回に分けて起動する必要はあるけど、プレイリストを与えれば黙っていても複数ファイルを転送してくれるので楽なことこのうえなし。やたらとCPUを食うけど、Windowsでの転送にも遜色ない速度で転送完了。音質にも問題ないし、イッパツで移行決定〜っ。暇を見て、コイツ用のスクリプトを書こう。これからは毎晩、コマンド一発でデータの入れ替えができるなんて、夢のようだぜ。すばらしき哉、ハッカー精神。
これで、Windowsマシンを使うのはUSBを使うスキャナやスマートメディアリーダーを使う時と、ゲームをするときだけになった(PalmのHotSyncはもっぱら会社でやっている)。いずれも毎日やるようなことはないので、電源を入れる機会もかなり減る。うーん、また一歩、理想に近づいたのぅ。
■ ESD
もう1つ、Software Designを読んでいて知ったESDというサウンドドライバ(?)の話。複数の入力を同時に鳴らすことができるということは、MP3を聴きながらGnomeのイベントもちゃんと鳴るようにできるってことかな? ちょっと試してみる。まず、GnomeのセットアップのSoundで「Enable sound server setup」ってチェックボックスをONにする必要がある気がする(←アバウトすぎ)。さらに、xmmsのPreferencesで、Output Pluginで「eSound Output Plugin」を選択。自マシンで鳴らすのでConfigureで「Use remote host」のチェックははずしておく。これで、MP3を演奏しながらパネルとかをいじってみる。おお、ちゃんと出てますな。すばらしい。もっとも例によって、このやり方が正しいという確証はない(笑)。