Извлечение функций звука
Считывание звукового сигнала.
[audioIn,fs] = audioread("Counting-16-44p1-mono-15secs.wav");Создание audioFeatureExtractor для извлечения центроида спектра Барка, куртоза спектра Барка и pitch звукового сигнала.
aFE = audioFeatureExtractor("SampleRate",fs, ... "SpectralDescriptorInput","barkSpectrum", ... "spectralCentroid",true, ... "spectralKurtosis",true, ... "pitch",true)
aFE =
audioFeatureExtractor with properties:
Properties
Window: [1024x1 double]
OverlapLength: 512
SampleRate: 44100
FFTLength: []
SpectralDescriptorInput: 'barkSpectrum'
Enabled Features
spectralCentroid, spectralKurtosis, pitch
Disabled Features
linearSpectrum, melSpectrum, barkSpectrum, erbSpectrum, mfcc, mfccDelta
mfccDeltaDelta, gtcc, gtccDelta, gtccDeltaDelta, spectralCrest, spectralDecrease
spectralEntropy, spectralFlatness, spectralFlux, spectralRolloffPoint, spectralSkewness, spectralSlope
spectralSpread, harmonicRatio
To extract a feature, set the corresponding property to true.
For example, obj.mfcc = true, adds mfcc to the list of enabled features.
Звонить extract для извлечения функций из звукового сигнала. Нормализуйте элементы по их среднему и стандартному отклонению.
features = extract(aFE,audioIn); features = (features - mean(features,1))./std(features,[],1);
Постройте график нормированных элементов с течением времени.
idx = info(aFE); duration = size(audioIn,1)/fs; subplot(2,1,1) t = linspace(0,duration,size(audioIn,1)); plot(t,audioIn) subplot(2,1,2) t = linspace(0,duration,size(features,1)); plot(t,features(:,idx.spectralCentroid), ... t,features(:,idx.spectralKurtosis), ... t,features(:,idx.pitch)); legend("Spectral Centroid","Spectral Kurtosis", "Pitch") xlabel("Time (s)")

aFE - Входной объектaudioFeatureExtractor объектaudioFeatureExtractor объект.
audioIn - Входной звукВходной звук, определяемый как вектор столбца или матрица независимых каналов (столбцов).
Типы данных: single | double
features - Извлеченные звуковые функцииИзвлеченные звуковые функции, возвращенные в виде массива L-by-M-by-N, где:
L -- количество векторов функций (транзитных участков)
M -- Количество элементов, извлеченных в окне анализа
N -- Количество каналов
Типы данных: single | double
Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.