Skip to main content

Topic: JACK Audio Connection Kit (Windows), how to use? (Read 22264 times) previous topic - next topic

0 Members and 1 Guest are viewing this topic.
  • distill
  • [*]
JACK Audio Connection Kit (Windows), how to use?
JACK Audio Connection Kit - http://jackaudio.org - seems very good and I've heard good things about it. But trying to actually use it myself, I'm immediately stuck. I couldn't find any relevant guides, especially for Windows. What I am trying to accomplish is do a simple route of program output to another program's input. I guess this probably should be done by reading the speaker output and writing it to a virtual recording device.

I know how to do this with Virtual Audio Cable and Total Recorder and the Stereo Mix recording device (when available). But how do I do this with JACK? Any example is good (from any program to any other program in Windows).

For me the JACK Setup says: Interface hw:0 and plughw:0 and I have no idea what to do next.

  • SebastianG
  • [*][*][*][*][*]
  • Developer
JACK Audio Connection Kit (Windows), how to use?
Reply #1
It's my understanding that if you want to connect two programs, both of them have to have explicit Jackaudio support. If your programs only use the standard interfaces for audio i/o you probably won't be able to "connect" them. (I'm just guessing). Since JackAudio was developed using and (mainly) for Linux, I don't think you'll find a lot of Windows programs that support JackAudio.

I could be wrong, though. I never actually used it.
  • Last Edit: 13 January, 2011, 11:03:08 AM by SebastianG

  • [JAZ]
  • [*][*][*][*][*]
JACK Audio Connection Kit (Windows), how to use?
Reply #2
The version that runs in Windows is based on Jack2, and includes an ASIO driver.

This driver can be used by the applications to send/receive the audio to/from JACK, and as such be routed using the Jack Control tool.
If the applications that you want to connect don't support ASIO, you are out of luck.

The plughw:0 and hw:0 are not what you need to configure in Jack Control.
Set the Driver (top right) to portaudio, Interface to default, and select your soundcard in the Output Device. (I recommend you to output to ASIO to keep the latency low. Do the same with Input Device if you select duplex in the Audio option ).
That should set you running, then you could tweak a bit the latency and sample rate settings.

I haven't followed the development lately, but i was a bit stuck, since i wanted to use JACK netDriver, but I didn't know how to do it. (basically, JACKing windows and linux software).


Edit: btw, you will connect the applications in the Connections window. By default aplications are connected automatically to output. PatchBay is sort of a "preset manager".
  • Last Edit: 13 January, 2011, 01:48:55 PM by [JAZ]

  • distill
  • [*]
JACK Audio Connection Kit (Windows), how to use?
Reply #3
you will connect the applications in the Connections window.

I am now trying to connect things. But what am I supposed to be able to connect? Could you please help me a little further. I think the simplest way is if you could tell me a concrete example of how to connect some two basic open source programs together. For example how to record some program's audio output in Audacity (through JACK)?

I am confused how I'm supposed to connect programs - the Connection window seems to connect capture_1/2 from the audio driver to playback_1/2 but I don't know what exactly that capture and playback mean in this context. I have qjackctl.exe Started and I played around with the Setup / Input and Output devices, but couldn't get any sound go through.

By the way I am also highly interested in audio streaming over the network.

  • [JAZ]
  • [*][*][*][*][*]
JACK Audio Connection Kit (Windows), how to use?
Reply #4
If you don't see anything else than capture and playback, then you don't have an application connected yet.





AFAIK, Audacity does not support ASIO, so I can't give you an example on that.
  • Last Edit: 16 January, 2011, 12:20:33 PM by [JAZ]

  • distill
  • [*]
JACK Audio Connection Kit (Windows), how to use?
Reply #5

If you don't see anything else than capture and playback, then you don't have an application connected yet.

Thank you for the images, they helped a lot. However, I still didn't succeed. How did you manage to get JackRouter appear in Psycle's ASIO configuration (as on your image)? I tried Psycle's latest stable and latest beta versions but JackRouter did not appear. JackRouter appears in my Adobe Audition, but just says "You have selected a driver for an ASIO device that is not available" even Jack Portaudio is running and qjackctl.exe is running (Start is pressed). Though probably Audition just doesn't support JACK.

Is it so that JACK has to be explicitly supported in the app or otherwise it will not work (not just ASIO but JACK too)?

  • [JAZ]
  • [*][*][*][*][*]
JACK Audio Connection Kit (Windows), how to use?
Reply #6
No. Psycle does not have any special support for JACK. It is all done with ASIO. The driver appears when Jack is running.  (Note: Psycle does not autorefresh that list, one needs to close the program and open it again).

The message in Audition seems to indicate that it is not running.

Could you open the messages window and paste here its content? (use a \[CODEBOX\]\[/CODEBOX\] tag so that your post is not too long).


  • distill
  • [*]
JACK Audio Connection Kit (Windows), how to use?
Reply #7

Could you open the messages window and paste here its content?

Am I not running JACK properly.. The messages are just:

23:57:33.626 Patchbay deactivated.
23:57:33.641 Statistics reset.
23:57:33.655 Client activated.
23:57:33.855 JACK connection change.

  • [JAZ]
  • [*][*][*][*][*]
JACK Audio Connection Kit (Windows), how to use?
Reply #8
Ok, I think I know what you are doing.

Do not execute Jack portaudio. Execute only jack control, and start jack from its "start" button. (If you have set to start jack automatically in the Misc tab of the settings dialog, it will start automatically)

My log shows this:

Code: [Select]
20:17:16.840 Patchbay deactivated.
20:17:16.872 Statistics reset.
20:17:16.903 JACK is starting...
20:17:16.903 jackd.exe -R -m -dportaudio -r96000 -p4096
20:17:16.934 JACK was started with PID=55166560.
20:17:19.212 Server configuration saved to "/.jackdrc".
20:17:19.222 Statistics reset.
20:17:19.232 Client activated.
20:17:19.292 JACK connection change.
20:17:19.292 JACK connection graph change.


  • distill
  • [*]
JACK Audio Connection Kit (Windows), how to use?
Reply #9
Do not execute Jack portaudio. Execute only jack control, and start jack from its "start" button. (If you have set to start jack automatically in the Misc tab of the settings dialog, it will start automatically)
What am I doing wrong.. You we're right, now I didn't execute Jack portaudio any more. Only Jack Control and start. So my message listing is:

Code: [Select]
14:01:54.845 Patchbay deactivated.
14:01:54.857 Statistics reset.
14:02:15.764 Startup script...
14:02:15.764 artsshell -q terminate
14:02:16.214 Startup script terminated with exit status=1.
14:02:16.215 JACK is starting...
14:02:16.215 jackd.exe -R -m -dportaudio -r96000 -p4096
14:02:16.238 JACK was started with PID=55643288.
14:02:18.274 Server configuration saved to "/.jackdrc".
14:02:18.274 Statistics reset.
14:02:18.282 Client activated.
14:02:18.334 JACK connection change.
14:02:18.335 JACK connection graph change.

However, I still can't get JackRouter to appear in Psycle. So I tried with energyXT and that gives me JackRouter in the output list. However, no inputs or outputs appear in energyXT list when JackRouter is chosen, also I can't Connect anything in Jack Control (except just system). I tried with both ASIO::ASIO4ALL v2 and my ASIO::ASIODIGI96 in the Jack Control Setup (i/o Devices), also with different sample rates.

  • [JAZ]
  • [*][*][*][*][*]
JACK Audio Connection Kit (Windows), how to use?
Reply #10
Then, I don't know what can be wrong.
Jack seems to be running, and at that point, the jack audio "soundcard" should be available to programs.
Once the program successfully opens the soundcard, it should appear in the connect window and be automatically connected to system playback ports.

(And it's weird, because I am using a non-privileged user in a Windows 7 64bits. If anything, it's me who should have more problems making it run...)

  • distill
  • [*]
JACK Audio Connection Kit (Windows), how to use?
Reply #11

Then, I don't know what can be wrong.

Thank you! Now I realized I had installed also this NetJack (jacknone). Apparently it broke things. I uninstalled that and now everything works!

So, the next thing is to get netjack working! http://netjack.sourceforge.net/ doesn't seem very promising. However, I just put

jack_netsource -H ReceiverIP

and that allowed netjack ports to appear in Connections. Also bandwidth meter shows that it's uploading. Now the question is, how to catch the stream with the receiving JACK? I tried

jackd -R -d netone

but that crashes. That seems quite promising and according to http://trac.jackaudio.org/wiki/WalkThrough/User/NetJack that seems the correct procedure. What can we do to fix the crashing?

  • distill
  • [*]
JACK Audio Connection Kit (Windows), how to use?
Reply #12
By the way what is the meaning of Input Device and Output Device in the qjackctl Setup? I can put some completely wrong device there and JackRouter still works as it should.

  • [JAZ]
  • [*][*][*][*][*]
JACK Audio Connection Kit (Windows), how to use?
Reply #13
Thank you! Now I realized I had installed also this NetJack (jacknone). Apparently it broke things. I uninstalled that and now everything works!

good to hear

What can we do to fix the crashing?

I don't know. I haven't taken the time to investigate on that.

By the way what is the meaning of Input Device and Output Device in the qjackctl Setup?

They should represent the soundcard that jack uses for input/output (i.e the system->capture and system->playback). You need to stop and start jack after doing changes in setup.
I believe that is only used when using portaudio (which i believe it's the only driver that works in windows).