matlab 深度学习做声音分类

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了matlab 深度学习做声音分类相关的知识,希望对你有一定的参考价值。


1、内容简介


595-可以交流、咨询、答疑

深度学习做声音分类

2、内容说明

提取声音特征,然后通过CNN进行分类

3、仿真分析

[normal_01_L,~] = audioread(正常样本2s_01_L.wav);
[normal_02_L,~] = audioread(正常样本2s_02_L.wav);
[qikong_01_L,fs] = audioread(气孔样本2s_01_L.wav);len = 8e4;
numTrain = 800;
audioTrain = [data_1(:,1:numTrain),data_2(:,1:numTrain),data_3(:,1:numTrain)];
labelsTrain = [data_1_Label(1:numTrain);data_2_Label(1:numTrain);data_3_Label(1:numTrain)];audioValidation = [data_1(:,numTrain+1:end),data_2(:,numTrain+1:end),data_3(:,numTrain+1:end)];
labelsValidation = [data_1_Label(numTrain+1:end);data_2_Label(numTrain+1:end);data_3_Label(numTrain+1:end)]; aFE = audioFeatureExtractor("SampleRate",fs, ...
"SpectralDescriptorInput","melSpectrum", ...
"spectralCentroid",true, ...
"spectralSlope",true); featuresTrain = extract(aFE,audioTrain);
[numHopsPerSequence,numFeatures,numSignals] = size(featuresTrain)featuresTrain = permute(featuresTrain,[2,1,3]);
featuresTrain = squeeze(num2cell(featuresTrain,[1,2]));numSignals = numel(featuresTrain)
[numFeatures,numHopsPerSequence] = size(featuresTrain1)
featuresValidation = extract(aFE,audioValidation);
featuresValidation = permute(featuresValidation,[2,1,3]);
featuresValidation = squeeze(num2cell(featuresValidation,[1,2]));layers = [ ...
sequenceInputLayer(numFeatures)
lstmLayer(50,"OutputMode","last")
fullyConnectedLayer(numel(unique(labelsTrain)))
softmaxLayer
classificationLayer];options = trainingOptions("adam", ...
"Shuffle","every-epoch", ...
"ValidationData",featuresValidation,labelsValidation, ...
"Plots","training-progress", ...
"MaxEpochs", 100,...
"Verbose",false);net = trainNetwork(featuresTrain,labelsTrain,layers,options);


 

4、参考论文

以上是关于matlab 深度学习做声音分类的主要内容,如果未能解决你的问题,请参考以下文章

Matlab-基于短时神经网络的声音分类

DELM分类基于matlab麻雀搜索算法改进深度学习极限学习机数据分类含Matlab源码 2235期

信号识别基于matlab深度学习CNN信号调制分类含Matlab源码 2066期

信号识别基于matlab深度学习CNN信号调制分类含Matlab源码 2066期

MATLAB深度学习神经网络与分类问题

基于matlab使用机器学习和深度学习进行雷达目标分类