On M1 hardware, you can now have native arm64 JACK clients talk to Intel/x64 once and vice-versa. On Windows, JACK-Router (the special ASIO driver that allows any ASIO-compatible application to talk to other JACK clients) has been brought back, now integrated with the installer so it is much easier to manage. 4 The Jack Bridge. 4.1 Creating permanent Jack clients using alsain and alsaout; 4.2 Create scripts to automate bridge initialization via QjackCtl; 5 Alternative Setup: hardware and software based solution. 5.1 Adding extra h/w inputs in asoundrc; 5.2 Testing the new ALSA capture; 6 Measuring the latency introduced by the Loopback device.
A new version of JACK2 has just been released.
You can grab the latest release source code athttps://github.com/jackaudio/jack2/releases and macOS/Windows installers athttps://github.com/jackaudio/jack2-releases/releases.
This release focuses on 2 main things: adding zalsa internal client and fixing macOS builds in regards to DB/meta-data.
A few other fixes were made as contributed by developers.
With zalsa now part of JACK2, we are one more step closer to JACK1 feature parity.
Worth noting that this is purely the client, we still need to add the switches to be able to load internal clients directly from jackd
startup command-line.
Will be interesting to attempt to make this zalsa client also behave as a “slave adapter” like done with ALSA audioadapter
, coremidi
and winmme
drivers.
Something for a future release.
On macOS, please restart the JACK server after updating to 1.9.18.
The official changelog is:
Now for those unaware of this whole “zalsa” thing…
This is basically zita-a2j/j2a by Fons Adriaensen repackaged as an internal client instead of being an external standalone tool.
JACK1 already added this a few years ago.
This zalsa version is slightly more up to date and with a few new fixes on top.
On supported systems, we can use it by running:
This will activate the “Mio” soundcard as an output in the JACK graph.
You can use jack_unload zalsa_out
to deactivate it, or alternatively control the start/stop purely in CLI with:
Which will automatically unload the internal client after Ctrl+C or SIGTERM.
Worth noting that, since internal clients run in the JACK server process,they will log/print information on that process and not on the jack_load
one.
So watch out for that if you need to debug anything.
A new version of JACK2 has just been released.
You can grab the latest release source code athttps://github.com/jackaudio/jack2/releases and macOS/Windows installers athttps://github.com/jackaudio/jack2-releases/releases.
This release focuses on improvements to the macOS and Windows binaries, now with macOS universal builds natively supporting Apple M1 hardware.
On M1 hardware, you can now have native arm64 JACK clients talk to Intel/x64 once and vice-versa.
On Windows, JACK-Router (the special ASIO driver that allows any ASIO-compatible application to talk to other JACK clients)has been brought back, now integrated with the installer so it is much easier to manage.
Also, 32-bit and 64-bit clients can now be mixed without any side-effects to the meta-data.
Please restart the JACK server after updating to 1.9.17 on those systems.
The official changelog is:
An issue was found on the last JACK2 release that caused a few applications to crash on start.
This is a quick hot-fix for that release. If you are running v1.9.15, please update.
Because of a new release being needed, we took the chance to remove the jack-router Windows code, as it now belongs in its own repository.
These two items are the full release.
You can grab the latest release source code athttps://github.com/jackaudio/jack2/releases.
You can also grab the latest pre-built installers for macOS and Windows athttps://github.com/jackaudio/jack2-releases/releases.
On other systems, ask your jack2 package maintainer to update to the latest release.
A new version of JACK2 has just been released.
You can grab the latest release source code athttps://github.com/jackaudio/jack2/releases.
This version of JACK2 brings back binary builds for macOS and Windows.
You can grab the latest pre-built installers athttps://github.com/jackaudio/jack2-releases/releases.
A few notes about the new installers:
The official changelog is:
This release is a nice good step towards what was planned back in 2017 with the v1.9.12 release.
JACK1 remains in bug-fix mode, while JACK2 is slowly incorporating changes from it.
The examples and tools directory was split in the same way that JACK1 is,so that in the future we can use those as submodules instead of having duplicated code between JACK versions.
Once we have matching headers, examples and tools we can begin the switch.
If you are reading this and want to help, pull requests for syncing those repositories code to what JACK2 has will be greatly appreciated!
For those that missed it, JACK-Session has been marked as deprecated. Please use “New Session Manager” instead.
You can find more about the project here.This includes links to the source code, bug/issue tracker and documentation.
For the future, short-term plan is to continue the feature parity between JACK1 and JACK2.
We are pretty much there now besides JACK2 missing the a2jmidi and zita internal clients (and the special options to use them).
Support for macOS arm64 is in progress, and there is a whole range of pull requests and issues to investigate and fix.
Focus will be on those before any features are even thought of, unless they serve to improve something.
A small heads-up for developers, JACK-Session API has now officially been marked as deprecated.
I have been working together with other members of linuxaudio community to get a better session-management API out there.We previously had difficulties with this due to issues regarding the upstream project.It was obvious to us that the NSM API is superior to all others that came before it (thanks to the initial hard work of its author, Jonathan),but working with upstream has proven immensely difficult or even impossible..
As of a few weeks ago, a few members of the linuxaudio group decided to fork the original NSM project and make a new one.The acronym remains, so we still call it “NSM”, but the new project is now “New Session Manager” while the original is “Non Session Manager”.We are working together with the community to make this session-management API and tools the best as they can be.(The original was a bit lacking on the user-experience side of things..)
You can find more about the “New Session Manager” project here.This includes links to the source code, bug/issue tracker and documentation.
Please give it a look, or better, a chance.For now it is specific to POSIX systems like Linux and BSD, but it can be extended in the future.If we manage to make (Audio) Session Management really work in Linux, that is already a big step up from other tools/APIs that came before it.
We recommend all JACK application developers to implement NSM in their software.Thank you.
[ News Archive ]
As on other platforms, JACK on Windows is a multi-purpose audio server thatconnects audio and MIDI streams using the Windows system drivers.It connects (OUTPUT) to those audio drivers using the PortAudio project(so JACK can connect using dsound, wmme, ASIO, etc) depending on whatthe soundcard’s drivers support.
JACK provides an Audio, MIDI and transport API (Application Programming Interface)that can be used natively by audio application developers.There are already some existing native JACK Windows applications(that is, audio applications that use the JACK API directly).Through the API, JACK on Windows offers native JACK connections (INPUT),and the JACK-Router ASIO driver (INPUT) that offers an ASIO linker to the JACK Server.
So any ASIO application will be able to use the JACK-Router ASIO driver toconnect to JACK, and JACK can then be used to route that audio to otherapplications connected to the JACK Server, or out to the system sound device.
Several applications have native JACK support:
Native JACK applications can make use of the full power of the JACK audio andMIDI connection system (for instance, they can open or close JACK connectionsfrom within the application, rather than having to set an ASIO driver to useuse JACK-Router).Also, the use of natively provided JACK ports provides the ability to syncaudio streams between applications.
The JACK-Router ASIO driver is “only” there so that users are able to use ASIOapplications in the Windows context of JACK, but this connection obviously hassome limitations that native applications won’t have.
JACK uses a ‘Server <-> Client’ architecture to supply the audio connectionbetween your sound device and the ASIO application(s).When the JACK Server is running, the JACK-Router driver is then able to createconnections between clients (ASIO applications) and the JACK Server.These connections can be seen in the QjackCtl -> Graph screen.
If the JACK Server is not running, then JACK-Router will not be available toyour ASIO application(s), and an error report may be shown.
By default, JACK-Router is set to provide 4 Input and 4 Output connections.This setting can be customized to suite your needs by editing theJackRouter.ini file within yourC:Program FilesJACKjack-routerwin32
(or C:Program FilesJACKjack-routerwin64
folder depending of the JACK 32 or 64-bit version).In Windows Explorer, right click on the file and choose the ‘Edit’ option.Change the settings in the [IO] portion of the file.
Download the JACK2 installer for Windows from the download page.
Use the installer. Either the 32-bit or the 64-bit one (which still allows 32-bit clients).
Pick “Full installation (with JACK-Router)” during installation.
From the Windows Start menu, locate the QjackCtl application and run it.
On the QjackCtl application, click “Setup” and adjust “Interface”, “Sample Rate” and “Frames/Period” as needed for your device/sound-card. Do not change settings you do not understand.
Click on OK to close the Setup dialog.
Click on “Start” to start the JACK Server with the parameters you just set up.
When the JACK Server is running the JACK-Router ASIO interface will beavailable to all ASIO capable applications.
Just open the “Programs and Features” in the Windows Control Panel andremove “JACK2 version …” from there.This will uninstall the JACK Server, JACK-Router and QjackCtl.
Start the JACK Server using QjackCtl
With the Jack Audio Server started, the JackRouter ASIO driver will be available for your ASIO supported applications.
Within your audio application, select JACK-Router as the audio device.
Within QjackCtl, click the “Graph” button.
You can route the output of ASIO applications into the inputs of other ASIOapplications (like a VST host application), and then connect the audio outputof that application to your system output (or a combination of both).
Multiple channel audio is also supported, but may require more configurationthan the simple setup described here.