linux 查看声卡设备并测试录音 (ALSA 音频工具)

测试环境 ubuntu12 与其他linux 系统大同小异

        高级Linux声音体系(英语:Advanced Linux Sound Architecture,缩写为ALSA)是Linux内核中,为声卡提供的驱动组件,以替代原先的OSS(开放声音系统)。 一部分的目的是支持声卡的自动配置,以及完美的处理系统中的多个声音设备,这些目的大多都已达到。另一个声音框架JACK使用ALSA提供低延迟的专业级音频编辑和混音能力。

       ALSA是一个完全开放源代码的音频驱动程序集,除了像OSS那样提供了一组内核驱动程序模块之外,ALSA还专门为简化应用程序的编写提供了相应的函数库,与OSS提供的基于ioctl的原始编程接口相比,ALSA函数库使用起来要更加方便一些。利用该函数库,开发人员可以方便快捷的开发出自己的应用程序,细节则留给函数库内部处理。当然ALSA也提供了类似于OSS的系统接口,不过ALSA的开发者建议应用程序开发者使用音频函数库而不是驱动程序的API。

Linux 下查看声卡型号命令

lspci -v | grep Audi 

  返回:2:02.0 Multimedia audio controller: Ensoniq ES1371 [AudioPCI-97] (rev 02)
    Subsystem: Ensoniq Creative Sound Blaster AudioPCI64V, AudioPCI128

linux下查看音频设备

cat /proc/asound/cards

返回:0 [AudioPCI       ]: ENS1371 - Ensoniq AudioPCI
                      Ensoniq AudioPCI ENS1371 at 0x2040, irq 16

安装适用ALSA的音频工具,查看测试Linux 音频设备

安装软件包:

apt-get install alsa-utils alsa-tools alsa-tools-gui alsamixergui -y

列出音频设备:

arecord -l
返回:

**** CAPTURE 硬體裝置清單 ****
card 0: AudioPCI [Ensoniq AudioPCI], device 0: ES1371/1 [ES1371 DAC2/ADC]
  子设备: 1/1
  子设备 #0: subdevice #0

录音测试:

录制一个几秒的声音

arecord -D "plughw:0,0" -f S16_LE -r 16000 -d 5 -t wav file.wav
指令 含义 本指令含义
-D 选择设备名称 使用系统自带声卡plughw:0,0
-f 录音格式 S16_LE代表有符号16位小端序
-r 采样率 16000是16KHz采样
-d 录音时长 录音5秒
-t 录音格式 wav格式
file.wav 文件名,可以包含路径 文件名字叫 file.wav

 播放测试:

aplay file.wav 

 

你可能感兴趣的:(LinuxC)