read random .wav in MATLAB
Show older comments
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
Answers (2)
Andreas Goser
on 29 Feb 2012
0 votes
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.
Jan
on 29 Feb 2012
List = dir(fullfile(PathName, '*.wav'));
Index = randi(length(List), 1);
File = fullfile(PathName, List(Index).name);
S = wavread(File);
4 Comments
Andreas Goser
on 29 Feb 2012
I thought you were in favor of coaching vs. providing code ;-)
Senem Gokpinar
on 27 Dec 2020
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.
Senem Gokpinar
on 28 Dec 2020
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..
Categories
Find more on Logical in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!