苹果加速框架——在不损失绝对值的情况下约束幅度



我想使用苹果的加速功能来有效地剪辑音频信号。如果信号大于1或小于-1,我希望它等于1或-1。vDSP_vmaxmg看起来几乎就是我想要的,但不完全是。文件上说它是这样做的:

输出矢量C的每个元素是来自输入矢量A和B的相应值的幅度中较大的。

所以看起来vDSP_vmaxmg的输出总是输入的绝对值,总是正的。如果我想保持信号输出的绝对值,但限制幅度,加速框架能帮助我吗?

您想要vDSP_vclip( ):

#include <Accelerate/Accelerate.h>
...
float min = -1.0f;
float max =  1.0f;
vDSP_vclip(inputBuffer, inputStride, &min, &max,
           outputBuffer, outputStride, length);

相关内容

最新更新