〜MP3を転送して、実際に音が鳴るところまで〜
はじめに|まるちゃん「雨音だけ流したい」
まるちゃん
先生、集中用に雨音だけ流したいです。
音楽だと歌詞が気になって…。
それなら、ラズパイで「雨音だけ流し続ける箱」作ろう。
電源入れたら雨音、ずっと雨音。余計な機能なし。
めっちゃ欲しいです…!
今回は「音楽を入れて、実際に再生できる」まで行こう。
この記事のゴール
✅ WindowsからラズパイへMP3を転送できる
✅ ラズパイ側に音楽プレーヤー(mpg123)を入れて再生できる
✅ よくあるエラー(つまずき)を自力で回避できる
✅ 「SDカードをWindowsに挿してコピー」しない理由がわかる
まず確認:SSH接続できている状態って?
SSH接続できると、画面に緑色の名前が表示されます:

ogita@buddaが出ていれば「Windowsからラズパイに入れてる」状態だよ。
ここから、ファイル操作も音の再生もできる。
ラズパイに入ると名前がグリーンの文字にかわりますね。
わかりやすい。
Step1:ラズパイ側に「音楽置き場」を作る
まずラズパイ(SSHで入った状態)でsoundsという名前のフォルダを作る
コードはこれを入力:
mkdir -p /home/ogita/sounds
ラズパイの中にsounds フォルダを作って、音源は全部ここに入れる作戦。
mkdir -p /home/ogita/soundsってなんですか?
mkdir -p /home/ogita/sounds の意味
① mkdir
👉 ディレクトリ(フォルダ)を作るコマンド
Windowsでいう「右クリック → 新しいフォルダー」と同じ。
② -p(これ超重要)
👉 親フォルダがなくてもまとめて作ってくれるオプション
/home/ogita/が存在しない場合でもogita→soundsを 一気に作成- すでに存在していても 「-p」がついていればエラーにならない
つまり👇
「もうあるかもしれないし、ないかもしれないけど、とりあえずこの場所を用意しといて!」
っていう やさしい指定が-p。
③ /home/ogita/sounds
👉 作りたいフォルダの場所
/home:ユーザーのホーム一覧/home/ogita:ユーザーogitaのホーム/home/ogita/sounds:音楽用フォルダ(今回の目的)
まとめると一言で
「ogitaユーザーのホームに、soundsフォルダを、なければ安全に作る」
って命令。
Step2:音楽プレーヤーをインストール(mpg123)
MP3を鳴らすために、ラズパイの中にプレーヤーをいれます。
「mpg123」というアプリです。
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ってなんですか?
scpは「Windowsからラズパイへファイルを送る呪文」です。
SSHが“入る”という意味なら、
scpは“届ける”という意味ですね。
scp は何の略?
👉 SCP = Secure Copy Protocol
ざっくり言うと、
SSH(暗号化通信)を使って、安全にファイルをコピーする仕組み
名前を分解するとわかりやすい
| 文字 | 意味 | 役割 |
|---|---|---|
| S | Secure | 暗号化されて安全 |
| C | Copy | コピーする |
| P | Protocol | 通信ルール |
👉 **「安全なコピー通信」**って名前そのまま。
何ができるコマンド?
scp ファイル 送信先
これで
- 自分のPC → Raspberry Pi
- Raspberry Pi → 自分のPC
に ファイルを転送できる。
しかも
✅ パスワード盗まれない
✅ 中身も見られない
Windowsで例えると
- エクスプローラーでUSBコピー → scp
- FTP(昔の平文転送) → ❌ 危ない
- SSH接続して安全にコピー → scp
今回の流れだと:
scp music.mp3 ogita@raspberrypi:/home/ogita/sounds/
これは
「このPCにある music.mp3 を
ラズパイの sounds フォルダに
安全にコピーして!」
って命令。
重要:scpは「WindowsのPowerShell」のほうで実行する
ラズパイにデータを送るときに注意点があるんだけど、
いままではラズパイ(ogita@budda)側で命令をしていたけど、
今回はラズパイ側にファイルをおくるので、
いったんogita@buddaをログアウトする必要があるってことなんだよ。
ふくざつですね!
✅ Windows側(PowerShell)で実行するコマンド
例:Windowsのデスクトップにある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(今回は不使用)
なのでcard 1だと不具合がでる。card 0側にスピーカーを接続する。
今回はUSBから鳴らしたいなら hw:0,0 を使う。
card 0 とCard 1は
cardが0個といういみではなく
card 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を入れてない
✅ 対処:mpg123をインストールする
sudo apt update
sudo apt install mpg123
❌ Segmentation fault や jack 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カードの抜き差しはトラブルの元
- 電源入れっぱなしで抜く → SDカードの破損リスク
- 差し込み不良 → SDカードが壊れ、起動しなくなる
③ ネット経由(scp)が一番ラクで安全
ラズパイはOSがWindowsではなくLinuxだから
Windowsからはディスクとして認識はしても
ファイルやフォルダが見れないんですね。
今の構成なら
✅ Windowsから1行コマンドで転送
✅ USBコードの抜き差しが不要
✅ 再生テストもすぐできる
だから今回は scpでデータ転送するのが正解。
最後:音が鳴れた!🎉
先生!!!雨音流れました!!!!
よし、ここまで来たら心臓部は完成。
あとは「電源入れたら勝手に流れる」にするだけ。
次回予告(ここまで来た人はもう行ける)
- 起動時に自動再生(systemd)
- 無限ループ再生、複数曲シャッフル
- 音量調整ボタン(GPIO)
- ケースに入れて完成(エンドレスミュージックボックス化)