
MakerによるLEDジュークボックスの製作事例が公開された。FabSceneの読者投稿フォームに寄せられたこのプロジェクトは、Raspberry Pi 4Bと5枚のLEDマトリクスパネル、4つのスピーカーを組み合わせ、音楽に合わせてLEDが光るシステム(オーディオリアクティブシステム)となっている。
制作者の「ok」氏が公開した「LED-Jukebox」は、P2.5サイズの64×64 RGBマトリクスパネル5枚とスピーカー4個を組み合わせた音楽可視化システムだ。Spotify Connectを利用した音楽再生機能と、リアルタイムのLEDビジュアライゼーション機能を一体化している。
ハードウェア構成と3Dプリント筐体
システムの中核となるハードウェアは、Raspberry Pi 4B(64GB microSD、Raspberry Pi OS Lite 64-bit)、P2.5 64×64 RGBマトリクスパネル5枚、8Ω 10Wスピーカー4個、5V 40A電源ユニット、10W+10Wステレオ USB DACアンプで構成されている。
筐体は全て3Dプリンターで製作されており、複数のパーツで構成される。LEDパネルと天板のメインボディへの取り付けには、直径6mm、厚さ3mmのネオジム磁石48個を使用している。
Spotify連携と音楽連動のLED表示機能
音楽再生には「Raspotify」を活用し、Spotify Connectによる音楽ストリーミングを実現している。システムはMQTTを使った各コンポーネント間の通信により、リアルタイムで音楽に合わせたLED表示を実行する。
LEDマトリクスの制御には「rpi-rgb-led-matrix」ライブラリを使用し、OpenGLを利用したレンダリングシステム「LED-Jukebox-Visualizer」により音楽に同期したビジュアルエフェクトを生成している。音声の分析とビート検出は専用のユーザーサービスとして動作し、MQTTブローカーを介してLEDマトリクスに表示データを送信する仕組みだ。
技術的な実装の詳細
システムの設定では、Raspberry Piの音声出力を無効化し(dtparam=audio=off)、CPUコア分離(isolcpus=3)によるリアルタイム性能の向上を図っている。音声ソースのモニタリングにはPipeWireを使用し、USB音声デバイスから音楽信号を取得している。
LED制御のため、snd_bcm2835ドライバーをブラックリストに追加し、GPU メモリを128MBに設定している。複数のシステムサービス(led-jukebox-mqtt.service、led-jukebox-led-matrix.service)とユーザーサービス(led-jukebox-beats.service、raspotify.service)の連携により、安定したリアルタイム動作を実現している。
同システムではSpotify APIの認証情報取得が必要で、Spotify Developer Dashboardからのクライアントキーと秘密キーを.envファイルに設定する仕組みとなっている。
本稿で紹介したLED-Jukeboxは音楽とテクノロジーを組み合わせたインタラクティブなデバイス製作の事例だ。ok氏は3Dプリントパーツを含む全ての設計ファイルと制御ソフトウェアをGitHubで公開しているので、興味を持った読者は参照してほしい。
※この記事は読者投稿フォームからの応募に基づいて作成しました。
FabSceneでは、あなたが開発したユニークな作品を募集しています。詳しくはこちらから