Skip to content

Instantly share code, notes, and snippets.

@nyarla

nyarla/HOWTO.md Secret

Last active May 28, 2017 10:32
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save nyarla/36724e8931fa6bc244a0 to your computer and use it in GitHub Desktop.
Save nyarla/36724e8931fa6bc244a0 to your computer and use it in GitHub Desktop.
How to setup Jack Audio Connection Kit with Network

How to setup Jack Audio Connection Kit with Network

Description

This documentation is written about how to setup Jack Audio Connection Kit with network.

Technical Requirements

  • You should connect PC to PC by Wired
  • Connecting PCs (maybe) on same segment on network.
  • Installed Jack Audio Connection Kit with netjack for your PC platform

Install Jack Audio Connection Kit to Your PC

Windows

If you use Windows PC, you can download Jack Audio Connection Kit from http://jackaudio.org/downloads/.

OSX

If you use Mac OS X with El Capitan, you should install JackOSX 0.92 beta.

JackOSX 0.92 beta is downloadable from https://dl.dropboxusercontent.com/u/28869550/JackOSX.0.92_b1.zip, But if this link outdated, please check JackOSX Community on Yahoo Groups.

And, If you use Mac OS X with Yosemite or older, you can download JackOSX from http://jackaudio.org/downloads/.

Linux

If you use Linux PC, you (maybe) can install Jack Audio Connection Kit from your linux's package manager.

How to setup netjack2

netjack2 host (it called by name of master in netjack)

  1. Launch jackd by your favorite jackd frontend
  2. Execute jack_load netmanager after launch jackd
  3. That's all

netjack2 client (it called by name of slave in netjack)

  1. Launch jackd with net driver by your favorite jackd frontend.
  2. After that, you can launch your favorite DAW.
  3. That's all

Checking netjack Connections

For exmaples, if you launch netjack2 client and you succeed connecting in console, You can see these message in console:

jackdmp 1.9.10
Copyright 2001-2005 Paul Davis and others.
Copyright 2004-2014 Grame.
jackdmp comes with ABSOLUTELY NO WARRANTY
This is free software, and you are welcome to redistribute it
under certain conditions; see the file COPYING for details
Drivers/internals found in : C:\Windows
Drivers/internals found in : C:\Windows
JACK server starting in realtime mode with priority 10
self-connect-mode is "Don't restrict self connect requests"
InitTime : multimedia timer resolution set to 1 milliseconds
MMCSS API not used...
NetDriver started in async mode without Master's transport sync.
Waiting for a master...
Initializing connection with <your master hostname>...
**************** Network parameters ****************
Name : <your slave hostname>
Protocol revision : 8
MTU : 1500
Master name : <your master hostname>
Slave name : <your slave hostname>
ID : 4
Transport Sync : no
Send channels (audio - midi) : 2 - 0
Return channels (audio - midi) : 2 - 0
Sample rate : 44100 frames per second
Period size : 512 frames per period
Network latency : 5 cycles
SampleEncoder : Float
Slave mode : async
****************************************************

Troubleshooting

I can't connect PC to PC by netjack!

  • Check your firewall configuration on your PCs
  • Check your network configuration on your PCs
  • Check your install Jack Audio Connection Kit to your PCs is really succeed.

It look like connecting is succeed, But no sound.

  • Check your sound routing on Jack.

Author of this documentation

Naoki OKAMURA a.k.a nyarala nyarla@thotep.net

LICENSE

This documentation is under the MIT-license.

@eliezedeck
Copy link

This is cool. Can you mention about the latency incurred in this setup?
For example, at which buffer size (128 for instance or 64) how is the latency, is there a pop / crackle sound produced?

@eliezedeck
Copy link

To answer to my own question, I run a setup of a dedicated Linux box running Ubuntu with lowlatency kernel, and run Jack version 1.9.11 (the one from KXStudio repo), and set an engine for 44100Hz at p16 (yes, that's buffer 16 for Mac and Windows term). Not a single XRUN for hours.

I then run a Mac and run a Jack with net backend. Everything runs perfectly well, BUT, and it's a big BUT, you have to run both the main server (on the Linux) and the client in sync mode in order to avoid drop-outs!!!

For a reason that I don't know, it actually loses the connectivity sometimes. May be my network? but I'm not sure that it's my network though, I barely run at about 2 MB/s and I have a 1Gbps connectivity between these 2 boxes.

When it works, it has no noticeable latency, and the reported latency by any DAW is really really low, like sub-milliseconds.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment