read random .wav in MATLAB

Sir, I'm Patty Kotta, I want to develop a MATLAB program for reading a .wav file randomly from a group of .wav files. If anyone know the program , please send me & i'll be very thankful to you.
Your's Faithfully
PATTY KOTTA

回答(2 个)

Andreas Goser
Andreas Goser 2012-2-29

0 个投票

No full code, but the hint to use the commands DIR, RAND and WAVREAD.
With DIR, you can receive all WAV files in a certain diretory. If you design a randon number so that it spans over the number of all files, then you just have to import them.
List = dir(fullfile(PathName, '*.wav'));
Index = randi(length(List), 1);
File = fullfile(PathName, List(Index).name);
S = wavread(File);

4 个评论

I thought you were in favor of coaching vs. providing code ;-)
Hello, I was searching for the same problem as above and I saw your answer. I already wrote a program to discriminate an audio (10 words speech) and used audiowrite to save each of the words individually as .wav files. Now I am trying to create random sentences with that 10 words but when I use the code that you suppied, It returns only a word, not a sentence. Do you have any idea to fix this?
If you provide your code, fixing it is much easier. A bold guess:
List = dir(fullfile(PathName, '*.wav'));
Index = randperm(numel(List));
for k = 1:numel(List)
File = fullfile(PathName, List(Index(k)).name);
S = wavread(File);
... So what do you want with the loaded data?
end
Note that wavread is not available anymore in modern Matlab versions. Use audioread instead.
Thank you. When I use that code as
List = dir(fullfile('C:\Users\hp\Desktop\Words', '*.wav'));
Index = randperm(numel(List));
for k = 1:numel(List)
File = fullfile('C:\Users\hp\Desktop\Words', List(Index(k)).name);
S =audioread(File);
sound(S,fs)
end
It sounds 3 words out of 10 at the same time, not in the order, unfortunatelly..

请先登录,再进行评论。

类别

帮助中心File Exchange 中查找有关 Just for fun 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by