Обнаружьте музыку в Simulink Используя YAMNet

Сеть YAMNet требует, чтобы вы предварительно обработали и извлекли функции из звуковых сигналов путем преобразования их в частоту дискретизации, сеть была обучена на (16e3 Гц), и затем извлекающий перекрывающийся mel спектрограммы. Блок Sound Classifier делает необходимую предварительную обработку и извлечение признаков, которое необходимо, чтобы совпадать с предварительной обработкой, и извлечение признаков раньше обучало YAMNet.

Чтобы использовать YAMNet, предварительно обученная сеть YAMNet должна быть установлена в месте на пути MATLAB®. Если предварительно обученная сеть не установлена, запустите yamnetGraph функционируйте и программное обеспечение обеспечивает ссылку на загрузку. Щелкните по ссылке и разархивируйте файл к местоположению на пути MATLAB.

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

downloadFolder = fullfile(tempdir,'YAMNetDownload');
loc = websave(downloadFolder,'https://ssd.mathworks.com/supportfiles/audio/yamnet.zip');
YAMNetLocation = tempdir;
unzip(loc,YAMNetLocation)
addpath(fullfile(YAMNetLocation,'yamnet'))

Получите все музыкальные звуки в онтологии AudioSet. Онтология покрывает широкий спектр повседневных звуков от человека и звуков животных к естественным и экологическим звукам и к музыкальным и разным звукам. Используйте yamnetGraph функция, чтобы получить график онтологии AudioSet и список всех звуков, поддержанных YAMNet. dfsearch функция возвращает вектор из 'Music' звуки в порядке их открытия с помощью поиска в глубину.

[ygraph, allSounds] = yamnetGraph;
musicSounds = dfsearch(ygraph,"Music");

Найдите местоположение этих музыкальных звуков в списке поддерживаемых звуков.

[~,musicIndices] = intersect(allSounds,musicSounds);

detectMusic модель обнаруживает музыкальные звуки во входном аудио. Открытый и запуск модель. Модель запускается путем чтения в звуковом сигнале классифицировать использование два От Мультимедийных блоков Файла. Первый блок читает в музыкальном звуковом сигнале и вторых чтениях блока в сигнале окружения, который не является музыкой. Оба сигнала имеют частоту дискретизации 44 100 Гц и содержат 441 выборку на канал. Используя блок Manual Switch (Simulink), можно выбрать один из двух сигналов.

Блок Sound Classifier в модели обнаруживает баллы и метки входного аудио. Блок Selector (Simulink) в модели выбирает баллы, связанные с музыкой с помощью вектора из индексов, данных musicIndices. Если максимальное значение этих баллов больше 0.2, то счет связан с музыкой. Блок Scope (Simulink) строит максимальное значение счета. Набор Активации в модели показывает это значение также. Используя блок Audio Device Writer, подтвердите, что вы слышите музыку, когда график показывает счет, больше, чем 0,2

open_system("detectMusic.slx")
sim("detectMusic.slx")

close_system("detectMusic.slx",0)

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

Функции

Блоки

Похожие темы