抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

有的时候感觉同一个音乐文件,在linux和windows下播放听起来不太一样,研究了一下,原来pulseaudio默认配置没有发挥出声卡最大的潜能。在网上找到的音质提升方法如下,留作记录:

首先去 /proc/asound/ 文件夹找到你的声卡文件夹,找到类似card0、card1的文件夹,这都是你设备的声卡,找到你需要用的声卡文件夹,里面有一个codec#的文件,用记事本的方式打开它,能看到类似这样的

1
2
3
Default PCM:
rates [0x7e0]: 44100 48000 88200 96000 176400 192000
bits [0xa]: 16 24

上面是我的声卡支持的采样率(每个声卡都是不一样的,如果用了声卡不支持的工作数值,会导致出现问题),我的声卡最高支持24bit和192000Hz。 查看当前Linux前系统的声卡采样率(终端输入代码后,在最上方看得到)。

1
pacmd list sinks

接下来,终端输入 PS:在操作之前先备份/etc/pulse/daemon.conf文件

1
sudo cp /etc/pulse/daemon.conf /etc/pulse/daemon.conf.bak

正式开始改善Linux音质:

1
sudo gedit /etc/pulse/daemon.conf

在这个文件找到这两段话:

1
2
;default-sample-format = s16le
;default-sample-rate = 44100

我们需要把代码前面的分号去掉,并且改动后面的数值,后面的数值需要用到上一步找到的声卡支持的工作参数,以我的声卡为例,把数值改到最高

1
2
default-sample-format = s24le
default-sample-rate = 192000

改动完毕后,重启计算机就可以生效了。 还有一个扩展的数值,同样在这个文件找到这一段代码:

1
;resample-method = speex-float-1

我把它改成(如果要用到这段话,同样要去掉代码前面的分号):

1
resample-method = speex-float-6

末尾的数值理论上越高越好,数值不一定多少都可以适配的,有些人调到6不能出声,而我的这台机子可以,所以建议从最小的1往上调。

以下是另一篇文章,对各参数有说明:

1
2
pacmd list-sinks | grep sample

查看当前声卡设备的频率,当然大部分默认都是sample spec: s16le 2ch 41000Hz的值,所以需要修改。

1
2
sudo vim /etc/pulse/daemon.conf

首先注释掉现有的包括 resample-method = speex-float-1之类的语句
手动添加

1
2
3
4
resample-method = src-sinc-medium-quality
default-sample-format = s24le
default-sample-rate = 96000

s241e指的就是24bit,96000自然就是96Hz了,具体数值视声卡而定,比如Sony PHA-1支持24bit 96Hz就可以这么设置,而我家里的华硕老虎卡支持24bit 192Hz,那么就可以将第二个改成192000了。

1
2
3
pulseaudio -k
pulseaudio --start

重启pulseaudio生效

这里要提及的是resample-method中的src-sinc-medium-quality不是最高设置,最高的是src-sinc-best-quality,不过启用后你会发现不但CPU占用飙升:

选区_278.png

而且还有破音,根据Archlinux的相关wiki还有pulseaudio的文档来看,src-sinc-best-quality还是有很多问题,老老实实用src-sinc-medium-quality好了……

那么声音有变化吗?最近在撸PSV完全没怎么听……当然这个最好还是得配合HiRes的音频资源才有效啊……

当然这种情况下如果你遇到问题,可以将配置改回去就是了……

重点就是resample-method的方式,比如medium下会在某些声音里破音什么的,那就改成speex-float-5好了,从0-10分别代表音频质量的坏到好,10的档次我相信你的机器承受不了。

最后我使用的配置:

1
2
3
4

resample-method = speex-float-5
default-sample-format = s24le
default-sample-rate = 96000

最后说明一下,如果你在使用蓝牙耳机的时候出现了破音现象,那么可能就与这个配置有关,可以考虑把 Speex-float-5 的采样方式更换为 soxr-vhq ,即可解决问题。

评论

留下神评妙论