其他分享
首页 > 其他分享> > 如何将numpy与portaudio结合使用以提取低音,中高音

如何将numpy与portaudio结合使用以提取低音,中高音

作者:互联网

就像这个例子中的How to extract frequency information from an input audio stream (using PortAudio)?,我很好奇portaudio和numpy …

我对fft不确定100%,如何将numpy传递给一个块,然后将低音,中音和高音的三个值从-1.0取回1.0?

我不介意这是否仅用于一个频道,因为我可以理解其中的音频部分,当我看着它们时,数学就浮现在我的眼前:)

解决方法:

实际上,您不会使用傅立叶变换来执行此操作.

通常使用滤波器将音频信号分为低音,中音和高音. filter是衰减某些频率范围的信号处理设备.滤波器可以数字或电动方式构建.例如,它们用在扬声器的音频分频系统中.

要获得低频低音部分,您将使用低通滤波器.低通滤波器滤除高频.它们也被称为“高切”滤波器.
要获得中频中段,您将使用带通滤波器.带通滤波器滤除低频和高频.它们也被称为“钟形滤波器”.
要获得高频高音部分,您将使用高通滤波器.高通滤波器滤除任何低频.它们也称为“低切”滤波器.

实际上,您也只能使用高通和低通滤波器.如果您从原始信号中减去两个滤波后的信号,则结果将是带通滤波后的信号.这样可以为您节省一个过滤器.

每个滤波器都有一个阈值频率.阈值频率是一个特殊的频率,滤波器应从该频率开始滤波.根据滤波器的阶数,信号将被衰减6 dB / oct(一阶),12 dB / oct(二阶),18 dB / oct(三阶)等.对于您的应用,二阶设计是可能很好.
请注意,滤波器通常会以某种方式干扰您的信号,并且阶数越高,越能听到声音.顺便说一下,这是纯物理原理,适用于包括傅立叶变换在内的所有信号处理.

使用这三个滤波器等效于(可以)仅对三个光谱点进行傅立叶变换.

标签:python,numpy,audio,fft,portaudio
来源: https://codeday.me/bug/20191009/1880914.html