查看: 739|回复: 0

[评测分享] 【NXP OKdo E1双核Cortex M33开发板 】USB音频信号浅尝

[复制链接]

该用户从未签到

发表于 2020-12-6 21:43:52 | 显示全部楼层 |阅读模式
分享到:
本帖最后由 文波_苏州 于 2020-12-6 23:10 编辑

打通了USB音频信号输入输出的通路,我们就可以利用OKDO E1尝试对音频信号进行一些操作并利用输入输出通路在电脑上观察结果了。

首先看下目前所用的音频格式,在涉及描述符的usb_device_descriptor.c 和 .h中有他们的定义:
Screen Shot 2020-12-06 at 5.45.42 AM.png
Screen Shot 2020-12-06 at 5.47.37 AM.png
可以看出音频流的编码格式为双声道16位PCM。马上动手来验证。首先创建一个filter_sample()的函数,用它对每个采样数据sample处理后再放入环形缓冲区。每隔两个byte把数据抹成0,就应该相当于把一个声道抹成0。把这个函数放到一组新的文件中,以便将来进一步扩展:
Screen Shot 2020-12-06 at 5.57.01 AM.png


其实每个sample大小应该是两个byte, 但我们并不急于规范这一点。

Screen Shot 2020-12-06 at 5.59.06 AM.png
Screen Shot 2020-12-06 at 6.05.51 AM.png

Screen Shot 2020-12-06 at 6.00.10 AM.png
Screen Shot 2020-12-06 at 6.01.27 AM.png
编译下载后就可以录音了。

macOS自带的QuikTime一般录音是足够的,但为了对音频信号作深入的观察,我们请出著名自由开源软件Audacity 。
新建一个48K采样率的项目:

Screen Shot 2020-12-06 at 6.25.34 AM.png
音频回环,用iTunes放音乐,然后用Audacity录音。果然,一个声道的信号被清零了:

Screen Shot 2020-12-06 at 6.32.50 AM.png

我们已经确认了声音的格式,就可以按照这个格式造声音出来。先从最简单的开始,做个方波:
Screen Shot 2020-12-06 at 6.37.51 AM.png
成功了:
Screen Shot 2020-12-06 at 6.48.04 AM.png

到目前为止我们在LPC55S69的core0上验证了USB的音频通路,并对它的声音信号作了一点简单的操作。下一步可以用专门为DSP任务打造的PowerQuad来做些试验了。






回复

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /2 下一条

手机版|小黑屋|与非网

GMT+8, 2024-4-27 23:39 , Processed in 0.110139 second(s), 17 queries , MemCache On.

ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

苏公网安备 32059002001037号

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.