最先端の音楽IT集団による注目アプリ
独自技術満載の「OTOTOYアプリ」。その秘密を “天才プログラマー” 竹中直純氏に聞く
■「OTOTOYの世界」を創った人物
前述の説明を筆者にしてくれた開発者は、竹中直純氏。オトトイ株式会社の社長にして、有限会社未来検索ブラジル(「モリタポ」をご存知だろうか?)と株式会社ディジティ・ミニミの代表取締役を兼ねる企業経営者だ。遡れば2005年から2年間タワーレコードのCTOを務めつつ、ナップスターの国内サービスを立ち上げた人物でもある。
彼の活躍の場は経営にとどまらない。ブロードバンド普及前の1997年に坂本龍一のインターネットライブ(日本初のリアルタイムライブ配信)を指揮したり、村上龍の小説「希望の国のエクソダス」に執筆協力したり、JPNIC Domainワーキンググループメンバーとして活動したり、まさに八面六臂の活躍。日本のIT/音楽系ベンチャー史における第一人者である。
実は、今回の取材でインタビューイが誰かは聞かされていなかった。名刺交換した相手が竹中氏で面食らったところに、話を聞けばOTOTOYの音楽サービスにおけるインフラ部分をデザインしたのは彼で、「OTOTOY API」と呼ばれるサーバサイドAPIのプログラミングも担当しているという。だから何を質問してもレスポンスが速く、手もとすら見ていなかったことを付記しておく。
■OTOTOYアプリに「音」が届くまで
OTOTOYアプリは、iOS版/Android版ともに楽曲データをキャッシュしたうえで再生する方式をとる。「一時的にストレージ容量を消費するが、購入した楽曲については繰り返しダウンロードできるので、負担な時は気軽に消してもらえばいい」(竹中氏)という考え方からだ。
配信される音源は、制作者から受領したオリジナルデータを元に、受信側アプリの条件に合わせ都度トランスコードされる。
iOS版では48kHz/24bitが上限となる理由は、iOSの制約があるためだ。iOSのオーディオ再生API「CoreAudio」自体はそれ以上のサンプリングレート/ビット深度を扱えるものの、内蔵スピーカーやヘッドホン出力を担うDACが48kHz/24bitだからそれに合わせることになる。Android版にはそのような制約はないため、動作している端末のスペックを検出したうえでサーバ側で変換処理を行い、最高96kHz/24bitで配信するという。
オリジナルの音源をトランスコードするプログラムは、「ALACに関しては、Appleのリファレンスコードを参考にした独自開発のもの。FLACはオープンソースのコマンドを活用している」(竹中氏)とのこと。それを取りまとめる存在がPHPで開発された「OTOTOY API」で、トランスコーダファーム的な役割を担うと理解すればいい。
配信については、「OTOTOYの親会社にあたるディジティ・ミニミ社にはプロバイダ部門があり、CDNを使わなくても足りる。音源データはキャッシュコントロールが難しいことも理由」(竹中氏)と、CDN(大容量デジタルコンテンツの配信に最適化されたネットワークサービス)は利用していないという。
ただし、ジャケット画像など一部をCDNに移し、キャッシュコントロールの実際をテストする構想もあるとのこと。配信サービスは、コンテンツがスムーズに流れることが重要かつ難しい部分だが、「自分がコードをめっちゃ書いている」(竹中氏)と、伝説級のプログラマが直接携わるだけに、今後も安定して利用できそうだ。