主要内容

G.729 STM32发现板语音活动检测

本示例展示了如何建模ITU-T G.729语音活动检测器(VAD)算法,并使用用于STMicroelectronics®STM32处理器的嵌入式Coder®支持包在基于ARM®Cortex-M的STMicroelectronics®STM32发现板上运行。金宝app

此示例的可用版本

所需的硬件

  • STMicroelectronics STM32F4-Discovery板或STM32F746G-Discovery板。

  • USB TTL-232适配器用于监控和调优。

简介

语音活动检测(VAD)是许多语音/音频应用中的一个关键问题,包括语音编码、语音识别或语音增强。例如,ITU-T G.729标准使用VAD模块来降低语音静默期间的传输速率。

的扩展G.729语音活动检测(DSP系统工具箱)这个例子来自DSP系统工具箱,你可以用它来在你的主机上模拟音频算法的行为。另请参考ARM Cortex-M处理器的参数音频均衡器示例,该示例解释了如何利用ARM Cortex-M代码替换库(CRL)实现DSP功能。

在本例中,您将了解如何部署G.729语音活动检测(DSP系统工具箱)算法在STM32 Discovery板上使用Simulink实现。金宝app

先决条件

我们建议填写:

设置ARM Cortex-M CMSIS代码替换库

ARM Cortex-M处理器金宝app的嵌入式编码器支持包为信号处理和数学运算提供了优化的代码替换库。

设置ARM Cortex-M代码替换库

使用stm32f4 -发现Mic In块,并根据DMA中断的Mic In调度算法。

G.729 STM32F4-Discovery板示例模型的语音活动检测,语音活动检测算法使用来自STM32F4-Discovery板上可用的麦克风的音频数据。模型中使用了一个“Mic In”块STM32F4-Discovery图书馆从麦克风中获取音频数据。此块输出一帧16位音频样本。“Mic In”块设置为8000Hz的采样频率。帧大小设置为80个音频样本,以获得10毫秒的音频帧。

的步骤2之后,设置“Mic In”块以发出10毫秒的音频帧参数音频均衡器的STM32发现板的例子。

设置“Mic In”块DMA中断随着基准利率触发器对于下面的模型的步骤4和5参数音频均衡器的STM32发现板的例子。

使用STM32F746G-Discovery Audio In块

G.729语音活动检测STM32F746G-Discovery板示例模型,语音活动检测算法使用来自STM32F746G-Discovery板上可用的双麦克风的音频数据。模型中使用的“Audio In”块STM32F746G-Discovery图书馆从麦克风中获取音频数据。此块输出一帧2通道16位音频样本。“音频输入”块设置为8000Hz的采样频率。帧大小设置为80个音频样本,以获得10毫秒的音频帧。

在STM32F746G-Discovery的情况下,基准速率触发器将自动选择为音频输入。

扩展G.729语音活动检测DSP示例

G.729语音活动检测(DSP系统工具箱)使用实例描述如何在主机上创建并模拟语音活动检测算法。的算法G.729语音活动检测在以下MATLAB函数中实现:vadG729.m.G.729语音活动检测用于STM32发现板的示例使用vadG729.m在以下内容中MATLAB函数布洛克:stm32f4discovery_vadG729 / VAD_G729

配置监控调优的硬件和型号

在这个任务中,您将为模型执行Monitor和Tune操作。在创建原型和开发算法时,当模型在硬件上实时运行时,监视信号和调优参数是很有用的。Monitor和Tune启用了此功能。

Monitor and Tune使用STM32 Discovery板的串行通信接口。如果您使用的是STM32F4-Discovery板,则必须使用USB TTL-232等串行适配器在主机和STM32F4-Discovery板之间交换数据。在STM32F746G-Discovery板上,您将使用该板编程所需的相同USB连接所提供的串行USB。因此,在STM32F746G-Discovery板上不需要额外的串行连接。

从上面打开适合于目标硬件的VAD模型。默认情况下,该型号在主机上使用串口COM端口28。的任务5代码验证和验证与PIL和监视和调优示例配置模型,并设置STM32 Discovery板与主机之间的正确连接。

开始外部模式的任务4中所解释的,将模型模拟模式切换到外部,并单击播放按钮代码验证和验证与PIL和监视和调优的例子。

在本例中,外部模式verbose模式默认启用,它启用为每个Monitor和Tune操作显示调试消息。

当检测到语音时,STM32F4-Discovery板上的蓝色LED发光,STM32F746G-Discovery板上的绿色LED发光。在Monitor和Tune中运行时,输入LED的信号可以在Simulink示波器上监视,指示检测语音。金宝app

总结

本节以在STM32 Discovery板上部署G.729 VAD (Voice Activity Detection)算法为例进行说明。演示了如何使用板上可用的麦克风来获取语音信号,以及如何使用用于ARM Cortex-M CMSIS DSP功能的监视器和调优和代码替换库(CRL)来显示VAD结果。