2004年03月23日の日記です

音楽  2004-03-23 00:08:26  COMP
「MP3 CD のかかるプレーヤーって、便利なのかな?」

妻が急にそう言い出したのは、先週末のことだった。

---

ちょうど1年ほど前に、W-MD CD ラジオを購入した。
W-MD が欲しいといったのは妻。ところが、このオーディオは「ラジオアンテナが弱い」という微妙な欠点があった。


僕は仕事をしているときは、もっぱらラジオ派。
音楽が流れているのは好きなのだが、特に好きなアーティストもいないし、自分のCDもそれほど持っていない。
なによりも、CDだと「音楽が止まってしまう」のが嫌だし、リピート再生だと飽きてしまうので嫌だ。


妻は仕事をしているときは CD 派。
特にメールなどの文章を書いているときは、日本語が耳から入ってくると文章作成に集中できないと言うので洋楽を聴いている。
特に、弱いアンテナでラジオを聴いていると、ノイズが気になって仕方がないのでダメだと言う。


というわけで、主に妻が選曲して CD を聞くことが増えた。
しかしこれも困りもので、妻は時折 CD を変えるのが面倒くさいし、やはり気づくと無音の状態と言うのが多い。


そこで冒頭の発言になるわけだ。
MP3 に圧縮すれば、CD 1枚で半日は聞いていられる。便利なのかも知れない。

---

でも、そのためだけに買って1年しかたっていないオーディオを買い換えるのか?

じつは、以前からちょっとやってみたいことがあった。

仕事柄、常時稼動しているサーバーがあるのだが、実のところ仕事で使っている最中でもこいつの CPU パワーの1割も使ってはいない。

じゃぁ、こいつを MP3 オーディオにはできないものだろうか?

Linux で MP3 といえば、mpg123
最近は alsa player という高機能なやつもあるが、こいつはカーネルの一部として動作するのでカーネルコンパイルが必要だ。今回は面倒なのでパス。

サーバーにスピーカーを繋いで、適当な MP3 ファイルを与えて mpg123 を起動してみる。ちゃんと音が出る。
まずは、これで第1段階完了。

---

えーと、確かどっかに MP3 のCD あったな…とデータを引っ張り出してくる。
別に違法なものではない。その昔、MP3 が人気が出始めたときに、興味があって手持ちの CD を圧縮したものだ。

当時は CD も2倍速。リッピングに時間がかかり、さらに圧縮も非常に時間がかかり、プレイヤーも時折、OSを巻き込んでハングアップした。
そんな状況で「MP3 は実用的ではない」と判断して、せっかく作ったデータをCDに焼いてMP3から遠ざかっていただけだ。

#Windows で妻の持っている CD を圧縮してみたら、わずか5分程度で終了した。今なら MP3 も実用になるのかな…というか、好きな人はとっくに実用にしてるからな…


このデータを、Windows から Samba 経由で サーバーに送り込む。
netatalk と併用している都合で、漢字は全部 CAP エンコードされる。サーバーで読むのは大変だが、そんなことは後の問題。


PHP で、「データフォルダを走査し、ファイル情報などを Mysql データベースに取り込む」プログラムをさくっと作る。仕事でしょっちゅうやっているので、こういうことはお手のものだ。


つづいて、perl でさくっと、「サーバーらしきプログラム」を組んでみる。久しぶりの perl で文法忘れ気味 (^^;;

ともかく、Mysql からファイルデータを取り出し、適当に再生し続けるプログラムだ。この時点ではかなりいい加減だったが、ほおっておけば延々と曲を流し続ける。
ここまでは3時間ほどで出来上がった。いい感じだ。

---

目標は「妻でも使える」プログラムなので、Linux を直接いじっているようでは良くない。

perl でサーバーを組むというのは、仕事でもそのうち必要になりそうだと考えていた技術。
ここはちょっと気張って作ってみよう。

ちゃんとプロセスを fork して、mpg123 が演奏中でも接続し、再生中止や別の曲の再生命令を出せるようにする。
基本的には、CGI でデータベースにプレイリストを作成し、そのプレイリストを再生し続けるように想定。
データベースからの読み出し方法で、ランダム再生やリピート再生なども出来るように考慮…だけはしておく。
(この時点では実装しない)

そうそう、CGI から指示を出すようにすると、「音を止め忘れたままパソコンをシャットダウン」と言うこともあるかもしれない。
そこで、1曲終了するごとに、最後に CGI を操作したパソコンに ping を打ち、帰ってこない場合は演奏を終了することにした。

---

データベースを直接いじってプレイリストを作り、telnet でサーバーに接続して演奏指令を出す。
おおかた正しく動くようになったので、続いて CGI インターフェイスを作成。

こちらは簡単で、CGI でデータベースを操作して、プレイリストが編集できれば良い。
最終的には使いやすくしないといけないが、今のところはまだ適当。


とりあえず、CGI からプレイリスト作成・演奏・停止が操作できるようになるまでに、まる1日かかった。
(もちろん、徹夜などではない。プログラム時間では12時間くらいか?)

プレイリスト編集時には、もちろん CAP エンコードされたファイル名はデコードされ、日本語として表示される。ID3 タグがあれば認識し、そういう情報も表示される。

プレイリストは複数保存しておき、気分によって使い分けることが可能だ。



こういうプログラムは、出来かけてくるといじるのが面白い。
今のところ、CGI 側で ID3 タグをもとにして現在演奏中の曲情報を表示したり、これから先演奏する予定の曲を表示したり、それらの情報をちゃんと曲が変ったタイミングで更新したりするようになっている。


今後やりたいのは、使い勝手の向上。
今のところ、まだ「演奏できる」レベルでしかなくて、一時停止とか、「今の曲良かったからもう一回」とか、そういう機能はない。

プレイリスト編集も、並んだ曲からポチポチと選ぶ形式だ。
100曲程度のレベルならまだしも、これで大量の曲が入ったら、とても選ぶ気がしないだろう。


どうにかしないといけないとは思うが、ここら辺で「週末」は終わったので、仮完成とする。
本当は、週末も仕事しないといけないような状況だったのだけど、たまには遊んでもいい…と思う。


名前 内容

訃報  2004-03-23 10:13:41  PET
ペットのハムスターが死んでしまった。
一週間前にうちに来てから2周年を祝い、長生きして欲しいと願ったばかりなのに。

どうもおかしい兆候は、2〜3日前からあった。
いつもよりもよく走る。いつもよりもよく食べる。寝ているはずの昼間も活動している。かと思えば、夜行性なのに夜寝てる。
運動させてやろうとケージから出したら、少しふらついている気もしたが、走りすぎ・睡眠不足なのかな、と思っていた。最近すっかりなついていたのに久しぶりに指をかまれ、だけれども気にしないでいた。

ハムスターは弱い動物なので、弱ってきたときにはより元気に見せようとするという。
弱肉強食の世界では、弱っているものが最初に狙われるから。


昨晩、夜8時ごろ餌をあげたときに、いつものように餌場へ走っていかなかった。
でも、寝ているようだったので、やはり寝不足かと寝かせておいた。

深夜1時半、寝る準備を整えてハムスターの様子を見たら、弱っているように見えた。
もしかしたらもうダメなのかもしれない。そう思ったが何も出来ることはない。そのまま布団に入る。

死んじゃったらどうしよう? ハムスターをかわいがっていた妻は泣いていた。



…寝ようとしながら考えていて、ふと気づく。
ハムスターは寒さに弱い。昨夜は3月らしくない、非常に寒い日だった。
もしかして寒くて動けないのか?

あわてて飛び起き、無理やり巣から出してみる。体が冷たい。
飼育書には、こういうときは懐に入れて、人間の体温で暖めてあげるように書いてある。だいたい30分ほどで回復するそうだ。

人間のほうが寒くならないよう暖房をいれて、妻が懐で暖める。
30分たったが、目立つような変化はない。
1時間がたち、少し動きが見られるようになった。

1時間半、急にガサゴソと大きく動く。しかし、それ以降動かない。
懐から出してみてもまったく動かない。おなかの部分を押さえてみる。
体はまだ温かかったが、心臓は動いていなかった。深夜3時23分だった。



寒いのに気づいてやれなった…のか?
たしかに多少寒かったのは事実だが、それを気にして暖房をつけている部屋のそばには置いていた。
いつもなら大丈夫。体が弱っていたので堪えたのかも知れないが、やはり老衰だったのだろう。

2歳と言えば、ジャンガリアン・ハムスターとしては十分高齢な部類に入る。大往生だったと信じたい。

それでも、涙が出てくる。そろそろ寿命と覚悟はついていたし、自分は泣かないと思っていたのだが。



今朝、寝不足だが早起き(といっても7時半)して、近所の森に埋葬しに行った。
マンション暮らしでは庭がないので、死んだらこの森に埋めてやろうと決めていた。

昨夜の雨はあがったが、まだ空気は冷たい。森の木々も濡れている。
梅がたくさん咲いていた。桜はまだ咲き初めだ。

赤と白の大きな椿の木が立っていた。赤い椿の根元に深い穴を掘り、埋葬した。
好物だったひまわりの種を一緒に植えておいた。いつか花が咲くといいと思う。


名前 内容

【う】 ご冥福をお祈りします. (2009-02-01 23:11:11)

【にょろ】 涙を流してくれるような優しい飼い主さんでよかったね、ハムさん。寿命の短いペットはつらいですね…。 (2007-03-08 22:19:45)

【pen】 ご冥福を (2006-03-29 20:20:12)

【たん】 昔ムツゴロウさんが、犬の欠点は人間より早く死んでしまうことだけだ、というようなことを言っていて飼っている犬を亡くしたことのある私は共感しました。ハムスターは小さいですけど家族の一員なので悲しみは一緒ですよね。亡くなったときに家族が悲しんでくれるだけで、彼は幸せだったといっていいのでは?大往生ですよ! (2005-09-04 15:26:22)

【しょう】 うちのジャガリアンは3歳まで生きたのでそれが平均かと思ってました。遺伝病は悔しいですね。 (2004-12-13 13:03:09)

あきよし】 ゴールデンと勘違いされていませんか? ゴールデンは普通にしていれば3歳程度まで生きますが、ジャンガリアンは2歳半を超えれば長寿の部類です。また、更に以前の日記に書いていますが、遺伝病を持っていた可能性が高いため衰弱死と考えています。 (2004-12-10 21:18:53)

【しょう】 運動させすぎると、早死にしますよ。普通にしてれば3歳まで生きます。 (2004-12-10 13:01:27)


戻る
トップページへ
東京電力 輪番停電
第5Dグループ地域で サーバーを運用して
おります。
停電時の停止を
御了承ください。
(当面掲示を残します)

Loading