openl3Features

Извлеките функции OpenL3

    Описание

    пример

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

    пример

    embeddings = openl3Features(audioIn,fs,Name,Value) задает опции с помощью одного или нескольких Name,Value аргументы. Например, embeddings = openl3Features(audioIn,fs,'OverlapPercentage',75) применяется 75%-е перекрытие между последовательными системами координат раньше создавало аудио вложения.

    Эта функция требует и Audio Toolbox™ и Deep Learning Toolbox™.

    Примеры

    свернуть все

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

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

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

    downloadFolder = fullfile(tempdir,'OpenL3Download');
    loc = websave(downloadFolder,'https://ssd.mathworks.com/supportfiles/audio/openl3.zip');
    OpenL3Location = tempdir;
    unzip(loc,OpenL3Location)
    addpath(fullfile(OpenL3Location,'openl3'))

    Читайте в звуковом файле.

    [audioIn,fs] = audioread('MainStreetOne-16-16-mono-12secs.wav');

    Вызовите openl3Features функция с аудио и частотой дискретизации, чтобы извлечь OpenL3 показывает вложения от аудио.

    featureVectors = openl3Features(audioIn,fs);

    openl3Features функция возвращает матрицу характеристических векторов с 512 элементами в зависимости от времени.

    [numHops,numElementsPerHop,numChannels] = size(featureVectors)
    numHops = 111
    
    numElementsPerHop = 512
    
    numChannels = 1
    

    Создайте 10-секундный розовый шумовой сигнал и затем извлеките функции OpenL3. openl3Features функционируйте функции извлечений от mel спектрограмм с 90%-м перекрытием.

    fs = 16e3;
    dur = 10;
    audioIn = pinknoise(dur*fs,1,'single');
    features = openl3Features(audioIn,fs);

    Стройте функции OpenL3 в зависимости от времени.

    surf(features,'EdgeColor','none')
    view([30 65])
    axis tight
    xlabel('Feature Index')
    ylabel('Frame')
    xlabel('Feature Value')
    title('OpenL3 Features')

    Чтобы уменьшать разрешение функций OpenL3 в зависимости от времени, задайте перекрытие процента между mel спектрограммами. Постройте график результатов.

    overlapPercentage = 10;
    функции = openl3Features (audioIn, фс,'OverlapPercentage', overlapPercentage);
    surf (функции,'EdgeColor','none')
    представление ([30 65])
    ось tight
    xlabel'Feature Index')
    yLabel 'Frame')
    zlabel'Feature Value')
    заголовок'OpenL3 Features')

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

    свернуть все

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

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

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

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

    Аргументы name-value

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

    Пример: openl3Features(audioIn,fs,'SpectrumType','mel256')

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

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

    Тип спектра сгенерирован от аудио и используемый в качестве входа к нейронной сети в виде 'mel128', 'mel256', или 'linear'.

    Примечание

    SpectrumType то, что вы выбираете, управляет спектрограммой, используемой в сети. Смотрите openl3 или openl3Preprocess для получения дополнительной информации.

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

    Длина выходного аудио, встраивающего в виде '512' или '6144'.

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

    Тип звукового содержимого нейронная сеть обучен на в виде 'env' или 'music'.

    Установите ContentType к:

    • 'env' когда это необходимо, использовать модель, обученную на данных о состоянии окружающей среды.

    • 'music' когда это необходимо, использовать модель, обученную на музыкальных данных.

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

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

    свернуть все

    Компактное представление аудиоданных, возвращенных как N-by-L-by-C массив, где:

    • N Представляет количество буферизированных систем координат, в которые звуковой сигнал разделен и зависит от длины audioIn и 'OverlapPercentage'.

    • L Представляет продолжительность встраивания аудио.

    • C Представляет количество входных каналов.

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

    Ссылки

    [1] Крамер, Джейсон, и др. "Посмотрите, Послушайте и Узнайте больше: Проектные решения для Глубоких Аудио Вложений". На международной конференции ICASSP 2019 IEEE по вопросам Акустики, Речи и Обработки сигналов (ICASSP), IEEE, 2019, стр 3852-56. DOI.org (Crossref), doi:/10.1109/ICASSP.2019.8682475.

    Расширенные возможности

    Введенный в R2021a