主要内容

yamnetGraph

YAMNet AudioSet本体图

    描述

    例子

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

    例子

    ygraph] = yamnetGraph也返回YAMNet支持的类的字符串数组。

    此功能需要音频工具箱™和深度学习工具箱™。

    例子

    全部折叠

    下载并解压支持YAMNet的Audio Toolbox™。

    类型yamnetGraph在命令窗口。如果没有安装对YAMNet的Audio Toolbox支持,则该函数提供到下载位置的链接。要下载模型,请单击链接。将文件解压缩到MATLAB路径上的某个位置。

    或者,执行以下命令将YAMNet模型下载并解压到您的临时目录。

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

    输入命令检查安装是否成功yamnetGraph在命令窗口。如果网络已安装,则函数返回a有向图对象。

    yamnetGraph

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

    ygraph = yamnetGraph
    ygraph =属性有向图:边:[670×1 table]节点:[632×1 table]

    可视化本体。本体由632个独立的类和670个连接组成。

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

    获取每个声音类的名称。如果声音类没有前身,则将其标识为本体的一个主要类别。

    节点名= ygraph.Nodes.Name;topCategories = {};index = 1:numel(nodeNames) pre = exists (ygraph,nodeNames{index});如果isempty(pre) topCategories{end+1} = nodeNames{index};结束结束

    将类别显示为字符串数组。

    topCategories =字符串(topCategories)
    topCategories =1×7弦“人的声音”“动物的声音”“音乐”“自然的声音”“事物的声音”“来源模糊的声音”“渠道、环境和背景”

    突出显示并标记顶部类别有向图情节。

    突出(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的字符串“狗”“猫”“咆哮的猫(狮子、老虎)”“犬科动物、狗、狼”

    使用突出强调了咆哮节点和前面的节点。

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

    创建一个描述AudioSet本体的有向图对象。还要返回YAMNet支持的类。画有向图。

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

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

    audiosetClasses = ygraph.Nodes.Name;classDiff = setdiff (audiosetClasses类)
    classDiff =111×1的字符串《声学环境》《中音萨克斯》《背景噪声》《低音(频率范围)》“鲈鱼(仪器角色)”低音" "巴松管" "战斗呐喊" "贝" "节奏" "生日音乐" "嘹亮" "嘘声" "短音" "号角" "猫通讯" "手机嗡嗡声,振动警报" "频道,环境和背景" "花栗鼠" "和弦" "击簧管" "哐当" "光盘" "短号" "响钹" "康比亚" "变形壳" "消化" "家庭声,家庭声" "驴子,屁股

    突出显示不可能从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输出的声音类。如果指定的前任或继任者多于本体中的前任或继任者,则只显示本体中的前任和继任者。

    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支持的类,作为字符串数组返回。YAMNet支持的类是AudioSet本体的一个子集。

    提示

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

    参考文献

    [1] Gemmeke, Jort F.等人,《音频集:音频事件的本体和人类标记数据集》。2017 IEEE声学、语音和信号处理国际会议, 2017, pp. 776-80。DOI.org (Crossref), doi: 10.1109 / ICASSP.2017.7952261。

    [2] Hershey, Shawn,等人,《CNN大规模音频分类的架构》。2017 IEEE声学、语音和信号处理国际会议, 2017, pp. 131-35。DOI.org (Crossref), doi: 10.1109 / ICASSP.2017.7952132。

    版本历史

    介绍了R2020b

    Baidu
    map