Raspberry Pi ベースのラジオの作り方
ラジオは「古い」技術のように聞こえるかもしれませんが、まさにその点が魅力なのです。シンプルで信頼性が高く、エンターテイメントや教育プロジェクトにおいて今なお非常に有効です。Raspberry Piを使えば、現代的で柔軟性の高いラジオを構築できます。インターネットストリーミングラジオ、ローカルミュージックプレーヤー、さらには(追加モジュールを使えば)FMラジオとしても利用可能です。この記事では、ハードウェアのセットアップからソフトウェアの設定まで、Raspberry Piベースのラジオを実践的に構築する方法を解説します。
-
1. Raspberry Pi ベースの無線コンセプト
一般的に、主なアプローチは2つあります。
1. インターネットラジオ(ストリーミング)
Raspberry Piは、Wi-Fi/イーサネット経由でインターネット上のラジオ放送を再生します。これは特別な無線機器を必要としないため、最も簡単で一般的な方法です。
2. FM/AMラジオ(オプション機器使用時)
チューナーモジュール(例:I2C/SPI接続のFM受信機)またはソフトウェア無線(SDR)デバイスが必要です。設定はより複雑で、使用するデバイスによって異なる場合が多くあります。
この記事では、インターネットラジオを主な焦点としています。なぜなら、インターネットラジオは初心者にとって最も使いやすく、短時間で制作できるからです。
-
2. 必要な機材
推奨部品の一覧は以下のとおりです。
– Raspberry Pi(Pi 3/4/Zero 2 W推奨)
– 最小容量:8~16GBのmicroSDカード
– 安定した電源供給(5V、電流はRaspberry Piの機種による)
– インターネット接続(Wi-FiまたはLANケーブル)
– 音声出力:
– 3.5mmジャック経由のアクティブスピーカー(対応モデルのみ)、または
– USBスピーカー/アンプ、または
– DACオーディオHAT(オプション、音質向上)
– モニターとキーボード(初期設定用)またはSSHアクセス
– プロジェクト用ケース/ボックス(オプション、見た目をすっきりさせるため)
物理的な操作ボタンを備えたラジオをご希望の場合は、以下を追加できます。
– プッシュボタン、ロータリーエンコーダー、またはOLED/LCDスクリーン。
-
3. Raspberry Piオペレーティングシステムのインストール
1. Raspberry Pi ImagerをPC/ノートパソコンにダウンロードしてインストールします。
2. microSDカードを挿入し、リソース効率の良い使用のためにRaspberry Pi OS Lite(デスクトップなし)を、グラフィカルインターフェースが必要な場合はデスクトップ版をフラッシュします。
3. 画像を書き込む前に、以下の設定を行うことができます。
– Wi-Fi(SSIDとパスワード)
ユーザー名とパスワード
– SSHアクティベーション
4. Raspberry Piを起動し、インターネットが正常に動作していることを確認します。
システムにログイン後、パッケージを更新してください。
「「バッシュ」
sudo apt update
sudo apt upgrade -y
「 `
-
4. Raspberry Piでのオーディオ設定
検出されたオーディオデバイスを確認してください:
「「バッシュ」
アプレイ -l
「 `
HDMIまたはジャック(機種によって異なります)経由で音声を使用している場合は、デフォルトの出力を選択できます。Raspberry Pi OSの一部のバージョンでは音声が自動的に設定されますが、以下の手順で出力をテストできます。
「「バッシュ」
スピーカーテスト -t wav -c 2
「 `
USBサウンドカードまたはDAC HATを使用している場合、通常は新しいデバイスとして認識されます。ラジオの音声が聞こえるように、出力設定が正しいことを確認してください。
-
5. インターネットラジオプレーヤー(MPD + MPC)のインストール
最も安定した方法の一つは、MPD(Music Player Daemon)を使用してオーディオを再生し、MPCをターミナルからコントローラーとして使用することです。
パッケージをインストールしてください:
「「バッシュ」
sudo apt install -y mpd mpc
「 `
MPDが実行されていることを確認してください。
「「バッシュ」
sudo systemctl enable mpd
sudo systemctl start mpd
「 `
ステータスを確認する:
「「バッシュ」
systemctl status mpd
「 `
-
6. ラジオ局リストの追加
MPDはURLストリームを再生できます。MPDのプレイリストにラジオ局を追加できます。
ラジオストリームを1つ追加する例:
「「バッシュ」
mpc add http://streamurl-radio-anda:8000/stream
「 `
次に再生します:
「「バッシュ」
mpc プレイ
「 `
リストを表示するには:
「「バッシュ」
mpc プレイリスト
「 `
お気に入りのステーションのプレイリストを作成する
`.m3u`プレイリストファイルを作成できます。
1. プレイリストフォルダを作成します(存在しない場合):
「「バッシュ」
mkdir -p ~/playlists
「 `
2. ファイルを作成します。
「「バッシュ」
nano ~/playlists/radio.m3u
「 `
3. ストリーミングURLをいくつか入力します。例:
「 `
http://example.com/stream1
http://example.com/stream2
http://example.com/stream3
「 `
個別に読み込むか、MPD のミュージック/プレイリストディレクトリを設定することで、それらを MPD に追加できます。簡単な方法は、ファイルから直接追加するか (MPD の設定によってはオプション)、プレイリストを MPD のプレイリストフォルダ (通常は `/var/lib/mpd/playlists/`) にコピーすることです。
-
7. 無線機により適したMPD構成
MPD設定を編集する:
「「バッシュ」
sudo nano /etc/mpd.conf
「 `
重要な部分をいくつかご紹介します。
– 音声出力が正しいことを確認してください。一般的な例:
“`conf
音声出力 {
「alsa」と入力する
名前「ALSA出力」
ミキサータイプ「ソフトウェア」
}
「 `
– バッファを設定することで、ストリーミングをより安定させることができます(オプション、ネットワーク状況によります)。
完了したら、MPDを再起動してください。
「「バッシュ」
sudo systemctl restart mpd
「 `
-
8. 起動時にラジオを自動的にオンにする
Raspberry Pi の電源投入直後にラジオを再生させるには:
1. 簡単なスクリプトを作成します。例:
「「バッシュ」
nano ~/start-radio.sh
「 `
イシ:
「「バッシュ」
!/bin/bash
スリープ5
mpcクリア
mpc add http://streamurl-radio-anda:8000/stream
mpcボリューム70
mpc プレイ
「 `
保存してから実行権限を付与してください。
「「バッシュ」
chmod +x ~/start-radio.sh
「 `
2. systemdサービスを作成します。
「「バッシュ」
sudo nano /etc/systemd/system/radio.service
「 `
イシ:
「`イニ」
[単位]
説明=ラジオ自動再生
After=network-online.target mpd.service
Wants=network-online.target
[サービス]
ユーザー=pi
ExecStart=/home/pi/start-radio.sh
再起動=失敗時
[インストール]
WantedBy = multi-user.target
「 `
有効にする:
「「バッシュ」
sudo systemctl daemon-reload
sudo systemctl enable radio.service
sudo systemctl start radio.service
「 `
注: ユーザー名が `pi` でない場合は、パスと `User=` を調整してください。
-
9. コントロールの追加(オプション)
本物のラジオのような感覚にするには、物理的な操作ボタンを追加できます。
– 次へ/前へボタンで放送局を切り替えます。
– `mpc next`
– `mpc prev`
– 再生/停止ボタン:
– `mpc トグル`
– `mpc stop`
– 音量調整用ロータリーエンコーダ:
– `mpc volume +5`
– `mpc volume -5`
ボタンを実装するには、Python(GPIO)を使用して`mpc`コマンドを呼び出すことができます。この組み合わせはシンプルで開発が容易なため、非常に人気があります。
-
10. 開発のヒントとトラブルシューティング
よくある問題とその解決策:
1. 音が出ない
音声出力が正しいことを確認してください(ALSAデバイス)。
スピーカーまたはUSBサウンドカードを変更してみてください。
– ボリュームが0でないことを確認してください: `mpc volume 80`
2. ストリーミングが断続的である
可能であれば、LAN接続を使用してください。
– 起動時に再生前に遅延を追加します(`sleep 5` または `sleep 10`)。
より低いビットレートのストリームを選択してください。
3. MPDはURLを再生できません
URLが正しいこと、そして同じネットワークから開けることを確認してください。
– サポートパッケージが利用可能であることを確認してください(通常、最新のRaspberry Pi OSでは十分です)。
4. より「ラジオ」らしいインターフェースが欲しい
– ncmpcpp(ターミナルUI)のようなフロントエンドをインストールするか、シンプルなWeb UIを作成します。
-
閉鎖
Raspberry Pi をベースにしたラジオを作るのは、楽しくてやりがいのあるプロジェクトです。MPD と MPC を組み合わせることで、起動時に自動的に起動する安定したインターネットラジオを作成できます。物理ボタン付きのデバイス、小型スクリーン、さらにはカスタムケースなどを簡単に追加して拡張することも可能です。基本バージョンが完成したら、さらに一歩進んで、放送局名を表示する OLED スクリーンを追加したり、プリセットメニューを作成したり、FM ラジオ用のチューナーモジュールを追加したりすることもできます。
ご希望であれば、より具体的な内容で続けることも可能です。例えば、すぐに使えるインドネシアのラジオ局のリスト(URL)、GPIOスイッチ用のPythonコード例、あるいは音質を大幅に向上させるためのDAC HATの使い方ガイドなどです。