【发布时间】:2010-11-02 06:41:43
【问题描述】:
[我正在用 Java 做这项工作,但我认为这个问题与语言无关。]
我有一个 MIDI Note On 音量(称为“data2”,它是 0-127),我正在使用推子(0 到 127)进行调整。我使用的“数学”很简单:
newData2 = oldData2 * faderVolume / 127;
0 的效果很好,127 也可以,但是接近范围底部的音量太大了,尤其是较大的音符。与线性关系可能有什么不同的关系(在伪代码中会很棒)?我必须将它们插入代码并尝试它们,当然。
我意识到这个问题取决于演奏 Note Ons 的乐器(Ableton Live 中的 BFD 套件,它不会提供太多信息),但也许不是,也许有一种标准方法来调整 Midi Note On 音量带有推子。
【问题讨论】:
-
使用浮点数据和整数数据是有区别的(对于计算,它有很大的不同)。
newData2是整数吗? -
@精英绅士,是的,这是问题的一部分,我现在看到了。它是一个整数。不过,这可以解释我遇到的问题吗?
-
是的,因为您错过了十进制值(这会影响您的结果)。
-
谢谢@The Elite Gentleman,我会试试看,然后把你ping回来。把所有东西都转换成浮点数,做数学,然后做
Math.round是合理的,对吧?跨度> -
查看我的解决方案,
Math.round可能不是一个好主意,因为您需要 midi 控制器可以理解的所有小数点。