getAugmenterParams

Получите параметры алгоритма увеличения

    Описание

    пример

    augmenterParams = getAugmenterParams(aug,algorithmName) возвращает параметры алгоритма увеличения, сопоставленные со audioDataAugmenter объект.

    augmenterParams = getAugmenterParams(aug) возвращает параметры всех алгоритмов увеличения, сопоставленных со audioDataAugmenter объект.

    Примеры

    свернуть все

    Измените параметры по умолчанию shiftPitch и stretchAudio алгоритмы увеличения.

    Считывайте аудиосигнал и слушайте его.

    [audioIn,fs] = audioread('FemaleSpeech-16-8-mono-3secs.wav');
    soundsc(audioIn,fs)

    Создайте audioDataAugmenter объект, который применяет сдвиг тангажа 3 полутоны и временное растяжение с SpeedupFactor от 1.5.

    aug = audioDataAugmenter('AugmentationParameterSource','specify', ...
                             'ApplyPitchShift',true, ...
                             'SemitoneShift',3, ...
                             'ApplyTimeStretch',true, ...
                             'SpeedupFactor',1.5, ...
                             'ApplyVolumeControl',false, ...
                             'ApplyAddNoise',false, ...
                             'ApplyTimeShift',false)
    aug = 
      audioDataAugmenter with properties:
    
                   AugmentationMode: 'sequential'
        AugmentationParameterSource: 'specify'
                   ApplyTimeStretch: 1
                      SpeedupFactor: 1.5000
                    ApplyPitchShift: 1
                      SemitoneShift: 3
                 ApplyVolumeControl: 0
                      ApplyAddNoise: 0
                     ApplyTimeShift: 0
    
    

    Функции setAugmenterParams для установки LockPhase и PreserveFormants параметры shiftPitch алгоритм увеличения для false. Установите LockPhase параметр stretchAudio алгоритм увеличения для false. Установите CepstralOrder параметр shiftPitch алгоритм для 30.

    Увеличьте исходный сигнал и прослушайте результат. Получившийся файл имеет слышимое искажение, которое звучит неестественно. Просмотрите параметры алгоритмов увеличения.

    setAugmenterParams(aug,'shiftPitch','LockPhase',false,'PreserveFormants',false,'CepstralOrder',30);
    setAugmenterParams(aug,'stretchAudio','LockPhase',false);
    data = augment(aug,audioIn,fs);
    
    pause(3)
    
    augmentationPre = data.Audio{1};
    soundsc(augmentationPre,fs)
    
    data.AugmentationInfo(1)
    ans = struct with fields:
        SpeedupFactor: 1.5000
        SemitoneShift: 3
    
    
    augmenterParamsPre = getAugmenterParams(aug);
    augmenterParamsPre.stretchAudio
    ans = struct with fields:
        LockPhase: 0
    
    
    augmenterParamsPre.shiftPitch
    ans = struct with fields:
               LockPhase: 0
        PreserveFormants: 0
           CepstralOrder: 30
    
    

    Постройте график представления исходного и дополненного сигналов во временной области.

    t = (0:(numel(audioIn)-1))/fs;
    taug = (0:(numel(augmentationPre)-1))/fs;
    plot(t,audioIn,taug,augmentationPre)
    legend("Original Audio","Augmented Audio")
    ylabel("Amplitude")
    xlabel("Time (s)")

    Figure contains an axes. The axes contains 2 objects of type line. These objects represent Original Audio, Augmented Audio.

    Чтобы частично компенсировать слышимое искажение и повысить точность алгоритмов увеличения, примените формантную консервацию к shiftPitch алгоритм, применить фазовую автоподстройку к обоим алгоритмам и изменить порядок cepstral shiftPitch алгоритм для 25. Прослушайте обработанное аудио.

    setAugmenterParams(aug,'shiftPitch','LockPhase',true,'PreserveFormants',true,'CepstralOrder',25);
    setAugmenterParams(aug,'stretchAudio','LockPhase',true);
    data = augment(aug,audioIn,fs);
    
    augmentationPost = data.Audio{1};
    soundsc(augmentationPost,fs)
    
    data.AugmentationInfo(1)
    ans = struct with fields:
        SpeedupFactor: 1.5000
        SemitoneShift: 3
    
    
    augmenterParamsPost = getAugmenterParams(aug);
    augmenterParamsPost.stretchAudio
    ans = struct with fields:
        LockPhase: 1
    
    
    augmenterParamsPost.shiftPitch
    ans = struct with fields:
               LockPhase: 1
        PreserveFormants: 1
           CepstralOrder: 25
    
    

    Постройте график исходного аудио, а также дополненных данных до и после сохранения форманта, фазовой автоподстройки и изменения кепстрального порядка.

    taug = (0:(numel(augmentationPost)-1))/fs;
    plot(t,audioIn,taug,augmentationPre)
    hold on
    plot(taug,augmentationPost,'LineStyle',':')
    legend("Original Audio","Pre Formant Preservation," + ...
        " Phase-Locking, and Cepstral Order", ...
        "Post Formant Preservation, Phase-Locking, and Cepstral Order")
    ylabel("Amplitude")
    xlabel("Time (s)")
    legend('Location','best')

    Figure contains an axes. The axes contains 3 objects of type line. These objects represent Original Audio, Pre Formant Preservation, Phase-Locking, and Cepstral Order, Post Formant Preservation, Phase-Locking, and Cepstral Order.

    Верните параметры алгоритма увеличения к их значениям по умолчанию. Функции getAugmenterParams отображение текущих значений параметров для audioAugmenter объект.

    setAugmenterParams(aug,'shiftPitch')
    setAugmenterParams(aug,'stretchAudio')
    augmenterParamsDefault = getAugmenterParams(aug);
    augmenterParamsDefault.stretchAudio
    ans = struct with fields:
        LockPhase: 0
    
    
    augmenterParamsDefault.shiftPitch
    ans = struct with fields:
               LockPhase: 0
        PreserveFormants: 0
           CepstralOrder: 30
    
    

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

    свернуть все

    Audio data augmenter, задается как audioDataAugmenter объект.

    Имя алгоритма, заданное как 'stretchAudio' или 'shiftPitch.

    Типы данных: char | string

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

    свернуть все

    Параметры audio augmenter, возвращенные как массив структур.

    Типы данных: struct

    Введенный в R2021a
    Для просмотра документации необходимо авторизоваться на сайте