Translate

21 giugno 2012

PulseAudio e le bugie moderne...

Ma prima mentivano anche ESD e compagnia bella...


Da Wikipedia Italia: "PulseAudio (precedentemente noto come Polypaudio) è un sound server multipiattaforma comunemente usato sulle distribuzioni GNU/Linux in alternativa ad ALSA (su cui si appoggia) per ovviare all'inconveniente di quest'ultima di non poter riprodurre il suono da più fonti audio contemporaneamente."


Non so a casa vostra, ma da me non è vero: Soundgarden - Black Hole Sun con MPlayer, Chris Cornell - Ground Zero con Amarok, Audioslave - Like a Stone su Youtube , contemporaneamente e senza usare PulseAudio o qualsiasi altro soundserver.
Appena uscito Linux 2.6 era ALSA quello che dovevi usare, e online c'era un bellissima guida del wiki di Gentoo, talmente vintage che l'hanno rimossa, intitolata "HOWTO ALSA sound mixer aka dmix". Cosa diavolo sarà mai questo dmix!? E' un plugin di ALSA che fa esattamente quello che farebbe un soundserver, solamente è già disponibile senza installare nulla. Ma credo che per la massa non sia un problema, Fedora, Mandriva e Ubuntu usano già PulseAudio.


Slackware no, non lo usa. Audio multiplo via HDMI e controllo del volume dell'uscita digitale (invero è un bypass dei limiti dell'hardware, così come il software mixing) usando solo ALSA.


asoundrc liberamente tratto dalla Rete e modificato dal sottoscritto per venire incontro alle mie esigenze e vezzi.


#----
# .asoundrc file designed to expand 2 channels through device 'clone_output'
# to output 2 channels to multiple devices
#
# caveats : no mixed output (no crossfading, no multiple applications) also
# sync will drift between the devices (rarely do i see mine drift though)
#
# designed around a nvidia ION1 zotac board. You may need to change
# device names.
# Use aplay -l to find device numbers
#
# questions contact Loto_Bak on forums.xbmc.org
#----


#-----
# Single channel dmixed. Crossfade works
#-----
pcm.hdmiout {
    type plug
    slave.pcm "dmixed_hdmi"
}


pcm.dmixed_hdmi {
    type dmix
    ipc_key 2024
    slave {
        pcm "hw:0,3" # Il mio device HDMI
        }
}
#-----
# multiple output portion begin (3 devices) dmix not supported.
#-----


pcm.clone_output {
    type plug
    slave.pcm "6channel_expander"
        }
       
pcm.multi_pcm_device {
        type multi;
        slaves.a.pcm "hw:0,3"; # hdmi
        slaves.a.channels 2;
        slaves.b.pcm "hw:0,0"; # analog
        slaves.b.channels 2;
    slaves.c.pcm "hw:0,1"; # spdif
    slaves.c.channels 2;
        bindings.0.slave a;
        bindings.0.channel 0;
        bindings.1.slave a;
        bindings.1.channel 1;
        bindings.2.slave b;
        bindings.2.channel 0;
        bindings.3.slave b;
        bindings.3.channel 1;
        bindings.4.slave c;
        bindings.4.channel 0;
    bindings.5.slave c;
        bindings.5.channel 1;
}
ctl.multi_pcm_device {
        type hw;
        card 0;
}
pcm.6channel_expander {
        type route;
        slave.pcm "multi_pcm_device";
        slave.channels 6;
        ttable.0.0 1;
        ttable.1.1 1;
        ttable.0.2 1;
        ttable.1.3 1;
        ttable.0.4 1;
        ttable.1.5 1;
}
ctl.6channel_expander {
        type hw;
        card 0;
}


# Softvolume Control (qui viene creato un finto dispositivo da poter # gestire via KMix, AlsaMixer, etc..)
pcm.FilterSoftwareVolume {
    type softvol
    slave.pcm "dmixed_hdmi"
    control {
        name "Software Volume Mixer"
    }
}


# Qui diciamo al sistema di usare il dispositivo configurato e creato # in precedenza
pcm.!default {
    type plug
    slave.pcm "FilterSoftwareVolume"
    }


Funziona su EeeBox 1501, NVIDIA ION, driver video proprietari per necessità (Nouveau non supporta ancora l'audio HDMI).

2 commenti:

  1. l'unico pseudo vantaggio di pulse audio era questo?!?!!?

    RispondiElimina
  2. http://en.wikipedia.org/wiki/PulseAudio

    Non è certamente l'unico vantaggio

    RispondiElimina