主要内容

在语音信号中标注口语

这个例子展示了如何给口语贴上标签信号贴标签机.该示例使用IBM®Watson Speech to Text API和Audio Toolbox™软件。“语音转录(音频工具箱)提供以下说明:

  1. 下载音频工具箱speech2text扩展功能,可从MATLAB®Central。

  2. 设置IBM Watson语音API,通过IBM云服务提供。您必须创建一个IBM Cloud帐户、一个Speech to Text服务实例,然后转到服务仪表板并复制您的凭据—API Key和URL值。有关详细信息,请参见入门教程在IBM文档中。

设置语音客户端

要执行语音到文本的转录,必须创建speechClient对象。确保speech2textP-code文件和存储IBM Cloud凭证的JSON文件位于当前文件夹或MATLAB路径中。

speechObjectIBM = speechClient(“IBM”、时间戳= true);

加载一个音频数据文件,其中包含一个男性声音说的句子“Oak is strong, and also giving shade”。信号在44.1千赫采样。

[y,fs] = audioread(“oak.m4a”);输入soundsc(y,fs)

定义标签

开放信号贴标签机并定义要附加到信号上的标签。点击添加贴标签机选项卡,然后添加标签定义.指定标签名称作为单词,选择标签类型ROI,并选择数据类型字符串

导入语音数据

将信号导入应用程序。

  1. 贴标签机选项卡上,单击进口并选择从工作空间成员列表。在对话框中,选择信号y

  2. 添加时间信息。选择时间,并指定fs为采样率,单位为Hz。

  3. 点击导入和关闭.信号出现在标记信号集浏览器

定位和识别口语

定位并识别输入信号中所说的单词。

  1. 选择单词标签定义浏览器。

  2. 自动化的价值画廊,选择从语音到文本

  3. 点击Auto-Label并选择自动标记所有信号

  4. 在对话框中,选择IBM服务名称列出并选中旁边的复选框段话。

  5. 点击好吧

信号贴标签机定位并标注语音。在标记信号集浏览器,选中右侧的复选框y画出信号。扩大单词并选择每个单词旁边的复选框,以可视化相应的标记区域。

输出标记信号

导出标记的信号。在贴标签机选项卡上,单击出口并选择到文件标记信号集列表。在出现的对话框中,给出名称Transcription.mat并添加可选的简短描述。点击出口

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

负载转录ln = getLabelNames(transcribedAudio);v = getLabelValues(转录音频,1,ln)
v =7×2表ROILimits价值  ____________ ________ 0.59 - 0.97 0.09 - 0.56“橡树””是“1 1.78“强有力”的1.94 - 2.19”和“2.22 - 2.67”也“2.67 - 3.22”给“3.25 - 3.91“阴影”

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

v.Value = category (v.Value,v.Value);msk = signalMask(v,SampleRate=fs);s = getSignal(transcribedAudio,1);s.y plotsigroi (msk)

创建一个与音频信号长度相同的逻辑向量。设置为真正的说话者说出“是”这个词的信号段。

BSL = binmask(msk,height(s));情节(s.Time [s。y声波测井(:,v。值= =“是”)))

另请参阅

应用程序

对象

相关的例子

更多关于