当前位置: 首页 > article >正文

瑞芯微rv1106的自带的录音和播放功能

rk_mpi_ao_test -i /data/test1.wav --sound_card_name=hw:0,0 --device_ch=2 --device_rate=16000 --input_rate=16000 --input_ch=2


rk_mpi_ai_test --sound_card_name=hw:0,0 --device_rate=16000 --device_ch=2 --out_rate=16000 --out_ch=2 --output=/tmp
 

因为rkipc本身在后台运行,占用了录音的通道,导致自己想要用命令行录音时一直显示设备不存在或者在忙,但是当时/dev/snd/pcmC0D0c这个设备通过ls确认找不到

开发板打开失败:
# rk_mpi_ai_test --sound_card_name=hw:0,0 --device_rate=16000 --device_ch=2 --ou
t_rate=16000 --out_ch=2 --output=/tmp
cmd parse result:
input  file name      : (null)
output file name      : /tmp
loop count            : 1
channel number        : 1
open sound rate       : 16000
record data rate      : 16000
sound card channel    : 2
output channel        : 2
bit_width             : 16
frame_number          : 4
frame_length          : 1024
sound card name       : hw:0,0
device id             : 0
set volume curve      : 0
set volume            : 100
set mute              : 0
set track_mode        : 0
get volume            : 0
get mute              : 0
get track_mode        : 0
data read enable      : 0
aed enable            : 0
bcd enable            : 0
buz enable            : 0
vqe gap duration (ms) : 16
vqe enable            : 0
get vqe result        : 0
vqe config file       : (null)
dump algo pcm data    : 0
test mode             : 0
aenc  file name       : (null)
input codec name      : (null)
rockit log path (null), log_size = 0, can use export rt_log_path=, export rt_log_size= change
log_file = (nil)
RTVersion        17:07:09-746 {dump              :064} ---------------------------------------------------------
RTVersion        17:07:09-746 {dump              :065} rockit version: git-db9cb4065 Tue Jan 30 20:48:32 2024 +0800
RTVersion        17:07:09-746 {dump              :066} rockit building: built- 2024-01-30 20:51:04
RTVersion        17:07:09-746 {dump              :067} ---------------------------------------------------------
(null)           17:07:09-746 {log_level_init    :207}

 please use echo name=level > /tmp/rt_log_level set log level
        name: all cmpi mb sys vdec venc rgn vpss vgs tde avs wbc vo vi ai ao aenc adec
        log_level: 0 1 2 3 4 5 6

rockit default level 4, can use export rt_log_level=x, x=0,1,2,3,4,5,6 change
(null)           17:07:09-747 {read_log_level    :098} text is all=4
(null)           17:07:09-747 {read_log_level    :100} module is all, log_level is 4
RKSockServer     17:07:09-748 {initNetServer     :088} bind failed, reason: Address already in use
cmpi             17:07:09-749 {sys_runtime_librar:089} success to open /dev/mpi/valloc(1), fd(4)
cmpi             17:07:09-750 {sys_runtime_librar:089} success to open /dev/mpi/vsys(2), fd(5)
cmpi             17:07:09-750 {sys_runtime_librar:089} success to open /dev/mpi/vrgn(3), fd(6)
cmpi             17:07:09-750 {sys_runtime_librar:089} success to open /dev/mpi/venc(4), fd(8)
cmpi             17:07:09-751 {sys_runtime_librar:089} success to open /dev/mpi/vpss(6), fd(9)
cmpi             17:07:09-752 {sys_runtime_librar:089} success to open /dev/mpi/vvi(8), fd(10)
cmpi             17:07:09-752 {sys_runtime_librar:089} success to open /dev/mpi/avs(17), fd(11)
cmpi             17:07:09-752 {sys_runtime_librar:089} success to open /dev/mpi/vrga(18), fd(12)
cmpi             17:07:09-752 {sys_runtime_librar:089} success to open /dev/mpi/venc(20), fd(13)
cmpi             17:07:09-753 {sys_runtime_librar:089} success to open /dev/mpi/aiisp(23), fd(14)
cmpi             17:07:09-755 {main              :1778} start running loop count  = 0
(null)           17:07:09-756 {monitor_log_level :149} #Start monitor_log_level thread, arg:(nil)
RKAiChn          17:07:09-758 {prepareGraph      :213} check enabled - file_read:0 vqe:0 aed:0 bcd:0 buz:0 gbs:0
cannot open device '/dev/snd/pcmC0D0c': Device or resource busy
TinyAlsaHardWare 17:07:09-761 {tinyalsa_pcm_get_e:052} fail to tinyalsa_open_snd, error:cannot open device '/dev/snd/pcmC0D0c': Device or resource busy
RTTaskNodeBase   17:07:09-761 {prepareForRun     :485} task node 0 open failed!
RTTaskGraph      17:07:09-761 {prepareNodeForRun :295} failed to prepareNodeForRun(id=0)! interrupt running
RTTaskGraph      17:07:09-764 {prepare           :364} task graph prepare for run failed!, ret=-10
RKAiChn          17:07:09-764 {prepare           :350} ai graph prepare failed, ret = -10
cmpi             17:07:09-765 {test_init_mpi_ai  :689} ai enable channel fail, aiChn = 0, reason = a00a8010
cmpi             17:07:09-765 {main              :1781} unit_test_mpi_ai failed: -1
(null)           17:07:10-761 {monitor_log_level :190} monitor_log_level quit

后来第二天想起这件事儿,然后把rkipc干掉,再次录音,就可以了

录音成功的日志如下

[root@luckfox ]# rk_mpi_ai_test --sound_card_name=hw:0,0 --device_rate=16000 --d
evice_ch=2 --out_rate=16000 --out_ch=2 --output=/tmp
cmd parse result:
input  file name      : (null)
output file name      : /tmp
loop count            : 1
channel number        : 1
open sound rate       : 16000
record data rate      : 16000
sound card channel    : 2
output channel        : 2
bit_width             : 16
frame_number          : 4
frame_length           : 1024
sound card name       : hw:0,0
device id             : 0
set volume            : 100
set mute              : 0
set track_mode        : 0
get volume            : 0
get mute              : 0
get track_mode        : 0
aed enable            : 0
bcd enable            : 0
buz enable            : 0
vqe gap duration (ms) : 16
vqe enable            : 0
vqe config file       : (null)
dump algo pcm data    : 0
test mode             : 0
aenc  file name       : (null)
input codec name      : (null)
rockit log path (null), log_size = 0, can use export rt_log_path=, export rt_log_size= change
log_file = (nil)
RTVersion        12:00:23-615 {dump              :064} ---------------------------------------------------------
RTVersion        12:00:23-616 {dump              :065} rockit version: git-8cb4d25b8 Tue Feb 28 11:12:39 2023 +0800
RTVersion        12:00:23-616 {dump              :066} rockit building: built- 2023-02-28 15:23:19
RTVersion        12:00:23-616 {dump              :067} ---------------------------------------------------------
rockit default level 4, can use export rt_log_level=x, x=0,1,2,3,4,5,6 change
(null)           12:00:23-617 {read_log_level    :093} text is all=4
(null)           12:00:23-617 {read_log_level    :095} module is all, log_level is 4
(null)           12:00:23-620 {monitor_log_level :144} #Start monitor_log_level thread, arg:(nil)
cmpi             12:00:23-627 {main              :1295} start running loop count  = 0
RKAiChn          12:00:23-628 {setAedAttr        :789} pstAedConfig = (nil), set mAedEnable = false
RKAiChn          12:00:23-628 {setBcdAttr        :852} pstBcdConfig = (nil), set mBcdEnable = false
RKAiChn          12:00:23-628 {setBuzAttr        :915} pstBuzConfig = (nil), set mBuzEnable = false
RKAiChn          12:00:23-628 {setGbsAttr        :979} pstGbsConfig = (nil), set mGbsEnable = false
RKAiChn          12:00:23-628 {setVqeAttr        :1045} pstVqeConfig = (nil), set mVqeEnable = false
RKAiChn          12:00:23-628 {prepareGraph      :221} check enabled - vqe:0 aed:0 bcd:0 buz:0 gbs:0
RTFlowGraph      12:00:23-633 {setMaxInputStreamQ:287} ai: Illegal operation, no input port exists.
RKAiChn          12:00:23-747 {setVqeEnable      :1019} not support veq algo
cmpi             12:00:23-749 {commandThread     :829} test info : mute = 0, volume = 100
cmpi             12:00:23-751 {saveFile          :708} create file(/tmp/cap_out.pcm) succeed


http://www.kler.cn/a/418378.html

相关文章:

  • model.zero_grad() 和 self.optimizer.zero_grad() 区别
  • 算法刷题Day5: BM52 数组中只出现一次的两个数字
  • spring-boot-maven-plugin 标红
  • 使用 pycharm 新建使用 conda 虚拟 python 环境的工程
  • 【JavaEE初阶 — 网络编程】Socket 套接字 & UDP数据报套接字编程
  • 前端框架Vue3项目实战(基于Vue3实现一个小相册)
  • 图论入门教程:GTM173 Graph Theory
  • centos里docker安装jenkins
  • python实现TCP Socket控制测试仪器
  • go语言的成神之路-筑基篇-对文件的操作
  • 基于LSTM的文本多分类任务
  • C、C++ 和 Java的区别
  • stm32 HAL读取GZP6816D传感器
  • 移远通信携手紫光展锐,以“5G+算力”共绘万物智联新蓝图
  • WPF控制文本框输入的小数点位数
  • 使用Dify与BGE-M3搭建RAG(检索增强生成)应用-改进一,使用工作流代替Agnet
  • Mybatis:接口方法中的参数传递
  • Vue 集成和使用 SQLite 的完整指东
  • SpringBoot开发——Spring Boot 3.3 高效批量插入万级数据的多种方案
  • 等保三级安全架构设计方案
  • Cent0S7 安装Redis
  • mybatis.mapper-locations=classpath:mapper/*.xml
  • 【Linux】Linux2.6内核进程调度队列与调度原理
  • 基于Java Springboot 家政服务管理系统
  • 【UE5 C++】判断两点连线是否穿过球体
  • Observability:如何在 Kubernetes pod 中轻松添加应用程序监控