« BeagleBone Black で USB Camera | トップページ | Syntax Highlighter の導入 »

2013.10.20

BeagleBone Black でインターネットラジオ

BBB + Ubuntu 13.04 8/24版 + Wi-Fi USB アダプタの環境に、秋月の USB DAC を繋げて、インターネットラジオにしてみた。

秋月の USB DAC は PCM2704 で、年末に遊んでいた LUXMAN LXU-OT2 と同じなので、比較してみようかと思ってこれにした。
Windows でドライバが要らない USB DAC ならどれでもいいと思う。

アンプは、aitendo の 低電圧パワーアンプキット[AKIT-34119] を使ってみた。
低電圧で動きそうだったので。
どうせ BBB から 5V 取るので、なんでもいいんだけど。

USB DAC を挿して起動すると、

ubuntu@arm:~$ cat /proc/asound/cards 
0 [Black ]: TI_BeagleBone_B - TI BeagleBone Black
TI BeagleBone Black
1 [DAC ]: USB-Audio - USB Audio DAC
Burr-Brown from TI USB Audio DAC at usb-musb-hdrc.1.auto-1.3, full speed

と、DAC という名前で認識された。

mplayer が有名っぽいので、

sudo apt-get install mplayer

としてインストールして、

mplayer -ao alsa:device=sysdefault=DAC -playlist http://yp.shoutcast.com/sbin/tunein-station.pls?id=106750

みたいに起動すれば、ストリーミング再生された。

すごい簡単!

DAC の部分は、cat /proc/asound/cards で確認した名前にする。

Black にすると、HDMI 側に出力される。

LUXMAN LXU-OT2 の場合は LXUOT2 を指定する。

URL の部分は、SHOUTcast で、再生ボタンで右クリックしてショートカットをコピーして、それを使った。

Wi-Fi 接続だから、USB 1本挿すだけで動くので、お手軽。

でも、USB の bus power だけだと、ちょっと音を大きくしたとたんに、USB DAC の電力が不足して死ぬ。。

自動でログイン&再生するようにすれば、AC Adapter 1本で動かせるけど、自動ログインする方法がわからず。。

→/etc/init で自動起動できて、AC Adapter 1本で起動できた。↓の追記2のところ。

追記:

SHOUTcast 以外で、日本のラジオ局も探してみた。

ねとらじのも play ボタンを右クリックしてリンクをコピーすれば再生できた。 -playlist は付けずに、直接指定する。

mplayer -ao alsa:device=sysdefault=DAC http://std1.ladio.net:8080/namage

こんな感じ。

あと、NHK も「らじる★らじる」というのをやってて、以下で聴けた。

ラジオ第一

mplayer -ao alsa:device=sysdefault=DAC -playlist http://mfile.akamai.com/129931/live/reflector:46032.asx

ラジオ第二

mplayer -ao alsa:device=sysdefault=DAC -playlist http://mfile.akamai.com/129932/live/reflector:46056.asx

NHK-FM

mplayer -ao alsa:device=sysdefault=DAC -playlist http://mfile.akamai.com/129933/live/reflector:46051.asx

あと、バックグラウンドで動作させるには、& を付けるだけじゃダメで、 < /dev/null > /dev/null 2>&1 & を付ける必要があった。

mplayer -ao alsa:device=sysdefault=DAC -playlist http://mfile.akamai.com/129931/live/reflector:46032.asx < /dev/null > /dev/null 2>&1 &

こんな感じ。

追記2:

別に自動ログインしなくても、wlan0 経由で ssh でログインすればいいから、AC Adapter のみで起動出来た。

最大音量にしても USB DAC は落ちなくなったが、ブチブチとノイズが入ってちょっと聴きづらい感じ。LXU-OT2 に変えてもノイズは入るので原因がよくわからず。。元々のデータにノイズが入ってる?? →直った。下↓の追記3。

あと、/etc/init/mplayer.conf とかに

start on net-device-up IFACE=wlan0 
chdir /home/ubuntu 
exec mplayer -ao alsa:device=sysdefault=DAC -playlist http://yp.shoutcast.com/sbin/tunein-station.pls?id=170421 < /dev/null > /dev/null 2>&1 &

みたいなのを書いておけば、wlan0 が up した時に、mplayer を自動起動してくれるようになった。

これで、AC Adapter 挿すだけで、再生してくれるので、とりあえず、固定局なインターネットラジオとして使える。

いろんなサイトに書かれてる start on runlevel [2345] とかすると、3回ぐらい起動されてエコーがかかる感じで再生されて、ダメだった^^;;

追記3:

ブチブチノイズが入るのは、44100Hz→48000Hz へのサンプリング周波数の変換が入るからだった。

http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=663239

バグレポート上がってるけど、ALSA dmix の仕様でどれかのサンプリング周波数に統一されるみたいで、バグではなさそう。

なので、ALSA dmix の設定を探してみたら、

/usr/share/alsa/alsa.conf に

defaults.pcm.dmix.rate 48000

という設定があった。

ので、これを 44100 にすれば、44100Hz のラジオ局ではノイズは入らなくなった。

けど、48000Hz の局ではノイズが入るのだと思われる。まだ試してない。

|

« BeagleBone Black で USB Camera | トップページ | Syntax Highlighter の導入 »

パソコン・インターネット」カテゴリの記事

H/W」カテゴリの記事

Beaglebone Black」カテゴリの記事

コメント

この記事へのコメントは終了しました。

トラックバック


この記事へのトラックバック一覧です: BeagleBone Black でインターネットラジオ:

« BeagleBone Black で USB Camera | トップページ | Syntax Highlighter の導入 »