[Linux] hang bitmélység, mintavételezési frekvencia és mintavételező beállítása

Van nekem egy elég faja külső hangkártyám és egy nem rossz belső. A külsőt nem tudtam maximális beállítások mellett használni Windows10 alatt, mert csak a Youtube hangja szólalt meg vele, a videólejátszók viszont nem tudtak videót lejátszani. Viszont feltűnt, hogy Linux alatt nincs ilyen gond és kíváncsi lettem, hogy milyen beállításokban működnek a hangkártyák.

Rá kellett jönnöm, hogy ahogy Windows alatt sem, úgy Linux alatt sem maximális minőségre állítva működnek a hangkártyák alapesetben.

Hangeszközök lekérdezése:
$ pacmd list-sinks | grep alsa.card
driver: <module-alsa-card.c>
card: 0 <alsa_card.pci-0000_07_04.0>
alsa.card = "0"
alsa.card_name = "Xonar DX"
driver: <module-alsa-card.c>
card: 1 <alsa_card.pci-0000_08_00.1>
alsa.card = "1"
alsa.card_name = "HDA ATI HDMI"
driver: <module-alsa-card.c>
card: 2 <alsa_card.pci-0000_0a_00.3>
alsa.card = "2"
alsa.card_name = "HD-Audio Generic"
driver: <module-alsa-card.c>
card: 4 <alsa_card.usb-C-MEDIA_Inc._USB2.0_High-Speed_True_HD_Audio-00>
alsa.card = "3"
alsa.card_name = "USB2.0 High-Speed True HD Audio"

Innen már tudjuk, hogy melyik kártya melyik. Ez pedig kiírja az előzőnek megfelelő sorrendben, hogy mi milyen beállításokban működik:
pacmd list-sinks | grep sample
sample spec: s16le 2ch 44100Hz
sample spec: s16le 2ch 44100Hz
sample spec: s16le 2ch 44100Hz
sample spec: s16le 2ch 48000Hz

Hát ez elég soványka így...

Jelen esetben a Xonar hangkártyám és a C-Media külső hangkártyám is jelentősen többet tud az alapértelmezett beállításoknál. Ez utóbbi 32biten 352800Hz-es mintavételezésre képes, vétek lenne kihagyni! Állítsuk át!

Az /etc/pulse/daemon.conf fájlban, ebben a blokkban:
; default-sample-format = s16le
; default-sample-rate = 44100
; alternate-sample-rate = 48000
; default-sample-channels = 2
; default-channel-map = front-left,front-right

Átírva így:
default-sample-format = s32le
default-sample-rate = 352800
; alternate-sample-rate = 48000
; default-sample-channels = 2
; default-channel-map = front-left,front-right

A módosításokhoz újra kell indítani a pulseaudio-t:
$ pulseaudio -k
$ pulseaudio --start

Ez lett az eredmény:

$ pacmd list-sinks | grep alsa.card
driver: <module-alsa-card.c>
card: 1 <alsa_card.pci-0000_07_04.0>
alsa.card = "0"
alsa.card_name = "Xonar DX"
driver: <module-alsa-card.c>
card: 2 <alsa_card.pci-0000_08_00.1>
alsa.card = "1"
alsa.card_name = "HDA ATI HDMI"
driver: <module-alsa-card.c>
card: 3 <alsa_card.pci-0000_0a_00.3>
alsa.card = "2"
alsa.card_name = "HD-Audio Generic"
driver: <module-alsa-card.c>
card: 5 <alsa_card.usb-C-MEDIA_Inc._USB2.0_High-Speed_True_HD_Audio-00>
alsa.card = "3"
alsa.card_name = "USB2.0 High-Speed True HD Audio"

$ pacmd list-sinks | grep sample
sample spec: s32le 2ch 192000Hz
sample spec: s32le 2ch 192000Hz
sample spec: s32le 2ch 192000Hz
sample spec: s32le 2ch 352800Hz

További lehetőség a mintavételező minőségének emelése. Részletek itt: [link]

A fent említett fájlban a ; resample-method = speex-float-1 sort kell cserélni, 16 bitig soxr-vh -ra, az felett pedig vhq-ra így:
resample-method=soxr-vhq

A módosításokhoz szintén újra kell indítani a pulseaudio-t:
$ pulseaudio -k
$ pulseaudio --start

Meglepetésemre, Linux alatt a C-Media hangkártyám kiválóan működik 32bit 352800Hz-es beállításokban, minden tökéletesen megy vele.

Na most lehet tesztelni, megfelelő cuccal és felvételekkel! :)

Hirdetés

3 pénzügyi döntés, amit minden kisvállalkozónak érdemes átgondolnia az év végéig

PR Ahogy az év vége közeledik, itt az ideje, hogy egy pillanatra megálljunk és áttekintsük vállalkozásunk pénzügyi helyzetét. Ne hagyjuk, hogy az év utolsó hónapjai elússzanak a sürgető feladatok és elfeledett határidők között!

Tovább a fórumba.