Anyone working on software implementation of Ravenna for Linux?

classic Classic list List threaded Threaded
8 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Anyone working on software implementation of Ravenna for Linux?

Bearcat Şándor
Has anyone encountered any work on this?

How powerful of a computer would be required for a software based
solution to be able to keep up with a (expensive for now) ravenna
card, if one wanted full channel count at full data rate?

I understand that it travels over an RJ45 port with standard wiring
(cat 6). I assume one would want an additional dedicated ethernet port
for this.

I'm considering learning C just to take this on.

Thanks
_______________________________________________
Linux-audio-dev mailing list
[hidden email]
http://lists.linuxaudio.org/listinfo/linux-audio-dev
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Anyone working on software implementation of Ravenna for Linux?

Len Ovens
On Sat, 15 Jul 2017, Bearcat Şándor wrote:

> Has anyone encountered any work on this?
>
> How powerful of a computer would be required for a software based
> solution to be able to keep up with a (expensive for now) ravenna
> card, if one wanted full channel count at full data rate?
>
> I understand that it travels over an RJ45 port with standard wiring
> (cat 6). I assume one would want an additional dedicated ethernet port
> for this.
>
> I'm considering learning C just to take this on.
there is a driver, but so far as I know not open source. While it is
probably possible to make an AES 67 endpoint that will work with one aes
67 box. I do not think a full endpoint that becomes part of the aes b67
network is possible without a hw network clock as the intel i210 ethernet
cards have. Concidering the cost of Ravena interfaces.... AVB may be a
better bet anyway. There are open drivers for avb... if unfinished. there
seem to be some afordable avb audio interfaces around too.

Still, if you have access to a revena interface, go for it.

BTW, the intel i210 cards seem to be cheaper from hp than from intel, or
they were when I bought mine. Same card...

--
Len Ovens
www.ovenwerks.net

_______________________________________________
Linux-audio-dev mailing list
[hidden email]
http://lists.linuxaudio.org/listinfo/linux-audio-dev
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Anyone working on software implementation of Ravenna for Linux?

Bearcat Şándor
Ahh, i was misunderstanding. I was under the impression that i could just put an extra 2 ethernet ports into my computer, install the kernel drivers and libraries (when they're available)  and have an operational Ravenna input/output.  However, if it needs a wordclock then it obviously needs a card. I had thought that the 'wordclock' was part of the data packet.

On Sat, Jul 15, 2017 at 9:32 AM, Len Ovens <[hidden email]> wrote:
On Sat, 15 Jul 2017, Bearcat Şándor wrote:

Has anyone encountered any work on this?

How powerful of a computer would be required for a software based
solution to be able to keep up with a (expensive for now) ravenna
card, if one wanted full channel count at full data rate?

I understand that it travels over an RJ45 port with standard wiring
(cat 6). I assume one would want an additional dedicated ethernet port
for this.

I'm considering learning C just to take this on.

there is a driver, but so far as I know not open source. While it is probably possible to make an AES 67 endpoint that will work with one aes 67 box. I do not think a full endpoint that becomes part of the aes b67 network is possible without a hw network clock as the intel i210 ethernet cards have. Concidering the cost of Ravena interfaces.... AVB may be a better bet anyway. There are open drivers for avb... if unfinished. there seem to be some afordable avb audio interfaces around too.

Still, if you have access to a revena interface, go for it.

BTW, the intel i210 cards seem to be cheaper from hp than from intel, or they were when I bought mine. Same card...

--
Len Ovens
www.ovenwerks.net

_______________________________________________
Linux-audio-dev mailing list
[hidden email]
http://lists.linuxaudio.org/listinfo/linux-audio-dev




--
Bearcat M. Şándor
Feline Soul Systems LLC
Voice: 872.CAT.SOUL (872.228.7685)
Fax: 406.235.7070

_______________________________________________
Linux-audio-dev mailing list
[hidden email]
http://lists.linuxaudio.org/listinfo/linux-audio-dev
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Anyone working on software implementation of Ravenna for Linux?

Len Ovens
On Sat, 15 Jul 2017, Bearcat Şándor wrote:

> Ahh, i was misunderstanding. I was under the impression that i could just put an
> extra 2 ethernet ports into my computer, install the kernel drivers and libraries
> (when they're available)  and have an operational Ravenna input/output.  However,
> if it needs a wordclock then it obviously needs a card. I had thought that the
> 'wordclock' was part of the data packet.

It is not word clock. but wall clock with high accuracy so word clock can
be derived. It is possible to do an end point without by treating packets
in the same way as as buffer in an audio card where alsa does not have
to be aware of the exact clock rise or fall to deal with it. However, If
you wish to send audio from an internal audio card to any aes67 endpoint.
Your computer must be able to be provide an ntp server with good enough
accuracy to provide wordclock to both your internal audio ai and to act as
a master clock on the network... or be able to sync your internal audio
card to an external ntp server. This accuracy pretty much requires a HW
ntp server. As I said the intel i210 ethernet cards at $60-ish seems to be
about the cheapest route.

Depending on how synced you want things... SRC can do a very good job and
the broadcast industry uses it a lot. The zita-njbridge does a great job
of connecting two computers together and I suspect using the zita src
library as part of an aes67 driver would make <whatever> ethernet card
workable so long as the computer was never expected to be a master clock.
So an aes67 network with only two linux computers may not be usable or at
least your network would not be wholely aes67 compliant. An endpoint with
no ntp able to follow a masterclock closely doesn't seem fully compliant
to me from what I have read. So the windows drivers downloadable from
various places would have the same problem of not being fully compliant
too. Some of the MacOS hw does have an ethernet chip with builtin ntp
server.

So a driver that does what the windows driver does should be possible.

--
Len Ovens
www.ovenwerks.net

_______________________________________________
Linux-audio-dev mailing list
[hidden email]
http://lists.linuxaudio.org/listinfo/linux-audio-dev
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Anyone working on software implementation of Ravenna for Linux?

Hanspeter Portner
On 16.07.2017 02:13, Len Ovens wrote:

> On Sat, 15 Jul 2017, Bearcat Şándor wrote:
>
>> Ahh, i was misunderstanding. I was under the impression that i could just put an
>> extra 2 ethernet ports into my computer, install the kernel drivers and libraries
>> (when they're available)  and have an operational Ravenna input/output.  However,
>> if it needs a wordclock then it obviously needs a card. I had thought that the
>> 'wordclock' was part of the data packet.
>
> It is not word clock. but wall clock with high accuracy so word clock can be
> derived. It is possible to do an end point without by treating packets in the
> same way as as buffer in an audio card where alsa does not have to be aware of
> the exact clock rise or fall to deal with it. However, If you wish to send audio
> from an internal audio card to any aes67 endpoint. Your computer must be able to
> be provide an ntp server with good enough accuracy to provide wordclock to both
> your internal audio ai and to act as a master clock on the network... or be able
> to sync your internal audio card to an external ntp server. This accuracy pretty
> much requires a HW ntp server. As I said the intel i210 ethernet cards at
> $60-ish seems to be about the cheapest route.
>
> Depending on how synced you want things... SRC can do a very good job and the
> broadcast industry uses it a lot. The zita-njbridge does a great job of
> connecting two computers together and I suspect using the zita src library as
> part of an aes67 driver would make <whatever> ethernet card workable so long as
> the computer was never expected to be a master clock. So an aes67 network with
> only two linux computers may not be usable or at least your network would not be
> wholely aes67 compliant. An endpoint with no ntp able to follow a masterclock
> closely doesn't seem fully compliant to me from what I have read. So the windows
> drivers downloadable from various places would have the same problem of not
> being fully compliant too. Some of the MacOS hw does have an ethernet chip with
> builtin ntp server.
>
> So a driver that does what the windows driver does should be possible.

It think it should be PTP [1] instead of NTP above, the latter is not accurate
enough.

PTP can also be run in software timestamping mode, hardware timestamping will be
more accurate, though [2].

[1] https://en.wikipedia.org/wiki/Precision_Time_Protocol
[2] http://linuxptp.sourceforge.net/
_______________________________________________
Linux-audio-dev mailing list
[hidden email]
http://lists.linuxaudio.org/listinfo/linux-audio-dev
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Anyone working on software implementation of Ravenna for Linux?

Len Ovens
On Sun, 16 Jul 2017, Hanspeter Portner wrote:

> On 16.07.2017 02:13, Len Ovens wrote:
>> to sync your internal audio card to an external ntp server. This accuracy pretty
>> much requires a HW ntp server. As I said the intel i210 ethernet cards at
>> $60-ish seems to be about the cheapest route.
>
> It think it should be PTP [1] instead of NTP above, the latter is not accurate
> enough.

Thats what I get for answering off the top of my head from a camp site  :P

> PTP can also be run in software timestamping mode, hardware timestamping will be
> more accurate, though [2].

I am not aware of anyone managing to get sw mode to be accurate enough to
derive wordclock from.

> [1] https://en.wikipedia.org/wiki/Precision_Time_Protocol
> [2] http://linuxptp.sourceforge.net/

--
Len Ovens
www.ovenwerks.net

_______________________________________________
Linux-audio-dev mailing list
[hidden email]
http://lists.linuxaudio.org/listinfo/linux-audio-dev
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Anyone working on software implementation of Ravenna for Linux?

Bearcat Şándor
Huh. What i'm looking at purchasing are a bunch of these https://www.genelec.com/studio-monitors/sam-studio-monitors/8430a-ip-sam-studio-monitor  for an ambisonic setup.  They have a Ravenna input and they can be run in mono or stereo.  Looking at the manual ( https://www.genelec.com/sites/default/files/media/Studio%20monitors/SAM%20Studio%20Monitors/8430A/8430a_opman_ip.pdf ) it states "There are some requirements for the AE67 network. The network must run a clock source supporting the Precision Time Protocol according to the format defined in IEEE 1588-2008. Several audio sources and media IP switch devices can act as PTP clock sources for the network. It is also useful to make sure that the IP switches delivering the audio streams have been configured to prioritize the PTP clock messages and the RTP audio streams over other traffic."

From what you're saying i'd need to output the software stream from my computer using a secondary ethernet port into a ptp router then into my speakers.  

Why would i need to buy an expensive router? Why not just build my own router using http://linuxptp.sourceforge.net/ or https://github.com/ptpd/ptpd  
How does Jack2 (dbus) fit into all of this?

It seems like the ptp software above can connect multiple computers, so i could just start out with a mini-pc with a 4 jack ethernet card and add more mini-computers as i need to yes?

Or am i completely confused?

Thanks

On Sun, Jul 16, 2017 at 9:35 AM, Len Ovens <[hidden email]> wrote:
On Sun, 16 Jul 2017, Hanspeter Portner wrote:

On 16.07.2017 02:13, Len Ovens wrote:
to sync your internal audio card to an external ntp server. This accuracy pretty
much requires a HW ntp server. As I said the intel i210 ethernet cards at
$60-ish seems to be about the cheapest route.

It think it should be PTP [1] instead of NTP above, the latter is not accurate
enough.

Thats what I get for answering off the top of my head from a camp site  :P

PTP can also be run in software timestamping mode, hardware timestamping will be
more accurate, though [2].

I am not aware of anyone managing to get sw mode to be accurate enough to derive wordclock from.

[1] https://en.wikipedia.org/wiki/Precision_Time_Protocol
[2] http://linuxptp.sourceforge.net/

--
Len Ovens
www.ovenwerks.net


_______________________________________________
Linux-audio-dev mailing list
[hidden email]
http://lists.linuxaudio.org/listinfo/linux-audio-dev



--
Bearcat M. Şándor
Feline Soul Systems LLC
Voice: 872.CAT.SOUL (872.228.7685)
Fax: 406.235.7070

_______________________________________________
Linux-audio-dev mailing list
[hidden email]
http://lists.linuxaudio.org/listinfo/linux-audio-dev
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Anyone working on software implementation of Ravenna for Linux?

Len Ovens
On Thu, 20 Jul 2017, Bearcat Şándor wrote:

> Huh. What i'm looking at purchasing are a bunch ofthese https://www.genelec.com/studio-monitors/sam-studio-monitors/8430a-ip-sam-s
> tudio-monitor  for an ambisonic setup.  They have a Ravenna input and they can be
> run in mono or stereo.  Looking at the manual 
... url omitted
> it states "There are some requirements
> for the AE67 network. The network must run a clock source supporting the
> Precision Time Protocol according to the format defined in IEEE 1588-2008.
> Several audio sources and media IP switch devices can act as PTP clock sources
> for the network. It is also useful to make sure that the IP switches delivering
> the audio streams have been configured to prioritize the PTP clock messages and
> the RTP audio streams over other traffic."

The big thing here is prioritize. The switch has to have more than one
transmit/receive queue to be able to do this.

> From what you're saying i'd need to output the software stream from my computer
> using a secondary ethernet port into a ptp router then into my speakers.  

You may be able to do that with your main NIC, but the advantage of using
a second $50 i210 is that it has a hw PTP clock built in.

> Why would i need to buy an expensive router? Why not just build my own router
> using http://linuxptp.sourceforge.net/ or https://github.com/ptpd/ptpd  

So far as I know, it is very difficult to get a sw ptp clock to have the
stability needed. However, if you used a computer for nothing else but ptp
and net forwarding you might do it... I just think a $50 NIC is cheaper.

> How does Jack2 (dbus) fit into all of this?

That depends on the AES67 driver. If it is built to talk to jack
dirrectly, then jack is quite important. If the driver is ALSA... not so
much.

> It seems like the ptp software above can connect multiple computers, so i could
> just start out with a mini-pc with a 4 jack ethernet card and add more
> mini-computers as i need to yes?

Maybe, the cpu inside really does matter for a sw ptp clock. Latency has
to be much better than for audio alone. Alsa deals with 32 samples at a
time or much more (128 is much more common). but to have stable audio, ptp
has to be more accurate than 1 sample. This would be time for a real time
kernel for sure. Priorities would have to be right on... and maybe
multi-cores would not be the best thing. (no hyperthreading for sure).

One place to look at real time latency is:
https://www.osadl.org/Hardware-overview.qa-farm-hardware.0.html
Where they have many combinations of HW running in real time testing
latency. often slower cpus have better latency tests than faster or higher
core count machines.

If your mini computer with 4 or more NICS will cost more than about $400,
maybe this would be better:
https://www.sweetwater.com/store/detail/AVBSwitch
I have been surprised at total cost of putting a small system together
even assuming some parts I already have laying around (case, PS, KB,
mouse, display) The best thing is do your homework, find the list of
ethernet protocols aes67 expects and see if there are more reasonably
priced switches that will give you enough assuming your NIC can provide a
network ptp clock.

>
> Or am i completely confused?

The big thing with aes67 is A) paying for the protocol spec. (thankyou
aes) and B) doing the dev work... that is putting it all together. AES67
does not have any discovery built in, but because your speakers use
bonjour, I would work with that (linux has Avahi that covers most of
this). I am not sure how AES "you must pay for the protocol" would go with
a GPL project because open source effectively gives the protocol away for
free. AVB on the otherhand, hosts a github project that is open source.

If it was me (and I am not a great example :)  I would go aes67 direct to
jack backend. That is mostly because I am familiar with the jack api and
when I looked at trying to do the same thing in alsa, it seemed confusing
and more complex but that is just my personal POV. I am sure once I have
made my first alsa connection my POV will change. Because the ethernet
code is system and not user (in particular setting up queues and
priorities), alsa may make more sense.

Having said all that, balanced xlr audio cables are a lot cheaper than
AoIP-anything. (even ones you have to make yourself) Your speakers support
balanced audio in.

--
Len Ovens
www.ovenwerks.net

_______________________________________________
Linux-audio-dev mailing list
[hidden email]
http://lists.linuxaudio.org/listinfo/linux-audio-dev
Loading...