我正在开发html5的音频混频器。要求是它应该有以下的控制。所有控件都是简单的滑块,在幻灯片上,控件的更改值将更改。
我知道如何实现#1,3,4。在#2上,我发现它没有在HTML5网络音频API中提供,唯一的方法就是使用playBackRate。对此有什么意见吗?
第五,它似乎类似于高通和低通滤波器。3号和4号的区别是什么?
6号--有什么控制措施来改变节奏吗?还是和playBackRate一样?
我不知道音乐术语,因此,任何帮助理解整体的观点将不胜感激。
发布于 2013-10-29 07:15:50
我不知道该怎么放这个。“音高修正”是一个非常深刻的话题,并不是你能真正简化成一个滑块的东西,它的实现也相当复杂。
同样,节奏和混响也是复杂的话题,这在很大程度上也取决于你的声源是什么。例如,您通常不会在音频混合器上设置“节奏”;它是在某种排序器上设置的,例如鼓机。
在Web中,高通和低通滤波器是非常简单的,但这同样取决于您希望如何实现它们,以及您希望提供什么样的音乐控制。
使用ConvolverNode实现混响是相当容易的,但也有很多潜在的控制(例如,多大的空间/脉冲响应?)
高/中/低控制非常简单--我在我的wubwubwub混频器(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 );发布于 2015-05-27 13:37:10
莫哈约诺氏timbre.js是一个非常整洁的库。它有高中低通滤波器,混响,和"+“操作符作为一个内置的混频器。
如果你想要开始音高修正,你可以阅读这篇关于音高移位的论文。
还有Mixer.js,它也可以帮助您开始工作。
https://stackoverflow.com/questions/19650898
复制相似问题