Javascript 如何在p5.js中修改声音文件中的特定频率?

Javascript 如何在p5.js中修改声音文件中的特定频率?,javascript,audio,p5.js,modulation,Javascript,Audio,P5.js,Modulation,所以基本上我是在p5.js中制作音频均衡器,我不知道如何在声音文件中调制特定的频率 如果有人知道,请提供一些见解。我相信您正在寻找的是带阻滤波器。这与带通滤波器相反。带通滤波器使给定中心周围的频率保持不变,同时降低上下频率的振幅。带阻滤波器的作用正好相反,它降低了给定中心附近的频率振幅,同时保持上下频率不变。在p5.sound中,这是通过使用滤波器类型'notch'实现的。此过滤器类型没有特殊的类(如p5.BandPass),因此您只需使用泛型p5.filter并将类型传递给构造函数。以下是基于

所以基本上我是在p5.js中制作音频均衡器,我不知道如何在声音文件中调制特定的频率
如果有人知道,请提供一些见解。

我相信您正在寻找的是带阻滤波器。这与带通滤波器相反。带通滤波器使给定中心周围的频率保持不变,同时降低上下频率的振幅。带阻滤波器的作用正好相反,它降低了给定中心附近的频率振幅,同时保持上下频率不变。在p5.sound中,这是通过使用滤波器类型
'notch'
实现的。此过滤器类型没有特殊的类(如
p5.BandPass
),因此您只需使用泛型
p5.filter
并将类型传递给构造函数。以下是基于p5.sound参考的示例:

let-fft,噪声,滤波;
函数设置(){
设cnv=createCanvas(窗口宽度、窗口高度);
cnv.鼠标按下(发出噪音);
填充(255,0,255);
过滤器=新的p5.过滤器(“陷波”);
//(低分辨率=宽带抑制)
//注意:使用“陷波”过滤器时,为了过滤掉
//与您要过滤的频率范围相同
//使用“带通”滤波器时,需要使用更小的分辨率
//我不知道这是为什么。
过滤分辨率(0.2);
//本例使用p5.Noise进行演示,但是
//与使用创建的p5.sound文件同样适用
//负载声音
噪音=新的p5.噪音();
//不要直接播放噪音
噪声。断开();
//而是将其传递到过滤器(将连接到
//默认情况下为音频输出)。
噪声。连接(过滤器);
//这只是为了展示
fft=新的p5.fft();
}
函数绘图(){
背景(220);
//根据mouseX设置带通频率
设freq=map(mouseX,0,width,2022050,true);
滤波频率(freq);
//绘制滤波光谱
设频谱=fft.analyze();
仰泳();
for(设i=0;i


它可以工作,但您能否解释一下如何更改声音文件的中频?您需要定义“alter”和“mid frequency”。你想改变整首歌的音高吗?想把它换成几个半步吗?是的,这就是我想做的。