主要内容

创建数据存储

创建指向信号和标签数据的数据存储

    描述

    实例

    [sigdata,lbldata]=创建数据存储(lss,阿尔伯纳姆斯)创建数据存储,sigdata,包含信号成员数据和数据存储,lbldata,包含字符串数组中指定标签的标签数据阿尔伯纳姆斯.创建数据存储不适用于子标签。设置阿尔伯纳姆斯到一个或多个父标签名称,以获取父标签和相应的子标签值。

    例子

    全部崩溃

    加载包含鲸鱼歌曲录音的标记信号集。

    负载鲸鱼lss
    lss=labeledSignalSet with properties:Source:{2x1 cell}nummbers:2时间信息:“sampleRate”sampleRate:4000标签:[2x3表]说明:“表征波形区域”使用labelDefinitionsHierarchy查看标签和子标签列表。使用setLabelValue向集合添加数据。

    显示集合中第一个成员的标签。

    lss.标签(1,:)
    ans=1×3表什么类型的MoanRegions TrillRegions{Uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu成员{3x2表{1x3表}

    获取集合中标签的名称。使用信号信息创建信号数据存储,使用标签信息创建数组数据存储。

    lbls=getLabelNames(lss);[sgd,lbd]=createDatastores(lss,LBL)
    sgd=具有以下属性的信号数据存储:MemberName:{'Member{1}';'Member{2}}成员:{2x1 cell}ReadSize:1 SampleRate:4000
    lbd=ArrayDatastore,属性为:ReadSize:1 IterationDimension:1 OutputType:“单元格”

    显示集合中第一个成员的标签。

    lbls=读取(lbd);lbls{:}
    ans=1×3表什么类型的MoanRegions TrillRegions{uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu

    使用MATLAB®指定作为MAT文件包含的一组音频信号的路径。每个文件包含一个信号变量和采样率。列出文件的名称。

    folder=fullfile(matlabroot,“工具箱”,“matlab”,“音频视频”);lst=dir(追加(文件夹、,“/*.mat”));nms={lst(:).name}'
    网络管理系统=7x1电池{'chirp.mat'}{'gong.mat'}{'handel.mat'}{'laugh.mat'}{'mtlb.mat'}{'splat.mat'}{'train.mat'}

    创建指向指定文件夹的信号数据存储。将采样率变量名称设置为财政司司长,这是所有文件的公用项。生成不包含该文件的数据存储的子集mtlb.mat. 将子集数据存储用作标记信号集对象

    sds=信号数据存储(文件夹,“SampleRateVariableName”,“财政司司长”); sds=子集(sds,~strcmp(nms,“mtlb.mat”));lss=标签信号集(sds);

    创建三个标签定义来标记信号:

    • 为包含人声的信号定义一个逻辑属性标签。

    • 定义一个数字点标签,标记每个信号最大值的位置和幅度。

    • 定义一个分类感兴趣区域(ROI)标签,以挑出每个信号的非重叠、等长随机区域。

    将信号标签定义添加到标记的信号集中。

    vc=信号标签定义(“声音”,“标签类型”,“属性”,...“LabelDataType”,“合乎逻辑”,“默认值”,false);mx=信号标签定义(“最大值”,“标签类型”,“点”,...“LabelDataType”,“数字”); rs=信号标签定义(“兰罗伊”,“标签类型”,“投资回报率”,...“LabelDataType”,“绝对的”,“类别”,[“投资回报”“其他”]);添加标签定义(lss,[vc mx rs])

    标记信号:

    • 标签“汉德尔·马特”“笑声,马特”就像有人类的声音一样。

    • 使用islocalmax函数查找每个信号的最大值。标记其位置和值。

    • 使用兰德罗函数生成尽可能多的长度区域N/长度为的信号中可容纳10个样本N给定最小间隔N/6个区域之间的样本。标记其位置并将其分配给投资回报率类别

    标记点和区域时,将采样值转换为时间值。减去1表示MATLAB®数组索引,然后除以采样率。

    kj=1;虽然hasdata(sds)[sig,info]=read(sds);fs=info.SampleRate;[~,fn]=fileparts(info.FileName);如果fn==“汉德尔”||fn==“笑声”setLabelValue(lss,kj,“声音”,对)终止xm=查找(islocalmax(sig,“MaxNumExtrema”,1)); setLabelValue(lss,kj,“最大值”,(xm-1)/fs,sig(xm))N=长度(sig);投资回报率=随机投资回报率(N,整数(N/10),整数(N/6));setLabelValue(lss,kj,“兰罗伊”,(rois-1)/fs,重复(“投资回报”,尺寸(ROI,1)))kj=kj+1;终止

    确认只有两个信号包含语音。

    可计数值(lss,“声音”)
    ans=2×3表语音计数百分比为假466.667真233.333

    确认两个信号的最大振幅为1。

    可计数值(lss,“最大值”)
    ans=5×4表最大计数百分比MemberCount\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu0.8000000000004411 16.667 1 0.89113915798421611 16.667 1 0.9473076923072951 16.667.667.051

    确认每个信号有四个不重叠的随机感兴趣区域。

    可计数值(lss,“兰罗伊”)
    ans=2×4表RanROI计数百分比成员计数uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu

    使用标记信号集中的数据创建两个数据存储:

    • 这个信号数据存储对象sd包含信号数据。

    • 这个arrayDatastore对象ld包含标签信息。指定要包含与所创建的所有标签对应的信息。

    [sd,ld]=创建数据存储(lss[“声音”“兰罗伊”“最大值”]);

    使用数据存储中的信息绘制信号并显示其标签。

    • 使用信号屏蔽对象以蓝色突出显示感兴趣的区域。

    • 绘制黄线以标记最大值的位置。

    • 向包含人声的信号添加红色轴标签。

    平铺布局虽然hasdata(sd)[sg,nf]=read(sd);lbls=read(ld);nextile msk=signalMask(lbls{:}.RanROI{:},“采样器”,nf.SampleRate);plotsigroi(msk,sg)色条xlabel('')xline(lbls{:}.Maximum{:}.Location,...“线宽”2.“颜色”,"EDB120")如果lbls{:}.Voice{:}ylabel(“声音”,“颜色”,"D95319")终止终止

    图中包含6个轴对象。轴对象1包含4个线条类型的对象,君士坦丁。轴对象2包含4个线条类型的对象,君士坦丁。轴对象3包含4个线条类型的对象,君士坦丁。轴对象4包含4个线条类型的对象,君士坦丁。轴对象5包含4个线条类型的对象,君士坦丁。轴对象6包含4个类型为line、constantline的对象。

    作用roilims=randROI(N,wid,sep)num=floor((N+sep)/(wid+sep));hq=histcounts(randi(num+1,1,N-num*wid-(num-1)*sep,(1:num+2)-1/2);roilims=(1+(0:num-1)*(wid+sep)+cumsum(hq(1:num))+[0 wid-1];终止

    输入参数

    全部崩溃

    标记的信号集,指定为标记信号集对象

    例子:标记信号集({randn(100,1)randn(10,1)},signalLabelDefinition('femal'))指定包含属性的两个成员的随机信号集“女性”.

    标签名称,指定为字符向量、字符串标量、字符向量的单元格数组或字符串数组。

    数据类型:烧焦|一串

    输出参数

    全部崩溃

    信号数据,作为信号数据存储对象音频数据存储(音频工具箱)对象

    标签数据,作为arrayDatastore对象

    在R2021a中引入