局リストの使い方 - takao-t/piradio GitHub Wiki
デフォルト(配布時のまま)の場合、局リストは
起動ディレクトリ/stations/station_list
を参照します(相対)。これをオーバライドするには local_settings.py で
station_file = 'path/file'
で指定します。合わせてロゴの配置ディレクトリを変更したい場合には
station_logo_path = 'path/'
を修正します。
局リストは次のかたちで記述します
TBS,TBSラジオ,TBS RADIO,TBS.png,radiko QRR,文化放送,JOQR BUNKA HOSO,QRR.png,radiko LFR,ニッポン放送,JOLF NIPPON HOSO,LFR.png,radiko RN1,ラジオNIKKEI第1,RADIONIKKEI,RN1.png,radiko RN2,ラジオNIKKEI第2,RADIONIKKEI2,RN2.png,radiko INT,InterFM897,InterFM897,INT.png,radiko
記述は
識別子,日本語名称,英字名称,ロゴファイル名,再生方式
です。
基本の設計がRadikoの情報なので、項目の並びがそうなっています。
識別子はRadikoでは局の識別子ですが、他の再生方法等では再生時のパラメータとなります。
英字名称部分は今のところ使っていませんが項目として残しているので何か入れておきます。
再生方法は radiko, radiru, stream, sdr_radio のいずれかです。これら以外にシステムが使用する MENU と COMMAND があります。MENUとCOMMANDは再生に使用するわけではなく内部で局リストの挙動を制御します。
もともとの機能として階層メニューを持っているわけではないのですが、局がずらーっと並びすぎると使いにくいため階層っぽく使える機能を実装しました。再生方式の個所に MENU を指定すると、指定された局リストを読み込みます。
stations/tokyo_list,東京,TOKYO,SYS_MENU.png,MENU
この指定ではtokyo_listが局リストとして読み込まれます。要するに階層として1つ下がるわけです。ですが、このままでは上に戻れないので次のように書きます。元の局リスト(トップメニュー)が station_list だったとすると tokyo_list は次のようになります。
TBS,TBSラジオ,TBS RADIO,TBS.png,radiko QRR,文化放送,JOQR BUNKA HOSO,QRR.png,radiko LFR,ニッポン放送,JOLF NIPPON HOSO,LFR.png,radiko RN1,ラジオNIKKEI第1,RADIONIKKEI,RN1.png,radiko RN2,ラジオNIKKEI第2,RADIONIKKEI2,RN2.png,radiko INT,InterFM897,InterFM897,INT.png,radiko stations/station_list,戻る,BACK,SYS_MENU.png,MENU
元の局リストを読み込んでしまえば「上」に戻れるというのを利用します。
液晶表示は常に固定幅で左にロゴ、右に名前表示になるのでロゴ部分に何もないとマヌケた感じになるため適当な画像を指定しておくと見た目がよくなります。SYS_*.pngでいくつかアイコンを入れてありますので使ってください。
コミュニティ系はバッファリングに時間がかかることが多いので慌てないでください。
Radikoの日本全局リストをstations/japan_radiko_allの下に入れてあります。japan_list がトップメニューになります。ここにはよく聞く局と、階層を下がるファイルを指定しておくと便利です。参考に使ってください。
局ロゴは権利関係で配布NGなので自分で入手してください。局取得のスクリプトでリストへリダイレクトしなければロゴだけ取得できますので。
らじるらじるの再生方法を変更しました。識別子として "エリア-局" のように対応エリアと放送局をハイフンで区切って指定します。例えば東京第一ならば tokyo-r1 を指定し、第二なら tokyo-r2、FMは tokyo-fm となります。
tokyo-r2,NHKラジオ第2(東京),JOAK2,,radiru tokyo-fm,NHK-FM(東京),NHK-FM,,radiru
らじるの再生エリア名は sapporo, sendai, tokyo, nagoya, osaka, hiroshima, matsuyama, fukuoka のいずれかです。
ストリームのURLと再生方法さえわかれば対応できます。"stream”対応が単なるURLを処理するだけなので、大抵は再生方法が stream で対応できます。例えばBBCは
http://bbcmedia.ic.llnwd.net/stream/bbcmedia_radio1_mf_p,BBC1,BBC1,,stream http://bbcmedia.ic.llnwd.net/stream/bbcmedia_radio1xtra_mf_p,BBC1x,BBC1x,,stream http://bbcmedia.ic.llnwd.net/stream/bbcmedia_radio2_mf_p,BBC2,BBC2,,stream http://bbcmedia.ic.llnwd.net/stream/bbcmedia_radio3_mf_p,BBC3,BBC3,,stream stations/japan_list,戻る,RETURN,SYS_MENU.png,MENU
こんな感じで対応できます。
(2020/06/30) ASX形式の配信に対応しました。mplayerを必要としますので、入っていない場合には apt-get install mplayer で入れておいてください。
コミュニティ局の .asx へのURLがわかる場合には
http://redswave.com/simul.asx,REDS WAVE,REDS WAVE,SYS_SIMUL.png,play_asx
のように書くと再生できます。またサイマルラジオ (http://www.simulradio.info/) の配信元放送局名がわかる場合には次のように記述します。
fmpalulun,FMぱるるん,FM Palulun,SYS_SIMUL.png,simulradio
ここで指定しているのは『ラジオを聴く』のボタン等のリンク先が http://www.simulradio.info/asx/fmpalulun.asx のようになっている場合、ベースURLが http://www.simulradio.info/asx で 'fmpalulun.asx' の 'fmpalulun' の部分が放送局名となります。プログラム的には単純にURLを補完してASXを求めているだけですが、局リスト内で簡単に扱えるようにしています。
再生URLがわかる場合で、HLSなどの場合にはm3u8のURLを調べ、'stream'で指定してください。
station_listには次のように書きます。
https://musicbird-hls.leanstream.co/musicbird/JCB033.stream/playlist.m3u8,江戸川 FM,EDOGAWA FM,,stream
単純ストリームを再生するには再生方法として 'stream' を指定します。
SDRを使用する場合には以下のように書きます。
81.3M;WFM,J-WAVE,J-WAVE,SYS_SDR_FM.png,sdr_radio
識別子の個所には周波数(81.3M)と変調方式(WFM)を指定します。FM放送の場合にはワイドバンドFM(WFM)を指定します。 周波数と変調方式はセミコロンで区切ります。変調方式にはAM、NFM(ナローFM)、WFM(ワイドバンドFM:FM放送)、USB、LSBが指定できるのでエアバンド等も対応できる(はず)です。周波数は見ればわかると思いますが 81.3Mは81.3e6で81300000Hzのことです。
sdr_radio って何やねん!というツッコミもありましょうが。sdrだけだと短いのでイヤなんですよ。SDRを使ったラジオ受信つう解釈でよろしく。
ラジオのメニューからコマンドを叩けるやつ。セキュリティ的に怒られるやつです。
もともとWiFiが切れた時の再接続用に用意してあります。こんな感じで使います。
TBS,TBSラジオ,TBS RADIO,TBS.png,radiko QRR,文化放送,JOQR BUNKA HOSO,QRR.png,radiko LFR,ニッポン放送,JOLF NIPPON HOSO,LFR.png,radiko RN1,ラジオNIKKEI第1,RADIONIKKEI,RN1.png,radiko RN2,ラジオNIKKEI第2,RADIONIKKEI2,RN2.png,radiko INT,InterFM897,InterFM897,INT.png,radiko wifireconnect.sh,WiFi再接続,WiFi,SYS_SYSTEM.png,COMMAND
これでwifireconnect.shが実行されます。
メニューからオーディオデバイスを切り換えるのに使用します。例えば内部スピーカーとBTヘッドフォンなどの切換に使います。
alsa;softvol;-c0;SoftMaster;10,スピーカー,SPEAKER,,AUDIOSET alsa;bt-headphones;;;10,BTヘッドフォン,BT-HEADPHONES,,AUDIOSET stations/station_list,戻る,BACK,SYS_MENU.png,MENU
局識別子の部分に設定ファイルに記述するのと同じ情報をセミコロンで区切って列挙します。最後の数字は音量初期値です。オーディオ機器を切り換えた場合、音量の初期値が物によって大きく異なるためです。
alsa;softvol;-c0;SoftMaster;10,スピーカー,SPEAKER,,AUDIOSET
この例ではオーディオドライバがALSA、再生デバイス名がsoftvo、音量調整デバイスが -c0、音量調整のターゲットがSoftMasterになっており、切り換えた後の初期音量は10です。局名、英語名の個所は他のメニューと同じように設定します。アイコンも使えますが上の例ではアイコンは指定していません。再生方法の個所に'AUDIOSET'を指定することでオーディオデバイスの切換えとなります。
最後のエントリに必ず元のメニューに戻る設定を入れておいてください。