终于实现USB Microphone录音功能

2019-07-20 02:21发布

本帖最后由 lvehe 于 2016-6-7 15:47 编辑

目前仅实现单一的USB Microphone录音功能,没有Speaker的功能。二者结合实现起来感觉比较困难,毕竟对USB学习还不太深入。
板子上使用的是一颗带IIS数字输出的MEMS麦克风,要移植到其他咪头和CODEC芯片(比如WM8978)组合的板子也是很容易的,因为都是IIS数字输出接口。
源码主要参考https://github.com/iliasam/STM32F4_USB_MICROPHONE
QQ截图20160525103932.png

QQ截图20160525122217.png

2016-5-31更新:
添加FeatureUnit,实现静音和音量调节功能。
已知问题:Win7和XP下的音量设置数据不一样,目前程序以Win7为依据。
QQ截图20160531135334.png
2016-6-7更新:
修改音量调节为0dB~20dB,步进值为4dB。使Win7和XP下的音量设置数据保持一致。
添加多频选择功能,可选4种常用频率。
QQ截图20160607152619.png
QQ截图20160607152640.png
至此,USB Microphone功能基本完备,此帖完结,不再更新。






友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
49条回答
czdspeed
2019-07-22 11:17
lvehe 发表于 2016-6-2 12:55
以下是我用XP自带的录音软件录的2段WAV,一个是比较纯粹的1kHz正弦波声音,一个是一段音乐。
用GoldWave ...

发送数据还是usb_dataIn里面。dma中断也是循环接收,分别是两个buf在切换和大部分的流程是一样的。usb发送的时候用已经接收完的的数据。我这样想如果是切换的时候dma的数据正好改变了倒是有可能出现我之前测试的现象。
你说的不同步我倒是没有直观的感觉,因为做上面的实验我同时还在进行录音,两个声音的语速和长度我对比了一下差不多一致的。当然这个也是主观的感觉。

一周热门 更多>