I have a folder full of audio files and i want read files one by one and compute some parameters and store the result in a matrix any one plese help
1 次查看(过去 30 天)
显示 更早的评论
I have sample data of .wav format and i want to read the files one by one and them calcuate the parameters like energy, delta ,power spectrum and these result in a matrix and want to do this process for all the thousand files present in the folder.
0 个评论
回答(1 个)
jibrahim
2022-8-29
Hi Kalyan,
For example, here is the code to point to a number of audio files, and compute the max sample from each file:
pathToFiles = fullfile(pwd,'toolbox','audio','samples');
ads = audioDatastore(pathToFiles, IncludeSubfolders=true);
ads.Files
% The metric I want to compute
myVals = zeros(1,length(ads.Files));
index = 1;
while hasdata(ads)
fprintf('Progress: %f percent complete\n',ads.progress*100)
x = read(ads);
myVals(index) = max(x(:));
index = index+1;
end
If you have Parallel Processing Toolbox, there are ways to accelerate the operation by partionining the datastore over several workers. You can refer to examples about the partition method for that pattern.
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Audio I/O and Waveform Generation 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!