splitting audio in a frames

조회 수: 9 (최근 30일)
vijay rao
vijay rao 2011년 12월 26일
Thanks for your reply sir and sorry for asking you again that will you please temme is there any function or procedure through which i can directly break my wav audio file because after partitioning wav file into many frames i have to perform spectral analysis,please reply me
Thank you sir.

채택된 답변

Walter Roberson
Walter Roberson 2011년 12월 26일
Sorry, there is no method to "directly break your wav audio file into frames". You will either have to read one frame at a time using wavread and a range of indices, such as I showed in the previous reply, or else you will have to read the file in all at once and break it in to frames once it is read in (in which case the breaking process is no longer direct and is independent of the fact that it is a wav audio file.)
If it turns out that you are interested in the mechanisms to break a signal into frames after it has been completely read in, then go to the main MATLAB Answers page ("Home") and in the box near the top that is marked "Search MATLAB Answers" type in
frames
and press return; and look through the results.
  댓글 수: 1
Walter Roberson
Walter Roberson 2011년 12월 30일
An additional command that I often forget about is http://www.mathworks.com/help/toolbox/signal/ref/buffer.html

댓글을 달려면 로그인하십시오.

추가 답변 (2개)

Wayne King
Wayne King 2011년 12월 26일
Hi Vijay, do you the DSP System Toolbox? You can use dsp.AudioFileReader to read the wav file one frame at a time, which you can store in a matrix.
nn = 1;
hmfr = dsp.AudioFileReader('speech_dft.avi');
while ~isDone(hmfr)
audio(:,nn) = step(hmfr);
nn = nn+1;
end
release(hmfr);
I'm not sure if this is a better solution for you, or not.
  댓글 수: 1
Walter Roberson
Walter Roberson 2011년 12월 26일
The above will default to 1024 samples per frame, and it offers no method to split in to frames of particular signal time without already knowing the Fs.
It is not clear that this would offer any benefits over using wavread() with a frame index range, other than perhaps efficiency. Vijay, in this Question, is saying that that mechanism is not "direct" enough for his needs.
Regardless of whether "direct" means "splits the .wav file into a number of .wav file each of a particular time", or "requires only a single call to a single built in function", the answer is NO, there is no routine to split .wav files into a set of smaller .wav files, and there is no single built-in call that will do the splitting.

댓글을 달려면 로그인하십시오.


vijay rao
vijay rao 2011년 12월 29일
Thank you very much sir.

카테고리

Help CenterFile Exchange에서 Audio I/O and Waveform Generation에 대해 자세히 알아보기

태그

제품

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by