pitchnn

Оцените тангаж с глубокой нейронной сетью

    Описание

    пример

    f0 = pitchnn(audioIn,fs) возвращает оценки основной частоты в зависимости от времени для audioIn с частотой дискретизации fs. Столбцы входа обработаны, когда индивидуум образовывает канал.

    f0 = pitchnn(audioIn,fs,Name,Value) задает опции с помощью одного или нескольких Name,Value аргументы. Например, f0 = pitchnn(audioIn,fs,'ConfidenceThreshold',0.5) устанавливает порог доверия для каждого значения f0 к 0.5.

    [f0,loc] = pitchnn(___) возвращает временные стоимости, loc, сопоставленный с каждой основной оценкой частоты.

    [f0,loc,activations] = pitchnn(___) возвращает активации a crepe предварительно обученная сеть.

    pitchnn(___) без выходных аргументов строит предполагаемую основную частоту в зависимости от времени.

    Примеры

    свернуть все

    Загрузите и разархивируйте модель Audio Toolbox™ для CREPE.

    Введите crepe в Командном окне. Если модель Audio Toolbox для CREPE не установлена, то функция обеспечивает ссылку на местоположение сетевых весов. Чтобы загрузить модель, щелкните по ссылке и разархивируйте файл к местоположению на пути MATLAB.

    В качестве альтернативы выполните эти команды, чтобы загрузить и разархивировать модель CREPE к вашей временной директории.

    downloadFolder = fullfile(tempdir,'crepeDownload');
    loc = websave(downloadFolder,'https://ssd.mathworks.com/supportfiles/audio/crepe.zip');
    crepeLocation = tempdir;
    unzip(loc,crepeLocation)
    addpath(fullfile(crepeLocation,'crepe'))

    Проверяйте, что установка успешна путем ввода crepe в Командном окне. Если сеть установлена, то функция возвращает DAGNetwork Объект (Deep Learning Toolbox).

    crepe
    ans = 
      DAGNetwork with properties:
    
             Layers: [34×1 nnet.cnn.layer.Layer]
        Connections: [33×2 table]
         InputNames: {'input'}
        OutputNames: {'pitch'}
    
    

    Сеть CREPE требует, чтобы вы предварительно обработали свои звуковые сигналы сгенерировать буферизованный, перекрытый, и нормировала аудио системы координат, которые могут использоваться в качестве входа к сети. Этот пример демонстрирует pitchnn функция, выполняющая все эти шаги для вас.

    Читайте в звуковом сигнале для оценки тангажа. Визуализируйте и слушайте аудио. В аудиоклипе существует девять вокального произнесения.

    [audioIn,fs] = audioread('SingingAMajor-16-mono-18secs.ogg');
    soundsc(audioIn,fs)
    T = 1/fs;
    t = 0:T:(length(audioIn)*T) - T;
    plot(t,audioIn);
    grid on
    axis tight
    xlabel('Time (s)')
    ylabel('Ampltiude')
    title('Singing in A Major')

    Используйте pitchnn функционируйте, чтобы произвести оценку тангажа с помощью сети CREPE с ModelCapacity установите на tiny и ConfidenceThreshold отключенный. Вызов pitchnn без выходных аргументов строит оценку тангажа в зависимости от времени. Если вы вызываете pitchnn прежде, чем загрузить модель, ошибка распечатана к Командному окну со ссылкой на загрузку.

    pitchnn(audioIn,fs,'ModelCapacity','tiny','ConfidenceThreshold',0)

    С отключенной пороговой обработкой доверия, pitchnn обеспечивает оценку тангажа для каждой системы координат. Увеличьте ConfidenceThreshold к 0.8.

    pitchnn(audioIn,fs,'ModelCapacity','tiny','ConfidenceThreshold',0.8)

    Вызовите pitchnn с ModelCapacity установите на full. Существует девять первичных группировок оценки тангажа, каждая группа, соответствующая с одним из девяти вокального произнесения.

    pitchnn(audioIn,fs,'ModelCapacity','full','ConfidenceThreshold',0.8)

    Вызовите spectrogram и сравните содержимое частоты сигнала с оценками тангажа от pitchnn. Используйте формат кадра 250 выборки и перекрытие 225 выборки или 90%. Используйте 4096 ДПФ указывает для преобразования.

    spectrogram(audioIn,250,225,4096,fs,'yaxis')

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

    свернуть все

    Входной сигнал в виде вектор-столбца или матрицы. Если вы задаете матрицу, pitchnn обрабатывает столбцы матрицы как отдельные звуковые каналы.

    Типы данных: single | double

    Частота дискретизации входного сигнала в Гц в виде положительной скалярной величины.

    Типы данных: single | double

    Аргументы в виде пар имя-значение

    Задайте дополнительные разделенные запятой пары Name,Value аргументы. Name имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

    Пример: pitchnn(audioIn,fs,'OverlapPercentage',50) устанавливает перекрытие процента между последовательными аудио системами координат к 50.

    Перекрытие процента между последовательным аудио структурирует в виде скаляра в области значений [0,100).

    Типы данных: single | double

    Порог доверия для каждого значения f0В виде скаляра в области значений [0,1).

    Чтобы отключить порог, установите TH к 1.

    Примечание

    Если максимальное значение соответствующего activations вектор меньше 'ConfidenceThreshold', f0 isnan.

    Типы данных: single | double

    Способность модели в виде 'tiny', 'small'Средняя, 'large', или 'full'.

    Совет

    'ModelCapacity' управляет сложностью базовой глубокой нейронной сети. Чем выше способность модели, тем больше количество узлов и слоев в модели.

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

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

    свернуть все

    Предполагаемая основная частота в Герц, возвращенном как N-by-C массив, где N является количеством основных оценок частоты и C, является количеством каналов в audioIn.

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

    Временные стоимости сопоставлены с каждым f0 оцените, возвращенный как 1- N вектор, где N является количеством основных оценок частоты. Временные стоимости соответствуют новым выборкам, использовался для расчета оценок.

    Типы данных: single | double

    Активации от сети CREPE, возвращенной как N-by-360- C матрица, где N является количеством сгенерированных систем координат от сети и C, количество каналов в audioIn.

    Типы данных: single | double

    Ссылки

    [1] Ким, Jong Wook, Джастин Сэлэмон, Питер Ли и Хуан Пабло Белло. “Креп: Сверточное Представление для Оценки Тангажа”. На 2 018 Международных конференциях IEEE по вопросам Акустики, Речи и Обработки сигналов (ICASSP), 161–65. Калгари, AB: IEEE, 2018. https://doi.org/10.1109/ICASSP.2018.8461329.

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

    | |

    Введенный в R2021a