01.概要

  

FMラジオを予約録音することができる、ラジオ録音サーバーを作成します。
主な機能と、主要部品は、以下です。

主な機能

ラジオを聴くことができる
FMラジオモジュールを使用して、FMラジオの音声を受信します。
受信したラジオの音声は、FMラジオモジュール⇒USBオーディオアダプタのマイク端子⇒USBオーディオアダプタのヘッドホン端子⇒スピーカー、と経由して、聴くことができます。
「USBオーディオアダプタのマイク端子⇒USBオーディオアダプタのヘッドホン端子」については、「マイク端子の入力音声をヘッドホン端子にループバックするモジュール」である、PulseAudio(※1)の「module-loopback」を利用します。
ラジオを録音することができる
FFmpeg(※2)を利用して、USBオーディオアダプタのマイク端子からの入力を、MP3ファイルとして保存します。
ラジオを予約録音することができる
cron(※3)を利用して、所望の曜日、時刻に、ラジオを録音します。
※1 : PulseAudio
https://www.freedesktop.org/wiki/Software/PulseAudio/
上記公式サイトより抜粋、翻訳) PulseAudio は、POSIX OS 用のサウンド サーバー システムです。つまり、サウンド アプリケーションのプロキシになります。これは、関連するすべての最新の Linux ディストリビューションに不可欠な部分であり、複数のベンダーによってさまざまなモバイル デバイスで使用されています。アプリケーションとハードウェアの間を通過するサウンド データに対して高度な操作を実行します。オーディオを別のマシンに転送したり、サンプル形式やチャンネル数を変更したり、複数のサウンドを 1 つの入出力にミックスしたりすることは、PulseAudio を使用して簡単に実現できます。
※2 : FFmpeg
https://ffmpeg.org/ffmpeg.html#Description
上記公式サイトより抜粋、翻訳) ffmpegはユニバーサルメディアコンバータです。ライブグラビング/レコーディングデバイスを含むさまざまな入力を読み取り、フィルタリングし、多数の出力フォーマットにトランスコードできます。
※3 : cron / crontab
cron は、Unix系OS のジョブスケジューラー機能です。cronを利用することで、ジョブ(cronジョブと呼ばれる)を、固定の時間、日時、または間隔で実行させることができます。
cronジョブは、crontab コマンドを用いて、設定、編集します。

主要部品

マイコンボード マイコンボードとしては、Raspberryp Pi を使用します。Raspberry Pi 3, Raspberry Pi 4, Raspberry Pi Zero W, Raspberry Pi Zero 2 W 等、Raspberry Pi OSが動作するRaspberry Pi が使用可です。Raspberry Pi OS が動作しない Raspberry Pi Pico は使用不可です。
FMラジオモジュール FMラジオモジュールを使用して、FMラジオの音声を受信します。
amazon等で1個あたり200円しない価格で販売されている「RDA5807Mを使用したFMラジオモジュール」を使用します。
USBオーディオアダプタ 受信したラジオ音声は、USBオーディオアダプタのマイク端子を通して、Raspberry Pi に入力します。
マイク端子から入力した音声は、USBオーディオアダプタのヘッドホン端子から出力し、ラジオ音声をスピーカーで聴くことができるようにします。

関連ページ

次項目:02.ハードウェア仕様