Linux声音调整大全

/ Linux / 没有评论 / 5234浏览

linux设置默认声卡

  1. 首先,我们Ctrl+Alt+T,启动Linux命令行
  2. 输入命令apt-get install alsa-base,若是提示已经安装,就不用安装了,否则等待安装完成
  3. 执行alsamixer,这时候会出现一个图形界面,用F6可以选择声卡的工作模式,就知道自己有几个声卡了
  4. 工作模式一般都选择Default,就是选择默认的那张声卡
  5. 或者还有办法,重新打开一个命令行 输入cd /proc/asound和ls,这样也可以看到自己有几个声卡
  6. 再输入命令
vi /etc/asound.conf

如果想把card11 设置为默认,写入以下内容

defaults.ctl.card 1
defaults.pcm.card 1
defaults.timer.card 1

这样也可以操作

ubuntu下使用HDMI时输出无声音的解决方法

这个问题碰到几次了,第一次是刚给显示器接用HDMI线的时候,后来给Ubuntu更新内核后又碰到了,特此记录一下。

使用HDMI会默认将视频和声音都由其输出,然后声音经由HDMI线从主机直接走到显示器后出来(好像不走声卡直接输出?),可以接音箱或者耳机,但插孔在背后,操作很麻烦,一般还是习惯使用主机上的接口。所以目的很明确,就是将声音分隔出来走原来的通道

步骤如下:

  1. 确保音频输出正常
  2. 进入终端,在alsa中设置音频输出,使其不为静音状态
$ alsamixer

找到<S/PDIF 1>那项,有些机器可能是<S/PDIF>。如果其值为'MM',按m键将其调为'00', 按Esc退出

  1. 设置输出模式 进入Ubuntu声音设置中的‘硬件’选项卡,将配置设为'模拟立体声双工'。顺利的话,这时声音就出来了

Linux Ubuntu13.10产生的杂音(破音)解决方法

step1、打开alsa高级设置:sudo alsamixer

step2、按F5打开所有音轨

step3、左右方向键选择音轨,上下方向键调节音量,把每个出现红色的音量跳调至绿色

step4、按ESC退出。 会立即生效,不需要重启

ubuntu 一直存在着杂音问题,看电影听歌都很不爽。 尝试过修改系统的音效设置(系统-首选项-音效),但是效果不理想。 后来看到一位仁兄的办法,其实很简单。

  1. 打开alsa高级设置,$:sudo alsamixer
  2. 按F5打开所有音轨;
  3. 左右方向键选择音轨,上下键调节音量,把每个出现红色的音量跳调节到绿色;
  4. 按ESC退出。 设置立即生效,不需要重启设备。 注: 关于ubuntu 8.10对声卡驱动的修改。
  5. 从8.10开始,ubuntu默认声卡驱动是pulseaudio,不是直接驱动声卡硬件,而是作为一个上层的中间件。由于pulseaudio毕竟是应用层软件,所以使用效果不是很好。 在上面的修改基础上,最好是将‘音效’里的所有选项都改为‘ALSA-高级Linux声音架构’,并将alsa更新到最新版本,目前源里的最新版本是1.0.17,alsa官网的最新版本是1.0.19。 另外,有的网友提议在启动项里取消pulseaudio,并杀掉pulseaudio进程,个人觉得没多大必要。

Ubuntu 14.04中修复默认启用HDMI后没有声音的问题

声音问题在Ubuntu中是老生常谈了。先前我已经在修复Ubuntu中的“无声”问题一文中写到了多种方法,但是我在此正要谈及的声音问题跟在另外一篇文章中提到的有所不同。

因此,我安装了Ubuntu 14.04,实际上是重新安装了一遍。一如既往,我将全新安装Ubuntu 14.04后要做的事全部又重新做了一遍。然后,我意识到系统突然失声了。当我正侦查问题所在之时,我发现了一件奇怪的事情。我检查了alsamixer,发现它的状况有点离奇。

┌────────────────────────────── AlsaMixer v1.1.3 ──────────────────────────────┐
│ Card: HDA Intel HDMI                                 F1:  Help               │
│ Chip: Intel Haswell HDMI                             F2:  System information │
│ View: F3:[Playback] F4: Capture  F5: All             F6:  Select sound card  │
│ Item: S/PDIF                                         Esc: Exit               │
│                                                                              │
│                                                                              │
│                                                                              │
│                                                                              │
│                                                                              │
│                                                                              │
│                                                                              │
│                   ┌──┐     ┌──┐     ┌──┐     ┌──┐     ┌──┐                   │
│                   │OO│     │OO│     │OO│     │OO│     │OO│                   │
│                   └──┘     └──┘     └──┘     └──┘     └──┘                   │
│                < S/PDIF >S/PDIF 1 S/PDIF 2 S/PDIF 3 S/PDIF 4                 │
│                                                                              │
│                                                                              │
│                                                                              │
│                                                                              │
│                                                                              │
│                                                                              │
│                                                                              │
└──────────────────────────────────────────────────────────────────────────────┘

正如你能看到的,alsamixer中默认设置了HDMI。这意味着默认情况下将使用HDMI输出,而不是内置扬声器。这就是我从系统上内置扬声器无法获得声音的原因。

使用下面的命令来检查alsamixer的状态:

alsamixer

如果alsamixer默认设置成了HDMI或者其它声音输出,那就继续读下去吧,看看我们是怎么来修复这个问题的。

修复默认设置成HDMI时Ubuntu的失声问题

现在来强制Ubuntu使用模拟输出来取代默认的HDMI,但我们还需要一点点信息。打开终端,然后使用下列命令:

aplay -l

这会列出设备,卡号之类的东西。注意,向下检查模拟输出使用的卡和设备编号。我的输出如下所示:

**** List of PLAYBACK Hardware Devices ****
card 0: HDMI [HDA Intel HDMI], device 3: HDMI 0 [HDMI 0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: HDMI [HDA Intel HDMI], device 7: HDMI 1 [HDMI 1]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: HDMI [HDA Intel HDMI], device 8: HDMI 2 [HDMI 2]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: HDMI [HDA Intel HDMI], device 9: HDMI 3 [HDMI 3]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: HDMI [HDA Intel HDMI], device 10: HDMI 4 [HDMI 4]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
# 这应该是你要设置的默认声卡
card 1: PCH [HDA Intel PCH], device 0: ALC887-VD Analog [ALC887-VD Analog]
  Subdevices: 0/1
  Subdevice #0: subdevice #0

一旦你取得了所需的卡和设备编号,重新构建一个配置文件:

sudo gedit /etc/asound.conf

上面的命令也会打开文件,将下面两行添加进去,当然将卡和设备编号替换成你自己的:

defaults.pcm.card 1
defaults.ctl.card 1
defaults.timer.card 1
defaults.pcm.device 0
defaults.ctl.device 0
defaults.timer.device 0

保存文件,并重启计算机。现在,你应该听到声音了吧。需要提一下的是,这对所有的Linux发行版都有效,如Linux Mint,Elementary OS,Fedora,Arch Linux等等都可以。正如我之前所说,该“失声疗法”仅针对HDMI被设置为默认设备的情况。对于其它情况,你可以阅读关于在Ubuntu和Linux Mint中修复失声问题这篇文章

alsamixer auto-mute 未关闭,重启后静音

arch 下的 alsamixer 声音设置好后,重启又重新变为静音,好奇怪。开始还在纠结是 alsa 服务的问题,纯属自扰。杯具在于:alsamixer 中的 Auto-Mute M 选项没有 Disable 掉,关闭 自动静音 就 Ok 了。

如何保存AlsaMixer设置? 您好我已经尝试了程序”EarCandy”,现在我遇到了很多问题。起初我没有得到任何声音,现在它的音量非常低。 PS Earcandy现在已从我的硬盘中删除。

alsamixer

当我打开Alsamixer时:

┌────────────────────────────────────────────── AlsaMixer v1.1.3 ───────────────────────────────────────────────┐
│ Card: HDA Intel PCH                                                                   F1:  Help               │
│ Chip: Realtek ALC887-VD                                                               F2:  System information │
│ View: F3:[Playback] F4: Capture  F5: All                                              F6:  Select sound card  │
│ Item: Headphone [dB gain: -64.00, -64.00]                                             Esc: Exit               │
│                                                                                                               │
│    ┌──┐     ┌──┐     ┌──┐     ┌──┐     ┌──┐     ┌──┐     ┌──┐     ┌──┐     ┌──┐     ┌──┐     ┌──┐             │
│    │  │     │  │     │▒▒│     │▒▒│     │  │     │  │     │▒▒│     │▒▒│     │▒▒│     │  │     │  │             │
│    │  │     │  │     │▒▒│     │▒▒│     │  │     │  │     │▒▒│     │▒▒│     │▒▒│     │  │     │  │             →
│    │  │     │  │     │▒▒│     │▒▒│     │  │     │  │     │▒▒│     │▒▒│     │▒▒│     │  │     │  │             →
│    │  │     │  │     │▒▒│     │▒▒│     │  │     │  │     │▒▒│     │▒▒│     │▒▒│     │  │     │  │             →
│    │  │     │  │     │▒▒│     │▒▒│     │  │     │  │     │▒▒│     │▒▒│     │▒▒│     │  │     │  │             →
│    │▒▒│     │  │     │▒▒│     │▒▒│     │▒▒│     │  │     │▒▒│     │▒▒│     │▒▒│     │  │     │  │             →
│    │▒▒│     │  │     │▒▒│     │▒▒│     │▒▒│     │  │     │▒▒│     │▒▒│     │▒▒│     │▒▒│     │  │             →
│    │▒▒│     │  │     │▒▒│     │▒▒│     │▒▒│     │  │     │▒▒│     │▒▒│     │▒▒│     │▒▒│     │  │             →
│    │▒▒│     │  │     │▒▒│     │▒▒│     │▒▒│     │  │     │▒▒│     │▒▒│     │▒▒│     │▒▒│     │  │             │
│    │▒▒│     │  │     │▒▒│     │▒▒│     │▒▒│     │  │     │▒▒│     │▒▒│     │▒▒│     │▒▒│     │  │             │
│    ├──┤     ├──┤     └──┘     ├──┤     ├──┤     └──┘     ├──┤     ├──┤     ├──┤     ├──┤     └──┘   Enabled   │
│    │OO│     │MM│              │OO│     │MM│              │OO│     │OO│     │OO│     │OO│                      │
│    └──┘     └──┘              └──┘     └──┘              └──┘     └──┘     └──┘     └──┘                      │
│     50      0<>0    98<>98  100<>100  47<>47    0<>0   100<>100   100      100     44<>44    0<>0             │
│   Master <Headphon>  PCM     Front   Front Mi Front Mi Surround  Center    LFE      Line   Line Boo Auto-Mut  │
└───────────────────────────────────────────────────────────────────────────────────────────────────────────────┘

我看到扬声器的音量为零。现在我把它推到最大音量。但每次重启后,我必须再次打开alsamixer,并且必须再次将音量设置为max。我可以保存alsamixer的设置,还是有其他方法可以解决问题?

最佳解决方法

执行:

sudo alsactl store

这应该将alsamixer配置保存到每次启动时加载的/etc/asound.state。

次佳解决方法

您还可以使用alsactl将调音台设置保存到自定义文件中:

alsactl --file ~/.config/asound.state store

重装:

alsactl --file ~/.config/asound.state restore

第三种解决方法

SeppoErviälä的回答是对的但不完整。正如dma_k已经指出的那样,man alsactl最后明确指出,

/var/lib/alsa/asound.state (or whatever file you specify with the -f flag) is used to store current settings for your soundcards.

palacsinit恰当地指出您可以将配置存储到您的文件中

alsactl --file ~/.config/asound.state store

并重新加载

alsactl --file ~/.config/asound.state restore

将第二行(restore命令)放入.desktop文件可以进一步改善这一点。

您需要运行nano ~/.config/autostart/alsarestore.desktop,它将打开nano文本编辑器并创建~/.config/autostart/alsarestore.desktop文件。 ~/.config/autostart/目录中的条目用于在启动/图形登录时为特定用户自动启动程序和服务。

.desktop文件的内容应如下所示:

[Desktop Entry]
Type=Application
Terminal=false
Name=alsarestore
Exec=alsactl --file ~/.config/asound.state restore

除此之外,您可以将您的配置存储在/etc/asound.state中并将其符号链接到/var/lib/alsa/asound.state,但这个更多的是建议而不是经过测试的解决方案