
音频之ALSA框架
文章平均质量分 73
学习Linux 音频ALSA框架
future_sky_word
好好生活。
展开
-
六、ALSA lib库接口
使用 ALSA 的 lib 库中的 snd_pcm_xxx 等标准接口函数,操作 /dev/snd/pcmC0D0c或pcmC0D0p 等录放音设备节点,相当于在 OSS 框架下通过 ioctl 设置不同参数去操作 /dev/dsp 设备ALSA功能丰富,可以设置音频参数,DMA buffer 大小、分块数量,buffer 阀值等。原创 2023-03-05 16:24:28 · 4947 阅读 · 0 评论 -
五、调试声卡pcm设备
通过 buffer_size 可计算出 buffer 的时间长度:例如48k采样频率,缓存 buffer 大小为1024帧, 缓存时间是(1024 / 48000) * 1000 = 21ms。声卡分两种通道,一种是Capture、一种是Playback。Capture是输入通道,Playback是输出通道。例如pcm0p属于声卡输出通道,pcm0c属于声卡输入通道。原创 2022-12-31 13:54:38 · 2400 阅读 · 1 评论 -
四、音频如何从USB输入输出
USB接口进行音频的输入输出原创 2022-06-22 21:34:30 · 9795 阅读 · 0 评论 -
三、声卡接口概述
一、声卡接口1.1 Line in 接口输入未经放大芯片放大的模拟音频信号,主要用于连接电吉他、电子琴、合成器等外界设备的音频信号输出的录音,因为这些设备本身输出功率就比较大,不需要对信号进行放大1.2 Mic in 接口连接麦克风录音使用的,与Line in的区别在于 Mic in 有前置放大器,也就是说麦克风本身输出功率小,因此需要一个外部放大设备来放大音频信号1.3 Line Out 接口用来输出未经放大芯片放大的模拟音频信号,功率小,驱动能力弱,一般以3.5mm插孔作为载体,只能输出到其原创 2022-05-02 11:04:17 · 6120 阅读 · 0 评论 -
二、PCM设备
1、PCM设备的命名ALSA的API 库使用的是逻辑设备名,而不是具体的设备文件。因此设备名字可以是真实的硬件名字也可以是插件名字1. 硬件名字:使用 hw:i,j 这样的格式。其中i是声卡的卡号,j是这块声卡上的设备号。2. 插件名字:唯一性。例如 plughw:0,0 ,不提供对硬件设备的访问,仅提供如采样率这样的软件特性2、声音缓存和数据传输2.1 传输原理每个声卡都有一个硬件缓存区来保存记录下来的样本。当缓存区足够满时,声卡将产生一个中断。内核声卡驱动然后使用直接内存 DMA 访问通道原创 2022-05-01 22:50:21 · 1383 阅读 · 0 评论 -
一、认识PCM
1、概述1.1 什么是pcmpcm:脉冲编码调制,是将模拟信号转化为数字信号的一种方法。声音的转化的过程为:先对连续的模拟信号按照固定频率周期性采样将采样到的数据按照一定的精度进行量化,量化后的信号和采样后的信号差值叫做量化误差将量化后的数据进行最后的编码存储,最终模拟信号变化为数字信号1.2 pcm属性、量化指标采样率: 单位时间内采样的次数,以Hz为单位,采样频率越高,对信号的还原度越高越高 采样位数: 一个采样信号的位数,也是对采样精度的变现位深度:表示用多少个二进制位来描原创 2022-05-01 22:18:51 · 5754 阅读 · 0 评论