[alsa-devel] alsa virtual sound card (with networked output)
Hello everyone,
I was wondering if its possible to just create a "virtual" sound card using alsa which will just sent its audio stream to other computer (using TCP/IP or UDP for example). On the other end there would be some kind of server (or just nc -u -l -p 31337 | aplay ). I want to do it on alsa layer because other aps using alsa will get immediate support.
It should be something like described in
http://alsa.opensrc.org/index.php/Network
but with transparent support for all alsa based applications. I dont care about syncronization or transmission delay. Any pointers as how this could be done in alsa ?
metyl
-- This mess was sent using 100% recycled electrons. If you want to get rid of this mess just turn off your computer,
'Twas brillig, and Metyl Methylius at 11/01/11 14:51 did gyre and gimble:
Hello everyone,
I was wondering if its possible to just create a "virtual" sound card using alsa which will just sent its audio stream to other computer (using TCP/IP or UDP for example). On the other end there would be some kind of server (or just nc -u -l -p 31337 | aplay ). I want to do it on alsa layer because other aps using alsa will get immediate support.
It should be something like described in
http://alsa.opensrc.org/index.php/Network
but with transparent support for all alsa based applications. I dont care about syncronization or transmission delay. Any pointers as how this could be done in alsa ?
Any particular reason you cannot use PulseAudio? It support usage from existing ALSA apps and also works automatically with SSH by piggy-backing connection settings on X11 root windows which are accessable when the remote connection has X11 forwarding enabled.
This mess was sent using 100% recycled electrons. If you want to get rid of this mess just turn off your computer,
:)
The main reason I can't use pulseaudio it's because it won't even compile on the embedded platform i'm running (openwrt). Also pulseaudio it's overcomplicated for such a straightforward task. I was hoping that a simpler solution would exist.
Metyl
On Tue, Jan 11, 2011 at 4:35 PM, Colin Guthrie gmane@colin.guthr.ie wrote:
'Twas brillig, and Metyl Methylius at 11/01/11 14:51 did gyre and gimble:
Hello everyone,
I was wondering if its possible to just create a "virtual" sound card using alsa which will just sent its audio stream to other computer (using TCP/IP or UDP for example). On the other end there would be some kind of server (or just nc -u -l -p 31337 | aplay ). I want to do it on alsa layer because other aps using alsa will get immediate support.
It should be something like described in
http://alsa.opensrc.org/index.php/Network
but with transparent support for all alsa based applications. I dont care about syncronization or transmission delay. Any pointers as how this could be done in alsa ?
Any particular reason you cannot use PulseAudio? It support usage from existing ALSA apps and also works automatically with SSH by piggy-backing connection settings on X11 root windows which are accessable when the remote connection has X11 forwarding enabled.
This mess was sent using 100% recycled electrons. If you want to get rid of this mess just turn off your computer,
:)
--
Colin Guthrie gmane(at)colin.guthr.ie http://colin.guthr.ie/
Day Job: Tribalogic Limited [http://www.tribalogic.net/] Open Source: Mageia Contributor [http://www.mageia.org/] PulseAudio Hacker [http://www.pulseaudio.org/] Trac Hacker [http://trac.edgewall.org/]
Alsa-devel mailing list Alsa-devel@alsa-project.org http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
On Tue, 11 Jan 2011, Metyl Methylius wrote:
Hello everyone,
I was wondering if its possible to just create a "virtual" sound card using alsa which will just sent its audio stream to other computer (using TCP/IP or UDP for example). On the other end there would be some kind of server (or just nc -u -l -p 31337 | aplay ). I want to do it on alsa layer because other aps using alsa will get immediate support.
It should be something like described in
http://alsa.opensrc.org/index.php/Network
but with transparent support for all alsa based applications. I dont care about syncronization or transmission delay. Any pointers as how this could be done in alsa ?
I plan to add network support to the alsaloop utility (in the current repository of the alsa-utils package) using the snd-aloop loopback kernel module on the playback (producer) side. This solution would be 100% transparent for all current ALSA apps. But I don't have any estimate when I start the work on this. Any volunteer? I think that it would be best to use the RTP UDP streaming.
Jaroslav
----- Jaroslav Kysela perex@perex.cz Linux Kernel Sound Maintainer ALSA Project, Red Hat, Inc.
On Tue, Jan 11, 2011 at 5:33 PM, Jaroslav Kysela perex@perex.cz wrote:
On Tue, 11 Jan 2011, Metyl Methylius wrote:
Hello everyone,
I was wondering if its possible to just create a "virtual" sound card using alsa which will just sent its audio stream to other computer (using TCP/IP or UDP for example). On the other end there would be some kind of server (or just nc -u -l -p 31337 | aplay ). I want to do it on alsa layer because other aps using alsa will get immediate support.
It should be something like described in
http://alsa.opensrc.org/index.php/Network
but with transparent support for all alsa based applications. I dont care about syncronization or transmission delay. Any pointers as how this could be done in alsa ?
I plan to add network support to the alsaloop utility (in the current repository of the alsa-utils package) using the snd-aloop loopback kernel module on the playback (producer) side. This solution would be 100% transparent for all current ALSA apps. But I don't have any estimate when I start the work on this. Any volunteer? I think that it would be best to use the RTP UDP streaming.
That sounds very interesting. Still there is minor problem with RTP as I've found in rfc3551 that at least there defined RAW audio encodings - L8 and L16 - supports only 8 and 16-bit wide samples (how to support 24 or 32-bit audio ?). Which RTP library do you plan to use unless you wanted to integrate RTP code directly into alsaloop ?
metyl
On Tue, Jan 11, 2011 at 11:51 PM, Metyl Methylius the.metyl@gmail.com wrote:
Hello everyone,
I was wondering if its possible to just create a "virtual" sound card using alsa which will just sent its audio stream to other computer (using TCP/IP or UDP for example). On the other end there would be some kind of server (or just nc -u -l -p 31337 | aplay ). I want to do it on alsa layer because other aps using alsa will get immediate support.
It should be something like described in
http://alsa.opensrc.org/index.php/Network
but with transparent support for all alsa based applications. I dont care about syncronization or transmission delay. Any pointers as how this could be done in alsa ?
If anything in kernel space, I'd suggest we have Audio-Over-Ethernet(AOE). Audio-Over-IP(AOIP) isn't much useful for commercial application requiring low-latencies, besides that can be done from User-Space like PulseAudio.
participants (4)
-
Colin Guthrie
-
Jaroslav Kysela
-
Jassi Brar
-
Metyl Methylius