我想将振荡器的信号从 (-1,1) 映射到 (x,y) 据我所知,到目前为止,增益节点可以用于此目的。
如果我将振荡器连接到值为 1 的增益节点,我会收到范围 (0,2) 内的信号
如果我将此信号输入另一个值为 0.25 的增益,我会收到范围 (0,0.5) 内的信号
但是如果我希望信号在 (0.5, 1) 范围内该怎么办?
我想知道为什么我们不能简单地将函数映射到信号上。
像 signal.map(function(x){return x + 0.5})
最佳答案
对于您提到的特定场景(“如果我希望我的信号在 (0.5, 1) 范围内?”),您应该将 (0,0.5) 信号连接到与 ConstantSourceNode 相同的节点:
var constant = new ConstantSourceNode( { offset: 0.5 } );
constant.connect( /* same node as your signal */ );
对于更一般的情况 - 例如,您想要进行非线性映射 - 使用 WaveShaperNode。
关于javascript - 如何将网络音频振荡器从 (-1,1) 缩放到 (x,y),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40827587/