2013-04-23 6 views
1

사운드 파일에서 정보를 추출하여 비디오 분류 알고리즘에서 사용하려고합니다.fft matlab에있는 오디오 파일의 샘플에

내 문제는 Matlab에서 오디오 파일을 정확하게 사용하는 방법을 모른다는 것입니다.

  • 오디오 파일을 열고 내가 파일을 통해 루프 그래서
  • 내가 2 초 윈도우에서 작동하는 데 필요한 샘플링 속도/주파수를 얻을 : 아래

    내가 달성해야 할 것입니다 각 2 초를 한 창으로 가져온 다음 각 창에서 ftt (Fast-Fourier-Transform)를 수행하십시오.

내가

원하는 어떤 도움이

감사 감사하겠습니다 일을하기 위해이 값을 사용하는 내 차례입니다 후.

+0

당신은 다른 FFT 크기, WAV 파일을 읽으려면 등

을 해밍 같은 윈도우 기능을 결정해야 할 수도 있습니다 2 초 샘플을 창문으로 쓸 계획인가요? 그렇지 않으면 유물이 생길 수 있습니다. – Doresoom

답변

3

다음 코드는 몇 가지 아이디어 만 제공 할 수 있습니다.

[data, Fs] = wavread('path.wav'); 

분할 2 초 윈도우와 점점 FFT : 당신이

frameFFT = []; 
timeStep = Fs*2; 
for i=1:timeStep:length(data)-timeStep 
    frameFFT = [frameFFT; fft(data(i:i+timeStep-1),1024)]; 
end 
+0

wavread를 사용할 수 없으므로 mp3 파일로 작업 중이므로 데이터 = dsp를 시도했습니다. AudioFileReader ("..."); 그러나 길이 (데이터)가 하나 인 이유는 확실하지 않습니다. – Maystro

+0

또한 데이터 = audioread (".."); 크기를 확인했기 때문에 데이터가 벡터로 보이지 않고 [4186368 2], 어떤 생각입니까? – Maystro

+1

@Maystro, 오디오 파일은 2 채널 일 수 있습니다. 입력으로 첫 번째 열만 가져올 수 있습니다. –

관련 문제