瑞芯微(EASY EAI)RV1126B 音频输入

1. 声卡资源介绍

EASY-EAI-Nano-TB仅有一块由RV1126B主控输出的声卡。

通过串口调试或ssh调试,可以进入开发板终端。执行aplay命令查看声卡相关的详细信息,如下所示。

复制代码
arecord -l

1.1 硬件接口

硬件接口位置如下所示。

2. 声卡控制

Linux系统在应用层调用声卡,通常采用alsa(aplay,arecord,amixer)框架,本文只会描述本开发板平台相关的部分。如果用户想要进一步地了解alsa用法,可以通过开发者社区的《alsa使用简介》进行更进一步的了解。

2.1 音频录制

音频录制采用arecord命令进行。

复制代码
arecord -D plughw:0,0 -c 2 -r 44100 -f S16_LE 1234567.wav

以【Ctrl+C】组合键终止录制。

注意:录制单通道(-c 1)音频时,-f仅支持【S16_LE】和【S24_LE】两种采样位深。

2.2 录音音量调节

Card0录音音量【值】的【范围】是从 0到31

复制代码
amixer -c 0 cset name='ACodec_LP PGA Gain Volume' 0  ##设置Card0输出音量【值】为 0
amixer -c 0 cset name='ACodec_LP PGA Gain Volume' 16  ##设置Card0输出音量【值】为 16
amixer -c 0 cset name='ACodec_LP PGA Gain Volume' 31  ##设置Card0输出音量【值】为 31

注:此处的【值】是跟增益正相关的一个变量,但它既不是增益,也不是音量百分比。并且调整它,音量大小变化【不是线性】的。

2.3 录制命令详解

以cd格式录制(以【Ctrl+C】组合键终止录制):

复制代码
arecord -D hw:0,0 -f cd 1234567.wav

指定了cd录制格式,就相当于固定了声道(双声道)、采样率(44100Hz)和采样位深(S16_LE)

指定录制时间:

复制代码
arecord -D hw:0,0 -f cd -d 10 1234567.wav

-d 10:表示指定录制时间为10s后,录制自动结束

arecord更多的使用方法参考:

复制代码
arecord -h
相关推荐
Escalating_xu8 小时前
【C 语言】深入理解指针(1·下):指针运算、野指针、assert 与传址实战
java·c语言·开发语言
实心儿儿8 小时前
Qt — Qt 事件
开发语言·qt
周杰偷奶茶8 小时前
【Java】数据类型与变量
java·开发语言
code斗8 小时前
Java数据结构:堆详解
java·开发语言·数据结构
音视频牛哥8 小时前
四足机器人如何做好智慧电力巡检?从低延迟图传到可信巡检数据闭环
音视频·四足机器人·智慧电力巡检·whip whep·机器人巡检·工业音视频巡检·智能电力巡检技术方案
重生之小比特9 小时前
【C++进阶】map和set
java·开发语言·c++
圆圆讲门店9 小时前
挑选同城获客服务机构时需要考量的核心因素都有哪些?
大数据·网络·人工智能·python
lie..9 小时前
30天从零开始学AI应用开发(Day 12):像产品一样稳:流式输出、报错重试、花钱控制
开发语言·人工智能·php
傻啦嘿哟9 小时前
Python的默认参数把我坑惨了,原来写[]和写None的区别这么大
开发语言·python·机器学习
DeepAgent9 小时前
AI Agent 工程实践(49):一次真实优化——从 Agent v1 到 v2
开发语言·人工智能·agent