info

Выведите отображение и отдельные параметры экстрактора функции

Описание

пример

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

пример

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

пример

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

Примеры

свернуть все

Извлеките 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 по умолчанию объект. По умолчанию все экстракторы функции отключены.

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]
     Normalization: "bandwidth"
      SpectrumType: "power"

Если вы используете значения параметров по умолчанию, то параметры являются динамическими и обновляются, когда свойства, от которых они зависят, обновляются. Например, частотный диапазон по умолчанию набора фильтров ERB и количество по умолчанию полосовых фильтров в наборе фильтров ERB зависят от частоты дискретизации. Уменьшите частоту дискретизации audioFeatureExtractor возразите и затем вызовите info снова.

aFE.SampleRate = 16e3;
[~,params] = info(aFE);
params.erbSpectrum
ans = struct with fields:
          NumBands: 34
    FrequencyRange: [0 8000]
     Normalization: "bandwidth"
      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]
     Normalization: "bandwidth"
      SpectrumType: "magnitude"

Когда вы устанавливаете отдельные параметры экстрактора функции, они остаются в значении набора, пока вы не устанавливаете их на другое значение или возвращаете их в значения по умолчанию. Возвратите частоту дискретизации audioFeatureExtractor возразите против его начального значения и затем вызовите info. Параметры остаются в своем значении набора.

aFE.SampleRate = 44.1e3;

[~,params] = info(aFE);
params.erbSpectrum
ans = struct with fields:
          NumBands: 40
    FrequencyRange: [0 8000]
     Normalization: "bandwidth"
      SpectrumType: "magnitude"

К возвращаемым параметрам к их значениям по умолчанию вызовите setExtractorParams и не задайте параметры.

setExtractorParams(aFE,"erbSpectrum")
[~,params] = info(aFE);
params.erbSpectrum
ans = struct with fields:
          NumBands: 43
    FrequencyRange: [0 22050]
     Normalization: "bandwidth"
      SpectrumType: "power"

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

свернуть все

audioFeatureExtractor объект.

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

свернуть все

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

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

Смотрите также

Введенный в R2019b