基本的な再生ソフトはMPDをそのまま使ってみます。MPDで問題となるのはリモコンの接続と周辺機器のコントロ-ルです。
リモコンに関してはWi-Fi接続であれば素のMPDだけでも良い(Linux接続のWi-FiアダプタでもアドホックモードでAndroidと通信可能です)のですが、そうするとAndroidの3G回線によるデータ通信が無効になってしまいます。
それでは不便なので、やっぱりBluetoothで接続したいところです。
それとFMチューナーや周辺機器のコントロールも必要なので、やはり専用のサーバが必要になります。
そこで、PC内にBluetoothでAndroidと接続するサーバを用意して、MPDへのコマンド中継と周辺機器の制御を行う事にしました。
楽曲ファイルの転送
本体のSDスロットにメモリカードを挿して、Android側から取り込み指示を行います。Contolerサーバは、指示を受け取るとSDカードからSSDへファイルをコピーした後、MDPにupdateコマンドを送付してデータベースを更新します。更新が終わったらContolerはAndroidにリフレッシュ指示を送ります。
当初はBluetooth経由で転送しようと思いましたが、転送速度がかなり遅く実用的ではなかったです。
選曲とプレイリスト
選曲はちょっとややこしそうです。MPDは自身が管理するプレイリストを再生するので、「このアルバムを再生」とか「この曲を再生」などは受け付けません。必ずプレイリストを用意して「このプレイリストを再生」と指示を出す必要があります。
一般的なアルバム単位での再生は、Controlerがアルバム内の曲をプレイリストに収めて再生指示を出す事にします。
自宅でプレリストを作って車で再生できるように、Android内にも楽曲のインデックスを保存して、プレイリストを作成できるようにするつもりです。楽曲ファイルは常にAndroidの操作を通して転送するので、常にPC側と同期できるはずです。
再生コントロール
曲のスキップや一時停止など再生コントロールは、AndroidからControlerが受け取りMPDに転送します。本体のツマミでの操作もPICが検出してControlerに送り、MPDに転送します。
音量・音質コントロール
音量やバランスのコントロールは、AndroidからControlerが受け取りPICに指示を送り電子ボリュームを制御します。本体のツマミで調整したときは、PICが操作を検出してControlerに送り状態の同期を行います。
FM放送
ControlerがPICに指示を出し、セレクタを切替えて選局も行います。このときMPDにpauseコマンドを送付して一時停止状態にします。おそらくFMチューナーの出力レベルとDACの出力レベルは異なるので、あらかじめ設定した音量差分のボリューム調整も行います。
インターネットラジオ
調べてみるとMPDはインターネットのストリーム放送も再生できるようです。AndroidをテザリングモードにしてPCからWi-Fiで接続すれば、3G回線経由でストリーム放送も聴けるかもしれません。
もうちょっと調査が必要です。
本体の表示
VFDに状態を表示しますが、これもControlerが行います。Voyageはフォントを持っていないしWindowsのようなGDIもないので、グラフィック処理ソフトを作るのが面倒かもしれません。手頃な大きさのビットマップフォントも用意しないと。VFDは一般的なPCのグラフィックと異なって、走査線というかデータの向きが縦ですからなおさら面倒です。
リモコンに関してはWi-Fi接続であれば素のMPDだけでも良い(Linux接続のWi-FiアダプタでもアドホックモードでAndroidと通信可能です)のですが、そうするとAndroidの3G回線によるデータ通信が無効になってしまいます。
それでは不便なので、やっぱりBluetoothで接続したいところです。
それとFMチューナーや周辺機器のコントロールも必要なので、やはり専用のサーバが必要になります。
そこで、PC内にBluetoothでAndroidと接続するサーバを用意して、MPDへのコマンド中継と周辺機器の制御を行う事にしました。
楽曲ファイルの転送
本体のSDスロットにメモリカードを挿して、Android側から取り込み指示を行います。Contolerサーバは、指示を受け取るとSDカードからSSDへファイルをコピーした後、MDPにupdateコマンドを送付してデータベースを更新します。更新が終わったらContolerはAndroidにリフレッシュ指示を送ります。
当初はBluetooth経由で転送しようと思いましたが、転送速度がかなり遅く実用的ではなかったです。
選曲とプレイリスト
選曲はちょっとややこしそうです。MPDは自身が管理するプレイリストを再生するので、「このアルバムを再生」とか「この曲を再生」などは受け付けません。必ずプレイリストを用意して「このプレイリストを再生」と指示を出す必要があります。
一般的なアルバム単位での再生は、Controlerがアルバム内の曲をプレイリストに収めて再生指示を出す事にします。
自宅でプレリストを作って車で再生できるように、Android内にも楽曲のインデックスを保存して、プレイリストを作成できるようにするつもりです。楽曲ファイルは常にAndroidの操作を通して転送するので、常にPC側と同期できるはずです。
再生コントロール
曲のスキップや一時停止など再生コントロールは、AndroidからControlerが受け取りMPDに転送します。本体のツマミでの操作もPICが検出してControlerに送り、MPDに転送します。
音量・音質コントロール
音量やバランスのコントロールは、AndroidからControlerが受け取りPICに指示を送り電子ボリュームを制御します。本体のツマミで調整したときは、PICが操作を検出してControlerに送り状態の同期を行います。
FM放送
ControlerがPICに指示を出し、セレクタを切替えて選局も行います。このときMPDにpauseコマンドを送付して一時停止状態にします。おそらくFMチューナーの出力レベルとDACの出力レベルは異なるので、あらかじめ設定した音量差分のボリューム調整も行います。
インターネットラジオ
調べてみるとMPDはインターネットのストリーム放送も再生できるようです。AndroidをテザリングモードにしてPCからWi-Fiで接続すれば、3G回線経由でストリーム放送も聴けるかもしれません。
もうちょっと調査が必要です。
本体の表示
VFDに状態を表示しますが、これもControlerが行います。Voyageはフォントを持っていないしWindowsのようなGDIもないので、グラフィック処理ソフトを作るのが面倒かもしれません。手頃な大きさのビットマップフォントも用意しないと。VFDは一般的なPCのグラフィックと異なって、走査線というかデータの向きが縦ですからなおさら面倒です。
コメントする