使用Ubuntu录制声音(兼容Debian)

安装软件包

sudo apt-get update   #更新软件源,最好使用国内的软件源,如何配置源参考百度。
sudo apt-get upgrade  #升级软件包
sudo apt-get install alsa-utils alsa-tools alsa-tools-gui alsamixergui #安装所需软件包

查看音频设备
在安装完软件包之后,就可以使用相应的命令来查看相应的设备了:

arecord -l

将会列出系统中可用的设备:

card 0: PCH [HDA Intel PCH], device 0: CS4206 Analog [CS4206 Analog] Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 1: CS4206 Digital [CS4206 Digital] Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: Device [USB PnP Sound Device], device 0: USB Audio [USB Audio] Subdevices: 1/1
Subdevice #0: subdevice #0
card 2: Device_1 [USB PnP Sound Device], device 0: USB Audio [USB Audio] Subdevices: 1/1
Subdevice #0: subdevice #0

在我的电脑中存在四个设备,他分分别是card0,0、card0,1、card1,0、card2,0。其中card0是电脑中内置一块声卡,其中他的两个设备是左右两个声道。card1和card2是我买来的两块USB外置声卡。

开始录音
使用外置声卡录音:

arecord -D "plughw:1,0" -f S16_LE -r 16000 -d 5 -t wav file.wav

命令解释:

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


一个需要注意的事:一开始我录音的时候没有添加plug这个词,直接使用了hw:1,0来表示录音设备,的到了这样的提示:

Warning: rate is not accurate (requested = 16000Hz, got = 44100Hz)  please, try the plug plugin 

从字面意思来看意思是我使用的采样率不准确,希望得到16K采样,结果却的到了44.1K采样,其实问题不是我们的采样率不准确,而是我们的声卡是USB外置声卡,需要使用plughw:1,0这样的方法来标识。更改之后就正常了。

验证录音
播放录音的指令:

aplay file.wav 

使用aplay软件播放名字叫file.wav的文件,它会向我们提供一些提示信息:

Playing WAVE 'file.wav' : Signed 16 bit Little Endian, Rate 16000 Hz, Mono

正在播放file.wav文件,有符号16位整形,小端序,16K采样率,单声道

阅读更多
版权声明:如果需要转载的话,能留下我的名字,我会万分感谢! https://blog.csdn.net/yogine/article/details/46790763
个人分类: Search
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

使用Ubuntu录制声音(兼容Debian)

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭