한 샘플링 속도에서 높은 샘플링 속도로 신호 (사운드 샘플)를 리샘플링하려고합니다. 불행히도 어떤 종류의 필터가 필요합니다. 일부 '앨리어싱'이 발생하는 것처럼 보이기 때문에 필터에 익숙하지 않습니다. 다음은 내가 생각해 낸 것입니다 :사운드 샘플을 리샘플링하면 어떤 필터를 사용할 수 있습니까?
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
시작 대신 [Z]'sampdata [I] '에'cbuf을 설정 '으로 설정 sampdata [I] + (j/(더블) a) (샘프 데이터 [i + 1] - 샘프 데이터 [i])'. 나는 심지어 충분한 근처에 있는지 알고 사운드 프로세싱에 대해 충분히 모르겠지만, 누군가가 당신은 또한 앤티 앨리어스로 다운 샘플링을해야 할 수도 있습니다 :-) 자신의 물건을 알고 사람을 따라 온다 때까지 바쁘게 것입니다. 독립 실행 형 프로그램이 충분하면 –