首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在HTML5中构建音频混频器

在HTML5中构建音频混频器
EN

Stack Overflow用户
提问于 2013-10-29 06:05:46
回答 2查看 4.8K关注 0票数 0

我正在开发html5的音频混频器。要求是它应该有以下的控制。所有控件都是简单的滑块,在幻灯片上,控件的更改值将更改。

  1. 音量
  2. 螺距校正
  3. 过滤器(高通和低通)
  4. 混响
  5. 高,中,低
  6. 节拍

我知道如何实现#1,3,4。在#2上,我发现它没有在HTML5网络音频API中提供,唯一的方法就是使用playBackRate。对此有什么意见吗?

第五,它似乎类似于高通和低通滤波器。3号和4号的区别是什么?

6号--有什么控制措施来改变节奏吗?还是和playBackRate一样?

我不知道音乐术语,因此,任何帮助理解整体的观点将不胜感激。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-10-29 07:15:50

我不知道该怎么放这个。“音高修正”是一个非常深刻的话题,并不是你能真正简化成一个滑块的东西,它的实现也相当复杂。

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

在Web中,高通和低通滤波器是非常简单的,但这同样取决于您希望如何实现它们,以及您希望提供什么样的音乐控制。

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

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

代码语言:javascript
复制
    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 );
票数 4
EN

Stack Overflow用户

发布于 2015-05-27 13:37:10

莫哈约诺氏timbre.js是一个非常整洁的库。它有高中低通滤波器,混响,和"+“操作符作为一个内置的混频器。

如果你想要开始音高修正,你可以阅读这篇关于音高移位的论文

还有Mixer.js,它也可以帮助您开始工作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19650898

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档