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

18 visualizaciones (últimos 30 días)
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.

Respuesta aceptada

KSSV
KSSV el 20 de Oct. de 2022
audioFiles = dir('*.wav') ;
N = length(audioFiles) ;
for i = 1:N
file - audioFiles(i).name ;
% do what you want
end
  3 comentarios
Hongmiao Yann
Hongmiao Yann el 13 de Ag. de 2024
Is the fourth row code:
file = audioFiles(i).name;
What do [file - audioFiles(i).name] mean?
Stephen23
Stephen23 el 14 de Ag. de 2024
Editada: Stephen23 el 14 de Ag. de 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.

Iniciar sesión para comentar.

Más respuestas (1)

jibrahim
jibrahim el 20 de Oct. de 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

Categorías

Más información sobre Audio I/O and Waveform Generation en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by