Firefly开源社区

标题: FireFly智能开发套件-麦克风阵列模块Demo运行报错 [打印本页]

作者: 灰会肥回    时间: 2021-3-5 16:24
标题: FireFly智能开发套件-麦克风阵列模块Demo运行报错
资料链接:http://wiki.t-firefly.com/zh_CN/USB-Audio-Kit/product.html

采购的6mic方案,接入了 rk3288的android工控设备,版本adnroid5.11,

安装好6mic.apk,连接好硬件,启动app:CAEDemo  ,点击:开始录音 ,报错:03-05 16:22:07.984 2407-2407/com.iflytek.cae E/AlsaRecorder: open Devices Failed --> ret-22






这是什么原因呢?




作者: 灰会肥回    时间: 2021-3-5 16:59
我打开android的录音机,录音播放都是正常的,但使用6mic.apk失败,
看报错信息,应该是执行命令:cat /proc/asound/pcm | grep "0$(cat /proc/asound/cards | grep -m 1 "AC108" | busybox awk '{print $1}')-" | grep "USB" | busybox cut -d: -f1 | busybox  cut -d- -f2   时没有找到匹配的结果
作者: 灰会肥回    时间: 2021-3-5 17:30




将 /dev/snd/ 改为777后,还是相同的错误

作者: 繁_yh4uD    时间: 2021-3-6 09:21
请问用的是那一款3288的板子? 固件日期是?
作者: 灰会肥回    时间: 2021-3-6 17:05
天波rk3288的工控,论坛沟通太慢了,您能提供qq或微信吗,咱们在那上面沟通吧。
作者: 灰会肥回    时间: 2021-3-6 17:10
初始化代码中:
AlsaRecorder.createInstance(this.mPcmCard, this.mPcmDevice, 8, 16000, mPcmPeriodSize, 8, 0);
我看shell命令没有取到,导致初始化失败。实际上我通过UsbDevcie获取到的内容是:
     deviceName:/dev/bus/usb/001/004,   
     ManufacturerName:XPowers AND ST,   
     ProductName:AC108 USB Audio,   
     SerialNumber:00000000001A,   
     DeviceId:1004,   
     ProductId:22360,   
     VendorId:1155,


请教一下:
mPcmCard是哪个值?
mPcmDevice是哪个值?
作者: 灰会肥回    时间: 2021-3-8 10:52
繁_yh4uD 发表于 2021-3-6 09:21
请问用的是那一款3288的板子? 固件日期是?

用的天波rk3288 android5.1

作者: 灰会肥回    时间: 2021-3-8 10:54
获取音频,是必须用cae的AlsaRecorder吗?  我自己写一个android程序,用AudioRecord来获取音频,可以吗?两者有什么区别吗?

作者: 灰会肥回    时间: 2021-3-8 14:12
繁_yh4uD 发表于 2021-3-6 09:21
请问用的是那一款3288的板子? 固件日期是?

我今天分析了代码,发现shell执行是没问题的,找到的是/dev/snd/pcmC3D0c这个外设,报错是出现在:AlsaRecorder.createInstance(this.mPcmCard, this.mPcmDevice, 8, 16000, mPcmPeriodSize, 8, 0);

错误内容:E/AlsaRecorder: open Devices Failed --> ret-22

我有两个问题想请教一下:
1、这个错误是什么原因,应该怎么解决?
2、获取音频,是必须用cae的AlsaRecorder吗?  我自己写一个android程序,用AudioRecord来获取音频,可以吗?两者有什么区别吗?
作者: 灰会肥回    时间: 2021-3-8 14:18
我今天分析了代码,发现shell执行是没问题的,找到的是/dev/snd/pcmC3D0c这个外设,报错是出现在:AlsaRecorder.createInstance(this.mPcmCard, this.mPcmDevice, 8, 16000, mPcmPeriodSize, 8, 0);

错误内容:E/AlsaRecorder: open Devices Failed --> ret-22

我有两个问题想请教一下:
1、这个错误是什么原因,应该怎么解决?
2、获取音频,是必须用cae的AlsaRecorder吗?  我自己写一个android程序,用AudioRecord来获取音频,可以吗?两者有什么区别吗?
作者: 繁_yh4uD    时间: 2021-3-9 10:57
AudioRecord 好像默认是2声道,如果想获得多个声道文件,可以使用 adb shell命令中的tinycap 来录制,如果不使用caedemode的话
作者: 灰会肥回    时间: 2021-3-9 11:00
繁_yh4uD 发表于 2021-3-9 10:57
AudioRecord 好像默认是2声道,如果想获得多个声道文件,可以使用 adb shell命令中的tinycap 来录制,如果 ...

caedemo一直无法运行,
/dev/snd/pcmC3D0c这个外设,

在这一行代码运行时报错:
AlsaRecorder.createInstance(this.mPcmCard, this.mPcmDevice, 8, 16000, mPcmPeriodSize, 8, 0);

错误内容:E/AlsaRecorder: open Devices Failed --> ret-22
这是为什么呢
作者: 灰会肥回    时间: 2021-3-9 19:49
本帖最后由 灰会肥回 于 2021-3-9 20:05 编辑

要a
作者: 灰会肥回    时间: 2021-3-10 13:02
本帖最后由 灰会肥回 于 2021-3-10 18:06 编辑

我使用tinycap命令拿到了音频了,多谢你的建议

有一个新问题:我想拿到6个mic的原始音频,就是拿到6路麦克风每一路的独立音频,有什么办法吗?

作者: 繁_yh4uD    时间: 2021-3-11 16:53
如果你使用tinycap 获取到音频之后,可以使用Adobe Audition 或者Audacity 这些音频软件来打开wav文件或者pcm文件,具体导入格式要按照你使用tinycap 录制时的属性,也可以参考 http://wiki.t-firefly.com/zh_CN/ ... #shi-yong-shuo-ming 的格式来导入
作者: 灰会肥回    时间: 2021-3-23 14:12
繁_yh4uD 发表于 2021-3-11 16:53
如果你使用tinycap 获取到音频之后,可以使用Adobe Audition 或者Audacity 这些音频软件来打开wav文件或者p ...

我使用Audacity拿到了音频内容,音频文件中有六路音频,有一个新问题:
1、六路音频是否是原始每一路麦克风各自的原始音频
2、每一路音频内容是否通过aec的算法处理



作者: 灰会肥回    时间: 2021-3-23 15:27
繁_yh4uD 发表于 2021-3-11 16:53
如果你使用tinycap 获取到音频之后,可以使用Adobe Audition 或者Audacity 这些音频软件来打开wav文件或者p ...

我使用tinycap命令拿到的音频,是:通过算法以及硬件(XFM-AEC&&PABasic)对回声进行消除  后的音频
还是每路麦克风的原始音频啊
作者: 灰会肥回    时间: 2021-4-6 17:31
繁_yh4uD 发表于 2021-3-11 16:53
如果你使用tinycap 获取到音频之后,可以使用Adobe Audition 或者Audacity 这些音频软件来打开wav文件或者p ...

我使用tinycap命令拿到的音频,出现了一个奇怪的问题:
tinycap /sdcard/Download/file.wav -D 3 -d 0 -c 8 -r 16000 -b 16
生成的结果,有时是PCM格式 ,有时是MPEG格式,为什么同样的上面一条命令,会出现两种结果呢?
录制的时间都是1-2分钟

作者: 灰会肥回    时间: 2021-4-6 17:49
我测试发现:
tinycap /sdcard/Download/file.wav -D 3 -d 0 -c 8 -r 16000 -b 16
然后使用Ctrl+C来结束,生成的音频文件就是PCM格式

如果使用:tinycap /sdcard/Download/file.wav -D 3 -d 0 -c 8 -r 16000 -b 16 &
然后使用kill -9 pid 的方式,来结束tinycap,生成的音频就是MPEG格式




欢迎光临 Firefly开源社区 (https://dev.t-firefly.com/) Powered by Discuz! X3.1