MATLAB Answers

How can I add vggish features to the array?

24 views (last 30 days)
Dawid Kosior
Dawid Kosior on 19 Apr 2021 at 15:44
Answered: Abhishek Gupta on 22 Apr 2021 at 11:00
Hi. I have about 5k of .wav files and want to pass them through vggishFeatures. Then I would like to add every feature to the array, this array to .csv or something and use it in Python. Sizes of these features are not fixed so there's another problem with it for me. Any ideas how can I perform it? Did it as below, but doesn't work as it should:
label = [];
ficz = [];
for k = 1 : length(theFiles)
baseFileName = theFiles(k).name;
fullFileName = fullfile(theFiles(k).folder, baseFileName);
% read audio and get feats
[audioIn,fs] = audioread(fullFileName);
featureVectors = vggishFeatures(audioIn,fs);
fV = featureVectors(:)
ficz(:,end+1) = fV;
end
csvwrite('ficzury/VGGish/VGGish_feats.csv',ficz)
csvwrite('ficzury/y_VGGish.csv',label)

Answers (1)

Abhishek Gupta
Abhishek Gupta on 22 Apr 2021 at 11:00
Hi,
As per my understanding, you want to write variable size arrays (feature vectors) to a CSV file. You can do the same as follows:-
ficz = [];
for k = 1:length(theFiles)
%---Your Code Here---%
ficz{end+1} = fV;
end
writecell(ficz','ficzury/VGGish/VGGish_feats.csv');
For more information, check out the MATLAB documentation link below: -

Community Treasure Hunt

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

Start Hunting!