主要内容

在Android设备上识别和显示语音命令

此示例演示如何使用针对Android的Simulink®支持包™ 用金宝app于部署深度金宝app学习算法的设备,该算法可识别并显示通过Android设备(如手机或平板电脑)发出的命令。该算法使用深度学习卷积神经网络识别给定的命令集,并将其显示在应用程序的仪表板上。本例中使用的算法经过预训练以识别以下命令:是、否、上、下、左、右、开、关、停和走。该算法还可以识别静默和背景噪声。

先决条件

  • 有关如何使用Android设备的Simulink支持包在Android设备上运金宝app行Sim金宝appulink模型的更多信息,请参见Android设备入门

  • 使用硬件设置屏幕下载并安装任何ARM®计算库。本例使用ARM计算库版本19.05。有关硬件设置屏幕的更多信息,请参阅安装对Andro金宝appid设备的支持

用预训练网络识别命令

本例使用语音识别网络来识别语音命令。要在工作空间中加载网络,请在MATLAB®命令窗口中运行此命令。

负载命令网

有关如何下载数据集或训练网络的更多信息,请参阅基于深度学习的语音命令识别(深度学习工具箱)的例子。

配置Simulink金宝app模型并校准参数

此示例使用Android设备Simulink支持包中的预配置Simu金宝applink模型。金宝app

要打开Simulink模金宝app型,请在MATLAB命令窗口中运行此命令。

open_system (“androidSpeechCommandRecognition”)

此示例使用深度学习可在下找到的模板金宝app>金宝appSimulink起始页>金宝app针对An金宝appdroid设备的Simulink支持包

模拟源

本例有三个预录语音音频,可用于处理。

  • yesCommand.wav

  • goCommand.wav

  • stopCommand.wav

模拟源区域中,您可以向音频文件读取块提供三个WAV文件中的任意一个。您还可以向该块提供任何预录制的WAV或MP3文件。确保您录制的音频文件具有16kHz的采样率,并且只有一个具有int16数据类型。

在的“块参数”对话框中配置这些参数音频文件读取

  1. 设置文件名yesCommand.wav.要模拟go或stop命令的模型,请将此参数设置为goCommand.wavstopCommand.wav分别地

  2. 设置帧大小400

安卓输入

安卓输入区域,使用内置麦克风连接到您的Android设备使用音频捕获块捕获音频信号。来自此块的16位立体声音频流被转换为16位单声道音频流。

在的“块参数”对话框中配置这些参数音频捕获

  1. 设置音频采样频率16000

  2. 设置帧大小400

Sum块添加来自左右通道的音频信号。在的“块参数”对话框中配置这些参数添加

  1. 设置图标的形状矩形

  2. 设置标志清单+

  3. 设置合计指定尺寸

  4. 设置2.

增益块将总和块的输出除以2,将立体声音频流转换为单声道音频流。在的“块参数”对话框中配置这些参数获得

  1. 主要选项卡,设置获得0.5

  2. 信号的属性选项卡,设置输出数据类型int16

深入学习算法

使用增益块缩小16位单声道音频流到1位单数据类型单声道音频流。在的“块参数”对话框中配置这些参数获得

  1. 主要选项卡,设置获得1/2^15

  2. 信号的属性选项卡,设置输出数据类型仅有一个的

该示例使用缓冲块将您通过麦克风所说单词的采样时间与算法采样时间相匹配。最近的口语单词存储在缓冲块中。在的“块参数”对话框中配置这些参数缓冲器(DSP系统工具箱)

  1. 设置输出缓冲区的大小财政司司长

  2. 设置缓存交叠fs-样本性能框架

MATLAB中的函数听觉谱图MATLAB函数块使用extractSpeechFeatures函数从原始音频信号中提取特征。

来自深度学习工具箱™的Predict块使用经过训练的深度学习神经网络预测音频语音信号。配置这些参数预测(深度学习工具箱)“块参数”对话框。

  1. 设置网络从MAT文件创建网络

  2. 设置文件路径commandNet.mat.属性中生成的数据集文件与基于深度学习的语音命令识别(深度学习工具箱)的例子。

  3. 设置Mini-batch大小1.

  4. 清晰的预言

MATLAB函数对音频语音信号进行后处理阈值运算,并预测其最大概率。

显示和可视化

来自深入学习算法使用字符串到ASCII块将字符串转换为ASCII,并在移动应用程序中显示。

安卓系统输出

上显示神经网络识别的命令对应的值应用程序页签androidSpeechCommandRecognition应用

  • 沉默- 0

  • 向下–1

  • 去- 2

  • 左- 3

  • 否–4

  • 关闭–5

  • 在–6

  • 右-7

  • 停止8

  • 上升–9

  • 是的- 10

  • 未知- 11

  • 背景- 12

运行仿真金宝app软件模型

1.确保安装位置手动开关深入学习算法区域连接到的输出模拟源地区

2.在列表中选择音频文件音频文件读取“块参数”对话框。在本例中yesCommand.wav文件被选中进行模拟。

3.上模拟选项卡,单击金宝app. 注意命令显示在模型的仪表板面板上。

在Androi金宝appd设备上部署Simulink

1.确保安装位置手动开关深入学习算法区域连接到的输出安卓输入地区

2.上硬件选项卡中的金宝app模式节,选择在船上运行然后单击构建、部署和启动.的androidSpeechCommandRecognition应用程序自动启动。

3.通过你的Android设备一次说出所有这10条命令。上仪表板App,观察面板上的命令。

应用程序选项卡,观察与面板上已识别命令对应的编号。

应用程序将显示沉默当你不说话的时候,未知的当它不能识别除了神经网络训练的10个单词以外的单词时,并且出身背景当它检测到背景中的任何噪声时。

另见