FFT 사용과 관련하여 질문이 있습니다. 함수 getBand(int i)
을 Minim과 함께 사용하면 특정 주파수의 진폭을 추출하고 그 주파수의 예쁜지도를 만들 수 있습니다. 훌륭하게 작동합니다.FFT를 사용하는 동일한 소스의 진폭 차이
그러나 이것은 호기심에 대한 질문입니다. 동일한 값을 사용하여 동일한 노래를 두 번 두 번 재생할 때 추출 된 값을 보면 (진폭이 동일해야 함)하지만 매우 다른 값을 얻습니다. 왜 그런가요?
0.0,0.0,0.0,0.0,0.0,0.08706585,0.23708777,0.83046436,0.74603105,0.30447206
0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.08706585,0.4790409,0.9608221,0.83046436,0.74603105
예 입력은 "mp3 파일입니다. 처음부터 재생을 시작하고 몇 초 후에 아무 것도 죽이지 않지만 그 때까지 FFT를 실행해서는 안됩니다. 이 다소 (내가 그것을 게시 할 수 있지만 지금 당장 액세스 할 필요가 없습니다) 동일한 코드입니다 : http://code.compartmental.net/minim/examples/FFT/ForwardFFT/ForwardFFT.pde – Anders
매번 동일한 수의 샘플을 가져야하며 각 샘플 값은 두 실행에 대해 동일해야합니다. 매번 동일한 샘플에서 샘플링을 시작하지 않으면 FFT 출력이 달라집니다. 또한 매번 버퍼 전체를 처리해야합니다. 적절한 테스트 입력을 사용하여 FFT가 올바르게 작동하는지 테스트해야합니다. 사인파를 합성하고 올바른 출력을 얻는 지 확인하십시오. –
투표를 통해 답변과 의견을 보내 주셔서 감사합니다. – Anders