主要内容

yamnetGraph

图YAMNet AudioSet本体

自从R2020b

    描述

    例子

    ygraph= yamnetGraph返回一个有向图AudioSet本体。

    例子

    (ygraph,]= yamnetGraph还返回一个字符串数组的类被YAMNet支持。金宝app

    这个函数需要音频工具箱™和深度学习工具箱™。

    例子

    全部折叠

    下载并解压缩音频工具箱™YAMNet支持。金宝app

    类型yamnetGraph在命令窗口。如果音频工具箱支持YAMNet没有安装,那金宝app么函数提供了一个链接到下载位置。下载模式,点击链接。将文件解压缩到一个位置在MATLAB的道路。

    另外,执行以下命令来下载并解压缩YAMNet模型到你的临时目录中。

    downloadFolder = fullfile (tempdir,“YAMNetDownload”);loc = websave (downloadFolder,“https://ssd.mathworks.com/金宝appsupportfiles/audio/yamnet.zip”);YAMNetLocation = tempdir;YAMNetLocation解压(loc)目录(fullfile (YAMNetLocation,“yamnet”))

    通过输入检查安装是否成功yamnetGraph在命令窗口。如果安装了网络,那么函数返回有向图对象。

    yamnetGraph

    创建一个有向图对象描述AudioSet本体。

    ygraph = yamnetGraph
    ygraph =有向图的属性:边缘:[670×1表]节点:(632×1表)

    可视化本体。本体与670年由632个独立的类连接。

    p =情节(ygraph);布局(p,“分层”)

    得到每个声音类的名称。如果没有前辈的声音类,确定本体的主要类别。

    节点名= ygraph.Nodes.Name;topCategories = {};指数= 1:元素个数(节点名)前=前辈(ygraph,节点名{指数});如果isempty()之前topCategories{结束+ 1}= nodename{指数};结束结束

    显示类别视为一个字符串数组。

    topCategories =字符串(topCategories)
    topCategories =1×7弦“人类的声音”“动物”“音乐”“自然声音”“听起来的东西”“Source-ambiguous声音”“频道、环境和背景”

    突出和标签上的顶级类别有向图情节。

    突出(p topCategories“NodeColor”,“红色”,“MarkerSize”8)labelnode (p, topCategories topCategories)

    创建一个有向图对象代表了AudioSet本体。

    ygraph = yamnetGraph;

    使用dfsearch执行图深度优先搜索来确定所有音频类的类动物

    animalNodes = dfsearch (ygraph,“动物”);

    使用子图创建一个新的有向图对象只包括识别音频类。结果定向边缘图。

    animalGraph =子图(ygraph animalNodes);p =情节(animalGraph);p。NodeFontSize = 12;graphFigure = gcf;老= graphFigure.Position;集(graphFigure,“位置”,旧旧的(1),(2),(3)* 3,老(4)* 3])

    使用前任确定所有的前辈咆哮声音。突出情节上的前辈。

    preIDs =前辈(animalGraph,“咆哮”)
    preIDs =4×1的字符串“狗”“猫”“咆哮的猫科动物(狮子、老虎)”"Canidae, dogs, wolves"

    使用突出强调了咆哮节点和情节上的前辈。

    突出(p,“咆哮”,“NodeColor”,‘g’,“MarkerSize”8)突出(p, preIDs“NodeColor”,“r”,“MarkerSize”,8)

    创建一个有向图对象,描述了AudioSet本体。还返回YAMNet支持的类。金宝app情节有向图。

    (ygraph、类)= yamnetGraph;p =情节(ygraph);布局(p,“分层”)

    YAMNet预测完整AudioSet本体的一个子集。显示类AudioSet本体,但声音输出从YAMNet网络是不可能的。

    audiosetClasses = ygraph.Nodes.Name;classDiff = setdiff (audiosetClasses类)
    classDiff =111×1的字符串中音萨克斯风“声学环境”“背景噪音”“低音(频率范围)”"Bass (instrument role)" "Bassline" "Bassoon" "Battle cry" "Bay" "Beat" "Birthday music" "Blare" "Booing" "Brief tone" "Bugle" "Cat communication" "Cellphone buzz, vibrating alert" "Channel, environment and background" "Chipmunk" "Chord" "Clavinet" "Clunk" "Compact disc" "Cornet" "Crash cymbal" "Cumbia" "Deformable shell" "Digestive" "Domestic sounds, home sounds" "Donkey, ass" ⋮

    强调从YAMNet不可能输出的类。

    突出(p classDiff“NodeColor”,“r”)

    分析的一个主要类别。

    categoryToAnalyze =“频道、环境和背景”;subsetNodes = dfsearch (ygraph categoryToAnalyze);ygraphSubset =子图(ygraph subsetNodes);classToHighlight =相交(classDiff ygraphSubset.Nodes.Name);pSub =情节(ygraphSubset);布局(pSub,“分层”)突出(pSub classToHighlight,“NodeColor”,“r”)

    创建一个有向图对象描述AudioSet本体。

    ygraph = yamnetGraph;

    指定一个声音类可视化,并指定数量的前任和接班人。可用的声音类是只有那些支持YAMNet输出。金宝app如果您指定更多的前辈或继任者比本体,只有前辈和继任者的本体。

    soundClass =“咆哮”;numPredecessors =3;numSuccessors =0;最近pred = (ygraph soundClass numPredecessors,“方向”,“输入”);往下=最近的(ygraph soundClass numSuccessors,“方向”,“外向”);子类= [soundClass; pred;往下);ygraphSub =子图(ygraph,独特的(子类));p =情节(ygraphSub);布局(p,“分层”)突出(p soundClass“标记”,' d ',“NodeColor”,“红色”,“MarkerSize”6)

    输出参数

    全部折叠

    AudioSet本体与定向边缘图,作为一个返回有向图对象。

    类由YAMNet金宝app作为字符串数组返回。支持的类YAMNet A金宝appudioSet本体的一个子集。

    提示

    谷歌®提供了一个网站,您可以探索AudioSet本体和相应的数据集:https://research.google.com/audioset/ontology/index.html

    引用

    [1]Gemmeke, Jort F。,et al. “Audio Set: An Ontology and Human-Labeled Dataset for Audio Events.”2017年IEEE国际会议音响、演讲和信号处理(ICASSP)IEEE 2017,页776 - 80。DOI.org (Crossref),doi: 10.1109 / ICASSP.2017.7952261。

    [2]好时,肖恩,et al。”CNN大规模的音频分类架构。”2017年IEEE国际会议音响、演讲和信号处理(ICASSP),2017岁的IEEE 131 - 35页。DOI.org (Crossref),doi: 10.1109 / ICASSP.2017.7952132。

    版本历史

    介绍了R2020b