音频处理
hfutrlj
这个作者很懒,什么都没留下…
展开
-
PulseAudio 模块化实现录音和放音
从虚拟设备获取音频数据(playback)1.加载虚拟输出设备pacmd load-module module-pipe-sink file=/tmp/output format=s16le rate=44100 channels=22.设置虚拟输出设备为默认输出设备pacmd list-sinks 查看输出设备名称pacmd set-default-sink fifo_output(虚拟输出设备名称为fifo_output)#include <stdio.h>#includ原创 2021-10-15 16:41:20 · 1831 阅读 · 0 评论 -
音频开发之——PulseAudio
pulseaudio為一個audio service,如下图OSS sink表示输出音源部分,从PulseAudio要转到声音设备的介面。OSS source表示输入音源部分,任何需要进入到PulseAudio的声音,都会经由source介面。PulseAudio服务软件架构,将来自各个不同的音源转到正确的窗口,针对不同的应用程式做音量的调整,接受多个音源的输入(source)或是输出(sink)。pactl命令可以修改伺服器的设置以及配置,但pactl命令仅限于局限的范围。若要..原创 2021-10-15 16:20:21 · 2746 阅读 · 0 评论 -
linux声音系统(应用程序和声卡的交互)
1.linux声卡驱动Linux声音系统底层驱动主要有OSS和ALSA两套API。音频驱动是底层硬件声卡和上层音频应用的桥梁。其中放音是声卡将上层传输下来的数字数据转化为模拟数据进行放音,录音是声卡将获取到的模拟数据转化为数字数据传输给上层。2.应用程序和声卡驱动的交互方式2.1直接和底层驱动OSS和ALSA两种驱动交互该方式较为直接,可直接调用底层驱动的api实现放音和录音功能。2.2通过声音服务和底层驱动交互 2.2.1 ESD ESD 一直是 Gnome...原创 2021-10-13 21:03:18 · 767 阅读 · 0 评论 -
音频文件大小计算
采样频率:单位时间内的采样次数。采样频率越大,采样点之间的间隔就越小,数字化后得到的声音就越逼真,对应的数据量就越大。声卡一般提供11.025kHZ、22.05kHZ和44.1kHZ等不同的采样频率。采样位数:记录每次采样值数值大小的位数。采样位数通常有8bit和16bit两种,采样位数越大,能记录声音的变化度就越细腻,相应的数据量就越大。声道数:处理的声音是单声道还是立体声。单声道只有单数据流,立体声有左右两个声道的数据流。不经过压缩,原始裸数据的计算公式为:数据量(字节/秒) = (原创 2021-09-18 10:40:51 · 4166 阅读 · 0 评论