Skip to content

DatanoiseTV/jack-linkaudio

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

jack-linkaudio

A bridge for routing audio between the JACK Audio Connection Kit and Ableton Link's audio streaming feature.

This application acts as a standalone client that creates a bridge between the JACK audio server and the Ableton Link network. It allows you to send audio from JACK applications into Link Audio streams, and receive audio from Link Audio streams into JACK applications.

Features

  • Dynamic Port Creation: Automatically creates JACK output ports for discovered Link Audio streams on the network.
  • Multi-channel Support: Can be configured to have multiple JACK input ports, each creating a separate Link Audio stream.
  • Latency Compensation: Reads latency information from JACK to ensure proper audio alignment with the Link timeline.

Requirements

  • A C++17 compatible compiler
  • CMake (version 3.10 or later)
  • JACK Audio Connection Kit (including development headers)
  • pkg-config

Building

First, clone the repository and its submodules:

git clone --recursive https://github.com/DatanoiseTV/jack-linkaudio.git
cd jack-linkaudio

Then, build the project using CMake:

mkdir build
cd build
cmake ..
make

The executable will be located at build/jack-linkaudio.

Usage

Run the bridge from your terminal:

./build/jack-linkaudio [client-name] [num-inputs] [--sync]

Arguments

  • client-name (optional): The name that the client will use to register with JACK. Defaults to jack-linkaudio.
  • num-inputs (optional): The number of JACK input ports to create. Each input port will create a corresponding Link Audio stream. Defaults to 2.
  • --sync (optional): When provided, jack-linkaudio will act as a JACK timebase master, sending tempo and transport information from the Link session to JACK.

Once running, jack-linkaudio will create the specified number of input ports (e.g., jack-linkaudio:in_1). Any audio sent to these ports will be broadcast as a Link Audio stream.

When other devices on the network create Link Audio streams, jack-linkaudio will automatically create corresponding JACK output ports (e.g., OtherDevice_TrackName:out_1) that you can connect to other JACK applications.

About

Jack Sink/Source for Ableton Link Audio support (network multi-channel audio streaming).

Topics

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors