Pagina 7 di 8
Re: PulseAudio su slackware
Inviato: mer 27 ago 2014, 12:55
da ZeroUno
Sulle schede digitali o che supportano nativamente il mixing, il pcm 'dmix' non esiste come device ma come tipo e quindi va definito in .asoundrc (o asound.conf)
Codice: Seleziona tutto
pcm.pippo {
type dmix
ipc_key 1024
slave {
pcm hw:1
}
}
pcm.!default {
type plug
slave.pcm pippo
}
poi mettendo in defaut.pa:
load-module module-alsa-sink
senza device=dmix visto che tale device non esiste e l'ho linkato in default.
così funziona.. posso usare skype e aplay in contemporanea.
Sul pc di casa invece posso usare device=dmix
Si può anche fare
load-module module-alsa-sink device=skype
valido per tutti,
e poi in .asoundrc a seconda del supporto hw si mette
Codice: Seleziona tutto
pcm.skypemixer {
type dmix
ipc_key 1024
slave {
pcm hw:1
}
}
pcm.skype {
type plug
slave.pcm skypemixer
}
oppure
così l'utente che si vuole scegliere il canale o tunare la conf audio ecc deve toccare un file di alsa e lascia invariato pulse.
Anche a me non ha funzionato il microfono (ma all'una di notte con in stanza un'altra persona che dorme non si fanno bene le prove).
Ho compilato pulseaudio 2.0 con pathprefix /usr/share/skype/pulseaudio, senza supporto x11 e qualcos'altro. Al momento non ho lo slackbuild davanti.
Re: PulseAudio su slackware
Inviato: mer 27 ago 2014, 13:17
da rik70
Ottimo.
La seconda e la terza soluzione sono le migliori in quanto meno invasive, dato che la prima imposterebbe come periferica predefinita 'pcm.pippo' e forse non è desiderabile.
Per il microfono:
e scegli quella giusta, impostando in modo corrispondente /etc/pulse/default.pa.
Per esempio, prendendo come buono l'ultimo .asoundrc:
Codice: Seleziona tutto
load-module module-alsa-sink device=skype
load-module module-alsa-source device=hw:0,0
Ps.
Perché pulseaudio 2.0 e non 5.0?
ZeroUno ha scritto:senza supporto x11
In che senso? Il modo migliore per lanciare pulse è 'start-pulseaudio-x11' o 'start-pulseaudio-kde'. Ci sono questi script nel tuo pacchetto?
Re: PulseAudio su slackware
Inviato: mer 27 ago 2014, 13:38
da ZeroUno
lancio pulse con pulseaudio --start; magari lo metto nel launcher di skype:
/usr/bin/skype:
#!/bin/bash
/usr/share/skype/pulseaudio/bin/pulseaudio --start
/usr/share/skype/skype
/usr/share/skype/pulseaudio/bin/pulseaudio --kill
il pulseaudio 2 vs. 5... boh!
http://slacky.eu/forum/viewtopic.php?f= ... 45#p339194
ma se faccio il pacchetto
skype_pulseaudio
dentro ci metto anche json-c e speex?
tanto nel pacchetto a 64bit ci devo mettere le librerie a 32bit nei path di skype; a questo punto l'utente si installa skype_static e skype_pulseaudio senza preoccuparsi di tutte le altre dipendenze (in fondo sono meno di 10 file in tutto) e non 'sporca' il sistema.
edit: anche per module-alsa-source vorrei mettere qualcosa simile a device=skype in modo da modificare il device dalla configurazione di alsa, che è qualcosa di più vicino all'utente, ma ancora non me la sono studiata.
Re: PulseAudio su slackware
Inviato: mer 27 ago 2014, 14:24
da rik70
Ok, su come fare il pacchetto lascio a te l'onere e l'onore
Su speex non so risponderti, credo che bisognerebbe sapere che codec audio usa skype.
json-c serve serve solo per compilare pulse? La butto lì a caso perché ne so meno di te.
EDIT: forse uno sguardo al PKGBUILD di archlinux potrebbe aiutare.
Sulla versione di pulse: la 5.0 funziona bene sul mio hardware, non so quale motivo valido possa esserci per usare una versione precedente.
Quanto al microfono, considera questo:
per una soluzione simile ad alsa-sink dovresti usare dsnoop. Però hai lo svantaggio che se l'utente vuole cambiare microfono - ad esempio quello di una webcam - deve tribolare con .asoundrc.
Se invece carichi le pereferiche reali, es hw:0,0, hw:0,1, può cambiare microfono via gui con pavucontrol, o dalla riga di comando con pacmd.
Ad ogni modo, questo è un esempio di .asoundrc perfettamente funzionante con dsnoop impostato per il mic la webcam (seconda periferica audio in /proc/asound/cards, 1 solo canale d'ingresso):
Codice: Seleziona tutto
pcm.mixin {
type dsnoop
ipc_key 5978293 # must be unique for all dmix plugins!!!!
ipc_key_add_uid yes
slave {
pcm "hw:1,0"
channels 1
period_size 1024
buffer_size 4096
rate 48000
periods 0
period_time 0
}
}
pcm.skype_in {
type plug
slave {
pcm "mixin"
}
}
/etc/pulse/default.pa:
Codice: Seleziona tutto
load-module module-alsa-sink device=dmix
load-module module-alsa-source device=skype_in
Per il test:
chiamata skype all'echo test e mentre regitrate il messaggio vocale lanciare:
Se registra anche sul file wav, alsa e pulse non confliggono - da me funzica.
Re: PulseAudio su slackware
Inviato: mer 27 ago 2014, 14:34
da rik70
Però:
arecord: main:722: audio open error: Dispositivo o risorsa occupata
Quindi alsa non va mentre skype registra dal mic. Dov'è l'errore?
EDIT
Comunque non è un problema. Appena skype smette di usare il microfono la risorsa si libera.
Versione semplificata del file.asoundrc:
Codice: Seleziona tutto
pcm.skype_in {
type dsnoop;
ipc_key 1024
slave.pcm "hw:1";
slave.channels 1;
}
EDIT2
Ma torno a dire, ha poco senso usare dsnoop per le ragioni viste sopra.
Re: PulseAudio su slackware
Inviato: mer 27 ago 2014, 15:57
da ZeroUno
rik70 ha scritto:
arecord: main:722: audio open error: Dispositivo o risorsa occupata
Quindi alsa non va mentre skype registra dal mic. Dov'è l'errore?
perchè interrogando hw:1,0 occupi interamente il canale, incluso il dsnoop.
in verità dovresti dare
arecord -f cd -D plug:dsnoop -d 5 foobar.wav
o cose simili
Versione semplificata del file.asoundrc:
Codice: Seleziona tutto
pcm.skype_in {
type dsnoop;
ipc_key 1024
slave.pcm "hw:1";
slave.channels 1;
}
perchè sia slave.pcm che slave channels?
Ma torno a dire, ha poco senso usare dsnoop per le ragioni viste sopra.
perchè con un set meno invasivo possibile non c'è installato pavucontrol o altri comandi.
Non è scontato che skype_in debba usare necessariamente dsnoop. In .asoundrc si può mettere direttamente che punta all'hardware, ma almeno lasci scegliere all'utente con strumenti più consoni a slackware.
credo che sia sufficiente dare un .asoundrc ben commentato all'utente e non dovrebbe servire altro.
p.s. non ho ancora provato nient'altro ancora.
Re: PulseAudio su slackware
Inviato: mer 27 ago 2014, 16:17
da rik70
ZeroUno ha scritto:rik70 ha scritto:
arecord: main:722: audio open error: Dispositivo o risorsa occupata
Quindi alsa non va mentre skype registra dal mic. Dov'è l'errore?
perchè interrogando hw:1,0 occupi interamente il canale, incluso il dsnoop.
in verità dovresti dare
arecord -f cd -D plug:dsnoop -d 5 foobar.wav
o cose simili
Ah ok, perfetto.
perchè sia slave.pcm che slave channels?
channels perché la periferica in questione ha un solo canale in ingresso. Ma hai ragione tu, non è necessario specificarlo.
credo che sia sufficiente dare un .asoundrc ben commentato all'utente e non dovrebbe servire altro.
Vero anche questo.
p.s. non ho ancora provato nient'altro ancora.
Ok, comunque credo che ormai abbiamo sviscerato la faccenda per benino. Ora la palla passa a te e a chi vuole testare il tutto

Re: PulseAudio su slackware
Inviato: mer 27 ago 2014, 17:24
da ZeroUno
ok. credo che stasera avrò un po' più di tempo da dedicarci (ma con il pc su cui funziona dmix)
Re: PulseAudio su slackware
Inviato: mer 27 ago 2014, 17:49
da tano70
quindi se non ho capito male...ben presto si preannuncia una versione imminente di skype 4.3 perfettamente funzionante, con diciamo la libreria pulseaudio non invasiva ma legata solo a questo programma? perchè in effetti reduce dal passato ho esperienze DISASTROSE con pulseaudio nel sistema
Re: PulseAudio su slackware
Inviato: mer 27 ago 2014, 17:55
da ZeroUno
"imminente" e "perfettamente" non vanno molto daccordo, però si, l'intenzione è quella.
Re: PulseAudio su slackware
Inviato: mer 27 ago 2014, 18:04
da tano70
Ottimo

prendetevi tutto il tempo...e se serve un beta tester per le vostre versioni io ci sono

basta che non devo andare a sconvolgere il mio sistema...che al momento è un orologio svizzero

Re: PulseAudio su slackware
Inviato: mer 27 ago 2014, 18:18
da rik70
ZeroUno ha scritto: (ma con il pc su cui funziona dmix)
Non dovrebbe essere un problema.
Gioca con .asoundrc:
crei i dispositivi dmix e dsnoop e li usi per testare su quel PC. Un pò come ho fatto io qui. E poi "porti" il tutto sull'altro computer.
Re: PulseAudio su slackware
Inviato: gio 28 ago 2014, 0:59
da ZeroUno
http://files.z01.eu/skype/pulseaudio/
pacchetto + slackbuild
è da rifinire ed ho fatto solo quello a 32bit
il pacchetto, installato interamente in /usr/share/skype/pulseaudio, comprende al suo interno anche speex e json-c, così sporco al minimo possibile il sistema.
Da fare ancora il template del .asoundrc e il launcher di skype
per default.pa ho fatto:
Codice: Seleziona tutto
# You must define devices skype_out (playback) and skype_in (mic) in your .asoundrc
load-module module-alsa-sink device=skype_out
load-module module-alsa-source device=skype_in
Il pacchetto, così com'è, è di 1MB c.a. (compresso; 6M scompattato). Mi sto chiedendo se è il caso di fare un unico pacchetto con skype che tanto il solo binario pesa 35M.
Re: PulseAudio su slackware
Inviato: sab 30 ago 2014, 14:46
da ZeroUno
il miglior comando per testare microfono e casse credo che sia
arecord -f cd -D plug:skype_in |aplay -D plug:skype_out
mettete il microfono vicino le casse e alzate al massimo il volume

Re: PulseAudio su slackware
Inviato: sab 30 ago 2014, 14:51
da ZeroUno
comunque a parte questo il pacchetto a 32bit sembra funzionare.
solo una cosa.
nel precedente lanciavo skype con
LD_PRELOAD=/usr/lib/libv4l/v4l2convert.so \
PULSE_LATENCY_MSEC=60 \
pensate servano ancora?