MPDとRustとRaspberryPiで遊んでみる8

さて、MPDのフロントエンドを作ろうという目標を立てて、Volumio や Moode には及ばずとも、ソレっぽいのを作ろうと鋭意がんばっています。

ちょっとだけソレっぽいものが出来つつあるので、リポジトリを公開します。

github.com

プロダクトタイトルは、『飛騨茉莉』です。『陽だまり』と、私の田舎とのモジリです。

https://github.com/zuntan/hidamari/raw/master/hidamari.png

前回実装した FFT での スペクトル解析データを使って、曲が再生している間、ちょっとしたビジュアルアニメーションをみることができるよーになってます。

PCブラウザからも、携帯ブラウザからも、同じように操作できますし、ビジュアルアニメーションも同じように動きます(携帯だとちょっと重いかも...)。アニメ速度は予想していたより高速で軽快です。Websocket を使ってサーバー側のタイミングでデータ送るようにしオーバーヘッドが少ないようにしようと狙ったのが功を奏したのかもしれません。

https://github.com/zuntan/hidamari/raw/master/screenshot/008.png

https://github.com/zuntan/hidamari/raw/master/screenshot/010.png

youtu.be

リポジトリに方には、スクリーンショットが置いてあります。まぁ、デザインのプロではないため、画面はやや地味ですが、HTMLファイル1つとJavaScript1本だけで作られていて、 サーバー側にはすべて、Ajax REST と Websocket でやり取りしてますので、見た目はイチからフルカスタマイズ可能です。

サーバー側としては、あと Bluetooth の接続、シャットダウンなどの IF を 入れることと、Raspberry Pi での動作確認などです。CentOS 8 では CPUを 10~15% 程つかいます。ロードアベレージは、0.1 ~ 0.2 です。これが RPi 3 でどのくらいになるのか、ちょっと心配です。

UI 側は、動的設定画面を追加することと、いまのところデフォルトテーマ1つだけ、それも Bootstrap 臭がプンプンのデザインですので、もう一つ違ったテーマを作ってみたいと思います。

スペクトルデータのビジュアライズの部分もできれば、プラグイン化したいかな。

ちょっと残念なのが、曲のアルバムビジュアルを出そうと思ってたのですが、MPD が未だサポートしていませんでした。マニュアルにはソレっぽい記述があるのですが、次のバージョンで実装するそーで現状では独自に実装する以外ちょっと無理っぽいです。Volumio や Moode はそれが出来ているので、むつかしいことしてそーですね。

MDPでアルバムビジュアルが取れるようになれば、速攻組み入れたい機能ですね。

RPi 3 で遊ぶために、かなり遠回りしてますが、そろそろ RPi 3 に戻ってこれそー。です。