移植音频处理算法

参考https://github.com/qinyunti/speex_test.git

https://mp.weixin.qq.com/s/p6cOppuoFYCTw6a-bu299Q

基于speex的音频处理系列之三-在嵌入式平台的移植

下载代码

git clone https://github.com/qinyunti/speex_test.git

223652t2bzwsyu606byu0j

cd speex_test/

编译

nano ./build.sh

修改gcc为

riscv64-linux-gnu-gcc libspeexdsp/*.c speexecho.c -static -Os -Iinclude -I. -DHAVE_CONFIG_H -lm -o speexecho

223652u919nt9otokxknum

chmod +x ./build.sh

./build.sh

文件导入到开发板

scp speexecho root@192.168.42.1:/root

scp mic3.wav root@192.168.42.1:/root

scp spk3.wav root@192.168.42.1:/root

223653qgb40glxqg0rdhlz

开发板上ls查看

223653rwrwlp4rmccbwd3r

运行

chmod +x speexecho
./speexecho mic3.wav spk3.wav out3.wav

223653e75xx0v2bvz6kofz

可以看到运行非常快,只需要1.2ms即可完成

可以看到MilkV-Duo的性能非常强

上述配置

#define NN 128

#define TAIL 1024

即128点,滤波长度1024,只需要1.2mS完成

对于128点,16k采样,对应时间为8mS,处理时间只需要1.2mS,所以实时处理是完全没有问题的。