[PD] wireless audio from Pd to PA system (katja)

katja katjavetter at gmail.com
Wed Mar 6 12:41:40 CET 2013


Netjack docs look promising. It binds Jack clients on the transmitter
computer (called 'slave') to the sample clock on the receiver computer
('master'). Netjack supports transmission over wifi, and over internet
(using the CELT codec). It is primarily designed for 'distributed
music'. Here is a paper introducing Netjack:

http://www.google.nl/url?q=http://lac.linuxaudio.org/2009/cdm/Saturday/22_Hohn/22.pdf&sa=U&ei=0AM3UajlJIfAO5qDgIgF&ved=0CDgQFjAJ&usg=AFQjCNF47yIrp3T6cuIXCKhl0AUIaeiA2w

For anyone using Pd on a mobile device as sound generator, Netjack
could be a great way to deliver audio over wifi. For my purpose
though, I still need access to the sound card at the transmitter side
to capture audio from a mic. An audio rate conversion routine called
AlsaInOut is provided with Netjack so you can use the slave's sound
card for playback. However, this can not be used for capturing or
monitoring, due to large processing delay. So, clock drift is the show
stopper here.

Clock drift is not related to network transmission but to the slight
differences in clock speeds of sound cards even if they are set to the
same nominal sample rate. It also happens with two sound cards used
together on one computer, like when using an USB mic for input and the
system sound card for output. Core Audio can handle such a setup, but
at the expense of increased and fluctuating latency. Jack can combine
soundcards, but buffer under- or overruns are audible.

What is so hard about compensating clock drift? If it must be done in
a theoretically correct way, pitch should not change so it will be a
time stretching routine which will indeed introduce considerable
latency. However, clock speeds often differ by a very small amount,
like a factor 1/1000 or less. What if we just accept the pitch
difference? You would get playback speeds like 1.001 or 0.999,
perfectly acceptable for my purpose at least. This would greatly
simplify the task of resampling.

Katja


On 3/5/13, Charles Goyard <cg at fsck.fr> wrote:
> Hi,
>
> see if netjack fills the bill :
>
>  Netjack is a Realtime Audio Transport over a generic IP Network. It is
>  fully integrated into JACK.
>
>  When you transport Audio Signals over a Network, you will always have
>  the problem, that two Computers are bound to two different Sample
>  Clocks. The other Network Transports face the Problem of compensating
>  for the drift between these Sample Clocks. This is very hard to do.
>
>  NetJack works around this problem, by syncing all Clients to one
>  Soundcard. So there will be no resampling or glitches in the whole
>  network. Packet loss is now also handled gracefully. By using the celt
>  codec, its even possible, that single packet losses get masked by the
>  Packet Loss Concealment Code.
>
> https://github.com/jackaudio/jackaudio.github.com/wiki/WalkThrough_User_NetJack
> https://github.com/jackaudio/jackaudio.github.com/wiki/WalkThrough_User_NetJack2
>
> Cheers,
> --
> Charles
>
> _______________________________________________
> Pd-list at iem.at mailing list
> UNSUBSCRIBE and account-management ->
> http://lists.puredata.info/listinfo/pd-list
>



More information about the Pd-list mailing list