explaingit

savannah-i-g/nanotracker

Analysis updated 2026-05-18

3C++Audience · generalComplexity · 3/5LicenseSetup · moderate

TLDR

A native desktop music tracker with patch-cable style routing, plugin hosting, MIDI support, and studio-grade audio export.

Mindmap

mindmap
  root((NanoTracker))
    What it does
      Pattern based tracker
      Patchable cable workspace
      Plugin hosting
    Tech stack
      C++
      OpenGL
      OpenAL Soft
      Dear ImGui
    Use cases
      Compose music
      Host audio plugins
      Export finished tracks
    Audience
      Musicians
      Audio hobbyists
    Platforms
      Linux
      Windows beta

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Compose music using a pattern-based tracker interface with modular cable routing.

USE CASE 2

Host CLAP or VST3 plugins alongside a native sampler and effects in one workspace.

USE CASE 3

Import old tracker module files and export finished tracks as WAV, OGG, or MP3.

What is it built with?

C++OpenGLOpenAL SoftDear ImGuiCMake

How does it compare?

savannah-i-g/nanotracker4brm01/picture-pokerbong-water-water-bong/npu-gpu-cpu
Stars333
LanguageC++C++C++
Setup difficultymoderateeasyhard
Complexity3/51/55/5
Audiencegeneralgeneralresearcher

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 30min

Prebuilt Linux and beta Windows binaries are available, building from source needs CMake, a C++20 compiler, and several system audio libraries.

Free to use and modify, but any modified or connected code you distribute must also be released under the same license, with a specific exception for the plugin format headers.

In plain English

NanoTracker is a desktop application for making music using a tracker style interface, where sounds and patterns are arranged in a grid rather than a traditional timeline. It started life as a web application, and this repository is a rewrite of it as a native desktop program, which the author says is now the project's main home going forward, with the original web version kept only as a reference for how things were meant to behave. The program combines a classic pattern editor for sequencing notes with a more modern piano roll view, and includes a patchable workspace where you connect different pieces, such as audio, control signals, gates, and MIDI, together with virtual cables, similar to a modular synthesizer. It can load and run sound-generating plugins in three different formats, including its own custom format plus two widely used industry standards, and on Linux it can optionally run risky plugins in a separate process so that a crash does not take down the whole program. It also supports hardware MIDI keyboards and controllers with tightly timed clock syncing, has a built in sampler with slice editing, and can export finished tracks as WAV, OGG, or MP3 files, including individual instrument stems and loudness normalized masters. It can also import songs from several older tracker file formats. The project is built in C++ and uses OpenAL Soft for audio, OpenGL and Dear ImGui for its interface, and is tested with a dedicated test suite that checks its audio engine, file format handling, and plugin hosting. Ready to use builds are available for Linux, with a beta build for Windows that the author is still gathering feedback on from real hardware. Building it from source requires CMake, a C++20 compiler, and Python with a templating library, and the project documents its own project file format and dependency licenses in detail. The code is released under the GPLv3 license, with a specific exception that keeps the plugin format headers permissively licensed so plugin authors are not bound by the main license's copyleft terms.

Copy-paste prompts

Prompt 1
Help me download and run the latest NanoTracker build for my operating system.
Prompt 2
Explain how the patchable workspace and cable routing work in NanoTracker.
Prompt 3
Walk me through building NanoTracker from source on Linux with CMake.
Prompt 4
Show me how to write a plugin for NanoTracker using its NTP format.

Frequently asked questions

What is nanotracker?

A native desktop music tracker with patch-cable style routing, plugin hosting, MIDI support, and studio-grade audio export.

What language is nanotracker written in?

Mainly C++. The stack also includes C++, OpenGL, OpenAL Soft.

What license does nanotracker use?

Free to use and modify, but any modified or connected code you distribute must also be released under the same license, with a specific exception for the plugin format headers.

How hard is nanotracker to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is nanotracker for?

Mainly general.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.