Tone.js 追随者创建侧链音量控制
Tone.js Follower to Create Side-Chain Volume Control
我想通过另一个源控制一个源的增益,以根据源 1 的负包络在源 2 上创建增益自动化。
这是我的逻辑:
playerOne.connect(follower)
follower.connect(signal)
signal.connect(negate)
negate.connect(gainTwo.gain)
其中 gainTwo
是连接到 playerTwo
的增益节点。这是一个代码笔示例:https://codepen.io/adam_fr/pen/BazVEwe
预期的结果是每次 playerOne
被触发时 gainTwo.gain
都会被闪避,但是我得到的是相反的,第二个源仅在第一个源播放时播放。
我想通了:需要反转跟随信号并将其向上推 1,1 是信号可以达到的最大值。上面的代码笔已更新为正确的接线:
// Flip the values and shift them up by the max value of the sidechain signal
const negate = new Tone.Multiply(-sideChainRatio)
const shift = new Tone.Add(1)
playerOne.connect(gainOne)
playerTwo.connect(gainTwo)
playerOne.connect(follower)
follower.connect(signal)
signal.connect(negate)
negate.connect(shift)
shift.connect(gainTwo.gain)
我想通过另一个源控制一个源的增益,以根据源 1 的负包络在源 2 上创建增益自动化。
这是我的逻辑:
playerOne.connect(follower)
follower.connect(signal)
signal.connect(negate)
negate.connect(gainTwo.gain)
其中 gainTwo
是连接到 playerTwo
的增益节点。这是一个代码笔示例:https://codepen.io/adam_fr/pen/BazVEwe
预期的结果是每次 playerOne
被触发时 gainTwo.gain
都会被闪避,但是我得到的是相反的,第二个源仅在第一个源播放时播放。
我想通了:需要反转跟随信号并将其向上推 1,1 是信号可以达到的最大值。上面的代码笔已更新为正确的接线:
// Flip the values and shift them up by the max value of the sidechain signal
const negate = new Tone.Multiply(-sideChainRatio)
const shift = new Tone.Add(1)
playerOne.connect(gainOne)
playerTwo.connect(gainTwo)
playerOne.connect(follower)
follower.connect(signal)
signal.connect(negate)
negate.connect(shift)
shift.connect(gainTwo.gain)