info

Выходное отображение и параметры извлечения отдельных функций

Описание

пример

idx = info(aFE) возвращает struct с именами полей, соответствующими активированным экстракторам функций. Значения полей соответствуют индексам столбцов, которые извлечённые функции занимают в выходе из extract.

пример

idx = info(aFE,"all") возвращает struct с именами полей, соответствующими всем доступным экстракторам функций. Если экстрактор функций отключен, значение поля пустое.

пример

[idx,params] = info(___) возвращает второй struct, params. Имена полей params соответствуют экстракторам функций с установленными параметрами. Если на "all" флаг задан, params содержит все экстракторы функций с настраиваемыми параметрами. Если на "all" флаг не задан, params содержит только активированные экстракторы функций с установленными параметрами. Можно задать параметры, используя setExtractorParams.

Примеры

свернуть все

Извлеките mel спектра, mel spectral centroid и mel spectral skewness от конкатенированного белого и розового шума.

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")

Figure contains an axes. The axes with title Mel Spectrum contains an object of type surface.

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

Figure contains an axes. The axes with title Mel Spectral Centroid contains an object of type line.

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

Figure contains an axes. The axes with title Mel Spectral Skewness contains an object of type line.

Создайте 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.

The 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.erbSpectrum
ans = struct with fields:
                   NumBands: 43
             FrequencyRange: [0 22050]
    FilterBankNormalization: "bandwidth"
        WindowNormalization: 1
               SpectrumType: "power"

Входные параметры

свернуть все

audioFeatureExtractor объект.

Выходные аргументы

свернуть все

Отображение запрашиваемых функций с выходами от extract, возвращенный как struct с именами полей, соответствующими отдельным экстракторам функций, и значениями полей, соответствующими индексам столбцов.

Настраиваемые параметры отдельных экстракторов функций, возвращаемые как struct с именами полей, соответствующими отдельным экстракторам функций, и значениями полей, содержащими структуры спецификации параметров. Структуры спецификации параметров имеют имена полей, соответствующие установленным именам параметров и значениям полей, соответствующим текущей установке параметров.

См. также

Введенный в R2019b