How can I add vggish features to the array?

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)

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: -

Categories

Asked:

on 19 Apr 2021

Answered:

on 22 Apr 2021

Community Treasure Hunt

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

Start Hunting!