Running Jack between Windows and Linux

3.8k views Asked by At

I need two systems running, with a mic on system A going to speakers on system B, and vice versa, in realtime.

I currently have three systems set up:

  • Fedora
    • Jack works fine
  • Ubuntu
    • Jack has problems recognizing microphones
  • Windows
    • Jack works fine

I can connect Jack between the two linux systems fine, but since the ubuntu system is having jack problems regarding microphones, I'm trying to get Windows to communicate with either of them, to no avail so far. I've tried googling around but people seem to either say "It works!" or "It has problems!" without giving details.

Is there a canonical method for using netjack W<->L?

Would really appreciate any help I can get on this.

2

There are 2 answers

0
小太郎 On BEST ANSWER

I was able to get audio playback working from Windows to Linux with netjack2. I did a small write-up of it here: https://gist.github.com/kotarou3/3813bbf7833a0e4618f7fbe8a377872d

Partially quoting here for posterity:

Stream audio from Windows to Linux

Tested on Ubuntu 16.04 and Windows 10 Redstone 1

Both boxes need to be on the same network (such that multicast packets can be passed between them)

Installing

Linux

  1. Setup JACK (easy to do with Cadence)

Windows

  1. Install JACK and ASIO Bridge on the Windows box
  2. Run regsvr32 32bits\JackRouter.dll and regsvr32 64bits\JackRouter.dll from JACK installation directory
  3. Modify 32bits\JackRouter.ini and 64bits\JackRouter.ini to match your channel and sample config
  4. (Optional) Set the ASIO Bridge (Hi-Fi Audio) input as the default playback device

Running

  1. Start the netjack2 server on Linux with jack_load netmanager (probably also possible to add to .jackdrc for it to autoload)
  2. Run JACK NetDriver on Windows (it's in the Start menu), or jackd -R -d net
  3. A new device named the hostname of the Windows box should have appeared on the Linux JACK patch panel (Catia if you're using Cadence). Connect it as you see fit (Note: Channels might not match up as expected if you have more than 2).
  4. Run ASIO Bridge (also in the Start menu), turn ASIO on, and set the ASIO device to JackRouter
  5. The ASIO Bridge should have automatically set up routes to the system device in the Windows JACK patch panel. You can double check with qjackctl (Jack Control in the Start menu) → Connections and connect them if not

I imagine this can be further adapted to get microphone input from Windows as well by using Windows' microphone to speaker loopback feature (it's in the microphone config for Windows 10), albeit at the cost of more latency. Basically get Windows to send the microphone to the ASIO Bridge input.

0
umläute On

you could try jacktrip, that has an experimental windows client.

people also reported that soundjack.eu is supposed to work great, but i have never tested it (and couldn't find a linux client on their website)