PocketTracker is a music tracker for small screens — a retro gaming handheld, a smartphone, or your desktop. It carries on the spirit of trackers like LSDJ and LGPT. It's free, open-source, and runs on hardware you've probably already got — the goal is to put a capable music-making tool in anyone's pocket.
One codebase and one audio engine across Android, Linux handhelds, Linux desktop and Windows: the same 640×480 design, the same sound, the same project files.
Note: This project was developed with AI assistance. If that bothers you, this project isn't for you.
Status: 0.9.8 — public beta
License: GPL-3.0
Two instrument types: a sampler that loads WAV, MP3, M4A, FLAC, OGG and Opus files, and a SoundFont player for SF2 and SF3 files.
Just screen record stuff from YouTube or your favourite video games and sample it with the built-in video-to-WAV converter!
Manipulate the waveform, add effects, repitch, STRETCH (can't wait to hear your jungle tunes), slice (destructively or just add slice markers to your sample).
PocketTracker is made for gaming handhelds with physical buttons. For phones and other touchscreen devices, there's an on-screen control layout.
Overdrive, bitcrusher, filters, EQs, reverb and delay (as send channels), and a master bus with OTT (aggressive soundgoodizer) or DUST (a special blend from Skoomabwoy to squish your tracks and make them more lofi-ish). All of them can be applied to your samples in the sample editor!
Arrange a song across eight stereo tracks and balance it on a mixer with per-track sends and true dBFS meters. Export the finished mix as a WAV, or export each track as a separate stem.
Record selected sequence part into a new sample — for layering drums, freezing a chord into a pad, or flattening a section to build on.
There are a few options to customize the app interface. The top bar has six visualizer modes that vary from a ProTracker2 look to a Pioneer-style stereo tower. There are also interface color themes and a theme editor to make your own. As a bonus, phones come with an Amiga-inspired touchscreen button skin.
➡️ Full feature list: docs/features.md
| Platform | Package | Notes |
|---|---|---|
| Android | .apk |
Phones and Android gaming handhelds. Touch layout or physical buttons. |
| Linux handheld | PortMaster .zip |
aarch64 CFW handhelds (ArkOS, muOS, JELOS, Knulli, ROCKNIX…). |
| Linux desktop | .tar.gz |
x86-64. |
| Windows | .zip |
x86-64, no installer. |
Android minimum: Android 8.0 (API 26) · 64-bit (arm64-v8a / x86_64) · ~512 MB RAM · ~50 MB storage · 640×480 screen
Tested on the Miyoo Flip (1 GB RAM, GammaOSCore Android 13), Ayaneo Pocket Air Mini (3 GB RAM, Android 11), Fairphone 6 (8 GB RAM, /e/os v3.0.4 Android 15) and Xiaomi 12T Pro (8 GB RAM, LineageOS Android 16)
All packages are on the Releases page.
F-Droid: PocketTracker is in the main F-Droid repository. Tap the badge, or search for it in the F-Droid app.
Obtainium: install Obtainium, then tap the badge below on your device. PocketTracker is added straight from GitHub Releases and Obtainium keeps it up to date automatically — new versions appear here on release day, a few days before F-Droid builds them.
If the badge doesn't open Obtainium, add this URL as an app source inside Obtainium instead:
https://github.com/conanizer/pockettracker
Manual: download PocketTracker-<version>.apk and open it on your device (allow "install from unknown sources" if asked).
PocketTracker requests no permissions. On first run, open a file browser and press A on the ADD FOLDER... row — Android's folder picker opens, and the folder you choose is where your projects, samples and renders live. See the quick-start guide.
For aarch64 CFW handhelds — ArkOS, muOS, JELOS, Knulli, ROCKNIX and friends. Nothing extra is needed — no BIOS, no runtime, no gptokeyb.
- Download
PocketTracker-<version>-portmaster-aarch64.zip. - Copy it, still zipped, into the
autoinstallfolder inside your device's PortMaster folder. (Recent PortMaster versions also watchports/autoinstall/.) - Open PortMaster. It installs the port and removes the zip.
- Launch PocketTracker from the Ports menu.
Let PortMaster unpack it rather than unzipping it yourself — unzipping on a PC and copying the files across can strip the permissions the port needs, and it then does nothing when you launch it.
Your projects, samples and settings live in ports/pockettracker/data/, created on first launch — copy samples in there over USB or the network.
The port uses your device's own SDL2, so it follows whatever your firmware already does about the screen and audio.
tar xzf PocketTracker-<version>-linux-x64.tar.gz
cd PocketTracker-<version>
./PocketTrackerSDL2 is the only runtime dependency:
| Distribution | Command |
|---|---|
| Debian / Ubuntu | sudo apt install libsdl2-2.0-0 |
| Fedora | sudo dnf install SDL2 |
| Arch | sudo pacman -S sdl2 |
Your files live in $XDG_DATA_HOME/PocketTracker (usually ~/.local/share/PocketTracker), in Projects/, Samples/ and Soundfonts/. Set POCKETTRACKER_HOME to put them somewhere else.
- Download
PocketTracker-<version>-windows-x64.zip. - Unzip it anywhere — it is a folder, not an installer.
- Run PocketTracker.exe.
Nothing else to install: SDL2 and the Visual C++ runtime are both linked in. Windows SmartScreen will warn about an unsigned executable the first time — More info → Run anyway. A console window opens behind the tracker and stays there on purpose: it prints what the audio device and display actually did and whether your samples loaded, which is the most useful thing to attach to a bug report. Closing it closes the app.
Your files live in Documents\PocketTracker\ — Projects\, Samples\, Soundfonts\.
The desktop builds read a gamepad through SDL, and also map the keyboard. See docs/input-system.md for the full reference.
| Document | Contents |
|---|---|
docs/quick-start-guide.md |
Quick start — from install to your first beat |
docs/manual-en.md |
Full user manual |
docs/input-system.md |
Complete controls reference |
docs/features.md |
Feature overview |
docs/technical-architecture.md |
Architecture overview |
docs/building.md |
Building from source |
The engine, the sequencer and the whole UI are portable C++17 under native/; each platform adds a thin shell around them. Full instructions for all four platforms: docs/building.md.
- Bug reports → GitHub Issues
- Feature requests / questions → GitHub Discussions
- Or reach me on Discord for any kind of feedback
PocketTracker is built on excellent open-source work — Oboe, DaisySP, TinySoundFont, KissFFT, dr_libs, libopus, and more. Inspired by M8, LGPT, and LSDJ.
Full attributions, licenses, and DSP algorithm references: CREDITS.md.
Third-party license notices for everything compiled into PocketTracker — the audio engine and the
SDL shell alike, across all four packages — are reproduced in full in
docs/licenses/THIRD-PARTY-NOTICES.md.
PocketTracker is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License v3.0 or later as published by the Free Software Foundation.
It is distributed in the hope that it will be useful, but without any warranty — without even the implied warranty of merchantability or fitness for a particular purpose. See the GNU General Public License for details.
Full license text: LICENSE.
PocketTracker statically links several third-party components, each under its own license (BSD-3-Clause,
MIT, LGPL-2.1, zlib, and public-domain dedications). Their copyright notices and license terms are
reproduced in docs/licenses/THIRD-PARTY-NOTICES.md.
That file, the GPL text and CREDITS.md ship inside every release artifact, not just
in this repository — licenses/ in the Windows zip, the Linux tarball and the PortMaster zip, and
assets/licenses/ inside the Android APK. If you received only a binary, the notices came with it.

