Real-time audio over local network with good quality
Henrik Austad
henrik at austad.us
Mon Mar 28 03:42:41 EDT 2016
On Sun, Mar 27, 2016 at 9:18 PM, Ricardo Biehl <rbpoficial at gmail.com> wrote:
> Hello guys!
Hi Ricardo,
> Sorry if this question is not part of the scope of this list.
>
> I'm developing a real-time microphone system that will work over local
> network using ALSA library and sockets API with IP (UDP/TCP support)
> <https://github.com/ricardobiehl/ipmic>.
This looks like pure userspace, and going up to the level above, this
list is probably not the best place for it.
> The purpose is to make a good replacement to traditional microphone
> systems (wired or wireless).
> The problem is that I found difficulties in network control and in
> ALSA library too :-) .
Yes, I know :)
> Basically I need help to select the best network scheduler algorithm,
> set the right parameters, and (in audio) create a PCM plug which
> supports (1 channel * 16 bit sample * 22050 Hz) and BLOCKING opening
> mode. All this without quality loss and real-time.
Theres a lot of details you gloss over here, that will eventually have
to be solved
1) how do you handle signalling (mic goes way, new one appears)
2) what kind of equipment do you support? (one computer for each mic
gives you expensive mics)
3) signal (time)correlation, you need some timestamping to the samples
to if you are going to combine local feedback
4) Consistent alsa config across all endpoints
What you need is network hardware, both in the NIC and in the network
infrastructure that can properly prioritize your streams and provide
accurate timestamps.
Have you looked at similar projects, like AES67 and TSN/AVB?
AES67 is a best-effort approach, TSN requires support in the network
to prioritize the streams. Go and have a gander at OpenAVB [1]
> Any contribution with the project is welcome!
There may be something in the works that will be shipped out for RFC
soon (see [2])
1) https://github.com/AVnu/Open-AVB
2) http://mailman.alsa-project.org/pipermail/alsa-devel/2014-May/077087.html
--
Henrik Austad
More information about the Kernelnewbies
mailing list