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.ハードウェア仕様