Html WebAudio-独立的音频频道
我有两个独立的音频文件,将通过WebAudio API播放 其中一个包含背景音乐,并且将始终打开。 另一个包含语音,我的图形将对声音的音调做出反应。我有一段工作代码,它使用WebAudio.context、AnalyzerNode和dynamicNode来计算当前播放的声音文件的音高Html WebAudio-独立的音频频道,html,html5-canvas,web-audio-api,Html,Html5 Canvas,Web Audio Api,我有两个独立的音频文件,将通过WebAudio API播放 其中一个包含背景音乐,并且将始终打开。 另一个包含语音,我的图形将对声音的音调做出反应。我有一段工作代码,它使用WebAudio.context、AnalyzerNode和dynamicNode来计算当前播放的声音文件的音高 function init() { this.context = ((Object)(createjs.WebAudioPlugin)).context; this.analyserNode
function init() {
this.context = ((Object)(createjs.WebAudioPlugin)).context;
this.analyserNode = this.context.createAnalyser();
this.analyserNode.fftSize = 32;
this.analyserNode.smoothingTimeConstant = 0.7;
this.analyserNode.connect(this.context.destination);
this.dynamicsNode = ((Object)(createjs.WebAudioPlugin)).dynamicsCompressorNode;
this.dynamicsNode.disconnect();
this.dynamicsNode.connect(this.analyserNode);
this.freqFloatData = new Float32Array(this.analyserNode.frequencyBinCount);
this.freqByteData = new Uint8Array(this.analyserNode.frequencyBinCount);
}
function onUpdate() {
this.analyserNode.getByteFrequencyData(this.freqByteData);
// ---- do stuff with this.freqByteData[0]; ---- \\
}
但是,当我同时播放背景音乐和语音文件时,我只能同时检索两种声音的音调
在播放多个声音文件时,是否可以通过WebAudio API从单个声音文件中获取音高?如果您的意思是“我可以只对音乐曲目应用均衡,并且不影响语音”,答案是肯定的-均衡(和其他过滤)是一种内联效果,它不需要在全球范围内应用。如果你的意思是“我有语音和音乐混合的源材料,我能把它们分开吗?”那么肯是对的,这是一个更困难的挑战。我认为这个问题太广泛了,所以这是一个复杂的领域,结果将取决于许多因素。如果您的语音是单声道和音乐立体声的,您可以尝试(多步骤),这具有相对较低的开销。如何创建源节点并将其连接到目标节点?这会澄清问题。但是克里斯,他们可以在CSI上做,所以?哈哈哈!好吧,那一定是真的。嘿,很抱歉我写了这么一个蹩脚的问题,但你似乎完全误解了我的初衷!我更新了我的问题,以反映我真正的问题。抱歉造成混淆。啊,这更清楚了-但是您没有显示您连接到DynamicCompressorNode的内容(即,您如何播放两首曲目)。如果您将一个连接到DynamicCompressorNode,另一个直接连接到context.destination,它应该可以工作。