Real-time audio over local network with good quality

Ricardo Biehl rbpoficial at gmail.com
Mon Mar 28 14:29:40 EDT 2016


2016-03-28 4:42 GMT-03:00 Henrik Austad <henrik at austad.us>:
> 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.

Thank you, I'll avoid to write messages like this.

>
>> 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

These factors are really important, I'm going to thinking about!

1 -> In my current state I do not have signal handling yet.
1 -> Equipment is a detail which I'm very concerned, I thought
smartphones is a good transmitter. :-) .
3 -> I think timestamping could be ignored right now in my current branch!?
4 -> ALSA conf files are one of the most important parts, because they
are necessary to convert rate etc.

>
> 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.

It's ok.

>
> 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])
>

I haven't looked it yet, thanks!

Thank you for reply!
Big hug!

>
> 1) https://github.com/AVnu/Open-AVB
> 2) http://mailman.alsa-project.org/pipermail/alsa-devel/2014-May/077087.html
>
> --
> Henrik Austad



-- 
Ricardo Biehl Pasquali



More information about the Kernelnewbies mailing list