linux音频测试记录

linux音频控制在驱动中一般是一个主设备号,一堆次设备号,我的开发板上对应的音频接口如下

查看声卡驱动
ls -l /dev/snd/*

/dev/snd/controlC0      /dev/snd/pcmC1D0c       /dev/snd/pcmC2D0p
/dev/snd/controlC1      /dev/snd/pcmC1D0p     /dev/snd/pcmC3D0c
/dev/snd/controlC2     /dev/snd/pcmC1D1c       /dev/snd/pcmC3D0p
/dev/snd/controlC3     /dev/snd/pcmC1D1p     /dev/snd/timer
/dev/snd/pcmC0D0c     /dev/snd/pcmC1D2c
/dev/snd/pcmC0D0p       /dev/snd/pcmC1D2p

 

一个声卡共用一个主设备号,里面很多设备,每个设备基本上都会有控制(control)(eg:音量控制),声音采集(capture)和声音播放(playback),三种次设备号

eg:

/dev/snd/controlC0  

/dev/snd/pcmC0D0c

/dev/snd/pcmC0D0p 

 

 我开发板上使用的驱动是tinyalsa

 

测试代码一般在开发板源码库上

eg:  /opt/EmbedSky/TQT507/linux-4.9/longan/test/dragonboard/src/lib/tinyalsa-master-2.0/

源码库中可能有多套测试代码,我这个就有三套源码,可以向厂家咨询或者自己尝试

编译过程中可能出现,参数错误一类的问题,那就换个源码库吧,开发板厂家的话,也只是参考,自己实际验证才是真理

 

 

 

 

./tinyplay music-44K1.wav -D 0 -d 0

对用驱动名称 /dev/snd/pcmC0D0p  

一般的都会将snd对应的编译成动态库进行调用,我嫌麻烦,直接编译在一起了

https://files.cnblogs.com/files/RYSBlog/tinyalsa-master-2.0.zip

 

//关于声音的其他基础知识(看完后再看程序就知道了)

多媒体文件格式(五):PCM / WAV 格式 - 知乎 (zhihu.com)

 

 

 

 

WAV文件头相关信息解析

 

 

 

 

 

 

更深入的学习

(131条消息) 视音频数据处理入门:PCM音频采样数据处理_雷霄骅的博客-CSDN博客_pcm绘制波形图

 

 

 

//

 

posted @ 2022-09-13 09:51  小城熊儿  阅读(381)  评论(0编辑  收藏  举报