Thu 12/21, 2006

mpg123 on USL-5P [Computer and Networking ]

SlimServer は USL-5P には荷が重いことが判り、mpd もまた調子がよろしくない。やはり mpg123 で音楽プレーヤーを実現する。mpg123 はコマンドラインベースのアプリケーションなので Web インターフェースを用意するのも難しくないが、とりあえず外部からのコントロールなしに本体と USB スピーカーだけで音楽再生できるようにしてみた。

まずはこんなシェルスクリプト(/home/landisk/mpg.sh)を用意する。mpg123 による再生がされていなければ再生、再生中であれば停止する。

#!/bin/sh
PID=`ps -ef | grep mpg123 | grep -v grep | awk '{print $2}'`
if [ $PID ]
then
  kill $PID
else
  if lsmod | grep snd > /dev/null
  then
    /usr/local/bin/mpg123 http://radioio.sc.llnwd.net:8645/ &
  fi
fi
exit 0

この例ではストリーミング・サイト http://radioio.sc.llnwd.net:8645/ を受信・再生するようにしているが、mp3 データでもなんでもいい。既に mpg123 が動いているときには停止する。ついでに snd 関係のモジュールがロードされていることをチェックしている。

これを USL-5P のパネルボタンで起動させる。USL-5P debian26 環境ではブートセレクタにこれらのボタンを使用しているが、起動後は landisk-tools の btnctrl デーモンで電源ボタン以外は自由に利用できる。それぞれのボタンの動作は /usr/local/lib/landisk-tools/btn_action.conf に記述されている。Copy ボタンに上記スクリプトの実行を割り当ててみた。

# cat /usr/local/lib/landisk-tools/btn_action.conf
PWO:/sbin/shutdown -h now
PWB:/usr/local/sbin/ledctrl shutdown -b 00000001
SEL:/usr/local/sbin/ledctrl -b 00000005
DEL:/usr/local/sbin/ledctrl -b 00000015
CPY:/home/landisk/mpg.sh
#

snd 関係のモジュールが後でロードされ、それに多少時間がかかるために起動完了のブザーがなった直後は音楽再生ができない。また、ストリームサイトとタイミングによって再生に失敗することがある。

試してみた USB オーディオデバイスは Kenwood OPM-A3Creative SoundBlaster Digital Music SBDMU-B、それに ELECOM MS-76DUCH。 このうち、MS-76DU では何故か右チャンネルしか再生されない。デバイスは C-Media CM-103 らしい。OPM-A3 に比べて低音がまるで出ない。元々そう高くない製品だが 980 円は安過ぎ。そう言えば OPM-A3 も3,000円くらいだったか。

Posted by masato at 10:06 PM
このエントリーのトラックバックURL: http://bird.dip.jp/cgi-bin/mt/mt-tb.cgi/1272
コメントする

おそらく携帯電話等からは投稿できません。日本語文字列を含まないコメントやトラックバック、および当サイトへの言及を含まないトラックバックは御遠慮いただいております。また、90日以上経過した記事へのコメントはできません。










名前、アドレスを登録しますか?