ALC892 低声音问题已通过更改 alsa 配置修复,为什么有效?

Die*_*sel 5 sound alsa 14.04

我更新到 14.04。我的声音立即从正常过渡到非常安静,听起来像是最大音量的 5%,尽管我的所有音量都设置正确。我尝试了很多方法来通过调整音量、重新加载 ALSA 等来修复它。

然后我运行'aplay -l',输出我有一个ALC892声卡。我用谷歌搜索了 14.04 和 ALC892 的问题,并找到了一个说要修改的解决方案

/etc/modprobe.d/alsa-base.conf
Run Code Online (Sandbox Code Playgroud)

并添加到文件末尾:

snd-hda-intel model=generic
Run Code Online (Sandbox Code Playgroud)

它工作并修复了它!现在,当我运行“aplay -l”时,它只会将我的声卡报告为 HDA Intel PCH。

我的问题是,为什么这可以修复我的声音?

小智 2

我不是 Linux 方面的资深专家,但这是我的理论:

插入命令块代码:

snd-hda-intel model=generic
Run Code Online (Sandbox Code Playgroud)

...本身就告诉我们一些事情。让我们把它分解一下。

snd-hda-intel”部分显然告诉Alsa声音设备头是基于Intel的单元。不用动脑子。然而,“model=generic”部分是有趣的部分。

model=generic,”至少对我来说,告诉 Alsa 我们正在为这个英特尔音频头寻找某种通用驱动程序。这有点像覆盖命令,以便 Alsa 为正确的硬件准确查找正确的内容。

有一天,当我不得不将我的计算机从旧的 AMD FM2+ 计算机升级到闪亮的新 i3 时,这成为了我的一个问题 - Alsa 并没有立即使用新的音频头。这告诉我 Alsa 有一个针对通用音频设备的预定义库。因此,指定您应该使用“ snd-hda-intel model=generic”告诉我,像 ALC892 这样的音频设备需要明确指定的库才能有效工作,例如“ generic ”,以实现所有意图和目的。

我并不是说我知道有关该主题的所有内容,因为这只是根据我自己的经验进行的估计。我知道这篇文章有点陈旧,但我认为至少应该以某种方式解释某种答案。

  • 我不能指责你的逻辑,但你可能会发现[这个](http://voices.canonical.com/david.henningsson/2012/07/13/top- Five-wrong-ways-to-fix-your-感兴趣的音频/)。 (2认同)