Отображение выходных данных и отдельные параметры экстрактора элементов
[ возвращает вторую структуру, idx,params] = info(___)params. Имена полей params соответствуют экстракторам элементов с настраиваемыми параметрами. Если "all" флаг указан, params содержит все экстракторы элементов с настраиваемыми параметрами. Если "all" флаг не указан, params содержит только включенные экстракторы элементов с настраиваемыми параметрами. Задать параметры можно с помощью setExtractorParams.
extractИзвлеките спектр mel, спектральный центроид mel и спектральный перекос mel из конкатенированного белого и розового шума.
fs = 48e3; aFE = audioFeatureExtractor("SampleRate",fs, ... "melSpectrum",true, ... "SpectralDescriptorInput","melSpectrum", ... "spectralCentroid",true, ... "spectralSkewness",true); features = extract(aFE,[2*rand(fs,1)-1;pinknoise(fs,1)]);
Использовать info для определения, какие столбцы выходных данных соответствуют какой функции. Постройте график элементов отдельно.
idx = info(aFE); surf(log10(features(:,idx.melSpectrum)),"EdgeColor","none"); view([90,-90]) axis tight title("Mel Spectrum") ylabel("Analysis Frame Number")

plot(features(:,idx.spectralCentroid)) axis tight title("Mel Spectral Centroid") xlabel("Analysis Frame Number")

plot(features(:,idx.spectralSkewness)) axis tight title("Mel Spectral Skewness") xlabel("Analysis Frame Number")

audioFeatureExtractor ОбеспечиваетСоздание значения по умолчанию audioFeatureExtractor объект. По умолчанию все экстракторы элементов отключены.
aFE = audioFeatureExtractor
aFE =
audioFeatureExtractor with properties:
Properties
Window: [1024x1 double]
OverlapLength: 512
SampleRate: 44100
FFTLength: []
SpectralDescriptorInput: 'linearSpectrum'
Enabled Features
none
Disabled Features
linearSpectrum, melSpectrum, barkSpectrum, erbSpectrum, mfcc, mfccDelta
mfccDeltaDelta, gtcc, gtccDelta, gtccDeltaDelta, spectralCentroid, spectralCrest
spectralDecrease, spectralEntropy, spectralFlatness, spectralFlux, spectralKurtosis, spectralRolloffPoint
spectralSkewness, spectralSlope, spectralSpread, pitch, harmonicRatio
To extract a feature, set the corresponding property to true.
For example, obj.mfcc = true, adds mfcc to the list of enabled features.
info функция возвращает информацию о включенных экстракторах элементов. Для просмотра информации обо всех экстракторах элементов вызовите info с использованием "all" флаг.
[idx,params] = info(aFE,"all")idx = struct with fields:
linearSpectrum: [1x0 double]
melSpectrum: [1x0 double]
barkSpectrum: [1x0 double]
erbSpectrum: [1x0 double]
mfcc: [1x0 double]
mfccDelta: [1x0 double]
mfccDeltaDelta: [1x0 double]
gtcc: [1x0 double]
gtccDelta: [1x0 double]
gtccDeltaDelta: [1x0 double]
spectralCentroid: [1x0 double]
spectralCrest: [1x0 double]
spectralDecrease: [1x0 double]
spectralEntropy: [1x0 double]
spectralFlatness: [1x0 double]
spectralFlux: [1x0 double]
spectralKurtosis: [1x0 double]
spectralRolloffPoint: [1x0 double]
spectralSkewness: [1x0 double]
spectralSlope: [1x0 double]
spectralSpread: [1x0 double]
pitch: [1x0 double]
harmonicRatio: [1x0 double]
params = struct with fields:
linearSpectrum: [1x1 struct]
melSpectrum: [1x1 struct]
barkSpectrum: [1x1 struct]
erbSpectrum: [1x1 struct]
mfcc: [1x1 struct]
gtcc: [1x1 struct]
spectralFlux: [1x1 struct]
spectralRolloffPoint: [1x1 struct]
pitch: [1x1 struct]
Используйте idx struct для включения всех экстракторов элементов на audioFeatureExtractor объект.
features = fieldnames(idx); for i = 1:numel(features) aFE.(features{i}) = true; end aFE
aFE =
audioFeatureExtractor with properties:
Properties
Window: [1024x1 double]
OverlapLength: 512
SampleRate: 44100
FFTLength: []
SpectralDescriptorInput: 'linearSpectrum'
Enabled Features
linearSpectrum, melSpectrum, barkSpectrum, erbSpectrum, mfcc, mfccDelta
mfccDeltaDelta, gtcc, gtccDelta, gtccDeltaDelta, spectralCentroid, spectralCrest
spectralDecrease, spectralEntropy, spectralFlatness, spectralFlux, spectralKurtosis, spectralRolloffPoint
spectralSkewness, spectralSlope, spectralSpread, pitch, harmonicRatio
Disabled Features
none
To extract a feature, set the corresponding property to true.
For example, obj.mfcc = true, adds mfcc to the list of enabled features.
Создание audioFeatureExtractor для извлечения спектра ERB.
aFE = audioFeatureExtractor("erbSpectrum",true)aFE =
audioFeatureExtractor with properties:
Properties
Window: [1024x1 double]
OverlapLength: 512
SampleRate: 44100
FFTLength: []
SpectralDescriptorInput: 'linearSpectrum'
Enabled Features
erbSpectrum
Disabled Features
linearSpectrum, melSpectrum, barkSpectrum, mfcc, mfccDelta, mfccDeltaDelta
gtcc, gtccDelta, gtccDeltaDelta, spectralCentroid, spectralCrest, spectralDecrease
spectralEntropy, spectralFlatness, spectralFlux, spectralKurtosis, spectralRolloffPoint, spectralSkewness
spectralSlope, spectralSpread, pitch, harmonicRatio
To extract a feature, set the corresponding property to true.
For example, obj.mfcc = true, adds mfcc to the list of enabled features.
Второй выходной аргумент из info является struct который содержит настраиваемые параметры отдельных экстракторов элементов и их текущее значение.
[~,params] = info(aFE)
params = struct with fields:
erbSpectrum: [1x1 struct]
params.erbSpectrum
ans = struct with fields:
NumBands: 43
FrequencyRange: [0 22050]
FilterBankNormalization: "bandwidth"
WindowNormalization: 1
SpectrumType: "power"
При использовании значений параметров по умолчанию параметры становятся динамическими и обновляются при обновлении свойств, от которых они зависят. Например, диапазон частот по умолчанию банка фильтров ERB и число полосовых фильтров по умолчанию в банке фильтров ERB зависят от частоты дискретизации. Уменьшите частоту выборки audioFeatureExtractor объект и затем вызов info снова.
aFE.SampleRate = 16e3; [~,params] = info(aFE); params.erbSpectrum
ans = struct with fields:
NumBands: 34
FrequencyRange: [0 8000]
FilterBankNormalization: "bandwidth"
WindowNormalization: 1
SpectrumType: "power"
Можно изменить отдельные параметры экстрактора элементов с помощью setExtractorParams. Задайте число областей данных равным 40 и тип спектра для "magnitude". Звонить info для подтверждения обновления параметров.
params.erbSpectrum.NumBands = 40; params.erbSpectrum.SpectrumType = "magnitude"; setExtractorParams(aFE,"erbSpectrum",params.erbSpectrum) [~,params] = info(aFE); params.erbSpectrum
ans = struct with fields:
NumBands: 40
FrequencyRange: [0 8000]
FilterBankNormalization: "bandwidth"
WindowNormalization: 1
SpectrumType: "magnitude"
При задании отдельных параметров экстрактора элементов они остаются в заданном значении до тех пор, пока они не будут установлены в другое значение или не будут возвращены в значения по умолчанию. Возвращает частоту выборки audioFeatureExtractor объект к его начальному значению, а затем вызовите info. Параметры остаются на заданном значении.
aFE.SampleRate = 44.1e3; [~,params] = info(aFE); params.erbSpectrum
ans = struct with fields:
NumBands: 40
FrequencyRange: [0 8000]
FilterBankNormalization: "bandwidth"
WindowNormalization: 1
SpectrumType: "magnitude"
Для возврата параметров к значениям по умолчанию вызовите setExtractorParams и укажите без параметров.
setExtractorParams(aFE,"erbSpectrum")
[~,params] = info(aFE);
params.erbSpectrumans = struct with fields:
NumBands: 43
FrequencyRange: [0 22050]
FilterBankNormalization: "bandwidth"
WindowNormalization: 1
SpectrumType: "power"
aFE - Входной объектaudioFeatureExtractor объектaudioFeatureExtractor объект.
idx - Отображение запрошенных функций с выводом из экстрактаСопоставление запрашиваемых функций с выводом из extract, возвращается в виде структуры с именами полей, соответствующими отдельным экстракторам элементов, и значениями полей, соответствующими индексам столбцов.
params - настраиваемые параметры отдельных экстракторов элементов;Настраиваемые параметры отдельных экстракторов элементов, возвращаемые в виде структуры с именами полей, соответствующими отдельным экстракторам элементов, и значениями полей, содержащими структуры спецификации параметров. Структуры спецификации параметров имеют имена полей, соответствующие настраиваемым именам параметров, и значения полей, соответствующие текущей настройке параметров.
Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.