원시 마이크 입력을 분석하고 플레이어에게 노래가 얼마나 좋은지 알려주는 노래 게임을 구현하려고합니다. 그것은 실시간으로 이루어져야합니다.
나는 같은 질문을하는 많은 스레드를 보았지만 필드에 대한 경험이 부족하고 수학 배경이 얕기 때문에 여전히 그 문제를 해결하지 못했습니다. DSPDimension 웹 사이트 피치 시프트의 기사를 기반으로 알고리즘을 구현했습니다 : http://www.dspdimension.com/admin/pitch-shifting-using-the-ft/
나는 기사가 설명하는 것처럼 실제 주파수와 크기를 추출하지만 이것으로 기본 주파수를 찾는 지 모른다. 빈을 최대 크기로 얻으려고했지만 피치 신호가 더 높은 경우에만 올바른 결과를 얻을 수 있습니다. 사용하는 오버 샘플링 계수는 중요하지 않지만 여전히 낮은 주파수 신호에 대해 나쁜 데이터를 얻습니다. 이 접근 방식이 완전히 잘못 되었습니까, 아니면 올바른 방향으로 가고 있지만 뭔가 빠졌습니까?
미리 감사드립니다.
편집 : 나는 피치 클래스에만 관심이 있다는 것을 잊어 버렸습니다. 따라서 기본이 누락되었지만 샘플에 강한 색조가 있습니다.
EDIT2 : 모두 덕분에 방금 매력처럼 작동하는 알고리즘 버전을 마쳤습니다. 낮은 피치 추정 문제는 입력 테스트 때문이었습니다. 노트를 부를 때 정확하게 일치했습니다. 또한, 나는 최고봉뿐만 아니라 모든 고조파를 고려하고 있습니다.