[Raspberry Pi] フォルダ内のランダムな曲を再生する

Raspberry Pi でアラームを作ることにした。やりたいことは、フォルダ内の mp3 ファイルをランダムに1曲選び、再生すること。これを目覚まし時計として使いたい。

(環境:Raspberry Pi 3 Model B、Raspbian)

(0)オーディオジャックに接続したスピーカーを再生させるには以下のコマンドを実行。

$ sudo raspi-config

「Advanced Options>Audio>Force 3.5mm ( "headphone' ) jack」を選択する。

(1-1)mpg321 のインストール。

1$ sudo apt-get update
2$ sudo apt-get install mpg321

参考:
Raspberry PiでMP3再生 @ ともの技術メモ
http://tomono.eleho.net/2012/11/10/3499/

(1-2)mpg321 で再生ができるかテスト。

$ mpg321 ファイルパス

もともと Raspberry Pi に入っている音声を再生してテストしてみるのもいい。

$ mpg321 /usr/share/sounds/alsa/Front_Center.wav

(2)Raspberry Pi の好きなディレクトリ(例えば、/home/pi/Music)に再生したい複数の mp3 ファイルを置く(拡張子は mp3 にする。MP3 などにしない)。

(3)シェルスクリプトを作成し、PlayRandomMP3.sh とでも名前を付けて保存。Raspberry Pi の適当な場所に置く(ここでは2と同じ場所 /home/pi/Music に置くとする)。

1#! /bin/bash
2cd /home/pi/Music
3find . -type f -name '*.mp3' | shuf -n 1 | xargs -d "\n" mpg321

(4)以下のコマンドを実行し、3のファイルに実行権限を付与する。

$ chmod +x [3のシェルスクリプトのパス]PlayRandomMP3.sh

(5)$ crontab -e を実行。一番下に以下のコマンドを書き込む(毎日 6:30 に PlayRandomMP3.sh を実行する場合)。

30 6 * * * /home/pi/Music/PlayRandomMP3.sh

参考:
command line – Play a random mp3 file – Ask Ubuntu
https://askubuntu.com/questions/888987/play-a-random-mp3-file/889003