Plus電子デバイス・電子工作用語集モータドライバ博士のQ&A読者よりいただいたお問い合わせを元に、ロボット製作者、エンジニアのみなさんに役に立つ技術解説を発信していきます。Plus電子デバイス・電子工作用語集モータドライバ博士のQ&A読者よりいただいたお問い合わせを元に、ロボット製作者、エンジニアのみなさんに役に立つ技術解説を発信していきます。MPDとスマートフォンアプリで簡単操作なラジオに変身!」ラズベリーラジオ後編!前編では、mplayerを使って音楽ファイルやインターネットラジオの再生を行いました。Piとスマートフォンを連携していきます。Daemon)」というパッケージを使った方法を試してみることにしました。Daemon(ミュージック・プレイヤー・デーモン)はLinuxや各種UNIX上で動作する、音楽再生やプレイリスト管理を行うためのデーモン。ローカルホストだけではなくネットワーク上のディレクトリにある楽曲も再生可能。MPD自体は単なるデーモンなので、通常はMPDクライアントと呼ばれるフロントエンド・アプリケーションと併用される。mpcMPCパッケージは、MPDのクライアントです。合わせてインストールしておきましょう。インストールが終わったら、外部からのアクセスを可能にするために、mpdの設定ファイルを調整します。「vi」コマンドでコマンドラインから編集することもできますが、400行以上ある長めのファイルなので、直接編集の方が簡単でした。“localhost”」の先頭に、「#」を付けてコメントアウトします。必須ではありませんが、プレイリストの自動更新機能と音声調節機能も、同じくmpd.confファイルで設定できます。こちらは先ほどとは逆に、コメントアウトの「#」を外して設定を有効にします。Terminalからmpdを再起動しましょう。restartここまでで、mpdの準備が完了しました!次はmpcの設定です。コマンドのオプションを確認しておきましょう。help図1図2コマンドがたくさん!「repeat」や「volume」など、一般的な音楽プレイヤーで見かけるような項目も用意されています。前回、mplayerで苦労した停止処理......mpcでは「stop」コマンドが用意されているので、今度は簡単にできそうです!ラジオの前に、mp3ファイルをテスト視聴!「music_directory」で指定されています。このフォルダの中に、音楽ファイルを用意します。今回もこちらのサイトから著作権フリーのmp3ファイルをお借りしてきました。)の中に「test1」というフォルダを作成し、mp3ファイルを3つ用意しました。Terminalから「update」コマンドを実行し、Musicフォルダの内容をプレイリストとして取得します。updateきちんと読み込まれているかどうか、ファイルの一覧を出力してみましょう。「ls」コマンドを実行します。test1図4「test1」と出力されました!ディレクトリ名を指定して「ls」コマンドを実行したところ、こちらも3つのファイル名が表示されたので、きちんと読み込まれていることが確認できました。次は、「add」コマンドでプレイリストに追加します。test11つ1つファイルを指定して追加することもできますが、ディレクトリ名を指定すれば下層にあるファイルも全て追加できました。play図5無事に再生されたでしょうか?コンソールに表示されている「volume」「repeat」「random」「single」「consume」は、再生中にコマンド入力で設定できるオプションです。その他のコマンドも、再生を止めることなく実行できます。test1_list現在のプレイリストを保存しておくには「save」コマンドを使用します。上記のコマンドを実行すると、プレイリストの保存フォルダに次のようなファイルが作成されます。/var/lib/mpd/playlists/test1_list.m3utest1/Beethoven-SymNo7-1-Piano.mp3test1/Holst-Planets-Jupiter.mp3test1/Rhapsodyinblue-2Piano.mp3「save」を実行すると、プレイリストはクリアされます。同じプレイリストを使用したいときは、「load」コマンドでもう一度読み込みなおしましょう。test1_listインターネットラジオ受信!パッケージの準備とテストを終えたので、次はインターネットラジオを受信します!mplayerの場合はプレイリストファイルのURLを引数として使用しましたが、mpcではプレイリストファイルをダウンロードして使用します。(正確には、プレイリストに記載されているURLを使用します)「SHOUTcast」の場合は、番組一覧にダウンロードボタンが用意されています。図6図6のように「Winamp」「M3U」「XSPF」の3種類が表示されるので、「M3U」形式を選択、ダウンロードしましょう。「tunein-station.m3u」というファイル名でダウンロードされ、テキストエディタで開くと、中身は、このようになっていました。」ディレクトリに格納します。ls図7先ほど作成した「test1」と一緒に「tunein-station」が表示されました!続いて「load」コマンドを使って、プレイリストを読み込みます。playlist図8「tunein-station.m3u」の内容が反映されました!「test1_list」を読み込んだままの状態だったので、追加される形で表示されます。playlist」を指しているので、「今読み込まれているプレイリスト」という意味合いで覚えておくとよさそうです。保存するファイルもプレイリストと呼ぶので、少しややこしいですね......(これが分かるまでかなり苦労しました)。プレイリストの読み込みを解除して、新たに始めたいときは「clear」コマンドを実行しましょう。スマートフォンから操作!MPoD※現在こちらのアプリは公開されていません。代替のアプリとしてはyaMPC等があります(2019年7月現在)。インターネットラジオをiPhone5を使用するため、こちらのMPoDというアプリをダウンロードしました。iOSに対応したアプリは余りないようですね......Androidではいろいろなアプリがあるので、「MPD」をキーワードに検索して、好きなものを選択してくださいね。https://play.google.com/store/search?q=mpd&c=apps&hl=jaスマートフォンの準備は、アプリをダウンロードするだけ。アプリを起動してみると......図9読み込まれているプレイリストがある場合は自動でローディングがはじまり、画面に表示してくれます。画像は、上の3つがmp3ファイル、4つ目以降がSHOUTcastのプレイリストファイルの内容です。Piのスピーカーを通して再生がはじまります。Piをリモコン操作しているような感覚で使えますね!プレイリストの切り替えも、アプリ側から可能です。画面右上の「Menu」をタップすると、左側にメニュー一覧が表示されます。)に保存されているプレイリストの一覧が表示されます。図11プレイリスト名をタップすると、プレイリストが読み込まれます。「load」コマンドを同じ操作です。メニューから「playlist」画面に戻ると、プレイリストが追加されています。今まで読み込まれていた状態に追加されるので、同じプレイリストを選択すると、重複して表示されます。playlist」を実行しましょう。図12プレイリストについてプレイリストは、テキストエディタで簡単に編集できます。Radiohttp://173.244.199.249:80#SHOUTcast-Jazzradiohttp://216.230.231.164:9938#simulradio-sankakuyamamms://wm2.hvc.co.jp/sankakuyama#netoradi-24hour-indies-musichttp://std1.ladio.net:8010/koreiina先ほどのSHOUTcastに加え、サイマルラジオとねとらじの番組を追加したリストを作成しました。サイマルラジオはSHOUTcastと同様に、プレイリストをダウンロードして、中に記載されているURLを使用しています。ねとらじは、視聴URLをそのまま使用できます。m3uファイルでは、先頭に「#」を付けるとコメント扱いになるので、番組名をメモしておきました。図13MPoDから読み込むとこのように表示されます!番組によっては、受信を開始すると、番組名や曲名が表示されるものもあります。RadioURLの末尾を「/」で閉じて、「#」を挟んでタイトルを記載。SHOUTcastとサイマルラジオについては、この記述でタイトルを表示させることができました。ねとらじは受信できなくなってしまったので、局によってはできない場合がありますが......局によって使い分けながら試してみてくださいね。まとめラズベリーラジオのリニューアル完了!アプリを使用することで、手軽さだけでなく、ユーザビリティが格段にアップさせることができました。B」をいただきました!(こちらは記念に撮影した実際の様子です。Pi2」で遊びます!円山ナカノプロフィール:プログラミング暦通算4年、最近IT業界に舞い戻ってきたプログラマーです。Piケースを鬼のデコ電してみた。甘くないラズベリーパイをいただきました。