Amazonのアソシエイトとして、ラズパイダ(raspida.com)は適格販売により収入を得ています。詳しくは当サイトの プライバシーポリシーをご覧ください。
ラズパイフルーツボックス(fruitbox MP3 jukebox)はRaspberry Pi 3B+まで対応しているジュークボックス風のMP3プレイヤーです。
2017年頃に海外でリアルに中古のジュークボックスを魔改造しているような動画が出ていました。その後、日本ではあまり話題になっていなかったので、今更ながらご紹介します。
fruitbox v1.16 (Feb 17 2020, 15:28:38) by Mike Kingsley A customisable MP3 Retro Jukebox for the Raspberry Pi
fruitbox MP3 jukeboxはRaspberry Pi 3Bまたは3B+を想定しているようで、CPUが4コア、メモリーも256MBの割当を推奨しています。
今回は、Raspberry Pi 3A+で動かしてみました。メモリーこそ512MBしかありませんがCPUは3B+と同等なので試してみたところ、特に大きな不具合も無かったのでオススメです。
更に音もレトロ感溢れるようにSpeaker pHATを再生用スピーカーとして使いました!
もちろん、テレビのHDMI出力でも、スピーカーを繋いでも問題ありません。もしもスピーカーを繋ぐなら、3.5mmジャックで繋ぐ独立電源が望ましいです。3A+はUSB端子が一つしかありませんから補助電源にもUSBスピーカーも端子が足りません。

構築方法は、次からのセットアップ方法の手順でどうぞ。※Raspberry Pi 4Bでは動作しません。
fruitbox MP3 jukeboxのセットアップ方法
いつものようにmicroSDカードへOSを書き込むことから始まります。
GithubのページにmicroSDカードへ書き込むイメージファイルもあります。しかし、最新のRaspberry Pi OSを入れてトライした方が良いでしょう。
イメージファイルの方はどうかわかりませんが、V1.16にはScratchとBusterの両バージョンが含まれていますから安心です。
Raspberry Pi OS Lite + fruitbox MP3 jukebox
※Raspberry Pi LiteはGUIがありません。コマンドで操作します。
どうしても出来ない場合は、公式のgithubページからイメージファイルをダウンロードできます。
先にそちらも試しました。事前にUSBメモリー直下へMP3ファイルを用意して、差してから起動させます。コマンドで実行なども同じです。
Raspbianのセットアップ
新規にRaspberry Pi OS Buster Liteを用意
RaspberryPi Imagerなら簡単ですね。


GPUメモリの割当を256MBに増やす設定
Liteですから、コマンドでの操作になります。デスクトップのGUIはありません。
sudo raspi-config
Advanced Options-> Memory Split
メモリーは最低256を設定してくれとのこと。
デフォルトだと64MBになっています。

Raspberry Pi 3B+ならメモリーは1GBあるので余裕です。 3A+はZeroW同様に512MBしか無いため少し苦しいですね。
rpi-fruitboxのダウンロード&インストール
wget https://github.com/chundermike/rpi-fruitbox/raw/master/install.sh
実行権を与える
sudo chmod +x ./install.sh
インストールスクリプトを実行する
source ./install.sh
※ 通常だとshコマンドで実行するスクリプトですが、sourceコマンドでお間違えないように。
sourceとshコマンドの違いはshは別プロセスで実行になり、sourceは同じプロセスなので環境変数などを引き継ぎます。まぁ、とにかくここではsourceコマンドで!
MP3ファイルの準備と指定
音楽MP3ファイルを(SDカードまたはUSBメモリーに)コピーします。
FruitboxにMP3ファイルを指定するため.cfgファイルを編集します。
~/rpi-fruitbox-master/skins/WallJuke/fruitbox.cfgを編集し、MusicPathパラメータを変更します。
sudo nano ~/rpi-fruitbox-master/skins/WallJuke/fruitbox.cfg
今回USBメモリーにMP3ファイルを入れたので、ファイルまでのパスを、MusicPath = ../Music/ から MusicPath = /media/usb32g/music/ に変更しました。
修正場所は5行目ですね。
[general]
SkinName = WallJuke
SkinSize = 1024 768
Database = ../fruitbox.db
MusicPath = /media/usb32g/music/
SortSongsBy = Title
SortSongsBy = Artist
SelectButtons = ABCDE
SelectButtons = 1234
AutoSelect = Yes
SelectTimeout = 150
SelectHoldTimeout = 150
AutoPageTurnTime = 3000
MaxPlaylistLength = 20
LoopPlaylist = no
AutoPlay = yes
AutoPlayGap = 3000
PlaysPerCoin1 = 0
SongsPerPage = 2
.......(続く)
USBメモリーは事前にマウントしないとなりません。そのマウントした先のパスを指定しています。
USBメモリーへMP3をコピーした場合は先に差してから起動します。
実行する前に
このfruitbox MP3 jukeboxは、GPIOまたはUSBコントローラー、そしてタッチパネルのキーコンフィグが用意されています。
デフォルトだとキーボードで操作できます。ただ、キーマップがちょっと分かりにくい。(というかウィザードに従うのは無理がある)
また、キーボードの設定が日本語キーボード109になっているとキーマップが異なります。
デフォルトのキーマップ(キーボード)
ボタンコントロールは、次のキーボードのキーにマップされています
デフォルトでは、他のキーボードのキー、GPIOに再マッピングできます
入力、USBジョイスティック、またはボタンで定義されたタッチスクリーン入力
マッピングファイル。
LEFT:ButtonLeft ........ページを左に移動
RIGHT:ButtonRight .......ページを右に移動
[:ButtonLeftJump ....「PageJump」ページを移動
]:ButtonRightJump ...「PageJump」ページを移動
、:ButtonLeftAlpha ...前のソートセクションに移動*
。:ButtonRightAlpha ..次の並べ替えセクションに移動します*
UP:ButtonUp ..........曲の選択を上に移動
(ジョイスティックモードのみ)
DOWN:ButtonDown ........曲の選択を下に移動
(ジョイスティックモードのみ)
0から9 / AからK:Button0..ButtonK ..曲選択
ENTER:ボタン選択......曲を選択
F1:ButtonCoin1 .......コインを入れる
F2:ButtonCoin2 .......コインを入れる
F3:ButtonCoin3 .......コインを入れる
F4:ButtonCoin4 .......コインを入れる
F5:ButtonFlag1 .......トグルステータスフラグ1
F6:ButtonFlag2 .......ステータスフラグ2を切り替えます
F7:ButtonFlag3 .......トグルステータスフラグ3
F8:ButtonFlag4 .......トグルステータスフラグ4
スペース:ButtonRandom ......ランダムな曲を選択
BACKSPACE:ButtonSkip ........スキップ(現在停止)
Z:ButtonPause .......一時停止(一時停止/一時停止解除)
現在曲を再生中)
R:ButtonAuto ........自動再生モードを切り替えます
L:ButtonLoop ........トグルループモード
P:ButtonFree ........フリープレイモードを切り替え
X:ButtonClear .......すべての曲をクリア
再生キュー
=:ButtonVol + ........曲の音量を上げる
-:ButtonVol- ........ソングの音量を下げる
M:ButtonMute ........ミュート/ミュート解除の曲と
効果音の音量
ESC:ButtonQuit ........ fruitboxを終了します
F12:ButtonPowerOff .... Raspberry Piの電源をオフにします
*並べ替えセクションは、アルファベットの新しい文字で始まります
最後のSortSongsBy値に対応します。たとえば、
最後のSortSongsBy =アーティスト、および現在表示されているアーティスト
「B」で始まり、ButtonLeftAlphaを押すとページに移動します
「A」で始まる最初のアーティストが含まれています。
キーコンフィグは別途に、.btnファイルを編集して定義します。 最初はありません。詳しくは./fruitboxフォルダにあるユーザーガイドテキストファイルを参照してください。
fruitbox.btn
# fruitbox v1.16 button mapping file
# Missing buttons will assume their default values (see user guide)
ButtonQuit = Key 16
ButtonCoin1 = Key 59
ButtonCoin2 = Key 60
ButtonCoin3 = Key 61
ButtonCoin4 = Key 62
ButtonVol+ = Key 103
ButtonVol- = Key 108
ButtonRandom = Key 57
ButtonSelect = Key 105
ButtonSkip = Key 31
ButtonPause = Key 119
ButtonUp = Key 103
ButtonDown = Key 108
ButtonLeft = Key 105
ButtonRight = Key 106
ButtonRightJump = Key 108
・・・(続く)
テストで確認
sudo ./fruitbox --test-buttons
configオプションにより画面で設定できますが、文字が全て表示されず分からない・・・。
sudo ./fruitbox --config-buttons
fruitbox MP3 jukeboxの実行
rpi-fruitboxを実行するには、/rpi-fruitbox-masterに移動して、コマンドで以下です。
./fruitbox --cfg skins/WallJuke/fruitbox.cfg
公式にあったようにスキンはWallJukeを指定しています。同じようにスキンは10種類インストールされています。実行する際にskins/以降のスキン名を変更して試してみてください。
- Granite
- Modern
- Splat
- WallJuke
- Wurly
- MikeTV
- NumberOne
- TouchOne
- WallSmall
- WurlyVideo

スクリーンショット
■Pi 5は8GBモデルがオススメ
自動起動の設定
userguide.txtの12.ヒントにあるように、フルーツボックスを自動的に実行するには.bashrcへ登録しましょう。
自動ログイン設定
Raspberry Pi OS Liteの場合はデスクトップがないコンソール画面で起動します。(文字だけの)そのため自動ログインが少し特殊です。備忘録も兼ねて残しておきます。
cd /etc/systemd/system/getty@tty1.service.d
sudo nano autologin.conf
[service]
ExecStart=
ExecStart=-/sbin/agetty --autologin pi --noclear %I xterm
以下、特殊な例。
ほとんどの人には関係ないシリアル通信の場合
HDMIではなく、シリアル通信でRaspberry Pi OS Liteで通信している場合は、ttyの管理が異なります。serial-getty@ttyS0.serviceです。
sudo nano /etc/systemd/system/serial-getty@ttyS0.service.d/override.conf [Service] ExecStart= ExecStart=-/sbin/agetty –autologin pi –keep-baud 115200,38400,9600 %I $TERM (補足).serviceの設定は、confファイルをnanoなどで開かなくても、systemctl editのコマンドでOKみたいですね。
sudo systemctl edit serial-getty@ttyS0.service
最後に
Mark Jay, on Flickr
日本人はジュークボックスにあまり強い想いがありません。そのためか、日本でこのfruitbox MP3 jukeboxプレイヤーの記事も少ないと思います。
かなりカスタマイズが可能な点は煩わしく感じました。逆に言えばカスタマイズの幅が広い。
今回はメモリーが512MBの3A+でも動きました。Raspberry Pi Zero Wでも動いている動画は観たことあります。私はまだ試していません。
こういった拡張基板(HAT)やUSBメモリーを使うと、色んなコマンドで操作します。初心者には難しいと思われますが、実はそんなに多くのコマンドは使っていませんし、他のプロジェクトでも利用する頻度が高いコマンドばかりです。
何でもそうですけど、一遍には覚えられません。繰り返し操作していると忘れないものです。
fruitbox MP3 jukeboxというミュージックプレイヤー(MPC)の紹介でした。
Speaker pHATはPimoroni製で、現在はPirate Audioがその後継になってからは、在庫のみの取り扱いのようですね。残念。





