MATLAB Answers

how to build a neural network with inputs as audio features extracted with cqcc and pca applied to them and output to classify which is spoof or genuine, using asvspoof2017 dataset

5 views (last 30 days)
%% Feature extraction for training data
% extract features for GENUINE training data and store in cell array
disp('Extracting features for GENUINE training data...');
genuineFeatureCell = cell(size(genuineIdx));
genuinePCA=cell(size(genuineIdx));
genuineVQ=cell(size(genuineIdx));
parfor i=1:length(genuineIdx)
filePath = fullfile(pathToDatabase,'ASVspoof2017_V2_train',filelist{genuineIdx(i)});
[x,fs] = audioread(filePath);
genuineFeatureCell{i}= cqcc(x, fs, 96, fs/2, fs/2^10, 16, 29, 'ZsdD');
end
% genuine pca
disp('genuine pca');
for j=1:length(genuineIdx)
genuinePCA{j}=pca(transpose(genuineFeatureCell{j}));
end
net = feedforwardnet([5,5,5],'traingd');
net = train(net,genuinePCA);
view(net);
disp('Done!');

Accepted Answer

Shashank Gupta
Shashank Gupta on 22 Feb 2021
Hi pranav,
You need to read audio file and extract feature through cqcc. Check out this link. Here are many example on how to extract features in audio files. Once it is done you have to reduce the dimensionality and thus use PCA which I think you have already done in the code above. The last step you mention is classification step. There are many ways to classify them you can use sequencial model to the same. Here is the link for your help. You can also use typical classifier such as SVM or even KMeans. Just visualise your data after PCA and decide about the approach you want to go with.
I hope this helps.
Cheers.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!

Translated by