Сеть 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)