Hey everyone! I am incredibly excited to finally share something I’ve been working on.
Introducing tracker-lib
tracker-lib, is a comprehensive TypeScript-based library for reading, writing, and creating files compatible with the Polyend Tracker family (OG Tracker, Tracker Mini, and Tracker+).
Thanks to Polyend’s effort to document their file formats, we now have a programmatic way to interact with instruments (.pti), patterns (.mtp) and projects (.mt). Whether you want to automate your workflow, build custom preset generators, or create web apps, this library handles the heavy lifting.
To show you what is possible, I’ve also built two fully open-source web examples powered by the library.
Video Overview
Ain’t got no time for all the details? Here’s a video that should help:
Details & Examples
Available right now on npm, the @polyend/tracker-lib library provides full TypeScript typing and works seamlessly in both Node.js environments and browser apps.
- Instrument Manipulation: Read/modify instrument files, slice markers, playback modes, filters, LFOs, envelopes, and wavetable/granular configurations.
- Pattern & Project Control: Edit notes, tracks, steps, and step-level FX/automation commands programmatically.
- Audio Utilities: Built-in helpers to parse WAV files and extract channels, sample rates, bit depth, and frames.
To find out more check out the libraries documentation or visit the Github repository.
Example 1: A new Web Instrument Editor (.pti)
Live Demo: polyend.sandroid.xyz/instrumented/
Source Code: github.com/sandroidmusic/tracker-pti-editor
This example grew pretty large and is very close to a full-blown, browser-based instrument editor.
You can create, edit, and manage your Tracker instruments without touching the hardware.
- Sampler & Sample Editor:
- Sample audio directly from within the editor
- Edit the recordings before committing as an instrument
- Offers functions like Cut, Fade In, Fade Out, Normalize, Compress, and Equalize
- Instrument Creation Helpers: create sliced instruments with ease.
- Instrument Parameters: Manage filters (cutoff, resonance, type), tuning, envelopes, LFOs, volume, panning, overdrive, bit-depth reduction, and FX sends.
- Waveform Visualizer: Interact with the waveform using custom zooming, scrolling, and marker placements.
- Play your instruments: Oh you thought this was just a simple sample playback? Oh no, my friend… this player uses the Web Audio API to play your instruments as they would sound.. well mostly.
- Playback Modes: Support for OneShot, Forward/Backward/Pingpong loops as well as the Wavetable and Granular modes.
- Play via MIDI or Keyboard: hook up your MIDI Controller or play the sounds directly on your keyboard.
Example 2: Web Pattern Editor (.mtp)
Live Demo: polyend.sandroid.xyz/patterned/
Source Code: github.com/sandroidmusic/tracker-mtp-editor
This is an example of the classic grid editing that we all have come to love. Create and edit your tracker patterns right from the browser.
- Pattern Editor: Edit notes, instrument assignments, and FX parameters in a classic tracker-style grid.
- Pattern File Support: Uses
tracker-libto read/write Polyend Tracker pattern files. - Full Keyboard Control: I mean… you don’t really want to use the mouse, do you?

Open Source & Open to contributions
The core library (tracker-lib) and all examples are completely open source. ![]()
They were built to kickstart the community’s imagination, and I’d love to see where you take them!
While I won’t have the bandwidth to maintain the editors heavily going forward, I am more than happy to accept Pull Requests and/or contributors to help grow these tools.
Check out the links above, leave your feedback and build some cool utilities to share with the community!
And who knows.. maybe there will be more to come in the future? …