Hello everyone. I am trying to make a for loop for my project. I am getting audiofiles named 1.wav to 50.wav . I am trying to calculate their energys. But i am changing audio names by my hand. Can I make a loop about it ? I tried that but not working :
for i=1:50
[data,fs]=audioread(['Sound(i).wav']);
end
energy(u)=0
a=length(data);
for l=1:a
energy(l)=(data(l)^2)+energy(l);
end

 Réponse acceptée

KSSV
KSSV le 7 Mar 2022
Modifié(e) : KSSV le 7 Mar 2022

0 votes

wavFiles = dir('*.wav') ;
N = length(wavFiles) ;
data = cell(N,1) ;
fs = cell(N,1) ;
for i=1:N
[data{i},fs{i}]=audioread(wavFiles(i).name);
end
You can access the data{1}, data{2}, ...data{N}

Plus de réponses (1)

Jan
Jan le 7 Mar 2022

0 votes

energy = zeros(1, 50);
for k = 1:50
[data, fs] = audioread(sprintf('Sound(%d).wav', k));
energy(k) = sum(data.^2); % ??? + energy(l);
end

Catégories

En savoir plus sur Audio Processing Algorithm Design dans Centre d'aide et File Exchange

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by