gpt4 book ai didi

javascript - 使用 Web Audio API 或任何 Javascript 音频库(如 howler.js、tone.js)的音频效果(左右声道之间有 20 毫秒的延迟)?

转载 作者:行者123 更新时间:2023-12-04 23:12:31 25 4
gpt4 key购买 nike

我想知道 中是否有任何选项howler.js 、tone.js 或任何其他 javascript 音频库 我可以用来添加 20ms 延迟 左右声道之间,使音频聆听体验更加身临其境。
可以使用带有 howler.js 的音频 Sprite 来实现吗? (但我猜它不能分开左右声道)
https://medium.com/game-development-stuff/how-to-create-audiosprites-to-use-with-howler-js-beed5d006ac1
有没有?
在这里也问过同样的问题:https://github.com/goldfire/howler.js/issues/1374
我通常在 ffdshow 音频处理器下启用此选项,同时在我的电脑上使用 MPC-HC(Mega 版)播放音频。我想知道如何使用 Web Audio API 或 吼叫.js ?
enter image description here
有点像这种效果:只需将任一 channel 延迟 20 毫秒
就像我们在 Adob​​e Audition 中所做的那样
enter image description here

最佳答案

不熟悉howler.js 或tone.js,但我认为他们使用WebAudio。使用普通的 WebAudio,您可以通过以下方式获得所需的内容:

// Let c be the AduioContext and let s be the stereo signal you want to process

// Splits the stereo channel into two mono channels.
let splitter = new ChannelSplitterNode(c, {numberOfOutputs: 2});

// Merges two mono channels into a single stereo channel.
let merger = new ChannelMergerNode(c, {numberOfInputs: 2});

// Delays input by 20 ms.
let delay = new DelayNode(c, {delayTime: 0.02});

// Split the stereo source into 2 separate mono channels.
s.connect(splitter);

// Connect first channel of source directly to the merger
splitter.connect(merger, 0, 0);

// Delay the second channel by 20 ms
splitter.connect(delay, 1, 0).connect(merger, 0, 1);
// Connect the output of the merger to the downstream graph
merger.connect(<node>)

关于javascript - 使用 Web Audio API 或任何 Javascript 音频库(如 howler.js、tone.js)的音频效果(左右声道之间有 20 毫秒的延迟)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62911373/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com