exponenta event banner

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 алгоритм, применить фазовую блокировку к обоим алгоритмам и изменить кепстральный порядок 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
    
    

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

    свернуть все

    Augmenter аудиоданных, указанный как audioDataAugmenter объект.

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

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

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

    свернуть все

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

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

    Представлен в R2021a