我正在尝试将信号(声音样本)从一个采样率重新采样到更高的采样率。不幸的是,它需要某种过滤器,因为似乎会出现一些“混叠”,而且我不熟悉过滤器。这是我想出的:
int i, j, a, b, z;
a = 44100;
b = 8363;
// upsample by a
for(i = z = 0; i < samplen; i++)
for(j = 0; j < a; j++)
cbuf[z++] = sampdata[i];
// some filter goes here???
// downsample by b
for(j = i = 0; i < z; i += b)
buf[j++] = cbuf[i];
新样本与原始样本非常相似,但有一些噪音。你能告诉我我需要添加什么过滤器,最好是一些与该过滤器相关的代码?
原声:http ://www.mediafire.com/? 9gnga1in52d6t4x 重新采样的声音:http ://www.mediafire.com/?x34h7ggk8n9k8z1