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
3 views (last 30 days)
Show older comments
pranav reddy
on 19 Feb 2021
Commented: pranav reddy
on 25 Feb 2021
%% 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!');
0 Comments
Accepted Answer
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)
See Also
Categories
Find more on Predictive Maintenance Toolbox in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!