2012-07-11 5 views
1

단조로운 .wav 클립 (피아노)을 입력하고 해당 클립에서 재생되는 피아노 음표를 표시하는 소프트웨어를 개발 중입니다. 주파수를 계산하기 위해 FFT를 사용하고 있지만 그들은 22360 Hz과 같은 값을주고 있습니다. 그래서 주위를 돌아보고 싶습니다. 260 to 600 Hz.FFT의 주파수가 표시해야하는 값을 표시합니다.

누군가 나를 도와 줄 수 있습니까?

+1

한 단어 : "필터". – duffymo

+0

코드 일부를 게시해야합니다. 그렇지 않으면 아무도 도움을 줄 수 없습니다. –

+1

이 질문은 dsp.stackexchange.com에 더 적합합니다. –

답변

0

당신의 문제는 당신이 충분한 샘플을 가지고 있지 않다는 것입니다, 그래서 주파수 해상도가 좋지 않습니다. 더 많은 샘플을 갖거나 제로 패딩 만하면됩니다. herehere을 참조하십시오. 그게 도움이 될거야.

2

피아노는 강력한 고조파 또는 배음을 많이 출력하므로 FFT 이 많은 고주파수 빈에서 진폭을 나타내야합니다. 아마도 FFT 대신 피치 검출 또는 추정 알고리즘을 사용해야할까요?

0

Hotpaw2는 내용이 지나치게 많음을 강조합니다.

그러나 또 다른 요구 사항은 샘플링 간격의 주파수 도메인 아티팩트가 결과를 오염시키지 않도록하는 창 기능입니다. FFT가 수행되기 전에 데이터에 적용된 창 함수는 본질적으로 신호를 부드럽게 페이드 인하 고 페이드 아웃하여이를 피합니다.

관련 문제