对数刻度

时间:2011-09-26 19:17:41

标签: math audio scale frequency logarithm

我正在编写一个小型合成器应用程序,我通过单击一个条的长度来输入音符。现在,音阶是对数的,我的问题是,如何将鼠标的位置转换为相关的音高。目前我计算一个比率。它有点工作,但是我得到了各种各样紧密的低音符,而在远端,我只需要几个像素就可以转换成多个八度音阶。 基本上我想要的是,如果我点击条形中心(1/2),频率加倍,而1/4是频率的另一倍。等等… 我在这里很蠢!

1 个答案:

答案 0 :(得分:4)

音符的频率确实是对数的。当你走一个八度音高时,频率加倍,当你走一个八度音时,频率减半。标准A恰好是440Hz。

因此,您需要一个幂律将位置转换为频率。像f * 2.0 ^(x / w)这样的东西,其中w是八度音程的宽度,f是比例因子,^是幂运算符。