瑞芯微(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
相关推荐
青春给了代码2 分钟前
基于WebSocket实现在线语音(实时+保存)+文字双向传输完整实现
网络·websocket·网络协议
island13149 分钟前
CANN GE(图引擎)深度解析:计算图优化管线、内存静态规划与异构 Stream 调度机制
c语言·开发语言·神经网络
云姜.12 分钟前
线程和进程的关系
java·linux·jvm
曹牧14 分钟前
Spring Boot:如何在Java Controller中处理POST请求?
java·开发语言
浅念-17 分钟前
C++入门(2)
开发语言·c++·经验分享·笔记·学习
WeiXiao_Hyy17 分钟前
成为 Top 1% 的工程师
java·开发语言·javascript·经验分享·后端
User_芊芊君子23 分钟前
CANN010:PyASC Python编程接口—简化AI算子开发的Python框架
开发语言·人工智能·python
饭饭大王66632 分钟前
CANN 生态深度整合:使用 `pipeline-runner` 构建高吞吐视频分析流水线
人工智能·音视频
Max_uuc33 分钟前
【C++ 硬核】打破嵌入式 STL 禁忌:利用 std::pmr 在“栈”上运行 std::vector
开发语言·jvm·c++
故事不长丨34 分钟前
C#线程同步:lock、Monitor、Mutex原理+用法+实战全解析
开发语言·算法·c#