终于实现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条回答
adlu
1楼-- · 2019-07-22 06:02
强!果断收藏,慢慢研究。。。
czdspeed
2楼-- · 2019-07-22 10:00
 精彩回答 2  元偷偷看……
lvehe
3楼-- · 2019-07-22 10:18
czdspeed 发表于 2016-6-2 11:32
楼主,可能还有问题要麻烦问一下。之前音频的数据通了以后用上位机抓了一下dsp处理的数据发现底噪很大, ...

以下是我用XP自带的录音软件录的2段WAV,一个是比较纯粹的1kHz正弦波声音,一个是一段音乐。
用GoldWave查看的波形,没有发现底噪特别大的情况,用耳朵听的话感觉音质也还行。
不知道你的这段代码是放在哪的,是在DMA传输完成中断中?
USB Audio 一个比较常见的问题就是时钟同步问题,不确定你的现象是不是由此引起。
但如果数据处理加上发送时间较短的话,一般不会感觉到不同步。具体原因还得由你自己摸索。
SINE.png
FRIEND.png



czdspeed
4楼-- · 2019-07-22 11:17
lvehe 发表于 2016-6-2 12:55
以下是我用XP自带的录音软件录的2段WAV,一个是比较纯粹的1kHz正弦波声音,一个是一段音乐。
用GoldWave ...

发送数据还是usb_dataIn里面。dma中断也是循环接收,分别是两个buf在切换和大部分的流程是一样的。usb发送的时候用已经接收完的的数据。我这样想如果是切换的时候dma的数据正好改变了倒是有可能出现我之前测试的现象。
你说的不同步我倒是没有直观的感觉,因为做上面的实验我同时还在进行录音,两个声音的语速和长度我对比了一下差不多一致的。当然这个也是主观的感觉。
czdspeed
5楼-- · 2019-07-22 13:26
 精彩回答 2  元偷偷看……
czdspeed
6楼-- · 2019-07-22 13:44
czdspeed 发表于 2016-6-12 16:47
问题找到了,是连接线的问题。有时候不稳定,硬件的同事在找这个问题。现在想把放音和录音放到一起。之前 ...

lvehe楼主你好,请问一下你的实验后续有没有做进一步的测试。我这里前一段时间ST技术支持发了一个二合一的usb(microphone+recorder)的历程,用的是st407的demo板。

一周热门 更多>