이전 게시물에 대해 언급했듯이 "단기 푸리에 변환" 로 알려진 시간-주파수 분석 방법 은 필터 뱅크와 동일하며 신호 x를 분석합니다 . 크기 N 의 주어진 분석 창 w n 에 대해 주파수 k / N 의 필터 는 다음과 같습니다.
h n = w - n e j 2 π n kXxwnNk/N
hn=w−nej2πnkN
일반적인 분석 창 (Hann, Hamming 또는 사각형)의 경우, 이것은 차단 주파수가 약 정도 인 저역 통과 필터에 해당 하며 주파수 bin k 로 "이동"됩니다 (복잡한 지수 변조 덕분에). 따라서 대역 통과 필터로 연결됩니다.1/Nk
이 시점에서 인간의 인식을 반영하는 것에 대한 귀하의 우려에 직접 응답하기 위해 일부 사람들은 [ "constant-Q transform"(CQT)] [Brown91]을 도출했습니다. 필터 뱅크 해석에서 FT와 동일한 원칙에 의존합니다. 그러나, 중심 선형 적으로 "정상적인"FT 용으로 이격되지 않고, LOG2 이격. 그런 다음 음계는 서양 음계와 밀접한 관련이 있습니다. 만약 f k + 1 = 2 1 / 12 f k를 선택 하면 옥타브 당 12 개의 주파수 (벨 소리? :-)를 얻습니다. 그리고 대역폭은 , 말 2 1 / 12 - 1fkfk+1=21/12fk. 필요에 가장 적합한 다른 센터를 선택할 수도 있습니다.21/12−12fk
CQT의 구현은 여기에서 찾을 수 있으며, Klapuri 교수의 최근 구현은 다소 괜찮은 역으로 여기 에서 찾을 수 있습니다 . Telecom ParisTech의 오디오 그룹에도 Prado 교수 의 구현 이 있지만 아직 시도하지 않았습니다.
[Brown91] J. Brown, "상수 Q 스펙트럼 변환 계산", 미국 음향 학회지, 1991, 89, 425-434
20121014 수정 : (브리 호이트) 질문에 대한 답변과 의견.
주요 질문에 대한 자신의 의견에 대한 일반적인 아이디어 : 당신은 나에게 아주 간단한 문제가 아닌 많은 응용 프로그램에 관심이있는 것 같습니다. "Timbre modelling"은 피치 인식 또는 주파수 분해능 또는 정밀도가 그다지 중요하지 않은 음성 인식 등과 관련이 있습니다.
또한 자동 즉흥 및 반주 주제를 다루고있는 최고 연구원 ( F. Pachet 및 프랑스 IRCAM의 repmus 팀 )이 몇 명인지 고려하십시오 . 과제는 불가능하지는 않지만 여러 분야의 전문 지식이 필요합니다. 요약하면, 전형적인 시스템은 인간의 청각 시스템을 모방하고 (적어도) 사운드 / 음악 / 피치 / 리듬 지각을 구현하고, 음악 이론에 대해 알고 이전의 모든 단계의 추정을 기반으로 결정을 내려야합니다. 푸리에 변환 또는 신호 표현은 최종 목표를 향한 하나의 단계 일뿐입니다.
즉, 모든 사람들이 실제로 발생하는 것보다 훨씬 멀리보고있을 가능성이 여전히 있으며 간단하고 우아한 솔루션으로 분해 할 수 있습니다! 완료되면 게시하는 것을 잊지 마십시오! :-)
44kHz에서 0.1 초의 샘플은 광범위한 주파수를 포함하기에 충분합니다.
Fs/N=44100/4410=10Hz
FFT는 저주파 및 고주파수에서는이를 감지 할 수 없지만 다른 알고리즘으로는 가능합니다.
짧은 대답 : 멜로디 추정에 대한 논문을 읽으십시오!
좀 더 정교하게하기 위해 : 많은 피치 추정 알고리즘은 처리 할 사운드에 대한 가정 덕분에 FT의 한계를 뛰어 넘습니다. 자연스러운 소리 (인간의 목소리, 오보에, 색소폰, 피아노 등)의 음표가 단일 정현파보다 더 복잡 할 것으로 예상합니다. 대부분의 피치 사운드는 다소 고조파이므로 주파수가 기본 주파수의 배수 인 정현파의 합으로 모델링 될 수 있습니다.
따라서, 스펙트럼 합, 스펙트럼 곱 또는 자동 상관 함수와 같은 검출 기능을 사용하는 방법으로 피치를 추정 할 때 이러한 고조파를 고려하는 것이 유용합니다. 누군가 최근에 관련 주제를 시작했습니다 .
트레이드 오프 란 무엇입니까? 보다 구체적으로, 상당히 짧은 기간 동안 어떤 수준의 주파수 정확도를 기대할 수 있습니까? (CQT의 창 크기는 가변적이라는 것을 알고 있습니다. 얼마나됩니까?) 더 구체적으로, 대략적으로 얼마나 가까이 갈 수 있습니까? 0.005 초의 창에서 0.5 % 주파수 차이의 목표?
앞에서 언급했듯이, 0.005 초의 창에서 200Hz의 "주파수 누출"과 같은 것을 기대할 수 있습니다. 200Hz보다 가까운 주파수를 가진 2 개의 정현파가있는 경우에만 FT가 2 개의 다른 정현파임을 보여줄 수 없습니다. 음, 우리는 0.5 % (반음은 주파수의 6 %입니다!)와는 거리가 멀고 0.005s는 실제로 목적에 따라 약간 작습니다. 그러나 0.005 초마다 추정치를 제공하려는 경우 일반적으로 음성 / 음악 처리 에서처럼 더 긴 겹치는 프레임을 처리 할 수 있습니다. 실제로 원하는 것입니까?
Nk=Fsfk(21/B−1)
BB=48fk=100Hz약 0.7 초 길이의 창문이 필요합니다. 우리가 그때 약간의 시간적 해상도를 잃어버린다는 것은 말할 나위가 없습니다. 그러나 앞에서 언급했듯이, 이것은 소리의 구조를 잊어 버린 경우에만 문제가됩니다. 또한, 심리 음향학은 500Hz 미만에서는 인간이 실제로 정현파를 잘 구별하지 못한다고 생각합니다. 인간조차도 거기에 도전합니다. 물론, 우리는 컴퓨터가 우리보다 더 잘할 수 있기를 바랍니다. 그러나 여기서 우리는 어려운 문제에 직면합니다!
마지막으로 사운드의 시간-주파수 표현을 계산하는 다른 방법이 존재한다는 점에 유의하십시오. 예를 들어 감마 톤 필터 뱅크를 고려하십시오. 앞에서 언급 한 CQT의 장점은 변환 및 반전을위한 소프트웨어가 있다는 것입니다. 그러나 개인적으로 STFT는 여전히 단순하기 때문에 여전히 소스 분리를 위해 저주파수에서 더 나은 분해능이 필요하지 않기 때문에 STFT를 고수합니다.
[Schoerkhuber2010] Schoerkhuber, C. 및 Klapuri, A. "음악 처리를위한 Constant-Q 변환 도구 상자", 제 7 회 사운드 및 음악 컴퓨팅 컨퍼런스, 스페인 바르셀로나, 2010.