AirPlayサーバーとして使用しているRaspberry Pi2(以下Rpi2)をもう少し便利に使おうと思い、インターネットラジオを受信再生できるようにしました。

画面のキャプチャーはiPad miniにインストールしたVNCクライアントのもので、Rpi2の端末ウィンドウが小さくて見難いですが、実行したコマンドを書いておきますのでわかると思います。画像は雰囲気で。笑

Rpi2にログインしたらソフトウエアをアップデートしておきます。

sudo apt-get update

を実行。

2017-04-04 02.36.19

mplayerという音楽再生ソフトをインストールします。

sudo apt-get install mplayer

を実行。

2017-04-04 02.38.34

mplayerがあればコマンドラインからインターネットラジオに接続できますが、手元のiPhoneやPCからコントールしたいので簡単なWebインターフェースを作ろうと思います。今回はapacheとphpを使います。(すでにこれらがインストールされている場合はこのステップは省略してください)

sudo apt-get install apache2 php5

を実行。

2017-04-04 02.44.15

インストールが終わるとapache Webサーバーが起動していると思います。確認のためにiPadのSafariから接続してみます。Rpi2のIPアドレスを調べ、次のURLで接続します。

http://xxx.xxx.xxx.xxx (xxx.xxx.xxx.xxxはRpi2のIPアドレス)

AirPlayサーバーにしてときにZeroconf (Avahi)がインストールされているので、http://raspberrypi2.local (当工房の場合はraspberrypi2がこのRpi2のホスト名)でもいけると思います。

apache2のデフォルトページ(index.html)が表示されれば成功です。

2017-04-04 02.48.17

インストールしたapache2のドキュメントルートは

/var/www/html

です。ここに上の画像のindex.htmlがあります。

2017-04-04 02.50.08

簡単なWebインターフェースを作ります。

2017-04-04 03.13.15

index.htmlを削除してindex.phpを追加します。ファイルの中身は次のような感じです。

<?php
if(isset($_GET['id'])) {
$id = $_GET['id'];
if($id=="stop") {
exec("killall mplayer");
} else {
exec("killall mplayer");
exec("mplayer -playlist http://yp.shoutcast.com/sbin/tunein-station.pls?id=" .$id. " > /dev/null &");
}
}
?>
<html>
<head>
<meta name="viewport" content="width=device-width">
</head>
<body>
<p><a href="index.php?id=stop">stop</a></p>
<ul>
<li><a href="index.php?id=172098">SmoothJazz.com Global Radio</a></li>
<li><a href="index.php?id=709809">ABC Lounge</a></li>
<li><a href="index.php?id=209680">ABC Jazz</a></li>
<li><a href="index.pho?id=190282">Jazzradio</a></li>
<li><a href="indez.php?id=98600">TheJazzGroove.com</a></li>
</ul>
</body>
</html>

ファイルの先頭部分にmplayerの停止やインターネットラジオへの接続コマンドが記述されています。

apacheはwww-dataというユーザーで実行されていますので、このユーザーをaudioグループに追加してオーディオデバイスにアクセスできるようにします。

sudo usermod -G www-data,audio www-data

audioグループへの追加ができたらapacheを再起動します。

sudo apachectl restart

ブラウザからRpi2にアクセス。

こんな画面が出ます。

2017-04-04 03.13.25

この画面を操作して”stop”のリンクを押したらmplayerが停止、ラジオ局のリンクを押したらmplayerが選択したラジオ局と接続した状態で起動していれば成功です。

あとはWebインターフェースの見栄えを良くしたり、ラジオ局を追加したりして、好みのインターフェースに仕立てていけば良いです。これでローカルネットワーク内で手元のスマートフォンやPCからインターネットラジオを再生する環境ができました。

簡単ですね!

Raspberry Piにはオーディオ出力端子がありますが、内蔵のサウンドデバイスは音質が良くないので、USBオーディオインターフェースを取り付けてオーディオスピーカーを鳴らしています。あまり高価なものではないのでUSBオーディオインターフェースの取り付けをおすすめします。