Raspberry Pi で遊ぶ (6) —MPD でラジオを聴く—

Raspberry Pi (RPi) でいくつか利用方法を試行錯誤してきたが、先回 試した RPi に MPD を導入して音楽配信サーバーにする使い方が実用性があってよいと感じた。私はほとんど目的なく RPi を購入したが、はじめから MPD を導入するために RPi を購入している方も多くいらっしゃるようだ1。いわゆるピュアオーディオには向かないまでも、確かに RPi からはとても良い音が鳴る。PC オーディオで良い音を鳴らすには、必ずしもマシンパワーは必要無いようだ。ノイズの少ない低電力マシンで、できる限り不要なプログラムを停止して、音楽再生だけに専念させれば、それで十分なようだ。そういったことも (今更ながら…) 学べた2

さて、今回は RPi の MPD を利用してラジオを聴いてみる。MPD ではプレイリストに URL を追加するだけで簡単にインターネットラジオが聴ける。また、録音した Radiko のデータなども MPD から利用できるだろう。イメージは次のような感じだ。USB-DAC として 先回 同様 LUXMAN の LXU-OT2 を利用することにする。

https://skalldan.files.wordpress.com/2013/03/wpid-rpi_mpd_with_radio_2db8d7dc720490b68310b1428a5fe12dfd5ab2871.png

Radiko

先日の記事 では、RPi で Radiko の録音用スクリプトを cron に登録して自動で放送を録音してみたが、こうして録音したデータ (mp3) を MPD から利用してみる。

まずは、先回 利用した Radiko の録音用スクリプト (rec_radiko.sh) の最後あたりを以下のように書き換えた。

変更前:

ffmpeg -y -i "/tmp/${channel}_${date}" -acodec libmp3lame -ab 128k "${outdir}/${channel}_${date}.mp3"

変更後:

avconv -y -i "/tmp/${channel}_${date}" -acodec libmp3lame -ar 44100 \
  -metadata album="Radiko" -metadata artist="Raspberry Pi" \
  "${outdir}/${channel}_${date}.mp3"

まず、 ffmpeg を利用すると以下のような警告文が出るので avconv に変更しておいた (avconv がない場合は apt-get install libav-tools)。

*** THIS PROGRAM IS DEPRECATED ***
This program is only provided for compatibility and will be removed in a future release. Please use avconv instead. 

もう一点、オプション metadata によってアルバム名 (“Radiko”) とアーティスト名 (“Raspberry Pi”) の情報を加えるようにした。名前はどんなものでもいいのだが、タグ情報がないと MPD のライブラリに登録する際に「不明」に分類されてしまう。

MPD のデータフォルダ (/var/lib/mpd/music) に、 cron で録音された Radiko のデータの保存先 (ここでは /mnt/storage/Radiko) へのシンボリックリンクを作成しておく。

$ sudo ln -s /mnt/storage/Radiko /var/lib/mpd/music/

コマンドラインのクライアント mpc でデータベースのアップデートを行っておく。

$ mpc update

プレイリストに Radiko を加える。

$ mpc ls Radiko | mpc add

iPad のクライアントソフト MPad から確認してみた。

mpad_radiko.png

タグ情報 (album=”Radiko”, artist=”Raspberry Pi”) が反映されている。

Internet Radio

インターネットラジオをプレイリストに追加することもできる。

はじめに既存のプレイリストをクリアしておいて、

$ mpc clear

加えたいラジオ局の URL (例えば Linn Radio) を以下のようにして追加する。

$ mpc add http://89.16.185.174:8003/stream
$ mpc add http://89.16.185.174:8000/stream
$ mpc add http://89.16.185.174:8004/stream
...

これをプレイリスト linn として保存する。

$ mpc save linn

デフォルトでは /var/lib/mpd/playlists/linn.m3u で保存される。

/var/lib/mpd/playlists 以下に適当な名前の .m3u ファイルを自分で作成してもよい。例えば、SHOUTcast のラジオ局を集めたプレイリストを以下のように作成してみる。

/var/lib/mpd/playlists/shoutcast.m3u:

# Absolutely Smooth Jazz
http://207.200.96.231:8008
# Jazz Groove
http://91.121.25.89:8030
# BOSSA NOVA HITS
http://85.25.16.7:8006
# La Grosse Radio Reggae
http://188.165.60.91:8300
# Roots Reggae
http://205.188.215.231:8006
...

ファイルの所有者を変更しておく。

$ sudo chown mpd:audio /var/lib/mpd/playlists/shoutcast.m3u

ちなみに、SHOUTcast のラジオ局をプレイリストに追加するには、目的のラジオ局をブラウザから右クリックなどで保存 ( tunein-station.pls) して、その pls ファイルに記述された URL を登録することで可能となる。直接 URL だけを指定しても再生されないので注意が必要。

MPD クライアント Ario で登録したプレイリストを見た様子:

ario_radio_01.png

Ario のウェブラジオ

MPD のクライアント Ario にはあらかじめたくさんのウェブラジオが登録されている。登録されているものの中にたまたま Radio NOVA を見つけた。このラジオ放送は、学生時代パリ留学中によく聴いていたもので個人的にとりわけ思い入れがある。主にポップミュージックが流れるが、若干アングラ色が強いだろうか。ヒップホップやレゲエなども頻繁にかかるので、万人向けとは言えないかもしれない。

私は当時フランス語のヒアリングのためと、パリで流行の音楽を知るためによく聴いていた。ライブ情報などもあって、メモしてライブハウスに足を運んだりもした。懐かしい。”Il est onze heures, j’ai faim!” (「時刻は11時。お腹空いたなあ!」) のような変わった時報は、パリっ子なら誰でも知っていると思う。たぶん。

ario_radio_02.png

他にも Ario には France Bleu などパリの FM 局がたくさん登録されている。

参考

Footnotes:

1 オーディオマニアの間で音質的に定評のある Voyage MPD を RPi に移植しようとする RaspyFi Project もすでに立ち上がっている。

2 ただし、既存の音楽管理を MPD に移行する際に気をつけなければいけない点は、MPD はデフォルトではセキュリティ上の理由で、一気に 10,000 曲以上のプレイリストを追加できないようになっている点である。MPD の設定を変更することもできるが、大量のデータを一度に登録することは避けた方が良さそうだ (cf. Music Player Daemon Large Playlist)。

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s