2014-09-17 1 views
0

즉, .wav 파일을 재생하려고하는데이 작업을 수행하려면 빈도와 지속 시간을 알아야합니다. 내가 사용하고있는 API에는 매개 변수로 두 개의 필드 (빈도 및 시간)가있는 벡터가 필요한 메서드가 있습니다!wav 파일에서 시간 도메인의 주파수를 어떻게 얻을 수 있습니까?

나는 고속 푸리에 변환을 사용하려고했지만 주파수와 크기를 알려주지!

광역시
/\ | | - | ------> 주파수

그러나 나는 이런 식으로 뭔가가 필요합니다 주파수를 /\ | | - | ------> 시간

이 정보를 wav 파일에서 가져올 수 있는지 알고 싶습니다.

+0

WAV 파일에 일정한 주파수의 단일 사인파가 포함되어 있지 않으면 측정 할 단일 주파수 만있는 것은 아닙니다. 음성, 음악 등을 위해서는 시간에 따라 변하는 복잡한 구성 요소가 있습니다. 당신이 실제로 * 달성하려고하는 것은 무엇입니까? 피치 감지? –

+2

"주파수"란 실제로 샘플링 속도를 의미합니까? 'wav' 파일을 여는 데 사용하는 것은 무엇이든지 그 정보를 제공해야합니다. –

+0

@ PaululR 주파수와 시간으로 소리를 설명 할 수 있는지 알고 싶습니다. 예 : 132 HZ ..... 1ms, 350 ..... 1ms, 300Hz .... 5ms 등. 나는 그것이 가능하고 그것이 내가 묻는 이유인지 모른다. – drs

답변

0

디지털 오디오 신호는 일련의 쌍 (진폭, 시간)입니다. 아니면 시간의 함수라고 말할 수 있습니다. 오디오 신호의 시퀀스를 취하여이 시퀀스에서 푸리에 변환 (DFT/FFT)을 수행하면 (진폭, 주파수) 쌍을 포함하는 새로운 시퀀스가 ​​생성됩니다. 또는 주파수의 함수를 말할 수 있습니다.

이 시퀀스는 주파수 도메인에서 신호의 속성을 설명합니다. 시간 정보가 전혀 없습니다.

필자가 원하는 것은 시간이 지남에 따라 오디오 신호의 주파수 구성 요소가 변경되는 것을 설명하는 함수입니다. 이것은 간단한 FFT로 수행 할 수 없습니다.

당신이 할 수있는 것은 :

  • 는, 오디오 데이터 스트림의 N 개의 샘플을 가지고 샘플 (0, ..., N-1)
  • 고속 푸리에 변환
  • 다른 N 샘플을 받아 수행 m < < N
  • 와 오디오 데이터 스트림 (m, ..., m + N-1)의 FFT
  • 를 수행 오디오 데이터 스트림의 또 다른 N 샘플 (가라 2M, ..., 2m + N-1)
  • 는 FFT에게

당신의 샘플링 시간은 TS 경우, 당신은 * T의 = 분 후에 새로운 주파수 분석을 얻을 것이다 TS에를 수행합니다.

아마도 당신이 원하는 것입니다.

관련 문제