Sziasztok!
Linux Mint 14 KDE alatt sikerült beállítanom, hogy a sztereó hang fel legyen keverve 5.1-re, ALSÁ-val és PulseAudioval egyaránt. Azonban a következő problémák léptek fel:
ALSA
- eddig csak a Clementine-ben és az Audaciousban tudtam kiválasztani a megfelelő hangeszközt (upmix_20to51), pedig szeretném az SMPlayerben és az AIMP-ban is használni (Wine-on keresztül)
- ha valamelyik zenelejátszó éppen használja ezt az eszközt, akkor más program nem ad ki hangot, hanem hibát ír ki, hogy az alapértelmezett eszköz nem elérhető
- ha kikommentelem a .asoundrc első 4 sorát (lásd lentebb), hogy ez legyen az alapértelmezett eszköz, akkor vagy nincs hang egyáltalán, vagy lefagynak a programok (pl. az Audacious, SMPlayer)
A .asoundrc tartalma:
#pcm.!default {
# type plug
# slave.pcm "upmix_20to51"
#}
pcm.upmix_20to51 {
type plug
slave.pcm lowpass_21to21
slave.channels 3
ttable {
0.0 1 # left channel
1.1 1 # right channel
0.2 0.5 # mix left and right ...
1.2 0.5 # ... channel for subwoofer
}
}
pcm.lowpass_21to21 {
type ladspa
slave.pcm upmix_21to51
path "/usr/lib/ladspa"
channels 3
plugins {
0 {
id 1098 # Identity (Audio) (1098/identity_audio)
policy duplicate
input.bindings.0 "Input";
output.bindings.0 "Output";
}
1 {
id 1672 # 4 Pole Low-Pass Filter with Resonance (FCRCIA) (1672/lp4pole_fcrcia_oa)
policy none
input.bindings.2 "Input";
output.bindings.2 "Output";
input {
controls [ 86 2 ]
}
}
}
}
pcm.upmix_21to51 {
type plug
slave.pcm surround51
slave.channels 6
ttable {
0.0 1 # front left
1.1 1 # front right
0.2 1 # rear left
1.3 1 # rear right
0.4 0.5 # center
1.4 0.5 # center
2.5 1 # subwoofer
}
}
PulseAudio
- nem tudom, hogyan kell a mélynyomónak beállítani a szűrőt (low-pass filter)
- olykor feltűnt, hogy késett a hang (pl. az LMMS nevű programban, bár ott írták a PulseAudiohoz, hogy "low latency!", YouTube-os videó lejátszása közben Flash-sel és Krusaderben figyelmeztetéseknél pl. törlés előtt)
A kérdésem, hogy tudtok a fenti problémákra megoldásokat?
Azt olvastam, hogy az ALSÁ-val kevesebb gond van stabilitás és kompatibilitás szempontjából (pl. a Wine alapból csak azt támogatja), mint a PulseAudio-val, úgyhogy az utóbbit csak akkor használnám, ha az ALSÁ-t nem lehet működésre bírni mindegyik programmal, úgy, hogy több is tudjon hangot kiadni egyszerre.
Szerk.: azt elfelejtettem megírni, hogy SB Live! 24-bit (7.1-s) hangkártyám van
- 6200 megtekintés
Hozzászólások
Ezt bármelyik digitális erősítő alapból tudja (Dolby ProLogic). Miért szoftveresen szenvedsz ezzel, ha létezik rá céleszköz?
- A hozzászóláshoz be kell jelentkezni
Az én erősítőm is ilyen, szóval át is lehetne dugni az egyik sztereó bemenetre, viszont akkor megszűnik az 5.1-s térhangzás néhány film és játék esetében. Emiatt van 5.1-ként bekötve és csak sztereó zene vagy film lejátszásánál van felkeverve a hang Windows alatt. Ugyanezt szeretném Linux alatt is.
- A hozzászóláshoz be kell jelentkezni
Ezért kell használni az SPDIF-et. Ugyanazon a szálon át tud menni a sztereó jel és a DD/DTS kódolt 5.1-es hang is.
Emellett persze bekötheted az analóg 5.1-et is azon applikációk miatt, amik nem DD/DTS kódoltak (mondjuk játékok).
- A hozzászóláshoz be kell jelentkezni
Az SB Live! 24 nem a legszerencsésebb választás, tudom, mert nekem is van, viszont az alaplapi hangkeltőt használom éppen ezért. Nem tudom, hogy a CA0106 chip kernel oldali támogatása olyan, amilyen, vagy a Pulseaudio kezeli ezt szerencsétlenül, csodát még nem tudtam tenni vele. Az ne tévesszen meg, hogy elő tudsz csalni működő állapotot. Lehet ilyen úgy is, hogy egyes függvények nem a specifikációnak megfelelő értékekkel térnek vissza, s ezt mondjuk az ALSA semmire sem használja, így nem okoz gondot, míg a Pulseaudio használná, s ebből baj lesz. Emlékszem, amikor még sok gond volt a Pulseaudioval, mintha Lennart Poettering írta volna, hogy ez ALSA driver bug, s nem hajlandó elfedni a hibát, mert azt abban a rétegben kell kezelni, ahol előáll, nem pedig gányolni, s egészen máshol elfedni.
A mai napon megjelent 3.9.5-ös kernel forrásában megnéztem a CA0106-hoz tartozó kommentet. Ebből választ kaptam arra is, miért eszi a futásidőt a Pulseaudio, ha ezt a hangkártyát használom. Kiderült, hogy csak 48 kHz, 96 kHz és 192 kHz-es mintavételi frekvencia van implementálva lejátszáskor, felvételkor pedig csak 48 kHz, amelyből következik, hogy a többnyire 44.1 kHz mintavételű file-okat újra kell mintavételezni, s az interpoláció időigényes.
* BUGS:
* Some stability problems when unloading the snd-ca0106 kernel module.
* --
*
* TODO:
* 4 Capture channels, only one implemented so far.
* Other capture rates apart from 48khz not implemented.
* MIDI
* --
Továbbá:
* 0.0.10
* Enable playback 48000 and 96000 rates. (Rates other that these do not work, even with "plug:front".)
És:
* 0.0.16
* Implement 192000 sample rate.
44100 sample/sec sehol sincs benne. :(
Szerk.: illetve a kódot nézve az S/PDIF kimenet tudja a 44.1 kHz-es mintavételi frekvenciát, de az analóg kimenet nem.
tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE
- A hozzászóláshoz be kell jelentkezni