主要内容

使用外部API标记音频信号中的口语词

此示例显示如何在中标记口语单词信号贴标机。该示例使用IBM®Watson语音到文本API和音频工具箱™ 软件。请参阅语音文本转换(音频工具箱)有关以下方面的说明:

  1. 下载音频工具箱演讲稿扩展功能,可从MATLAB®Central获得。

  2. 设置通过IBM云服务提供的IBM Watson语音API。您必须创建IBM云帐户、语音到文本服务实例,然后转到服务仪表板并复制凭据–API密钥和URL值。请参阅入门教程有关更多详细信息,请参阅IBM文档。

加载语音数据

加载一个音频数据文件,其中包含一个男声所说的句子“橡树很强壮,也有阴影”。信号以44.1 kHz的频率采样。

[y,fs]=音频读取(“橡树,m4a”);%要收听,请键入soundsc(y,fs)
  1. 打开信号贴标机.在贴标机选项卡,单击进口选择从工作区成员列表。在对话框中,选择信号,Y.

  2. 添加时间信息:选择时间从下拉列表中选择并指定财政司司长作为采样率,以kHz为单位测量。

  3. 关闭对话框。信号显示在标记信号集浏览器.

定义标签

定义要附加到信号的标签。单击添加定义贴标机选项卡。指定标签名称,选择一个标签类型属于投资回报率,然后输入数据类型一串.

创建自定义自动标签功能

创建一个自定义函数来标记音频文件中的单词stt函数将在示例的后面显示。)请参阅自定义标签函数了解更多信息。

  1. 转到存储数据的目录演讲稿P-code文件和存储IBM云凭据的JSON文件。

  2. 要创建函数,请在贴标机选项卡,单击自动化价值选择添加自定义函数.信号贴标机显示一个对话框,要求您输入要添加的函数的名称、说明和标签类型。输入stt名称字段并选择投资回报率作为标签类型.你可以离开房间描述字段为空,或者您可以输入自己的描述。

  3. 复制功能代码并将其粘贴到显示的空模板中。保存文件。功能将显示在库中。

找到并识别口语单词

找到并识别输入信号中的单词。

  1. 标记信号集浏览器,选中旁边的复选框Y.

  2. 选择标签定义浏览器

  3. 自动价值画廊,选择stt.

  4. 点击自动标签选择自动标记所有信号点击好啊在显示的对话框中。

信号贴标机定位并标记所说的单词。

输出标记信号

导出带标签的信号。在贴标机选项卡,单击出口选择标记信号设置为文件。在出现的对话框中,输入名称抄本添加到标记的信号集,并添加可选的简短描述。单击出口.

返回MATLAB®命令窗口。加载标记的信号集。该信号集只有一个成员。获取标签的名称,并使用该名称获取和显示转录的单词。

负载转录ln=getLabelNames(transcribedAudio);v=GetLabelValue(transcribedAudio,1,ln)
五=7×2表ROILimits值0.09 0.56“橡木”0.59 0.97“为1.78”强“1.94 2.19”,而“2.22 2.67”也“2.67 3.22”为“3.25 3.91”暗

将标签值从字符串更改为类别。使用信号屏蔽对象为每个单词使用不同的颜色绘制信号。

v、 值=分类(v.Value,v.Value);msk=信号屏蔽(v,“采样器”,fs);s=getSignal(转录Daudio,1);plotsigroi(密歇根州立大学,s.y)

stt功能:定位和识别口语单词

此函数使用IBM Watson语音API和音频工具箱演讲稿从音频文件中提取语音单词的扩展功能。

作用[labelVals,labelLocs]=stt(x,t,parentLabelVal,parentLabelLoc,varargin)aspechobject=speechClient(“IBM”,“时间戳”,true);fs=1/(t(2)-t(1));tixt=speech2text(aspechobectibm,x,fs);numLabels=numel(tixt.TimeStamps{:});labelVals=strings(numLabels,1);labelLocs=zeros(numLabels,2);对于idx=1:numLabels labelVals(idx)=tixt.时间戳{:}{idx}{1};labelLocs(idx,1)=tixt.时间戳{:}{idx}{2};labelLocs(idx,2)=tixt.时间戳{:}{idx}{3};终止终止

另见

应用程序

物体

相关实例

更多关于