how can i load multiple/all audio files(.wav) in matlab ? all files have different names.

4 vues (au cours des 30 derniers jours)
i have a folder containing a number of audio files. i want to load them in a loop so that each audio signals can undergo some operations that i intend to perform.

Réponse acceptée

KSSV
KSSV le 20 Oct 2022
audioFiles = dir('*.wav') ;
N = length(audioFiles) ;
for i = 1:N
file - audioFiles(i).name ;
% do what you want
end
  3 commentaires
Hongmiao Yann
Hongmiao Yann le 13 Août 2024
Is the fourth row code:
file = audioFiles(i).name;
What do [file - audioFiles(i).name] mean?
Stephen23
Stephen23 le 14 Août 2024
Modifié(e) : Stephen23 le 14 Août 2024
@Hongmiao Yann: in the fourth line you should replace the minus with equals:
file = audioFiles(i).name;
It allocates one filename to the variable FILE.

Connectez-vous pour commenter.

Plus de réponses (1)

jibrahim
jibrahim le 20 Oct 2022
I recommend using audioDatastore for such tasks:
% specify your folder
folder = fullfile(matlabroot,'toolbox','audio','samples');
% Create an audio datastore that points to the specified folder.
ADS = audioDatastore(folder, IncludeSubfolders=true)
% While the audio datastore has unread files, read consecutive files
% from the datastore. Use progress to monitor the fraction of files read.
while hasdata(ADS)
data = read(ADS);
fprintf('Fraction of files read: %.2f\n',progress(ADS))
end

Catégories

En savoir plus sur Audio I/O and Waveform Generation 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