Skip to content

VimAbl - Ableton Live LSP

Welcome to VimAbl

Vim-like keybindings and LSP-style server functionality for Ableton Live. Control Live with intuitive keyboard shortcuts powered by a Python Remote Script and Hammerspoon automation.

What is VimAbl?

VimAbl brings the power of Vim-style keyboard navigation to Ableton Live, combined with a real-time LSP-like server architecture for live project visualization and control.

Key Features

  • 🎹 Vim-inspired navigation - gg, G, dd, za and more familiar commands
  • 🎯 Context-aware shortcuts - Different behavior in Arrangement vs Session view
  • 🔒 Thread-safe Remote Script - Exposes Live's state via local socket server (port 9001)
  • ⚡ UDP/OSC Real-Time Observers - Streams Live events with < 10ms latency (port 9002)
  • 🎛️ ClipSlot Matrix - Full track × scene grid with real-time playback states
  • 🌲 Web TreeViewer - Real-time project visualization via WebSocket (port 8765)
  • 🧩 Modular architecture - Easy to extend with new commands
  • 🔄 Auto-recovery - Monitors and restarts eventtaps automatically

Quick Navigation

🚀 Getting Started

📖 Documentation

🔧 Resources

System Overview

graph TB
    User[User Input<br/>Keyboard] --> HS[Hammerspoon<br/>Lua Automation]
    HS <-->|TCP 9001| RS[Remote Script<br/>LiveState.py]
    RS <-->|Live API| Live[Ableton Live]
    RS -->|UDP 9002<br/>OSC Events| UDP[UDP Listener]
    UDP -->|WebSocket 8765| WS[WebSocket Server]
    WS --> UI[Svelte Web UI<br/>TreeViewer]
    Live -->|.als File| WS

Architecture Highlights

  • Hammerspoon Integration - Lua-based automation for macOS keyboard shortcuts
  • Python Remote Script - Runs inside Ableton Live, exposes thread-safe API
  • UDP/OSC Observer System - Real-time event streaming with minimal latency
  • WebSocket AST Server - Parses and visualizes project structure
  • Svelte Frontend - Modern web UI for live project visualization
  • LRU Caching - 10-100x faster lookups with automatic version-based invalidation
  • Metrics & Telemetry - Comprehensive monitoring for performance optimization

Performance Metrics

Metric Target Actual Status
End-to-end latency < 100ms ~10ms ✅ 10x better
UDP send time < 1ms ~0.5ms ✅ 2x better
CPU usage (Remote Script) < 5% ~2%
Packet loss < 0.1% 0% ✅ Perfect

Next Steps

  1. Install VimAbl - Set up on your system
  2. Quick Start Guide - Learn the basics in 5 minutes
  3. Explore the User Guide - Master all features

Community & Support


License: MIT | Project Status: Active Development