たんたんとがんばる

ruby, Ruby on Rails, React etc.

Web Music ハッカソン #5参戦記【前篇】

7/29(土)、会社の@massie_gさんと先輩のUさんの3人でWeb Music ハッカソン#5に参加してきました。
人生初ハッカソン、でいろいろと勉強になることも多かったのでその感想とまとめたいと思います。まずは前篇の準備編です。

Web Music ハッカソンとは?

Web Audio APIやWeb Midi APIを使ってアプリをつくるハッカソン

http://googledevjp.blogspot.jp/2016/06/web-music-5.html

作戦会議

まずは3人で当日何を作るか作戦会議をしました(→お昼に集まって会社のフリースペース的な所で開催)。
結局当日形になったものもほぼほぼ作戦会議通りのものでした。

f:id:norihiko-saito-1219:20160802221423j:plain

機能

  • ひとことでいえば
    • スマホのコントローラからWebSocket経由で音声(Web Audio API)/動画(openFrameworks)が一元管理できるアプリ。
  • コントロール対象はBPM、ピッチ、エフェクトなど
    • → エフェクトはメッセージだけ定義しておいてどんなエフェクトをかけるかは音声/動画を実装する人が決めてね、的なスタイル。
  • 一部機能はスマフォのセンサー(加速度センサー)からもコントロール可能
    • → 詳しくは後編で触れますが、これらの機能はハッカソン観点からは全然新しくなかった(最大の敗因)。
  • 疎結合アーキテクチャ
    • → 機能拡張しやすい/チームメンバーがそれぞれ勝手に開発できる、という点で良かったと思います。

事前MeetUp

f:id:norihiko-saito-1219:20160802221435j:plain

7/26(火)、先輩と2人でハッカソン事前Meetup@いいオフィス(上野)に参加しました。
雨、上野、原宿では滅多にお目にかかれない呼び込みのお姉さん、とその谷間。
まぶしい世界、上野駅前の「じゅらく」も健在でした。
会社の本社が上野にあるため、「上野なんて庭ですよはははは」と先輩に豪語し反対方向に誘導してしまいました。結果15分はロスしましたよごめんなさい。

Meetupでは参加者のLTに加え当日のチームビルディングがあったのが印象的でした。
他のハッカソンをあまり知らないのですが、この事前Meetup(チームビルディング)→ハッカソンという流れはとても良いと感じました。 作りたいものを作る、そしてクオリティが高いものを作るためにこのように事前で似たアイディアの人とチームを組むのは効果的と思えるからです。

LT、チームビルディング中の意見交換で印象に残った意見を残します。

  • 著作権の関係でDJイベントはソフト化されづらい、という課題のために曲ではなくDJの「プレイ」のみをコードとして取り出しGitHub管理する。というアイディア
    • → DJだけではなくそのビジネスや環境全体を意識した上で課題を抽出し解決するにはどうすればよいか、という観点が斬新に思えました。
  • DJ機器なら作らなくてもいっぱいある。Web Audio APIでそれを作っても仕方がない、むしろ、「Web Audio API」もっといえば「Web」でしかできないアイディアを考えるべき
    • → この時点で上の作戦会議で考えたような「漠然とした」アイディアしかなかったため「ドキッ」としたのを覚えています。
  • スマホのセンサー(加速度や傾きやGPS)は精度が悪く、正確な演奏に反映するのはむずかしい。まぁ、おかずくらいには使えるかも
    • → いろいろなアプリを見てきたg200kgさんの意見なので説得力がありました。ただ、逆に不正確さやレイテンシーを逆手にとってアプリの面白さとして活かせないか、なんてことも考えたり。
  • フレーズに対してフレーズを自動生成して返してくれる機能が欲しい。技術的に難しければ、こちらが入力した別のテンションが足されるとか
    • → これは楽器演奏者の意見でしたが、自分も演奏者としてとても惹かれるアイディアでした。もし次回があればこの軸で考えたいところ。
  • お客さんが操作できるアプリがよいかも。DJのトラックに対してエフェクトやもっといえば妨害が掛けられるアプリが面白そう
    • → やはり、Webということで専用機器を持たないお客さんが利用するアプリのアイディアは多そうです。「妨害」という発想も面白い。

そして当日へ

事前Meetupでの話からかなりの不安を抱えながらも軌道修正する余裕もなく、結果そのままハッカソン当日を迎えてしまいました…
結果はどうだったでしょうか。
当日の模様と「総括」は後編に続けます。