新BeatMaster、メトロームエンジン部分の精度検証が終了し開発ロジックを決定の巻(前編)
こんにちは、iOSアプリ「BeatMaster」シリーズの原作者、安田陽です。2月1日に「BeatMaster Reborn Project」がスタートしてまだ2週間とちょっとですが、すでにメトロームエンジンの精度検証は終了…なかなか好調なスタートを切っております。
というわけで今回のブログでは、そのメトロノームエンジンの精度検証をどのように行っていたかについてご説明しつつ、私たちがメトロノームエンジンの開発ロジックをどのように考えているかについて、2回に分けてお話ししたいと思います。
1.メトロノームは精度が命…のはずが、、、
言うまでもなく、メトロノームは正確なテンポを出すための道具、であります。そして現在、スマートフォンアプリにもメトロノームアプリが大量にあります。
が、「スマートフォンアプリで正確無比なテンポを出す」という行為が実は非常に難しいことであるという事実が発覚しました。
「え? プログラムを組んで正確無比なテンポを出すことくらい朝飯前でしょ?」と思われる方も多いと思います。が、実は物事はそう簡単ではなく…現代のコンピュータやスマートフォンはマルチタスク、つまり同時並行的に複数の処理を行える仕組みになっているため、状況によってはCPUの動作に影響を与え、結果としてメトロノームアプリのテンポにズレが生じてきてしまうんですね。
そのようなわけで、現存するさまざまなメトロノームアプリを鳴らしては波形を取り込み、実際にどのくらいの精度が出ているのかを計測してみました。
2.他社さんのメトロノームアプリの精度を計測してみた
こちらは某メトロノームアプリさんの波形。
詳しい説明は省かせていただきますが、波形を確認したところ、スタート直後から1ms〜15msというズレが発生していました。。
3.メトロノームアプリ界の「先生」はハンパじゃなかった
続いてこちらはメトロノームアプリ「Smart Click」の波形。世界的に有名なDAWソフト「Cubase」を開発販売されているSteinberg社がリリースしています。
(ちなみに私たちはこのアプリのことを「先生」と呼んでおります)
30秒経ってもマイクロ秒のズレもありません。この波形を見た我らが開発者のSHREDいわく「これが世界か・・」。
4.メトロノームアプリで精度を上げるためのヒントが見えてきた
ここまで来て気づいたことは、「メトロノームアプリの場合、時間の計測をプログラムでソフトウェア的に行なうべきではない」ということです。そうすると、CPUの動作状況の影響を受け、どうしてもメトロノームとしての精度が上がらないのです。
では、前述のSteinberg社のメトロノームアプリはいったいどのようにしてあそこまで精度を上げることに成功しているのか? いろいろと試行錯誤しているうちにその方法が見えてきました。(後編に続く)
この記事が気に入ったらサポートをしてみませんか?