そのままでは遅いので
こんにちわ、こんばんわ。かえるのクーの助手の「井戸中 聖」(いとなか せい)でございます。
思いついたように復帰しております。題材があるのはよいことです。
遅延対策
今日はメトロノームに入力機能(リズム判定機能)つける場合に問題となる処理遅延について対策を検討します。
メトロノームは出力だけであれば、正確にさえ時を刻めればどれだけ内部的に処理時間がかかっていても全く問題がありません。ところが、クリックタイミングと演奏タイミングを比較する処理となると、少しの遅延でも大問題となります。
現在の遅延は
何も考慮しない現状では、出力と入力に以下の遅延がありました。
上(左チャンネル)がクリック発音の内部データのタイミングで、下が処理を折り返してきたクリックの音とそのクリックの音を聞いて演奏?した生波形のタイミングです。
内部発声タイミングに対して、実発声音の折り返し録音で約180mSec、発声音を聞いてから演奏音(正しいとは限らない)の録音で約300mSecの差が発生しています。
オーディオインターフェースは US 2x2というものをつかっており、これはASIOという(高速な)インターフェースが標準だと認識していますが、これを見る限り、ASIOを使用していないか、他の要因で遅延していると思われます。
遅いと悪評判のWindows標準インターフェース経由に(意図せず)なってしまっているとしても遅延が酷いです。
補正?
もちろん遅延はゼロにはできませんが、「遅延が一定であれば」オフセットを固定で設定すれば正確に補正ができます。
このあたりの実験をしていきます。
う~ん。ネットに情報がないので苦労しそうです。
調査・対応にかなりの時間がかかると思いますので、それまでBGMでお楽しみください。
(2/16追記)本件迷宮入りの予感。。。そもそも今行おうとしている方式に無理がある気がしてきています。リズム評価機能はお蔵入りの可能性が高いです。でも、あと1か月くらい頑張ってみます。
(3/2追記)でき~~~~ん。
.- .-.-. ..-.. .. ..-- -. --.. .. ...
おるがんのゆるゆるさがいい味だしてます
..-.. .-.-- -..-. ---.- ..- .-.. .. ...- .-.-- -.-.. .-.-- .. ---.-