【PC】サーバ版Ubuntuでラジオ聴きたい@22.04LTS
写真:ジャンクだけで仕上げたThinkpad X260、キーボードが無いので、これで正常体制。
ネットのラジオ再生が簡単便利になってた
ラジコとか、らじるらじる(NHK)とか、ローカルFM局など、今やネット上でもサービスを提供(サイマル放送)している状況ですが。
スクリプトなどでの自動視聴となると、度重なる仕様変更もあいまって、なかなか実用的にはなりませんでした。
Gitで優秀なスクリプトが公開されてるようで、Server版Ubuntuでも簡単に利用できたので、記録。
環境設定
まず、普段のユーザーをaudioグループに追加しておく(再起動が必要)
sudo usermod -aG audio (ユーザー)
Alsa系(音響系の上位層)のパッケージをインストールする。
sudo apt install alsa-utils
(上と一緒でもいいけど)必要なパッケージをインストールする。jqってなんのパッケージなんだろ、と思ったら、JSON系のパッケージらしい。ffmpegは有名なエンコ・デコードに必須なもの、デカいです。
sudo apt-get install curl libxml2-utils ffmpeg jq
オーディオ確認
オーディオ周りが動作してるか確認してみる。もし、デバイスが複数ある場合、デフォルト出力先を設定してください(HDMIやUSBスピーカ、Bluetoothなど)
aplay -L (デバイスの一覧)
alsamixser (音量/ミキサー)
テスト音声の再生
aplay /usr/share/sounds/alsa/Front_Center.wav
GITからスクリプトをゲットする(うる。さん作/MITライセンス)
とりあえずは、ユーザーホーム上に移動して、そこにダウンロード。radish-playディレクトリが作成されています。
cd ~
git clone https://github.com/jg1uaa/radish-play.git
さて生ラジオ視聴
これで、(全国どこでも聞けるだろう)TBSラジオが聞こえたら成功です。
./radish-play/radish-play.sh -t radiko -s TBS
これで、放送局のID名を一覧表示します(かなりの数)
./radish-play/radish-play.sh -l
なので、以下のように、出力結果を保存しておきましょう。
./radish-play/radish-play.sh -l > radio_ch_list.txt
詳しい使い方は、こちらのGITページを見て頂ければ分かるでしょう。
radishという録音スクリプトをベースに改良したので、再生だけでなく録音もできるようになっています。
また、NHKらじるや、Radiko(民放系)、ListenRadio(全国ローカルFM)なども対応してる優れものなスクリプトです。
Radikoプレミアム(有料サブスク)にも対応してるようです。
これを、Cronで定期実行しても良いですよね。
こんな感じで、crontabに忍ばせれば、目覚まし的なラジオ再生が可能になります(以下だと1時間再生、ラジコ・ニッポン放送)
nohup timeout 1h /usr/local/bin/radish-play/radish-play.sh -t rad
iko -s LFR
2022/7時点では、このスクリプトで再生が可能ですが、またまた、仕様変更があったら駄目になるかもなので、その辺は覚悟です。
crontabで自動再生
上でcrontabうんちゃらと書いていながら、自分でやったらスムーズにいかんかったのでメモ。
Server版だと、そもそも時刻がUTCになってる、使いやすい用タイムゾーンを変更。ロケールは変えない。
sudo timedatectl set-timezone 'Asia/Tokyo’
これで詳細を確認できる。
timedatectl
ここで、crontabにどー書いても、動作してくれない。
試しに、touch /home/user/test.txt というファイルを生成するコマンドを書いても、そもそもが動作していない事に気づく。
:(;゙゚’ω゚’): あれ?
ログ見ればいいや、と思ったら、crontabのログは明示的に有効にしないと、出力されない仕様のようで。
すったもんだした上、時刻周りの設定後は、再起動した方がいいというネット記事を見つける。
再起動したら、すんなり動作するという・・・。
(;´Д`)
これで、無事、目覚ましや時刻に合わせたラジオ放送ができるようになりました。
ラジコ視聴エリアがちゃう
地元のラジオ局が聞けないんだが・・と思いきや、公式サイト見ると、私は神奈川に居ることになっているらしいw
(;^ω^)
ラジコに問い合わせれば、修正してくれるそうです。
全局聞けるプレミアムは、385円/月だそう。
NHKのらじるらじるは、視聴エリア制限とかなく、全国の放送が聞けるようです。
現時点でのラジオ放送局のIDリスト
record typeの部分は、-t で指定、放送局はID名を -s に記述します。
探すの面倒なので、よく聞く放送局で個別にスクリプトを用意すると良いでしょうね。
Record type: nhk
sapporo-r1: 札幌 R1
sapporo-fm: 札幌 FM
sendai-r1: 仙台 R1
sendai-fm: 仙台 FM
tokyo-r1: 東京 R1
tokyo-fm: 東京 FM
nagoya-r1: 名古屋 R1
nagoya-fm: 名古屋 FM
osaka-r1: 大阪 R1
osaka-fm: 大阪 FM
hiroshima-r1: 広島 R1
hiroshima-fm: 広島 FM
matsuyama-r1: 松山 R1
matsuyama-fm: 松山 FM
fukuoka-r1: 福岡 R1
fukuoka-fm: 福岡 FM
r2: R2
Record type: radiko
HBC: HBCラジオ
STV: STVラジオ
AIR-G: AIR-G’(FM北海道)
NORTHWAVE: FM NORTH WAVE
RAB: RAB青森放送
AFB: エフエム青森
IBC: IBCラジオ
FMI: エフエム岩手
TBC: TBCラジオ
DATEFM: Date fm エフエム仙台
ABS: ABS秋田放送
AFM: エフエム秋田
YBC: YBC山形放送
RFM: Rhythm Station エフエム山形
RFC: RFCラジオ福島
FMF: ふくしまFM
JOIK: NHKラジオ第1(札幌)
JOHK: NHKラジオ第1(仙台)
TBS: TBSラジオ
QRR: 文化放送
LFR: ニッポン放送
INT: interfm
FMT: TOKYO FM
FMJ: J-WAVE
JORF: ラジオ日本
BAYFM78: bayfm78
NACK5: NACK5
YFM: FMヨコハマ
IBS: LuckyFM 茨城放送
CRT: CRT栃木放送
RADIOBERRY: RadioBerry
FMGUNMA: FM GUNMA
JOAK: NHKラジオ第1(東京)
BSN: BSNラジオ
FMNIIGATA: FM NIIGATA
KNB: KNBラジオ
FMTOYAMA: FMとやま
MRO: MROラジオ
HELLOFIVE: エフエム石川
FBC: FBCラジオ
FMFUKUI: FM福井
YBS: YBSラジオ
FM-FUJI: FM FUJI
SBC: SBCラジオ
FMN: FM長野
CBC: CBCラジオ
TOKAIRADIO: 東海ラジオ
GBS: ぎふチャン
ZIP-FM: ZIP-FM
FMAICHI: FM AICHI
FMGIFU: FM GIFU
SBS: SBSラジオ
K-MIX: K-MIX SHIZUOKA
FMMIE: レディオキューブ FM三重
JOCK: NHKラジオ第1(名古屋)
ABC: ABCラジオ
MBS: MBSラジオ
OBC: OBCラジオ大阪
CCL: FM COCOLO
802: FM802
FMO: FM大阪
KISSFMKOBE: Kiss FM KOBE
CRK: ラジオ関西
E-RADIO: e-radio FM滋賀
KBS: KBS京都ラジオ
ALPHA-STATION: α-STATION FM KYOTO
WBS: wbs和歌山放送
JOBK: NHKラジオ第1(大阪)
BSS: BSSラジオ
FM-SANIN: エフエム山陰
RSK: RSKラジオ
FM-OKAYAMA: FM岡山
RCC: RCCラジオ
HFM: 広島FM
KRY: KRY山口放送
FMY: エフエム山口
JRT: JRT四国放送
FM807: FM徳島
RNC: RNC西日本放送
FMKAGAWA: エフエム香川
RNB: RNB南海放送
JOEU-FM: FM愛媛
RKC: RKC高知放送
HI-SIX: エフエム高知
JOFK: NHKラジオ第1(広島)
JOZK: NHKラジオ第1(松山)
RKB: RKBラジオ
KBC: KBCラジオ
LOVEFM: LOVE FM
CROSSFM: CROSS FM
FMFUKUOKA: FM FUKUOKA
FMS: エフエム佐賀
NBC: NBCラジオ
FMNAGASAKI: FM長崎
RKK: RKKラジオ
FMK: FMKエフエム熊本
OBS: OBSラジオ
FM_OITA: エフエム大分
MRT: 宮崎放送
JOYFM: エフエム宮崎
MBC: MBCラジオ
MYUFM: μFM
RBC: RBCiラジオ
ROK: ラジオ沖縄
FM_OKINAWA: FM沖縄
JOLK: NHKラジオ第1(福岡)
RN1: ラジオNIKKEI第1
RN2: ラジオNIKKEI第2
HOUSOU-DAIGAKU: 放送大学
JOAB: NHKラジオ第2
JOAK-FM: NHK-FM(東京)
Record site type: lisradi
20006: リスラジプレミアム
20003: リスラジ寄席
30058: FM ABASHIRI
30074: FMりべーる
30045: FMねむろ
30029: FMくしろ
30016: FM JAGA
30038: FM WING
30032: さっぽろ村ラジオ
30044: RADIOワンダーストレージ FMドラマシティ
30005: 三角山放送局(札幌市西区)
30034: ラジオカロスサッポロ
30090: FMアップル
30015: FMメイプル
30087: wi-radio
30079: BeFM
30050: カシオペアFM
30017: ラヂオもりおか
30097: みやこハーバーラジオ
30094: ラヂオ気仙沼
30037: ラジオ石巻
30056: BAY WAVE
30007: RADIO3
30018: fmいずみ
30092: なとらじ801
30025: ラジオおおだて
30089: 鹿角きりたんぽFM
30014: エフエム椿台
30076: 横手かまくらエフエム
30030: FMゆーとぴあ
30019: FM Mot.com
30020: KOCOラジ
30009: FMいわき
30023: FMひたち
30075: たかはぎFM
30022: FMぱるるん
30021: FMうしくうれしく放送
30043: まえばしCITYエフエム
30047: FMふっかちゃん
30008: REDS WAVE
30035: FM Kawaguchi
30002: フラワーラジオ
30096: ハローハッピー・こしがやエフエム
30026: 775ライブリーFM
30042: RadioCity 中央エフエム
30036: レインボータウンFM
30027: エフエム世田谷
30051: コマラジ
30039: 調布FM
30059: ラジオフチューズ
30033: FMたちかわ
30081: Tokyo Star Radio(八王子FM)
30046: かわさきFM
30065: マリンFM
30064: エフエム戸塚
30057: FMカオン
30001: FM N1
30006: ラジオ・ミュー
30012: 敦賀FM
30004: MID FM
30040: エフエムEGAO
30071: FM87.0 RADIO MIX KYOTO
30082: 京都三条ラジオカフェ
30063: FMおとくに
30073: FMたんご
30067: FM aiai
30078: BAN-BANラジオ
30013: FM ジャングル
30053: DARAZ FM
30010: FMびざん
30024: FM815(高松)
30070: FM SUN
30052: AIR STATION HIBIKI
30077: COMI×TEN
30085: CHOKUラジ!
30088: FMのべおか
30072: エフエムたつごう
30054: あまみエフエム
30080: せとラジ
30095: FMやんばる
30011: FMうるま
30003: FMニライ
30066: オキラジ
30093: FMぎのわん
30098: ぎのわんシティFM
30068: fm那覇
30091: ハートFMなんじょう
30055: FMよなばる
30083: FMとよみ
30069: FMいしがきサンサンラジオ
30099: 試験放送A
20005: 試験放送