현재 2 년째 프로젝트를 진행 중입니다. Java에서 튜너 코드를 작성해야합니다. 나는 기타 튜너를 선택했다.스펙트로 그램의 피크 찾기
인터넷에서 살펴본 후 Java 코드에서 FFT를 찾았습니다. 나는 이것을 약간 바꾸고 그것을 이해하고 그것을 시험했다. 나는 그것이 잘 작동한다는 것을 안다. (나는 그것의 그래프를 만들었고 간단한 사인 함수를 사용하여 다른 봉우리를 보았다.)
이제 기본 주파수를 찾으려고합니다. 내가 이해하는 바에 따르면,이 빈도는 첫 번째 피크에 의해 주어집니다.
따라서 필자는 FFT의 처음 5 개 봉우리를 찾아 색인으로 나에게 제공하는 방법을 만들고 싶습니다.
나는 처음 엔 두 개의 2 개씩을 내 스펙트로 그램과 비교하고, 기호가 바뀌면 피크가 있다는 것을 알았습니다. 이 방법은 이상적인 신호 (잡음이없는)에서 훌륭하게 작동합니다. 그러나 소음을 추가하면 완전히 쓸모 없게됩니다.
나는 자바에서 실제로 나쁘다. (실제로 나는이 프로젝트로 시작했다. 기본적으로 위에서 설명한 간단한 기능은 나의 마스터 피스이다.
아무도 도와 줄 수 있습니까? 나는 정말로 그것을 바르게 평가할 것이다! :) 미리 감사드립니다!
멋진 하루 보내십시오!
fireangel
피치가 FFT 피크 주파수가 아닙니다. 피치 주파수가 첫 번째 피크 또는 피크가 아닐 수 있습니다. 특히 기타의 낮은 현에서 녹음 된 사운드의 경우. – hotpaw2
가능한 dup : http://stackoverflow.com/questions/8699360/audio-analysis-frequency-vs-pitch – hotpaw2
감사합니다. hotpaw2 대답 해주세요. 나는 또한 피치 개념을 생각해 냈다. 내가 이해 한 바에 따르면, 피치는 주파수와 연결되어 있으므로 주파수를 찾는 것이 내게 피치를 줄 수 있다고 생각했습니다. – fireangel3000