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

2017-07-20 Thread 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
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


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

2017-07-20 Thread 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  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
> Linux-audio-dev@lists.linuxaudio.org
> 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
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


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

2017-07-16 Thread 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  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
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


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

2017-07-15 Thread 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  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
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


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

2017-07-15 Thread 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  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
> Linux-audio-dev@lists.linuxaudio.org
> 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
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


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

2017-07-15 Thread 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
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


[LAD] Anyone working on software implementation of Ravenna for Linux?

2017-07-15 Thread 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
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev