使用sounddevice从WM8960 Audio HAT获取录音数据和播放音频问题

吐槽:写了两次,不知道突然啥操作,页面返回了,然后,写的啥都没有了。这是第三次!!!

我有三块WM8960 Audio HAT:

这块音频扩展板,支持RDK X3 Module和树莓派4B。

我有一个测试程序(见附件sound.zip),使用python的sounddevice/soundefile模块,来进行声音的录制和播放。

这个测试程序,在树莓派4B、鲁班猫1(RK3566)、macOS BigSur(Intel)上面,都能够正常运行,完成上面所说的功能。

但是,在RDK X3 Module上使用的时候,遇到了问题,下面详细描述测试的过程,以及遇到的问题。

一、系统环境

1. 操作系统:

2. Python和模块:

3. 需要安装的Python模块:

pip install argparsepip install numpypip install sounddevicepip install soundfile

4. 内核模块:

hobot-cpudai已经重新编译,并覆盖系统现有版本,重启生效:

二、测试步骤

# 测试模式1命令:python sound_test.py -t 0# 测试模式2命令:python sound_test.py -t 1

上述两个模式,要分别进行测试,当执行命令后,会播放音频:系统启动成功,然后在输出如下提示时:

发出一些较大的声响:唱歌、说话、播放音乐、莫名其妙的声音,会自动开始录音:

如果中途遇到程序停止不同了,就算敲锣打鼓也不继续输出信息了,那就这么做:

# 先 ctrl+z,挂起程序# 找到挂起的程序ps -ef | grep sound_test.py | grep -v grep# 干掉kill -9 上一步找到的pid

然后继续测试。

三、具体问题

测试模式1:

这种模式下(-t 0),使用sounddevice.InputStream()录音,使用os.system(“play 音频文件”)播放。

当第一次录制声音时,录制和播放都正常;

但是,录制完成后,再次录制时,录制的内容,是前一步播放的内容。

以此循环,生生不息!不,可能是声音越来越小。

测试模式2:

这种模式下(-t 1),使用sounddevice.InputStream()录音,使用sounddevice.play()播放。

问题和测试模式1一样,还多了一个问题,播放的声音,是破音!!!

前面说过,这个测试程序,在树莓派4B、鲁班猫1(RK3566)、macOS BigSur(Intel)上面,都能够正常运行,完成上面所说的功能。

但是,就在咱们RDK X3 Module上,遇到了上面的问题,希望技术人员能够帮忙查看,具体是啥原因,先表示感谢了!!!

有需要配合的,尽管说!!!

sound_test.zip

问下WM8960怎么和RDK模块连接?有文档或链接吗?

吐槽:写了两次,不知道突然啥操作,页面返回了,然后,写的啥都没有了。这是第三次!!!

**这个it说已经解决了,乔老板可以参考下-
**

新版本会解决音频同时播放与输出问题,可以等一下版本发布哈