Linux音频设置
参考文档:https://wiki.archlinux.org/index.php/Advanced_Linux_Sound_Architecture
PCM 即脉冲编码调制 (Pulse Code Modulation)。在PCM 过程中,将输入的模拟信号进行采样、量化和编码,用二进制进行编码的数来代表模拟信号的幅度 ;接收端再将这些编码还原为原来的模拟信号。即数字音频的 A/D 转换包括三个过程 :采样,量化,编码。
PCH(intel的集成南桥)
主配置文件:/usr/share/alsa/alsa.conf
系统级别配置文件:/etc/asound.conf
用户级别配置文件:~/.asoundrc
alsa.conf 配置文件会读取 /etc/asound.conf 和 ~/.asoundrc 这两个文件的内容。
测试
# amixer sset Master unmute
如果出现error:
amixer: Unable to find simple control ‘Master’, 0
表示不能设置,可能是找不到声卡设备或者没有装声卡驱动。
# amixer scontrols
这一步的输出中如果没有包含 Master等选项,则说明默认声卡不对。
安装工具及驱动
在ALSA-utils的软件包提供了systemd单元的配置文件alsa-restore.service和alsa-state.service默认。
这些将在安装过程中自动安装和激活(通过提供的软件包链接到sound.target)。两者都不默认运行,它们由用户决定采用哪种方法。选项如下:
alsa-restore.service/var/lib/alsa/asound.state在启动时读取并在关闭时写入更新的值,前提是已经通过运行alsactl store某个点而存在。
alsa-state.service(重新)在用户alsactl daemon至少有意识地启动一次的情况下,以守护程序模式启动actact以连续跟踪并保持音量变化。
两种方法互斥,您可以根据需要选择两种方法之一。
您可以使用检查它们的状态systemctl。
# pacman -S alsa-utils # 包含alsamixer和amixer工具,alsamixer提供图形界面对音频设备进行配置,amixer是用于更改音频设置的shell命令。
# pacman -S alsa-firmware # alsa-firmware包含某些声卡的固件,
较新的笔记本可能安装sof-firmware和alsa-ucm-conf,它们使用Sound Open Firmware项目提供的固件来实现其驱动程序。
查看设备
查看有几个声卡设备
# cat /proc/asound/cards
查看声卡的card number和device number
# aplay -h # 查看帮助
# aplay -l # 列出所有的声卡和数字音频设备
设置默认声卡
# nvim /etc/asound.conf
defaults.pcm.card 1
defaults.pcm.device 0
defaults.ctl.card 1
关闭自动静音
方法一
# amixer -h # 查看帮助
# amixer sset Master unmute
# amixer sset Speaker unmute
# amixer sset Headphone unmute
# amixer set Master 10%+ # Master增加10%的音量
# amixer set Master 10%- # Master减少10%的音量
# amixer set Master 70% # Master音量设定为70%
方法二
# alsamixer
使用alsamixer,设置 Auto-Mute Mode 为 disable 即可。
通过F1~F6、ESC和方向键进行操作。
例如:F3:播放设置(扬声器设置) ,F4:录音设置(麦克风设置),F6:选择声卡
F5显示所有设置选项:
Master:主音量
Headphone:头戴式耳机音量
Speaker:扬声器音量
PCM:音频解析的清晰度
Mic Boost:增大音量,打开会易有杂音,语音聊天听不清时可以打开
Capture:麦克风音量
Auto-Mute Mode:自动调整为静音,一般选择disable
Lookback Mixing: 音频模拟,几乎用不上,一般选择disable
(在 alsamixer 中,下方标有 MM 的声道是静音的,而标有 00 的通道已经启用。)
保存alsamixer或amixer的配置内容
# sudo alsactl store # 必须要加sudo权限,因为需要将配置保存到/etc目录下的asound.state文件,否则不会生效
播放音频
音频文件:/usr/share/sounds/test.wav
# aplay -D hw:1,0 /usr/share/sounds/test.wav # hw后的的数字分别代表卡号和设备号
设置快捷键
请看DWM配置篇