一、前言
之前在STM32F407上现实了直播声卡,实现的经典Schroeder混响模型和Moorer混响模型,得到不错效果。后来得知卷积混响最为真实地表现空间的特性,所以也就尝试在MCU上实现一个高精度的卷积混响(卷积点数为32768),目前MCU出来的混响效果算得上一流水准,本人也在计划在ADI的21489或者SC584上更高精度的卷积混响。
二、卷积方式
1、conv1是使用MATLAB自带卷积函数conv
2、conv2和conv3是改进后卷积过程,具有减少运算量特点,方便嵌入式移植
clear;
%get reverb ir
[rir,fs] = audioread("inputs/Room 3.wav");
rir = mean(rir, 2);
%set ir num
ir_num = 30000;
%plot ir data
rir = rir(1:ir_num,1);
rir_y = zeros(1, ir_num);
for n = 1:1:ir_num