افزایش کیفیت صدا در لینوکس به وسیله تنظیم PulseAudio

استفاده از استیم در اوبونتو میتوانید تجربه دلچسبی باشد اما در برخی موارد وجود مشکلاتی نظیر تاخیر در پخش صدا و شکسته شدن صدای خروجی در زمان تحت فشار بودن پردازنده این تجربه دلچسب را به تجربه نچندان دلچسبی تبدیل میکند.در بازی هایی مانند CounterStrike:Global Offensive (CS:GO) وCivilization V این مشکلات  تأثیر و نمود بیشتری در تجربه مناسب کاربران پیدا میکند.امروز در این مطلب قصد داریم این مشکل را با تنظیم کردن PulseAudio و استفاده مناسب از قدرت کارت صدا حل نماییم.

برای نمایش کارت صدا های متصل به سیستم میتوانید از دستور زیر استفاده کنید:

pactl list sinks short

نتیجه مانند زیر خواهد بود:

0       alsa_output.pci-0000_01_00.1.hdmi-stereo-extra1 module-alsa-card.c      s32le 2ch 48000Hz RUNNING
1       alsa_output.pci-0000_00_1b.0.analog-stereo      module-alsa-card.c      s32le 2ch 192000Hz        SUSPENDED

در کامپیوتر بنده دو کارت صدا وجود دارد که هردوی آنها در 2 کانال صدا را با دامنه فرکانس 44KHz تولید میکند و این در حالی است که حداکثر توان کارت صدای دوم من ایجاد صدا با دامنه فرکانسی 192KHz است.معمولا کسانی که از پخش کننده های حرفه ای استفاده میکنند و علاقه مند به گوش دادن موسیقی با کیفیت هستند نیز تمایل به استفاده حداکثری دامنه فرکانسی هستند که کارت صدای آنها توانایی تولید آن را دارد.
همچنین قابل مشاهده است که حتی اگر یک موزیک توسط پلیر با سمپل ریت 96KHz و بیت ریت 24 bit پخش شود قبل از پخش بیت ریت به 16bit کاهش پیدا میکند و به طبع آن کیفیت صدا نیز کاهش پیدا میکند در تنظیمات زیر قادر خواهیم بود بیت ریت (bit rate) پیشفرض PulseAudio را افزایش دهیم.
قبل از هرکاری به وصیله دستورات زیر اطمینان حاصل کنید که بیشترین بیت ریت و بیشترین سمپل ریت پشتیبانی شده توسط کارت صدای شما چه مقدار است:
دستور نمایش بیت ریت:

cat /proc/asound/card0/codec#0 |grep bit

با توجه به مقادیر نمایش داده شده در بالا بخش default-sample-format را در تنظیمات ویرایش کنید.
دستور نمایش سمپل ریت:

cat /proc/asound/card0/codec#0 |grep rates

با توجه به مقادیر نمایش داده شده توسط دستور بالا بخش default-sample-rate را در تنظیمات ویرایش کنید.

*نکته:در صورتی که دو کارت گرافیک دارید به جای card0 از card1 و... در دستورات بالا استفاده کنید.


برای شروع باید فایل daemon.conf را که تنظیمات اصلی PulseAudio در آن قرار دارد ویرایش نماییم.با یک این فایل در مسیر مقابل پیدا کنید :

/etc/pulse/daemon.conf

دستور پیشنهادی برای ویرایش این فایل در اوبونتو:

sudo gedit /etc/pulse/daemon.conf

و برای کاربرانی که از میزکار kde استفاده میکنند دستور :

kwrite sudoedit /etc/pulse/daemon.conf

تنظیمات پیشنهادی برای این فایل:

# Start as daemon
daemonize = yes
allow-module-loading = yes
# Realtime optimization
high-priority = yes
nice-level = -11
realtime-scheduling = yes
realtime-priority = 9
# Scales the device-volume with the volume of the "loudest" application
flat-volumes = no
# Script file management
load-default-script-file = yes
default-script-file = /etc/pulse/default.pa
# Sample rate
resample-method = speex-float-9
default-sample-format = s24-32le
default-sample-rate = 192000
alternate-sample-rate = 44000
exit-idle-time = -1
# Optimized fragements for steam
default-fragments = 5
default-fragment-size-msec = 2
# Volume
deferred-volume-safety-margin-usec = 1

*نکته: برای اینکه این تنظیمات توسط PulseAudio خوانده شوند لازم است ; (سمی کالن) قبل از دستورات حذف شود.

بعد از اعمال تنظیمات پیشنهاد میشود سیستم را یک مرتبه reboot کرده و از کیفیت صدای کامپیوتر خود لذت ببرید.

175600
TodayToday209
YesterdayYesterday223
This_WeekThis_Week463
This_MonthThis_Month4409
All_DaysAll_Days175600