2024. április 27., szombat

Gyorskeresés

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

Írta: | Kulcsszavak: linux . pulseaudio . sample . rate . bitrate . frequency . s16le . s24le . s32le

[ ÚJ BEJEGYZÉS ]

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! :)

Hozzászólások

(#1) Cifu


Cifu
nagyúr

Lol. Fel sem merült, hogy a hangkártya képességeit nem használja ki az OS. Megnézem nálam majd mi a helyzet. :)

Egyébként van észrevehető különbség?

Légvédelmisek mottója: Lődd le mind! Majd a földön szétválogatjuk.

(#2) CPT.Pirk válasza Cifu (#1) üzenetére


CPT.Pirk
Jómunkásember

Szerintem van, de nekem sincs mérő cuccom, amivel alá is lehetne támasztani a hallottakat. :)

Az én szubjektív véleményem az, hogy a mintavételező váltásával együtt bizony részletesebb lett a hangkép, mondom ezt fejhallgatóval hallgatva a C-Mediás épített erősítőmet.

Nincs más - csak egy szál gitár - szidom a rendszert - forradalmár. - Én vagyok egyedül 88 telén. (Auróra)

(#3) anorche1


anorche1
őstag

Koszi a leirast :R

Le tudom valahogy kerdezni, hogy mit birhat a gepem, mire allithatom at? Egy e6440 rol van szo, kulso hangkartya nelkul, csak a gyari, integralt. Neten kerestem, de nem talaltam :(

"It never gets easier, you just go faster." Greg LeMond

(#4) CPT.Pirk válasza anorche1 (#3) üzenetére


CPT.Pirk
Jómunkásember

Azt nem tudom, de ha megemeled a maximumot a cikk szerint, akkor úgy is csak arra fog beállni, amit tud a hardver. :)

Nincs más - csak egy szál gitár - szidom a rendszert - forradalmár. - Én vagyok egyedül 88 telén. (Auróra)

(#5) Polllen válasza CPT.Pirk (#2) üzenetére


Polllen
nagyúr

Én azt javaslom, hogy a frekvencia mindig egyezzen meg a felvétel frekijével. Persze a hangkártyát feltekerheted maxra, de akkor a lejátszóban legyen egy jó megoldás a konvertáláshoz.

A bitmélység emelése jó, mert így a digitális hangerő-szabályzásnál többet tudsz halkítani mielőtt romlana a minőség.

Konyhanyelven. :P

"Odamentem egy párhoz...négyen voltak!"

(#6) CPT.Pirk válasza Polllen (#5) üzenetére


CPT.Pirk
Jómunkásember

De ezt hogyan? Tök eltérő formátumban vannak a cuccaink, folyamatosan kapcsolgatni kellene oda-vissza.

Valamint itt a konvertálást nem a lejátszó csinálja, hanem azt a pulseaudio mintavételezője, amit szintén átállítottunk.

Nincs más - csak egy szál gitár - szidom a rendszert - forradalmár. - Én vagyok egyedül 88 telén. (Auróra)

(#7) Polllen válasza CPT.Pirk (#6) üzenetére


Polllen
nagyúr

Nálam úgy van beállítva a lejátszó, hogy mindig a felvétel frekvenciáját használja. Így nem kell kapcsolgatni semmit. Ha 44.1, akkor úgy megy ki, ha 192 (amiből összesen 2 albumom van), akkor meg úgy. (libreelec, win10+foobar)
Csak a felső plafon van beállítva, amit a dac tud, tehát a frekvenciába semmilyen beavatkozást nem hagyok.
Amikor olyan dac-m volt, ami csak 44.1-t tudott, akkor meg beállítottam egyszer, hogy milyen frekvenciákat kell 44.1-re konvertálni.

Amúgy olyan nagyon eltérő frekvenciák nem igazán lehetnek zenénél. A sztereó mainstream a 44.1, a veszteségmentesnél meg 192. Ettől eltérőt vadászni kell.

Filmeknél meg a 48 a mainstream, nem?

"Odamentem egy párhoz...négyen voltak!"

(#8) CPT.Pirk válasza Polllen (#7) üzenetére


CPT.Pirk
Jómunkásember

Win10... Ott valami visszaépült, mert ezt a C-Media cuccot Win7 alatt meg tudtam hajtani maximális beállításokban, 10 alatt meg már nem... Mondjuk se a foobar-t se az ilyen cél lejátaszó disztrókat mint a libreelec nem igazán komálom. :N

Persze libreelec alatt csak Bluetooth átküldéshez kerül használatba a pulseaudio, így ott ez a cikk lényegtelen. Egy sima disztrónál viszont mindig ott van a pulseaudio.
Amúgy igen, filmeknél a 48 igen gyakori.

Nincs más - csak egy szál gitár - szidom a rendszert - forradalmár. - Én vagyok egyedül 88 telén. (Auróra)

(#9) Shyciii válasza Polllen (#7) üzenetére


Shyciii
veterán

"Amúgy olyan nagyon eltérő frekvenciák nem igazán lehetnek zenénél. A sztereó mainstream a 44.1, a veszteségmentesnél meg 192. Ettől eltérőt vadászni kell."

Nem is kell annyira vadászni, sőt. Aki a high-end, audiofil zenehallgatást nem SACD, DVD-A vagy bakeliten oldja meg, annak kvázi marad a FLAC, vagy DSD (pl nekem van dsf is) formátum. Is ilyenkor bizony nagyon könnyen lehet "találni" 88.2kHz, 96kHz, 192kHz, 384kHz. Nekem mindegyikből van. És ezek nem otthoni barkácsolásúak, hanem profi eszközökkel létrehozott, és persze ezekután pénzért megvehető zenékről beszélünk :)
DSD esetében persze ezek a felbontások nem igazak, hisz ott más elven működik, ott a sampling rate Mhz-ekben értelmezhető.

További hozzászólások megtekintése...
Copyright © 2000-2024 PROHARDVER Informatikai Kft.