超强 Android 高通滤波器
Superpowered Android Highpass Filter
我想以特定的频率切割信号(这样人类就听不到它 - 超声波)。我正在使用 CrossExample 来测试它。我使用过滤器如下:
filter = new SuperpoweredFilter(SuperpoweredFilter_Resonant_Lowpass, samplerate);
filter->setResonantParameters(floatToFrequency(1.0f - value), 0.2f);
filter->enable(true);
filter->process(stereoBuffer, stereoBuffer, numberOfSamples);
不幸的是,无论频率参数如何,您总是可以听到一点信号(最大音量 + 靠近扬声器的耳朵),这意味着它没有正确切割。
是我做错了什么还是 sdk 的问题?
SuperpoweredFilter 实现了经典的 IIR 滤波器。这样的滤波器总是有某种频率曲线,它永远不会"super sharp"。
如果您需要对特定频率完全静音,请在频域中削减它们。查看 SDK 中的 SuperpoweredFrequencyDomain 示例,了解如何执行此操作。
我想以特定的频率切割信号(这样人类就听不到它 - 超声波)。我正在使用 CrossExample 来测试它。我使用过滤器如下:
filter = new SuperpoweredFilter(SuperpoweredFilter_Resonant_Lowpass, samplerate);
filter->setResonantParameters(floatToFrequency(1.0f - value), 0.2f);
filter->enable(true);
filter->process(stereoBuffer, stereoBuffer, numberOfSamples);
不幸的是,无论频率参数如何,您总是可以听到一点信号(最大音量 + 靠近扬声器的耳朵),这意味着它没有正确切割。
是我做错了什么还是 sdk 的问题?
SuperpoweredFilter 实现了经典的 IIR 滤波器。这样的滤波器总是有某种频率曲线,它永远不会"super sharp"。 如果您需要对特定频率完全静音,请在频域中削减它们。查看 SDK 中的 SuperpoweredFrequencyDomain 示例,了解如何执行此操作。