オーディオプレイヤーをIoTで再デザインする

こんにちは。NHN テコラス Advent Calendar 2018 19日目担当、運用エンジニアのワタナベです。

お前が神を殺したいなら、とあなたは言った 完結しましたね。最高でした。
宗教における異端との戦いや宗教改革が繰り広げられる小説です。群像劇が好きな方はぜひ。
完結したといえば小川一水の天冥の標、もうすぐ最終巻が発売されるのでみなさん読みましょう・・・。

おすすめの小説を紹介したところで、本題。オーディオプレイヤーをIoTで再デザインって話をしようかと思います。

 

#はじめに

「オーディオプレイヤーをIoTで再デザインする」ってタイトルなんで、まずは成果物を見てもらえれば。
音が聞ける環境でご覧ください。

CDケースを乗せるだけで音楽が再生されるスピーカー

こんなかんじのオーディオプレイヤーを作りました。

単純に仕組みを説明すると、CDケースにはNFCチップを仕込んでおり、
NFCチップに書き込んだ音楽データのリンクをスピーカー内部に仕込んだNFCリーダーが読み込んで、
Raspberry Pi上で動作してる音楽サーバで再生するという構成です。
NFCタグは十分に小さく薄いので現実世界のいろんなモノにタグをつけることができ、音楽再生のトリガーとすることが可能です。

 

このでかいスピーカーの中にはRaspberry PiUSBアンプNFCリーダーが仕込まれており、
Raspberry Pi上で動作しているMopidyという音楽サーバを操作しています。
よって、Mopidyが再生可能なサービスであれば何でも再生できます。
例えばSpotifySoundCloudなど。もちろん、ローカルにおいたmp3ファイルもNFCタグに関連付けることで再生可能です。

NFCと音楽サーバとのやりとりについては下記のプログラムを作成しました。
https://github.com/senyoltw/music-cards

 

#オーディオプレイヤーを再デザインした背景

みなさんは、音楽をどのような環境で聞いていますか。
最近はスマホで音楽アプリで聞いてる人のほうが多いのでは。
かく言う自分もそうで、よくスマホで音楽を聴いています。
Spotifyでいろんなプレイリストを楽しんだり、ポッドキャストでラジオを聴いたり。

しかしながら、スマホで音楽聞くのってめんどくさいんですよね。単純にイヤホンで音楽を聴きたい場合でも、
[Bluetoothイヤホン起動→スマホのロックを解除→音楽アプリを選択→聴きたいプレイリストを選択→再生ボタンを選択] って5つの段階を踏む必要があります。
それで、ポッドキャストを聞きたいなぁと思ったら起動しているアプリからホーム画面に戻って、ポッドキャストアプリを探して・・・とまたアプリ選択からやらないといけません。

また、Spotifyみたいなサブスクリプションサービスって大量に音楽があるから聞きたい曲を探すのが面倒という問題もあります。
自分が聞きたい曲を一発で再生できるショートカットとか作れたら良いなと思うことがよくあります。
じゃあ、CDで聞けば良いという話になるのですが、Spotifyのプレイリスト便利過ぎて。Spotifyの中の人がいろんなシチュエーションやアーティストのプレイリストを作ってくれて更新までしてくれてます。
例えば、今期のアニメの曲を再生するプレイリストとかもあります。

ということで、スマホより簡単に音楽を聞けるけど、スマホで音楽を聞くくらい、便利なオーディオプレーヤーがほしいなという気持ちがむらむらと湧いてきたので作ってみました。

#オーディオプレイヤーを再デザインするとしたら

スマホより簡単に音楽を聞けるけど、スマホで音楽を聞くくらい便利なオーディオプレーヤーがほしいという気持ちになったのでやっていこうと思ったわけですが、どんなふうに作るか、まずは必要な条件を考えてみました。

  • 新しいオーディオプレーヤーに必要な条件
    単体でオーディオを再生できる。スマホからの操作は基本的には必要としない
    →ボリュームの調整、再生、一時停止が可能な機構をとりつける
  • インターネットに接続し、音楽サービスを楽しめる
    →Spotifyとポッドキャストには接続してほしい
  • 操作が簡単
    →わかりやすい操作で目的の音楽を再生できる

この3つの条件が満たせればオーディオプレイヤーとして便利に使えるのではないかと思います。

じゃあ、実際にデザインを考えようということで、オブジェクトベースなモノにすることにしました。
つまり、現実のモノがインターネットに存在するモノに紐付けられ、現実のモノを操作することで目的の音楽が再生されたらステキではないのかなぁと。
よって、NFCタグを使い、インターネット上に存在する音楽を現実のモノに紐づけて、音が出るモノにのせる(接触させる)ことで、音楽を再生させるというデザインにすることにしました。
要はCDケースにスピーカーをのせることで音楽が再生されたらステキではないかと。

CDケースというモノが音楽に紐付けられるなら、CDケースをスピーカーから離したら音が止まるのが自然だなと考え、NFCタグと音楽サーバの関係は以下のように決まっていきました。

NFCタグをセット→音楽を再生
NFCタグを離す→音楽が一時停止する
NFCタグを戻す→一時停止した時点から音楽が再開する
違うNFCタグをセット→違う音楽が再生される

うまく現実のモノがインターネットに繋がるのでIoT的で良いですね。

#デザイン

アイデアは決まったので、見た目です。
先程説明したように、再生側には「ひと目で音が出るもの」という見た目が必要となります。よって、よくあるスピーカーみたいなデザインにしました。

そしてNFCタグを貼り付ける側は「音楽が入っているもの」という見た目が必要となりますので、
CDケースにNFCタグを貼り付け、CDジャケットを印刷し、CDケースに仕込むことにしました。

#作成

デザインが決まったので、ハンズの人に木材を切り出してもらって、組み立て、

ラズパイ、NFCリーダー、アンプ、ボリュームノブを仕込んで

ハードを作成しました。

ソフト側の作成をします。
Mopidyを使用しているので手順に従いインストールして、

以下のNFCを操作するソフトウェアとボリュームノブを操作するソフトウェアを書いたのでこれもリンクの手順に従いインストールすれば終わりです。
https://github.com/senyoltw/music-cards
https://github.com/senyoltw/powermate

ということで完成したのがこれです。

#まとめ

ということで、ハードのデザインからソフトウェアの作成と0からオーディオプレイヤーを作成しました。
詳しく書こうと思えばいくらでも書けるのですが長くなりすぎるのでダイジェストでお送りしました。
0からと言ってもいろんなライブラリやミドルウェアを使用させてもらっているのでフルスクラッチとは言えないものですが、
自分のアイデアを現実に落とし込めることができたのでとても楽しくできました。
完成品もうまく動作してくれて、便利と感じるものが作れたので満足しています。

IoT機器は基板が見えたりすると、どうしても無骨な感じがしますし、ただのネットにつながるよくわからない『何か』にしかみえないです。
そのあたり、うまくデザインや仕組みで隠蔽化してインターネットに繋がる良さだけを具現化させてやることで実用的なIoT機器が作れるのではないでしょうか。
また、その際には現実世界のオブジェクトがあるということを前提にデザインをすることで、オブジェクトベースのUX体験を現実化させることができるのではないでしょうか。

おわり。

AWS移行支援キャンペーン

あなたにおすすめの記事