1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Raspberry Pi で音を出す!サウンド出力に挑戦してみた

1
Last updated at Posted at 2026-07-20

はじめに

こんにちは、mori (@morimori) です。

先日、Raspberry Pi 5 をヘッドレスでセットアップする記事 を書きました。SSH でログインできるところまで来たので、次は何か動かして遊んでみたい。

そんな折、JAWS-UG IoT専門支部 のハンズオン第2回に参加してきました。

今回は AWS IoT Device Shadow をハンズオンで触ってきました。ハンズオンの合間に、AWS の SA の方から「USB スピーカーをつなげば、簡単に音を出して遊べますよ」と教えてもらいました。これは面白そう。というわけで、さっそく実践してみます。

本記事では、Raspberry Pi 5 に USB オーディオデバイスをつないで音を鳴らすまでをやっていきます。

イヤホンジャックがない問題

Raspberry Pi 5 にはイヤホンジャック(3.5mm)がありません。従来モデルのアナログ音声出力は 5 で省かれました。音を出す選択肢はこのあたりです。

方法 メモ
HDMI モニター/テレビ側のスピーカーから鳴らす
USB USB スピーカー・USB DAC・USB ヘッドホンをつなぐ
Bluetooth Bluetooth スピーカー・ヘッドホンをつなぐ(ペアリング設定が必要)

家にあるスピーカーはイヤホンジャック接続でした。しかたないので、リモートワークで使っている USB ヘッドホンをつないで代用します。

デバイスを認識しているか確認する

つないだら、まずラズパイがオーディオデバイスとして認識しているかを確認します。aplay -l で再生デバイスの一覧が出ます。

morimori@mori-pi:~ $ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: vc4hdmi0 [vc4-hdmi-0], device 0: MAI PCM i2s-hifi-0 [MAI PCM i2s-hifi-0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: vc4hdmi1 [vc4-hdmi-1], device 0: MAI PCM i2s-hifi-0 [MAI PCM i2s-hifi-0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 2: II [Jabra EVOLVE 30 II], device 0: USB Audio [USB Audio]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

card 0card 1 は HDMI 出力(vc4hdmi)です。今回つないだヘッドホンは card 2: II [Jabra EVOLVE 30 II]USB Audio として認識されていました。

大事なのは カード番号とデバイス番号です。ここでは card 2device 0 なので、次のテストコマンドで plughw:2,0 と指定します。

speaker-test で音を鳴らす

いよいよ音出しです。Raspberry Pi OS に最初から入っている speaker-test コマンドを使います。440Hz(ラの音)のサイン波を、左右 2 チャンネルで鳴らしてみます。

speaker-test -D plughw:2,0 -t sine -f 440 -c 2
  • -D plughw:2,0 … 出力先デバイス(plughw:カード番号,デバイス番号
  • -t sine … サイン波を再生
  • -f 440 … 周波数 440Hz
  • -c 2 … 2 チャンネル(ステレオ)

実行するとこうなりました。

morimori@mori-pi:~ $ speaker-test -D plughw:2,0 -t sine -f 440 -c 2

speaker-test 1.2.14

Playback device is plughw:2,0
Stream parameters are 48000Hz, S16_LE, 2 channels
Sine wave rate is 440.0000Hz
Rate set to 48000Hz (requested 48000Hz)
Buffer size range from 96 to 96000
Period size range from 48 to 48000
Periods = 4
was set period_size = 12000
was set buffer_size = 48000
 0 - Front Left
 1 - Front Right
Time per period = 4.985336
 0 - Front Left
^C 1 - Front Right
Time per period = 2.250094
morimori@mori-pi:~ $

0 - Front Left1 - Front Right と表示が切り替わっているのがわかります。止めるときは Ctrl + C です。

そして肝心の音。健康診断の聴力検査のように、右耳・左耳と交互に「ピー」という音が聞こえてきました。ちゃんと左右のチャンネルが分かれて出力されています。感動……よりも先に、簡単すぎでしょw

発展編:MP3 を再生してみる

サイン波が鳴っただけで満足……とはいかないので、もう少し発展させて MP3 を鳴らしてみます。コマンドラインの MP3 プレイヤー mpg123 を使います。

1. mpg123 をインストール

sudo apt install -y mpg123

2. 再生する MP3 を用意

流す曲は、YouTube のオーディオライブラリでよく使われている(らしい?) 「Cliffsides」(Dan Lebowitz) をダウンロードして、ラズパイのホームディレクトリにアップロードしました。

3. デバイスを指定して再生

speaker-test と同じく、出力先を -a plughw:2,0 で指定します。

morimori@mori-pi:~ $ mpg123 -a plughw:2,0 Cliffsides\ -\ Dan\ Lebowitz.mp3
High Performance MPEG 1.0/2.0/2.5 Audio Player for Layers 1, 2 and 3
        version 1.32.10; written and copyright by Michael Hipp and others
        free software (LGPL) without any warranty but with best wishes


Terminal control enabled, press 'h' for listing of keys and functions.

Playing MPEG stream 1 of 1: Cliffsides - Dan Lebowitz.mp3 ...

MPEG 1.0 L III vbr 44100 j-s



[0:33] Decoding of Cliffsides - Dan Lebowitz.mp3 finished.

ファイル名にスペースが含まれる場合は、バックスラッシュ(\ )でエスケープするか、"..." で囲みます。ファイル名を途中まで打って Tab キーを押せば、シェルが残りを補完してくれる(候補が複数あれば一覧表示される)ので、長いファイル名でも楽です。

ヘッドホンからカントリー&フォークが流れてきました。


今度こそ感動です!

陽気な音楽に、テンションもぐっと上がります。

まとめ

イヤホンジャックのないラズパイ5 でも、USB オーディオをつなぎ aplay -l でデバイス番号を確認すれば音は出せます。speaker-test でサイン波、mpg123 で MP3 まで再生できました。

AWS の SA の方に教えてもらったとおり本当に簡単にできました。「音」が出せるようになると、やってみたいことが一気に増えます。

  • LLM と連携してしゃべらせる: Claude などに文章を作らせ、Text-to-Speech で音声化すれば、ラズパイが受け答えする音声アシスタントに
  • Device Shadow と組み合わせて遠隔操作: 先日学んだ Device Shadow で「再生/停止」の状態を持たせれば、クラウド越しに音を鳴らす操作もできそう
  • IoT Core からの通知を音で知らせる: センサーの異常やイベントを、画面ではなく音(アラートや音声)で通知する
  • センサー × 音声: 人感センサーと組み合わせて、人が近づいたらしゃべる、みたいな仕掛け

音が出せるだけで、こんなに妄想がふくらむとは。まずは手を動かして一歩ずつ試していきます。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?