How to read multiple wav files using matlab

2 vues (au cours des 30 derniers jours)
Nada Gamal
Nada Gamal le 9 Avr 2011
Commenté : Walter Roberson le 31 Oct 2021
Hi, I have a problem in matlab .how to read matrix of wav files (element by element)by using wavread(); . I tried it but it not acceptable . I write this but i have an error. I want to read folder dynamic not static .
[filename, pathname, filterindex] = uigetfile( ...
'*.wav','WAV-files (*.wav)', ...
'Pick a file', ...
'MultiSelect', 'on');
for o = 1:20 % num of fields
[speechIn6,FS6]=wavread(filename(1,o));
speechIn6 = myVAD(speechIn6);
fMatrix6(1,o) = {mfccf(ncoeff,speechIn6,FS6)};
end
Error
??? Error using ==> fileparts at 17
Input must be a row vector of characters.
Error in ==> wavread>open_wav at 193
[pat,nam,ext] = fileparts(file);
Error in ==> wavread at 65
[fid,msg] = open_wav(file);
Error in ==> setTemplates at 74
[speechIn6,FS6]=wavread(filename(1,o));
Thanks a lot :) Best Regards, Nada Gamal
  1 commentaire
Nada Gamal
Nada Gamal le 9 Avr 2011
Answer:
To open Folder and dynmically read files
path='C:\SpeechData\Nada1';
folder = path;
dirListing = dir(folder);
for o = 1:20 % num of fields
for d = 3:length(dirListing)
% loop through the files and open. Note that dir also lists the directories, so you have to check for them.
fileName = fullfile(folder,dirListing(d).name); % use full path because the folder may not be the active path
[speechIn6,FS6]=wavread(fileName);
speechIn6 = myVAD(speechIn6);
fMatrix6(1,o) = {mfccf(ncoeff,speechIn6,FS6)};
Nada Gamal

Connectez-vous pour commenter.

Réponse acceptée

Walter Roberson
Walter Roberson le 9 Avr 2011
Modifié(e) : Walter Roberson le 14 Fév 2017
[filenames, pathname, filterindex] = uigetfile( '*.wav', 'WAV-files (*.wav)', 'Pick a file', 'MultiSelect', 'on');
filenames = cellstr(filename); %in case only one selected
for K = 1 : length(filename)
thisfullname = fullfile(pathname, filenames{K});
[speechIn6,FS6]=wavread(thisfullname);
speechIn6 = myVAD(speechIn6);
fMatrix6(1,o) = {mfccf(ncoeff,speechIn6,FS6)};
end
  7 commentaires
Tiffani Febiola
Tiffani Febiola le 31 Oct 2021
I try the codes from mr. Walter Roberson but its said:
Unrecognized function or variable 'filename'.
Error in Untitled (line 2)
filenames = cellstr(filename); %in case only one selected
Walter Roberson
Walter Roberson le 31 Oct 2021
[filenames, pathname, filterindex] = uigetfile( '*.wav', 'WAV-files (*.wav)', 'Pick a file', 'MultiSelect', 'on');
filenames = cellstr(filenames); %in case only one selected
for K = 1 : length(filenames)
thisfullname = fullfile(pathname, filenames{K});
[speechIn6, FS6] = audioread(thisfullname);
speechIn6 = myVAD(speechIn6);
fMatrix6{1,K} = mfccf(ncoeff, speechIn6, FS6);
end

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Signal Generation and Preprocessing dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by