IoT演習:AirLive
機械工学科3年 鄭勤如
-
1. コンセプト
私は昔から路上ライブすることに憧れを持っていました。路上ライブする人は本当に楽しそうで、それを見るたびに「自分もやってみたいな」と思っている自分がいました。自分は歌えるが、上手く演奏できる楽器はありませんでした。
もし、適当にギターの弦を弾くだけで、正しい音が出てくれたら、初心者でも路上ライブできるようになるではないかと考えました。
一方、エアギターで、ギターを弾く喜びを体験している人たちがいます。エアギターは音楽に合わせて動く必要があり、自分でリズムをコントロールできません。
もし、自分の動作に合わせてギターのコードが鳴ってくれたら、ギターを弾く楽しさをリアルに体験できるではないかと考えました。
エアギターで夢を見ている初心者たちの夢を、叶えてあげたいという思いで、この作品を作ってみました。
エアギターのエアと、路上ライブのライブを取って、エアライブ(AirLive)と名付けました。
実演の動画はこちらにあります。↓
-
2. 実装の内容と方法
入力 | 腕の動き(加速度センサー) |
出力 | 音(ウェブアプリ) |
情報処理 | esp-wroom 02というWi-Fiモジュール |
プログラミング言語 | Arduino言語、HTML、JavaScript |
簡単に説明すると、腕の運動を加速度センサーで計測し、Wi-Fiモジュールでデータ処理してからウェブサーバに送り、最後に、ウェブアプリから音を鳴らすという仕組みになっております。
ソフトウェアとハードウェアのそれぞれから、仕組みと工夫した点を説明していきます。
ソフトウェア面:
ソフト面では、センサーとマイコンの部分と、ウェブアプリの部分の二つに分かれます。
センサーのほうではArduino言語でプログラミングし、加速度の変化(微分)を測定し、ウェブサーバーにPostしました。ウェブサイトのほうは、HTMLとJavaScriptで書かれています。ウェブサイトに事前に準備した音源ファイルをアップロードしておいて、マイコンからの信号を受け取ったら指定した順番で音源を再生するようにしました。一つの商品として使ってもらえるために、ユーザーが行う設定をできるだけ減らし、特定のウェブサイトにアクセスするだけで、音を出せるように工夫しました。
ハードウェア面:
人の動作を入力とするので、センサーとマイコンを服に縫い付け、一枚の服にまとめました。マジック感を出すために、センサーやマイコンや導線が見えないように服の内側に隠しました。服からは電源用の1本の線しか出ていないように工夫しました。さらに、見た目にもこだわっており、服の正面にギターの絵を描いたので、ギターを持ってないにもかかわらず、ギターの弦を弾いているように見えます。スピーカーは服の中に含まず、別に用意したパソコンやスマホなどのデバイスで音を出します。
-
3. 応用
今回作った作品の応用として以下の二つが挙げられます。
- ①普通の路上ライブ
楽器ができない人でも、路上ライブできるようになります。
- ②楽器屋さん
新しく始める楽器を選ぶときに、このようなエア楽器で体験してみることで、どれが楽しいかをより正確に判断できます。
-
4. 苦労した点・演習の感想
本当の楽器の音色をそのまま再現することにこだわっていたので、音の出し方について苦労しました。最初はArduinoとスピーカーで音を出すと想定しましたが、楽器の音色を作り出すには波形の編集が必要となり、さらにコードを作るハードルはさらに高くなるので、しょうがなく諦めました。SDカードモジュールを使って録音した音声ファイルを再生する方法も試したが、スピーカーから出た音に雑音が多く、使えませんでした。最後に、パソコンかスマホから音を再生する方法にたどり着きました。
この演習で技術力ももちろん身に着けましたが、それよりも大事に思えたのは、「頑張り続ければきっとできるようになる」ことを体験を通して学んだことです。実は、演習の発表会の3日前まで、ウェブアプリとマイコンのつながりが上手くできず、音を鳴らせない状態でした。このままだと発表ができなくなってしまうので、どうにかできるようにしたいと強く思っていました。ウェブサーバーを扱うのは初めてで、どこが間違っているのかもさっぱり分からなかったが、考え続けてるうちに、だんだん分かってくるようになりました。土曜日一日考え続けた後、やっと日曜日の朝に上手くいきました。
やはり、できなかったことを初めてやる時は、すぐに上手くいかないですが、考え続けることで、きっとできるようになります。これからもそう信じながらものづくりを頑張りたいと思います。
最後になりましたが、製作を支えてくれたメディアラボの先生方、本当にありがとうございました!