文档帮助中心文档
创建指向信号和标签数据的数据存储
[sigdata,lbldata]=创建数据存储(lss,lblnames)
实例
[sigdata,lbldata]=创建数据存储(lss,阿尔伯纳姆斯)创建数据存储,sigdata,包含信号成员数据和数据存储,lbldata,包含字符串数组中指定标签的标签数据阿尔伯纳姆斯.创建数据存储不适用于子标签。设置阿尔伯纳姆斯到一个或多个父标签名称,以获取父标签和相应的子标签值。
[sigdata,lbldata]=创建数据存储(lss,阿尔伯纳姆斯)
sigdata
lbldata
lss
阿尔伯纳姆斯
创建数据存储
全部崩溃
加载包含鲸鱼歌曲录音的标记信号集。
负载鲸鱼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. 将子集数据存储用作标记信号集对象
财政司司长
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函数查找每个信号的最大值。标记其位置和值。
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包含信号数据。
信号数据存储
sd
这个arrayDatastore对象ld包含标签信息。指定要包含与所创建的所有标签对应的信息。
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")终止终止
作用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'))指定包含属性的两个成员的随机信号集“女性”.
标记信号集({randn(100,1)randn(10,1)},signalLabelDefinition('femal'))
“女性”
标签名称,指定为字符向量、字符串标量、字符向量的单元格数组或字符串数组。
数据类型:烧焦|一串
烧焦
一串
音频数据存储
信号数据,作为信号数据存储对象音频数据存储(音频工具箱)对象
标签数据,作为arrayDatastore对象
信号贴标机|标记信号集|信号标签定义
信号标签定义
您有此示例的修改版本。是否要用您的编辑打开此示例?
您单击了与此MATLAB命令对应的链接:
通过在MATLAB命令窗口中输入命令来运行该命令。Web浏览器不支持MATLAB命令。万博1manbetx
选择一个网站以获取可用的翻译内容,并查看本地活动和优惠。根据您的位置,我们建议您选择:.
您还可以从以下列表中选择网站:
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家/地区站点不适合您所在位置的访问。
联系当地办事处