「がんばれない」けど「がんばりたい」

ITエンジニアの仕事のこと。AI、機械学習、ディープラーニング。地頭力。車のこと。

RaspberryPi2 |MPDとスマホアプリで音楽再生

前回で、WEBサーバ+PHP経由からネットラジオのURLを再生する方法を試しましたが、同じことをするのであれば、もうちょっと簡単にできる方法としてMPDというのを使う方法があるので、それについて書きます。


◼イメージ図

IMG_4906

RaspberryPi2に音楽プレイリストを管理するデーモン(MPD)が常駐していて、これが管理する音楽プレイリストの情報をスマホのアプリが取得します。スマホアプリは取得したプレイリストに対して再生や停止などを行いRaspberryPi2から音を出したり出来ます。


◼︎課題


◼︎キーワード

  • MPD / MPC(デーモン・クライアントソフト)
  • M3U(フォーマット)

◼︎MPD

Music Player Demon

Music Player Daemon(ミュージック・プレイヤー・デーモン)は
Linuxや各種UNIX上で動作する、音楽再生やプレイリスト管理を行う為のデーモン。
よくMPDと略される。
ローカルホストだけではなくネットワーク上のディレクトリにある楽曲も再生可能。

◼︎MPC

MPC

MPD自体は単なるデーモンなので、
通常はMPDクライアントと呼ばれるフロントエンド・アプリケーションと併用される。(単体での使用もまったく不可能ではないが、音楽再生アプリケーションとして使用するには非現実的である)
2008年現在、コンソール上で動作する最低限の機能だけを備えたCLIアプリケーションから、AmarokやRhythmboxに似た多数の機能を備えたものまで多種多様なMPDクライアントが開発されている。

◼︎インストール

sudo apt-get install mpd
sudo apt-get install mpc


◼︎MPD confの設定

/etc/mpd.conf

  • bind_to_address “localhost” (->コメント)

    • 外部の任意のMPDクライアント(MPC)からMPDサーバを制御したいのでコメント
  • auto_update "yes" (コメントアウト)

    • プレイリスト自動更新
  • mixer_type "software" (コメントアウト)

    • softwareにしておかないと、ボリュームのコントロールができないっぽい

ここまで設定したら起動

service restart mpd

◼プレイリストの作成

1. 音楽ファイルからの作成
1-1. ローカルのmp3などの音楽ファイルをraspberry piにscpで転送

(scpじゃなくても勿論良いです。)

scp ファイル名 pi@192.*.*.*:/home/pi
1-2. mpdのconfファイルで指定してあるmusicフォルダにファイルをコピー
cp ファイル /var/lib/mpd/music/

個々の音楽ファイルをプレイリストとして登録も出来るのですが今回はfavoriteというプレイリストを作成します。 /var/lib/mpd/music/にfavoriteディレクトリを作成し音楽ファイルを作成したフォルダに移動しておきます。

mv /var/lib/mpd/music/音楽ファイルパス /var/lib/mpd/music/favorite/

1-3. プレイリストの登録
mpc update

きちんとプレイリストとして読み込まれているか確認

mpc ls (favoriteが出てればOK)
mpc add favorite

で、プレイリストとして登録


1-4. プレイリストの保存

保存をしておかないと、RaspberryPiやMPDをリスタートした時に登録したプレイリストが、なくなってしまいます。(多分)

mpc save favorite

1-5. ネットラジオのプレイリストを追加

SHOUTcastからダウンロードボタンを押すとM3U形式のファイルを取得できます。 これを/var/lib/mpd/playlist/フォルダの下にコピーします。

このままmpc add でダウンロードしたファイルをプレイリストとして追加してもいいのですが、 そうするとfavoriteのプレイリストファイルにダウンロードしたファイルの内容が追記されます。。別々のプレイリストとして登録したい場合は、

mpc clear
mpc add favorite
mpc add 新しいプレイリスト

として、追加する必要があるようです。


1-6. スマホアプリから操作

04_01

MPodというiOSアプリをダウンロードし、 Configure > Connections > Add player manuallyからRaspberryPi2のIPを登録すると、 勝手にMDPサーバを認識しプレイリストの選択や再生などが出来るよーになります!