ITmedia NEWS > STUDIO >

メロトロンアプリ「Manetron」、ついにAndroid対応へ 開発環境は? レイテンシー問題は?古代サンプラーがアプリになるまで(2/3 ページ)

» 2022年07月05日 19時46分 公開
[山崎潤一郎ITmedia]

Androidアプリのレイテンシーは?

 Android版で楽器アプリを出すことについて懸念事項がある。レイテンシーだ。以前のAndroidの楽器アプリは、タップしてから音が出るまでに200〜300ミリ秒遅れることなど普通だった。

 ある大手楽器メーカーは、Googleとコラボしてその欠点を解決すべく、いろいろと手を尽くしたようだが、どうにもならず、Androidを諦めて、iOSに注力するようになったのは業界では有名な話だ。ちなみに、iOSは、以前より20〜25ミリ秒程度の出音を実現していた。

 2009年にリリースした、Pocket Organ C3B3は、当時から20〜25ミリ秒程度の低レイテンシーを実現していた。ちなみに、当時の端末はiPhone 3GS。今のiPhoneと比較すると笑っちゃうくらい非力だ。最大5音の和音を鳴らし、しかも、9本のドローバーによる加算方式の音声合成なので、最大で45の音を重ねて鳴らす必要があった。

photo Pocket Organ C3B3の画面。アップデートをしていないので、さすがにダウンロード数は落ちてきたが、最新のiOSでもちゃんと動作する

これだけ重たい条件が揃っているにも係わらず、レイテンシー20〜25ミリ秒程度の出音を実現できたのは、当時、発音部分はアセンブリ言語で構築したからだ。ただ、元来機械語だけにArmアーキテクチャの進化のたびに改変する必要があったり、端末の高性能化が進んだこともあり、その後、iOS標準の音声処理フレームワークに移行させという経緯がある。

photo Pocket Organ C3B3は、70年代のHammondオルガンやLeslieスピーカーの音を徹底研究して開発した

Google認定のLow Latency対応端末とは?

 初代マネトロンをリリースした当時から、Android版のManetronを出して欲しいという要望が世界のメロトロンファンから寄せられたが、レイテンシーが理由でAndroid版を開発する気持ちはまったくおきなかった。

 その後、OSとしてのAndroidも進化し、端末の性能も向上したことで、Android端末でもiOS並の低レイテンシーが実現可能になった。当然と言えば当然であろう、ミリ秒の世界で勝負するeスポーツが勃興し、画面のリフレッシュレートなどが凄まじい勢いで進化しているのだから、音のレイテンシーについても進化するはずだ。

 Android端末のオーディオ性能を示す要件がGoogleにより決められている。Googleのドキュメント「オーディオ レイテンシ」によると、連続ラウンドトリップレイテンシーを20ミリ秒以下と指定している。ラウンドトリップレイテンシーというのは、入力時の遅延、アプリ処理時間、出力時の遅延を合計した数値だ。

 また、同時に、連続出力レイテンシーが 45ミリ秒以下という規定も満たす必要があり、この両方の性能を有した状態をGoogleはLow Latency対応端末と認めている。

 アプリ開発者がGoogle Playストアでアプリを公開する際、Low Latency対応端末としての条件を満たした機種を保有するユーザーにのみ、開発者のアプリ表示を認めるような設定が可能だ。つまり、低スペックのAndroid端末では、表示すらされないということになる。

 開発者側からすると、端末スペックの制限をかけることで、販売可能なユーザーの母数自体が少なくなるので、機会損失になりかねないという悩ましい課題も発生する。とはいうものの、低スペック端末のユーザーにダウンロードを許してもひどいユーザー体験を与えるようでは意味がない。

 総合的に見て、Low Latency対応端末に限定する方が得策だろうと思っている。実際、Amazonの安価なAndroidタブレットで試してみると300ミリ秒はあるんじゃないかと思う程に出音が遅い。これでは楽器アプリとして販売することはできない。

Copyright © ITmedia, Inc. All Rights Reserved.