[Raspberry Pi] コマンドラインで音を鳴らす

改稿

  • 2018/10/12
    • mp3 の再生コマンド mpg321 において再生時の不具合が発生したため、mpg123 を推奨へ。

環境

  • Raspberry Pi 3
    • Raspbian jessie / Strech

準備

カード NO とデバイス NO の確認

$ aplay -l
**** ハードウェアデバイス PLAYBACK のリスト ****
カード 0: ALSA [bcm2835 ALSA], デバイス 0: bcm2835 ALSA [bcm2835 ALSA]
  サブデバイス: 7/8
  サブデバイス #0: subdevice #0
  サブデバイス #1: subdevice #1
  サブデバイス #2: subdevice #2
  サブデバイス #3: subdevice #3
  サブデバイス #4: subdevice #4
  サブデバイス #5: subdevice #5
  サブデバイス #6: subdevice #6
  サブデバイス #7: subdevice #7
カード 0: ALSA [bcm2835 ALSA], デバイス 1: bcm2835 ALSA [bcm2835 IEC958/HDMI]
  サブデバイス: 1/1
  サブデバイス #0: subdevice #0

カード 0・デバイス 0 が アナログ (イヤフォンジャック)
カード 0・デバイス 1 が HDMI
であることが分かる。

numid の確認

$ amixer controls
numid=3,iface=MIXER,name='PCM Playback Route'
numid=2,iface=MIXER,name='PCM Playback Switch'
numid=1,iface=MIXER,name='PCM Playback Volume'
numid=5,iface=PCM,name='IEC958 Playback Con Mask'
numid=4,iface=PCM,name='IEC958 Playback Default'

numid=3 が出力先設定
numid=1 が音量設定
であることが分かる。

出力先の設定

デフォルトの出力先をアナログに設定する。

$ amixer cset numid=3 1

2 = HDMI、0 = AUTO。

音量設定

対話式で設定。

$ alsamixer

音量を 0db に設定。

$ amixer -c 0 sset PCM 0

% で指定することも可能。

$ amixer -c 0 sset PCM 80%

WAVE ファイルの再生

WAVE ファイルは aplay コマンドで再生可能。MP3 等は別コマンド。

$ aplay [ファイル名]

デフォルトで用意されている WAVE でテスト。

$ aplay /usr/share/sounds/alsa/Noise.wav

MP3ファイルの再生

mpg321 ではある一部のファイルが正常に再生できない (プチプチ音がするような感じ) 問題が発生。
mpg123 だと正常に再生できたので、こちらを推奨する。

mpg123

インストール

$ sudo apt install mpg123

再生

$ mpg123 [ファイル名]

mpg321

インストール

$ sudo apt-get install mpg321

再生

$ mpg321 [ファイル名]

コメント