1

私は小さなシンセサイザーアプリケーションをプログラミングしていて、バーの長さに沿ってクリックして音符を入力します。さて、音階は対数です。私の質問は、マウスの位置を適切なピッチに変換するにはどうすればよいかということです。現時点では、比率を計算しています。それはある意味で機能しますが、私は広範囲の密集した低音を取得し、遠端ではほんの数ピクセルを複数のオクターブに変換します。基本的には、バーの中央(1/2)をクリックすると、周波数が2倍になり、1/4が周波数の2倍になります。など…私はここでバカです!

4

1 に答える 1

4

音符の周波数は確かに対数です。周波数は、1オクターブ高くなると2倍になり、1オクターブ低くなると半分になります。標準Aは正確に440Hzです。

したがって、位置を周波数に変換するにはべき法則が必要です。f * 2.0 ^(x / w)のようなものです。ここで、wはオクターブの幅、fはスケール係数、^は電力演算子です。

于 2011-09-26T19:38:20.450 に答える