1

나는 노래 샘플을 가져 와서 샘플에서 FFT (고속 푸리에 변환)를 수행합니다. 나는 노래의 주파수를 얻을 수 있지만, 나는 그 주파수가 발생하는 시간을 얻을 수 없습니다. 그래서, 시간의 정보를 얻지 못하면 다른 표본과 일치시켜야하므로 기본적으로 쓸모 없게됩니다.주파수가 추출되는 시간

어떻게 진행합니까?

+0

답을 찾았는지 모르겠지만 최근에 'musicg'라는 오픈 소스 사운드 API 라이브러리를 발견했습니다. 오히려 간단하지만 분명히 모든 것을 스스로 만들 수있는 자유를 잃을 것입니다. 그래도 몇 가지 좋은 테스트를 해봤습니다. –

답변

5

샘플을 여러 개의 작은 타임 슬라이스로 분할하고 각 슬라이스를 FFT 처리해야합니다. 각 FFT 결과는 해당 시간 조각에 대한 평균 주파수 내용을 제공합니다. 이것은 일반적으로 Spectrogram이라고 불립니다.

+0

짧고 달콤하며 정확히 들어야 할 내용. +1 –

3

귀하의 질문에 대한 대답은 귀하가 결정해야 할 시간의 빈틈에 관한 것입니다. 작은 시간의 불확실성 창을 얻기 위해 분석하는 시간이 짧을수록 주파수 정확도가 더 조잡합니다. 그 반대. 정확한 빈도를 원한다면 시간 창과 시간 불확실성이 무한히 커질 수 있습니다.

관심있는 주파수 대역과 대역폭을 알고 있다면 해당 대역을 필터링하고 상승 및 하강 감쇠가 시작될 수있는 진폭 엔벨로프를 살펴볼 수 있습니다. 원하는 사운드의 엔벨로프 모양을 정확히 알면 일치하는 필터에 대한 컨볼 루션을 사용하면 정확한 상관 관계를 얻을 수 있습니다.