line in-t egyszerre több programmal olvasni - hogyan?

Fórumok

Sziasztok,

Elnézést, ha ez volt már téma, de nem találtam. Linux alatt hogyan tudok egy hangkártya line in-jéről egy időben több programmal felvenni? Konkrétan egyszerre kéne olvasnia a /dev/dsp-t asterisk-nek, sox-nak és multimon-nak. Szeretném elkerülni azt, hogy három hangkártyát rakjak a gépbe és a bemeneteket kábellel összekössem. Megköszönném, ha valaki valamilyen kiinduló- vagy támpontot tudna adni.

Hozzászólások

Tényleg csak kiindulópont, mert nem próbáltam: sox mixer effektje?

sox(7):
,,mixer [ -l|-r|-f|-b|-1|-2|-3|-4|n{,n} ]
Reduce the number of audio channels by mixing or selecting channels, or increase the number of channels by duplicating channels...''

Szerk: a kimenet meg lehetne valami pipe vagy fifo, amit a másik 2 említett program tudna olvasni.

A sox nem jó, a mixer modulja arra hivatott, hogy pl. sztereóból monót, vagy visszafele mixeljen. socat-al játszottam eddig:

socat stdin pipe:/tmp/pipe
majd próbaképp 1 perc múlva:
cat /tmp/pipe >/dev/dsp

Remekül visszajátsza a hangot, de a buffer miatt kb. 10 másodperc késéssel, ami nekem most sok. Na meg ez csak egy pipe, kellene még kettőt. socat-ot rá lehet bírni arra, hogy több kimenete legyen? Vagy valami más? Esetleg, ami minimálisan késik csak?