瑞芯微(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
相关推荐
jingling5552 分钟前
Flutter | Dio网络请求实战
android·开发语言·前端·flutter
周末也要写八哥3 分钟前
C++中单线程方式之无脑上锁
java·开发语言·c++
向上的车轮5 分钟前
Next.js 入门指南:从零到一构建全栈应用
开发语言·javascript·ecmascript
都市放羊6 分钟前
网络小白自学网工——因特网与网络互联技术
网络·笔记·自学
武器大师726 分钟前
从零开始在 Linux 上编译运行 lvgljs 图形界面项目
linux·运维·服务器
freeinlife'8 分钟前
精准秒表计时器实现---基于js
开发语言·前端·javascript
剑神一笑8 分钟前
Linux free 命令深度解析:从内存监控到 OOM 排查的完整指南
linux·运维·服务器
東隅已逝,桑榆非晚11 分钟前
新手入门指南:认识 C 语言文件操作(上)
c语言·开发语言·笔记
cany100013 分钟前
C++ -- 动态内存分配和释放(new/delete)
开发语言·c++
brycegao32123 分钟前
Vue3+Go 全栈项目上线阿里云|从 0 到 1 踩坑全纪录
开发语言·阿里云·golang