短期間: 私は44,100回/秒で呼び出されるメソッドを持っています。私は、13781.25番目のメソッドコール(192 Beats Per Minute)で音を鳴らす必要がある状況で何をすべきかを知りたいと思います。私は、その番号を四捨五入して、13781stメソッドコールでサウンドティックを作るという選択肢があります。これは、サウンドティックを0.25thに早くしていることを意味します。このことは、0.00000566893424秒が早すぎることに相当する。メトロノーム精度アルゴリズム数学
100ティック後、確実に遅延が加算されます。何らかのスマートな回避策があります。そのような種類の遅延は、遅延が特定のポイントを超えたときに追跡されます。いくつかの数字は、トラックに再びビートを維持するには?ここで
は、これまでに以下の私のコード..です
int counter; // used to track down the amount of times the method has been called
signalMethod(){
if(counter % ceil(2,646,000/10) == 0){ //the ceil function turns the decimal point into a whole number so it can be used for analysis. but this will cut off delay.. and over time im sure it will add up.. which will cause the beats to fluctuate...
playSound();
}
counter++;
}
オーディオアプリケーションでこれを行うための標準的な方法は、最初はゼロ、ダブルTを設定することです。各サンプルを1.0/44100.0ずつ増分し、t>(60.0/192.0)かどうかを確認します。その場合は、メトロノーム機能を呼び出して、tを60.0/192.0だけ減らしてください。減少した後に残った金額は、2番目の段落で説明されている方法で正確に作用し、時間の経過とともにエラーが増加するのを防ぎます。 –