Linux音频设置

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配置篇
  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Linux音频框架是一种用于处理和管理音频设备的软件架构。它提供了一组API和工具,使开发者能够在Linux系统上进行音频录制、播放和处理。 Linux音频框架的核心组件包括: 1. ALSA(Advanced Linux Sound Architecture):它是Linux标准的音频设备驱动架构,是Linux音频框架的基础。ALSA提供了对硬件音频设备的低级别访问,包括音频输入/输出、控制和MIDI接口等。它还提供了编程接口,使开发者能够使用标准C库调用来操作音频设备。 2. PulseAudio:PulseAudio是一种高级音频服务器,用于提供跨应用程序和网络的音频支持。它允许多个应用程序同时访问音频设备,提供了音频流的混音、均衡、延迟控制和音频设备的动态切换等功能。 3. JACK(Jack Audio Connection Kit):JACK是一种音频服务器,特别适用于专业音频应用的实时音频处理。它提供了低延迟、高精度的音频传输,并支持多通道、多设备和音频流的路由。 除了这些核心组件外,还有一些其他的音频框架可用于Linux系统,如OSS(Open Sound System)和GStreamer等。这些框架提供了更高级别的接口和功能,使开发者能够更便捷地进行音频处理。 总结起来,Linux音频框架提供了一套强大而灵活的工具和接口,使开发者能够轻松地进行音频录制、播放和处理。无论是个人用户还是专业音频应用开发者,都可以使用Linux音频框架来满足其音频处理需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值