Извлечение аудио функций
Считывайте аудиосигнал.
[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. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.