识别和显示Android设备上的语音命令
这个例子展示了如何使用Simulink®支持包Android™设备来金宝app部署一个深金宝app度学习算法,该算法可以识别和显示通过Android设备(如手机或平板电脑)发出的命令。该算法使用深度学习卷积神经网络来识别一组给定的命令,并将它们显示在应用程序的仪表板上。本例中使用的算法经过预训练,可以识别以下命令:是、否、上、下、左、右、开、关、停和走。该算法还可以识别静音和背景噪声。
先决条件
有关如何使用Android设备的Simulink支持包在Android设备上运金宝app行Sim金宝appulink模型的详细信息,请参阅入门Android设备.
使用硬件设置屏幕下载并安装任何ARM®计算库。本例使用的是ARM计算库19.05版本。有关“硬件设置”屏幕的详细信息,请参见安装对Andro金宝appid设备的支持.
识别命令与预训练的网络
这个例子使用语音识别网络来识别语音命令。要在工作空间中加载网络,请在MATLAB®命令窗口中运行此命令。
负载commandNet
有关如何下载数据集或训练网络的详细信息,请参阅使用深度学习训练语音命令识别模型(深度学习工具箱)的例子。
配置Simulink金宝app模型和校准参数
这个例子使用了一个来自Android设备的Simulink支持包的预金宝app配置的Simulink模型。金宝app
要打开Simulink模金宝app型,请在MATLAB命令窗口中运行此命令。
open_system (“androidSpeechCommandRecognition”)
此示例使用深度学习模板,可以在金宝app>金宝appSimulink起始页面>金宝appAndr金宝appoid设备的Simulink支持包.
模拟源
这个示例有三个预先录制的语音音频,您可以使用它们进行处理。
yesCommand.wav
goCommand.wav
stopCommand.wav
从模拟源区域,您可以向音频文件读取块提供三个WAV文件中的任何一个。您也可以提供任何预先录制的WAV或MP3文件到此块。请确保您录制的音频文件具有16kHz采样率,并且只有一个通道int16
数据类型。
的“块参数”对话框中配置这些参数音频文件读取块。
集文件名称来
yesCommand.wav
.要模拟go或stop命令的模型,请将此参数设置为goCommand.wav
和stopCommand.wav
,分别。集帧大小来
400
.
安卓系统的输入
从安卓系统的输入区域,使用内置麦克风捕获音频信号连接到您的Android设备使用音频捕获块。来自该块的16位立体声音频流被转换为16位单声道音频流。
的“块参数”对话框中配置这些参数音频捕捉块。
集音频采样频率来
16000
.集帧大小来
400
.
Sum块添加来自左通道和右通道的音频信号。的“块参数”对话框中配置这些参数添加块。
集图标的形状来
矩形
.集标志列表来
+
.集求和来
指定的尺寸
.集维来
2
.
增益块通过将Sum块的输出除以2,将立体声音频流转换为单声道音频流。的“块参数”对话框中配置这些参数获得块。
在主要选项卡,设置获得来
0.5
.在信号的属性选项卡,设置输出数据类型来
int16
.
深度学习算法
使用增益模块将16位单声道音频流缩放到1位单数据类型单声道音频流。的“块参数”对话框中配置这些参数获得块。
在主要选项卡,设置获得来
1/2 ^ 15
.在信号的属性选项卡,设置输出数据类型来
单
.
该示例使用Buffer块将您通过麦克风说出的单词的采样时间与算法采样时间相匹配。最近说出的单词存储在Buffer块中。的“块参数”对话框中配置这些参数缓冲(DSP系统工具箱)块。
集输出缓冲区大小来
fs
.集缓冲重叠来
fs - samplesPerFrame
.
中的MATLAB函数听觉谱图MATLAB函数块使用extractSpeechFeatures
函数从原始音频信号中提取特征。
来自深度学习工具箱™的预测块使用经过训练的深度学习神经网络预测音频语音信号。配置这些参数预测(深度学习工具箱)块参数对话框。
集网络来
网络从mat文件
.集文件路径来
commandNet.mat
.方法中生成的数据集文件是相同的使用深度学习训练语音命令识别模型(深度学习工具箱)的例子。集Mini-batch大小来
1
.清晰的预测.
MATLAB函数对音频语音信号进行后处理阈值运算并预测最大概率。
显示和可视化
的预测命令深度学习算法区域将使用字符串到ASCII块从字符串转换为ASCII,并显示在移动应用程序上。
安卓系统输出
显示被神经网络识别的命令对应的值应用程序标签androidSpeechCommandRecognition应用程序。
沉默- 0
向下- 1
围棋- 2
左- 3
No - 4
关- 5
On - 6
右- 7
停止8
上升- 9
是- 10
未知- 11
背景- 12
运行Si金宝appmulink模型
1.确认安装位置手动开关在深度学习算法面积是连接到输出的模拟源区域。
2.中选择音频文件音频文件读取块参数对话框。在本例中,yesCommand.wav选择文件进行仿真。
3.在模拟页签,单击金宝app运行.注意命令是的显示在模型的仪表板面板上。
在Androi金宝appd设备上部署Simulink
1.确认安装位置手动开关在深度学习算法面积是连接到输出的安卓系统的输入区域。
2.在硬件选项卡,在金宝app模式部分中,选择在船上运行然后点击构建、部署和启动.的androidSpeechCommandRecognition应用程序自动启动。
3.通过你的安卓设备一次一个地说出所有的10个命令。在指示板App,观察面板上的命令。
在应用程序应用程序的选项卡,观察面板上识别的命令对应的数字。
应用程序显示沉默当你不说话时,未知的当它不能识别神经网络训练的10个单词以外的单词时,和背景当它检测到背景噪音时。
另请参阅
使用深度学习训练语音命令识别模型(深度学习工具箱)
预测(深度学习工具箱)