ラベル ラジオ の投稿を表示しています。 すべての投稿を表示
ラベル ラジオ の投稿を表示しています。 すべての投稿を表示

2018年12月9日日曜日

Linux boxでラジオ番組を自動録音する returns

以前、同じ目的の記事を書いた:

cf. [Linux boxでラジオ番組を自動録音する](https://typeinf-memo.blogspot.com/2016/01/linux-box.html)

今回、再び同じtitleで記事を書いたのは、録音に使っているLinux box (Debian sid)のinit systemを遂にsystemd化した (ずっとsysvinitで粘っていたが限界が訪れた)のが原因で録音に失敗したためである。

症状


* ffmpegを使って指定したpulseaudioのsourceから録音できない (cronからのみ)

logを取ってみるとこんな感じだった:

ffmpeg version N-92645-gc782e7aa9e Copyright (c) 2000-2018 the FFmpeg developers
  built with gcc 8 (Debian 8.2.0-10)
  configuration: --enable-gpl --enable-version3 --enable-nonfree --enable-libass --enable-libfdk-aac --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libpulse --enable-gnutls --enable-ladspa --enable-libbluray --enable-libflite --enable-libmodplug --enable-libaom --enable-opencl --enable-vaapi --enable-vdpau --enable-pic --enable-shared --extra-cflags='-fPIC -Ofast'
  libavutil      56. 24.101 / 56. 24.101
  libavcodec     58. 41.102 / 58. 41.102
  libavformat    58. 23.102 / 58. 23.102
  libavdevice    58.  6.101 / 58.  6.101
  libavfilter     7. 46.101 /  7. 46.101
  libswscale      5.  4.100 /  5.  4.100
  libswresample   3.  4.100 /  3.  4.100
  libpostproc    55.  4.100 / 55.  4.100
alsa_input.pci-0000_00_1f.3.analog-stereo: Input/output error

これは多分前回の記事と同じerrorで、XDG_RUNTIME_DIRを指定すれば解決するはず。

なお、以前に記事を書いた時とpulseaudioのsourceが少し違っているが、以前systemd→sysvinitに戻した際変化した (cf. [PulseAudio w/o systemd](https://typeinf-memo.blogspot.com/2016/10/pulseaudio-wo-systemd.html))。

その時の変更をまた戻すことになった訳である。

対策


* XDG_RUNTIME_DIRを指定してffmpegを実行する

ついでに、backgroundでinvokeしたffmpegのPIDを取得しておき録音時間sleepさせた後kill -TERMで殺す、という方法ではなく、ffmpegの-t optionでduration指定する方法に改めた。

XDG_RUNTIME_DIR=/usr/user/1000 "${FFMPEG}" -f pulse -ac 2 -ar 44100 -i "${SOURCE}" -acodec libvorbis -q 3 -t ${DURATION} "${FILEPATH}" >${LOGFILE} 2>&1 &
なお、${FFMPEG}のような大文字の定数はscript内で
FFMPEG=/usr/local/bin/ffmpeg
といった具合に定義してある。


今後の展望


headless運用をしていて普段loginしない (maintenanceのためにたまにsshでloginするくらいの) Linux boxで自動録音をするなら、PulseAudioをsystem-wideなdaemonとして立ち上げておく方法が考えられる。

loginしていない時にはPulseAudioのper-user daemonが立ち上がっていないのでsourceも存在せずerrorを吐くと思うので。

ちなみにPulseAudioのdeveloperはPulseAudioのsystem-wide modeを推奨していない:

cf. [SystemWide](https://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/User/SystemWide/)


2017年8月3日木曜日

非常時の情報収集手段としてのラジオ

非常時の情報収集手段としてのラジオについてちょっと考えてみる


なぜスマホだけではだめか?


東日本大震災とか、近年多発している豪雨災害とかでも、放送による情報入手で一番確実なのはラジオだと思っている。その理由は大きく2つあって、1つ目は原理的に輻輳が発生しない放送であること、2つ目は消費電力が小さいので長時間の利用が可能なこと。

スマートフォンは通信手段にもなるし、(機種によっては)ワンセグも見れるし、アプリを入れておけばラジオ番組も聞けるし、ライトにもなるしと万能だ。万能な物は日常生活では持ち物が減るなど利点が多いが、非常時は少々勝手が違ってくる。

一番の問題は電源で、モバイルブースター (大容量バッテリー)も随分普及したが、それでもバッテリーの持続時間が十分とは言えない現状がある。生存性を考えると、最低限、明り (ライト)とラジオは別口で専用品を持つ方が、機能別にデバイスを分けられる (なくしたり壊したりすることへの抵抗性)点でも、バッテリーの持ちの点でも望ましい。

理想的な電源


非常時に確実に使えることを考えると「電源が何か」はとても重要なファクターだ。非常用持ち出し袋に入れておいたラジオや懐中電灯が電池切れで使えない、なんてケースは枚挙に暇がない。電池が切れているだけならばまだマシだが、場合によっては液漏れによって故障している場合すらある。乾電池は抜いて別に保管しておくことを勧める。

ラジオで言うと、最も入手性の良いAA×1で長時間聞けるのが理想的ではある。そう言う意味で、容量は大きくても入手性の悪いD (たぶん最も悪いのはC)より、AAやAAAを電源にするのは理に適っていると思う (応用範囲も広いし)。

ちなみに、手元にあるICF-801はC×3だが、スペーサと金属製のゼムクリップ (これがないと導通しない)を使ってAA eneloop×3で運用している。

持ち歩きに向いたカードサイズのラジオ (SONY ICF-R351とか)では、AAA×1或いはAAA×2が標準的である。

日常的に使ってこそ、非日常でも頼りになる


あと重要だと思うのは、日常でラジオ (のハードウェア)を使う、ラジオを聞くことだと思う。非常時に役立つからと言っても、日頃から支えているリスナーがいなければそもそも事業として立ち行かない。また、どの局でどんな情報が得られるのか傾向を掴んでおくと情報の取捨選択もやりやすい。

東日本大震災の時は特に酷かったが、どこもかしこも自粛ムードの中で、延々と災害の情報とACのCMばかり見せられ聞かされるのは、例え直接的な被害がなくとも気が滅入る。全く関係ない日頃の番組や、音楽を聞きたくなる。そういう時に、複数のチャンネル (複数の局、時間帯、或いはメディア)を知っていることは強みになる。

SONYのラジオICF-801がdiscontinuedな模様

SONY (製造は下請けである十和田オーディオ)の日本製ラジオであるICF-801 (cf. [ICF-801 | ラジオ/CDラジオ・ラジカセ | ソニー](http://www.sony.jp/radio/products/ICF-801/))が生産完了 (discontinued)っぽいと今更ながら知った (7/18頃に発表されていた?)。

以下のページでICF-801に「生産完了」のマークがついていると確認できる → [AMラジオの番組がFM放送でも聴ける ワイドFM(FM補完放送)! | ラジオ/CDラジオ・ラジカセ | ソニー](http://www.sony.jp/radio/radio_sony/fm/)

このモデルのように長く生産されて「時代によって証明されている」モデルは細々とでも続けて欲しいと思ってしまうけれど、企業的には儲けが出なければどうしようもないって所なのだろうか。

後継機種とされているICF-506 (cf. [ICF-506 | ラジオ/CDラジオ・ラジカセ | ソニー](http://www.sony.jp/radio/products/ICF-506/))では、基本的な操作体系に変更はないようだが、部品点数削減のためかAM/FM切り替えスイッチに電源機能が統合されていたり、表示板のバックライトが無くなっていたりと、合理性は理解できるが「なんだかなぁ」と思う点がある。一方で、電源がC×3ではなくAA×3になっている点は、稼働時間が減りはするものの、電源の入手性という点から堅実な改善点だと思う。

カードサイズのシンセサイザーチューニングラジオICF-R351もいつの間にやらカタログから消えているし (後継機種はICF-R354MかSRF-T355あたり?)、世代交代は進んでいるんだなと。SRF-T355は、ワンセグの音声が受信できるXDR-63TVと共通点が多いようで、一度使ってみたい気はする。