gpt4 book ai didi

javascript - 在 HTML5 中构建音频混合器

转载 作者:行者123 更新时间:2023-11-28 20:12:46 24 4
gpt4 key购买 nike

我正在 html5 中开发音频混合器。要求是应该有以下控制。所有控件都将是简单的 slider ,并且在幻灯片上更改控件的值将发生变化。

  1. 音量
  2. 音调校正
  3. 滤波器(高通和低通)
  4. 混响
  5. 高、中、低
  6. 节奏

我了解如何实现#1、3、4。关于#2,我有点困惑,我发现 HTML5 Web 音频 API 中没有提供它,唯一的方法是使用 playBackRate。对此有何意见?

没有。 5 - 它似乎与高通和低通滤波器类似。 #3 和 4 有什么区别?

没有。 6 - 有任何控制可以改变节奏吗?或者与 playBackRate 相同吗?

我对音乐术语一无所知,因此任何有助于理解整体观点的帮助将不胜感激。

最佳答案

我不知道该怎么说。 “音调校正”是一个非常深奥的话题,你无法真正将其简化为单个 slider ;实现起来也相当复杂。

同样,速度和混响也是复杂的话题;这在很大程度上还取决于您的声源​​是什么。例如,您通常不会在音频混音器上设置“节奏”;它设置在某种音序器上,例如鼓机。

高通和低通滤波器在网络音频中非常简单,但同样,这取决于您想要如何实现它们以及您希望提供哪些音乐控制。

使用 ConvolverNode 实现混响相当容易,但同样,有很多潜在的控制(例如,多大的房间/脉冲响应?)。

高/中/低控制非常简单 - 我在我的 wubwubwub DJ 混音器 ( http://github.com/cwilso/wubwubwub/ ) 中使用了以下代码:

    this.low = audioCtx.createBiquadFilter();
this.low.type = "lowshelf";
this.low.frequency.value = 320.0;
this.low.gain.value = 0.0;
this.low.connect( this.xfadeGain );

this.mid = audioCtx.createBiquadFilter();
this.mid.type = "peaking";
this.mid.frequency.value = 1000.0;
this.mid.Q.value = 0.5;
this.mid.gain.value = 0.0;
this.mid.connect( this.low );

this.high = audioCtx.createBiquadFilter();
this.high.type = "highshelf";
this.high.frequency.value = 3200.0;
this.high.gain.value = 0.0;
this.high.connect( this.mid );

关于javascript - 在 HTML5 中构建音频混合器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19650898/

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