教室のおしらせ

ラズパイで作るエンドレスミュージックボックス(雨音プレーヤー)

〜MP3を転送して、実際に音が鳴るところまで〜


はじめに|まるちゃん「雨音だけ流したい」

まるちゃん

先生、集中用に雨音だけ流したいです。
音楽だと歌詞が気になって…。

先生

それなら、ラズパイで「雨音だけ流し続ける箱」作ろう。
電源入れたら雨音、ずっと雨音。余計な機能なし。

まるちゃん

めっちゃ欲しいです…!

先生

今回は「音楽を入れて、実際に再生できる」まで行こう。


この記事のゴール

✅ WindowsからラズパイへMP3を転送できる
✅ ラズパイ側に音楽プレーヤー(mpg123)を入れて再生できる
✅ よくあるエラー(つまずき)を自力で回避できる
✅ 「SDカードをWindowsに挿してコピー」しない理由がわかる


まず確認:SSH接続できている状態って?

SSH接続できると、画面にこう出ます:

ogita
ogita

これが出ていれば「Windowsからラズパイに入れてる」状態だよ。
ここから、ファイル操作も音の再生もできる。

文字の色がグリーンの色になりますね!

まるちゃん
まるちゃん

Step1:ラズパイ側に「音楽置き場」を作る

まずラズパイ(SSHで入った状態)でこれ:

mkdir -p /home/ogita/sounds

先生

sounds フォルダを作って、音源は全部ここに入れる作戦。


Step2:音楽プレーヤーをインストール(mpg123)

MP3を鳴らすために、プレーヤーを入れます。

sudo apt update
sudo apt install mpg123

途中で

Continue? [Y/n]

と聞かれたら Y(またはそのままEnter)でOK。

まるちゃん

これって成功してるんですか?

先生

最後に ogita@budda:~ $ に戻ってきたら基本成功。
Setting up mpg123... みたいなのが出てればOK!


Step3:WindowsからラズパイへMP3を送る(scp)

ここが一番つまずきやすいところ。

scpとは?

先生

scpは「Windowsからラズパイへファイルを送る呪文」。
SSHが“入る”なら、scpは“届ける”。


重要:scpは「WindowsのPowerShell」で実行する

まるちゃん

SDカード抜いてWindowsに挿して、コピーするんですか?

先生

抜かなくてOK!むしろ抜かない方がラクで安全。
ファイル転送は ネット経由(scp) が正解。

✅ Windows側(PowerShell)で実行するコマンド

例:デスクトップにあるMP3を送る(ファイル名は英数字推奨)

scp "C:\Users\ユーザ名\Desktop\zone_2020rain.mp3" ogita@budda.local:/home/ogita/sounds/

実行すると、初回だけ「信頼しますか?」が出ます:

Are you sure you want to continue connecting (yes/no)?

yes と入力してEnter
→ 次にパスワード入力(入力しても画面に表示されないのが普通)


よくある転送エラーと対処

❌ エラー:ssh: Could not resolve hostname c:

原因:ラズパイ側でscpを実行してしまった(逆!)

先生

C:\Users\... はWindowsの道。
ラズパイの中で打つと「c:っていうホストに繋ぐの?」と勘違いしてコケる。

✅ 対処:scpは Windows PowerShell側 で打つ


❌ エラー:No such file or directory

原因:Windows側のパスが違う

✅ 対処:エクスプローラでファイルを右クリック → パスを確認
または、ファイルを一旦「デスクトップ」に置くのが簡単。


❌ 日本語ファイル名でトラブルが出る(例:雨音.mp3)

原因:Linux側で扱えるけど、コピー・入力時にミスが起きやすい

✅ 対処:ファイル名を英数字に変更してから送る
例:zone_2020rain.mp3


Step4:ラズパイ側で「届いたか確認」

ラズパイ(SSH側)で:

ls /home/ogita/sounds

ここに

zone_2020rain.mp3

が出ればOK!


Step5:音が出る出力先を確認(aplay -l)

音が出ない原因の9割が「出力先間違い」。

ラズパイ側で:

aplay -l

例えばこう出たら:

card 0: Device [USB Audio Device], device 0: USB Audio [USB Audio]
card 1: vc4hdmi [vc4-hdmi], device 0: ...

先生

card 0 がUSB DAC(スピーカー)
card 1 がHDMI
今回はUSBから鳴らしたいなら hw:0,0 を使う。


Step6:MP3を再生する(ここで音が鳴る!)

まずは安定版の再生コマンド(おすすめ)

mpg123 -o alsa -a hw:0,0 /home/ogita/sounds/zone_2020rain.mp3
  • -o alsa :ALSA(ラズパイ標準の音)を明示して安定
  • -a hw:0,0 :card0/device0(USB)へ出力

よくある再生エラーと対処

mpg123: command not found

原因:mpg123を入れてない

✅ 対処:

sudo apt update
sudo apt install mpg123

Segmentation faultjack server is not running

原因:出力指定が合ってない/Jack周りでコケてる

✅ 対処:-o alsa を付けて再生

mpg123 -o alsa -a hw:0,0 /home/ogita/sounds/zone_2020rain.mp3

No such file or directory

原因:ファイルが無い or ファイル名が違う

✅ 対処:まず確認

ls /home/ogita/sounds

→ 表示されたファイル名をコピペして再生。


なんで「SDカードをWindowsに挿してコピー」しないの?

まるちゃん

でもSDカード抜いて、Windowsでコピーした方が早くないですか?

先生

それがね、実は面倒が増える。

理由はこれ👇

① WindowsはSDカードの中身を全部読めないことが多い

ラズパイのSDカードは中に2種類の領域がある:

  • boot(Windowsでも見えることが多い)
  • rootfs(Linux用。Windowsが読めないことが多い)

だから「SDカード挿したのに、音楽入れる場所が見えない」ってなりがち。

② 抜き差しはトラブルの元

  • 電源入れっぱなしで抜く → SD破損リスク
  • 差し込み不良 → 起動しない
  • そもそも抜くのが面倒

③ ネット経由(scp)が一番ラクで安全

今の構成なら

✅ Windowsから1行コマンドで転送
✅ 抜き差し不要
✅ 再生テストもすぐできる

だから scpが正解


最後:音が鳴れた!🎉

まるちゃん

先生!!!雨音流れました!!!!

先生

よし、ここまで来たら心臓部は完成。
あとは「電源入れたら勝手に流れる」にするだけ。


次回予告(ここまで来た人はもう行ける)

  • 起動時に自動再生(systemd)
  • 無限ループ再生、複数曲シャッフル
  • 音量調整ボタン(GPIO)
  • ケースに入れて完成(エンドレスミュージックボックス化)

過去の記事検索

過去の記事検索

人気記事

人気の投稿 Best10 (月間)

-教室のおしらせ