splitting audio in a frames

5 ビュー (過去 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 Center および File ExchangeMultirate Signal Processing についてさらに検索

タグ

製品

Community Treasure Hunt

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

Start Hunting!

Translated by