海上忍のラズパイ・オーディオ通信(51)
FMラジオのメリットを再発見! ラズパイ・オーディオで「サイマル放送」を聴く
■OpenHomeクライアントアプリで選局する
Linuxでは、最終的にサウンドシステム「ALSA」へ音声データを渡せば音が出る。MPDをオーディオ再生体系の核に据えるラズパイ・オーディオの場合、MPDにFMサイマル放送の音声データを渡せばOK、と考えればいい。
もっと簡単な方法も用意されている。ソースコードをコンパイルするときのオプション設定にもよるが、MPDには「M3U」形式のプレイリストを再生する機能があるのだ。サイマル放送を含むインターネットラジオ/ストリーミングサービスでは、特定のURLにアクセスすることで音声ストリームを受信できるが、その役割を含めMPDが処理できる。
MPDは直接ALSAへ出力できるため、MPDにM3Uプレイリストを指示すれば、インターネットラジオ/ストリーミングサービスを聴けるというわけだ。VolumioやMoode Audioといったシステムの場合、この方法で多数のインターネットラジオ局をサポートしている。
しかし、欧米で開発されているシステムに日本のラジオ局のサポートを期待してはいけない。自力でURLを調べM3Uプレイリストとして登録するだけのこと、労を惜しまず作業しよう。先ほど挙げたシステムのうち、Moode Audioの最新バージョンであれば、ウェブブラウザでhttp://moode.localにアクセスしてMUSICタブを表示、プレイリストにある適当なマイクボタンをクリックして、現れたコンテキストメニューで「Create new station」を選択すればOK。局の名前とURLを入力すれば作業は完了だ。
問題は、日本のインターネットラジオ/ストリーミングサービスのURLをどう調べればいいかということだが、たとえばNHK FMの場合、「NHKラジオ らじる☆らじる」のWEBページにアクセスした時、自動で読み込まれるJavaScript(common.js)にヒントがある。答えを言ってしまうと、「https://www.nhk.or.jp/radio/config/config_web.xml」というXMLファイルに各地方局ごとのURLが記載されているので、それを利用すればいいのだ。
このconfig_web.xmlというファイルには、札幌・仙台・東京・名古屋・大阪・広島・松山・福岡の各放送局ごとにNHK 第1・第2・FMのURLが用意されている。たとえばNHK FM(東京)を登録したい場合、「東京」欄の3つめにあるURLをコピーすることになる(2018年10月現在、URLはhttps://nhkradioakfm-i.akamaihd.net/hls/live/512290/1-fm/1-fm-01.m3u8)。
ところで、インターネットラジオ/ストリーミングサービスを聴く手段はもう一つある。MPDのプレイリストとして登録するのではなく、UPnPレンダラーサービス「upmpdcli」に登録するという方法だ。
ワンボード・オーディオ・コンソーシアムで開発中のディストリビューション「1bc」の場合、Google Play Musicなどのストリーミングサービスはupmpdcliで統括管理するスタイルなので、ラジオもこちらで選局できたほうがいい。
作業対象のファイルは「/etc/upmpdcli.conf」、そこに以下のリストに挙げた要領でURLを追加する。ラジオ局名には記述ルールがあり、先頭を「radio」で始め、両端をブラケットで囲まないと設定に反映されず、OpenHomeクライアントアプリに表示されない。現在のところ、「/etc/upmpdcli.conf」を直接編集するスタイルだが、いずれアプリからラジオ局を追加できるようにするつもりだ。
ともあれ、これで鎌倉FMを聴く準備は完了。ビットレートは公表されていないが、44.1kHz/16bitということはLinuxのprocファイルシステムをチェックすれば分かる。聴いた印象では64kbps程度という印象だが、ネット配信であるだけにヒスノイズのないクリアな音を楽しめる。あと気になる事といえば、大橋先生の番組ではどのようなレア音源がかかるのかだが……聴いてみてのお楽しみとのことなので、ラズパイを暖めて待つことにしたい。
- - - - -
・/etc/upmpdcli.confにおけるラジオ局の記述例
[radio NHK FM Tokyo]
url = https://nhkradioakfm-i.akamaihd.net/hls/live/512290/1-fm/1-fm-01.m3u8
[radio Kamakura FM]
url = http://musicbird-hls.leanstream.co/musicbird/JCB016.stream/playlist.m3u8?args=web_03
[radio Shonan Beach FM]
url = http://150.95.174.29:8000/by_the_sea
- - - - -