你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【STEVAL-STWINKT1B评测】音频采集

[复制链接]
无垠的广袤 发布时间:2026-3-3 16:40

【STEVAL-STWINKT1B评测】音频采集

本文介绍了 STEVAL-STWINKT1B 开发套件结合官方 Demo 示例程序,实现板载麦克风实时采集环境声音频谱的项目设计,包括工程获取、关键代码、编译固件、调试上传、效果演示等流程。

项目介绍

STEVAL-STWINKT1B 开发套件结合板载麦克风传感器,实现环境音频采集;

  • 工程获取:从开发板官网获取 Demo 示例项目源码,使用 STM32CubeIDE 加载项目;
  • 工程代码:展开主程序代码,并给出对应的代码流程图;
  • 构建上传:编译和构建工程,连接开发板并实现调试和固件上传;
  • 效果演示:连接板载 USB 虚拟串口,连续打印传感器数据。

Demo 简介

OnBoardMics 应用程序通过USB发送模拟和数字麦克风采集的音频信号,可在主机上录制。

开发板被识别为立体声USB麦克风,可使用录音软件在主机设备上录制音频信号。

项目方案

包括获取示例工程源码、加载和编译工程、工程代码、固件上传、效果演示等。

获取工程

memsmic_demo_download.jpg

加载工程

  • 进入路径 .\STM32CubeExpansion_MEMSMIC1_V5.9.0\Projects\STM32L4R9ZI-STWIN\Demonstration\Microphones_Streaming\STM32CubeIDE\OnBoardMics 双击打开 .cproject 程序;

    mic_sample.jpg

工程代码

打开 ./Application/User/main.c 文件,

data_log_main.jpg

关键代码如下

#include "cube_hal.h"

USBD_HandleTypeDef hUSBDDevice;
extern USBD_AUDIO_ItfTypeDef  USBD_AUDIO_fops;
SAI_HandleTypeDef            SaiHandle;
DMA_HandleTypeDef            hSaiDma;

int main(void)
{

  /* STM32F4xx HAL library initialization:
  - Configure the Flash prefetch, instruction and Data caches
  - Configure the Systick to generate an interrupt each 1 msec
  - Global MSP (MCU Support Package) initialization
  */
  HAL_Init();

  /* Enable Power Clock*/
  __HAL_RCC_PWR_CLK_ENABLE();
  /* enable USB power on Pwrctrl CR2 register */
  HAL_PWREx_EnableVddUSB();

  /* Configure the system clock */
  SystemClock_Config();

  BSP_LED_Init(LED2);
  BSP_LED_Off(LED2);
  BSP_LED_Init(LED1);
  BSP_LED_Off(LED1);

  /* Initialize USB descriptor basing on channels number and sampling frequency */
  USBD_AUDIO_Init_Microphone_Descriptor(&hUSBDDevice, AUDIO_IN_SAMPLING_FREQUENCY, AUDIO_IN_CHANNELS);
  /* Init Device Library */
  USBD_Init(&hUSBDDevice, &AUDIO_Desc, 0);
  /* Add Supported Class */
  USBD_RegisterClass(&hUSBDDevice, &USBD_AUDIO);
  /* Add Interface callbacks for AUDIO Class */
  USBD_AUDIO_RegisterInterface(&hUSBDDevice, &USBD_AUDIO_fops);
  /* Start Device Process */
  USBD_Start(&hUSBDDevice);

  /* Start audio acquisition and streaming */

#ifdef DISABLE_USB_DRIVEN_ACQUISITION
  Init_Acquisition_Peripherals(AUDIO_IN_SAMPLING_FREQUENCY, ACTIVE_MICROPHONES_MASK, AUDIO_IN_CHANNELS);
  Start_Acquisition();
#endif

  while (1)
  {


  }
}

保存代码。

编译上传

构建工程、编译项目、调试和固件上传。

构建工程

  • 右键项目,选择构建工程,或点击菜单栏 小锤子 图标,执行后无报错;

build_project.jpg

硬件连接

  • 使用 Micro-USB 数据线连接开发板,使用 Type-C 数据线连接 STLINK-V3 MINIE 板;

hardware_connect.jpg

固件上传

右键项目,选择调试工程 - 调试配置,双击 STM32 C/C++ Application 生成 Debug 配置;

debug_config.jpg

  • 点击 Debug 按钮,进入调试界面;
  • 点击菜单栏的启动按键,进入调试状态,此时固件已上传,程序开始运行;

debug_start.jpg

效果演示

  • 使用 Micro-USB 数据线连接开发板对应接口和电脑;
  • 系统自动弹窗显示新增的音频设备;
  • 打开弹窗进入设置,设备,蓝牙和其他设备,发现 STM32 AUDIO Streaming in FS Mode 设备,即麦克风;

audio_device.jpg

  • 打开设备管理器,展开音频输入选项,显示音频输入设备

device_audio_mic.jpg

音频采集

使用专业的音频采集和处理软件,这里使用 ocenaudio 软件。

  • 下载并安装 ocenaudio 软件;
  • 运行软件,依次选择菜单栏的 控制 - 录音配置 选项,选择 STM32 Audio 为录音设备;

recoder_device.jpg

  • 点击工具栏的 开始 按钮,启动录音动作,频谱开始显示环境声音曲线;
  • 执行鼓掌、咳嗽等动作,记录波形如下

clap_waveform.jpg

咳嗽的音频波形如下

cough_waveform.jpg

总结

本文介绍了 STEVAL-STWINKT1B 开发套件结合官方 Demo 示例程序,实现板载麦克风实时采集环境声音频谱的项目设计,包括工程获取、关键代码、编译固件、调试上传、效果演示等流程,为相关产品的快速开发和应用设计提供了参考。

收藏 评论0 发布时间:2026-3-3 16:40

举报

0个回答
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版