github.com/ktamas77/ableton-link ↗
Ableton Link
Open this visualization on its own page →
Contributors
1
Lines of Code
698
From
2025-07-13
To
2025-07-13
About ktamas77/ableton-link
This is a Node.js native binding for Ableton Link, Ableton's real-time music synchronization protocol. The project wraps the official C++ Ableton Link SDK to expose tempo synchronization, beat tracking, transport control, and peer discovery functionality to JavaScript and TypeScript applications.
The package provides a comprehensive API for synchronizing musical timing across networked applications. Key features include tempo get/set operations, beat position and phase querying, play/stop state synchronization, automatic peer discovery, and beat subdivision support through quantization. The library includes extensive examples demonstrating various use cases from basic tempo syncing to advanced scenarios like quantized beat alignment for sample-accurate synchronization and proper initialization when joining already-playing sessions.
The project is built using node-gyp as the build system to compile the C++ bridge that interfaces with the Ableton Link SDK. It supports macOS, Windows, and Linux platforms, requires Node.js 18.0 or later, and includes full TypeScript type definitions for developer experience. The package is distributed on npm as @ktamas77/abletonlink and targets developers building music production tools, DAWs, or any applications that need synchronized playback across multiple connected peers.