window.AudioContext = window.AudioContext || window.webkitAudioContext;
context = new AudioContext();
source = context.createMediaElementSource(document.getElementById('audio'));
gainNode = context.createGain();
//filter nodes
bassTurnoverFilter = context.createBiquadFilter();
trebleTurnoverFilter = context.createBiquadFilter();
loudnessTrebFilter = context.createBiquadFilter();
loudnessBassFilter = context.createBiquadFilter();
trebleLevelFilter = context.createBiquadFilter();
bassLevelFilter = context.createBiquadFilter();
我目前正在使用jogDial插件来控制表盘。 表盘可以工作,并且当表盘从0%到100%旋转时,我可以获得“高音”变量的0到1的范围。
这是我用于高音表盘的当前mousemove功能:
.on("mousemove", function(event){
var treble = (event.target.rotation + 140) / 280;
if(trebleLevelFilter !== undefined){
trebleLevelFilter.disconnect();
}
source.connect(trebleLevelFilter);
trebleLevelFilter.type = "highshelf";
trebleLevelFilter.frequency.value = 200;
trebleLevelFilter.gain.value = treble;
trebleLevelFilter.connect(context.destination);
});
我的问题或多方面问题是......我应该使用哪一种6种类型? (“lowpass”,“highpass”,“bandpass”,“lowshelf”,“highshelf”,“peaking”,“notch”,“allpass”) 我猜想应该是 highpass 或 highself。
我应该设置什么频率?
当拨号旋转时,gain.value 应该是动态的吗?
我完全走错了方向吗?
我将 gain.value 设置为高音变量值,当调到100%时似乎会略微增加音量...但我不认为这是我试图实现的正确功能。