Retrack, image 1 from its README
1/10
Firmware

Retrack

Hype: hot · 89

From-scratch four-track looper firmware.

forPolyend Tracker·by@math0ne

Unclaimed. Is this yours? Sign in with GitHub as @math0ne to claim it.

Download v1.0

PolyendTracLooperv10.ptf· 1.1 MB· +1 file

No license: reuse rights unclear· math0ne/retrack-tracker·downloads come from the creator’s GitHub releases

53 commits and 5 releases in the last year

Retrack for Polyend Tracker

A from-scratch 4-track looper firmware for the original Polyend Tracker.

https://github.com/user-attachments/assets/0d21f3ef-e740-4524-94a1-e38987e352ee

[!WARNING] Very beta. This runs on the Tracker and is being tested on the device, but expect bugs and performance issues (audio glitches, a slow screen under load). Keep the stock firmware on the SD card as the way back, and don't trust it with anything you can't afford to lose.

Four loops playing

  • A looper: four stereo tracks, locked to one bar clock
  • Record, overdub, replace (punch in), undo and redo
  • Recording latency compensation, measured with a patch cable
  • Takes up to 5 minutes per track, streamed from the SD card
  • Count-in, start on sound, stop on the bar or beat, fixed lengths
  • Click-free loop points
  • Playback modes: reverse, ping-pong, half and double speed, half time, octave up / down
  • Granular playback (speed and direction too), with the grains drawn on the waveform
  • Tempo changes as tape varispeed or time-stretch, tap tempo
  • Two send effects: delay, ping-pong, reverb, chorus, flanger, Mutable Instruments Clouds
  • A mixer with sends, DJ filters, returns, FX chaining, meters and mutes
  • Performance mode: beat repeats, filters, sweeps, vibrato, tape stop, on one track or all at once
  • A loop editor: trim, cut, erase, copy and paste; duplicate a track into the next
  • Load any WAV on the card into a track; name tracks and projects
  • Projects saved to the SD card, WAV export
  • MIDI clock in and out, learnable footswitch actions
  • Metronome with accent, four sounds, count-in length, click only while recording
  • Input monitoring through the effects, at the selected track's sends
  • An on-device manual, and a firmware flasher back to stock

Install

  1. Download PolyendTracLooperv<XY>.ptf from the latest release.
  2. Copy it into /Firmware on the Tracker's SD card.
  3. On the Tracker, update the firmware and pick that file.

To go back, flash the stock firmware the same way (Config > F1 Firmware).

Features

Four stereo tracks on one bar clock

Each track records up to about 21.5 s of stereo (43 s mono) in the Tracker's 16 MB SDRAM, and with an SD card up to 5 minutes (10 mono): a longer take goes on to the card (see Long takes). The first take sets the bar; every later take, every playback mode and every effect follows the same bar clock, so nothing drifts. Takes start with a count-in (or at once, or when sound arrives), stop on the bar line, and blend their end into their start so the loop point does not click. Overdub (with feedback), replace (punch in), undo and redo. Takes and overdubs are placed back by the codec's round-trip delay (Config > Rec latency, measured with a cable from an output into the input), so layers land where they were played and do not drift.

The home page is the four waveforms, left channel above the line and right below, with the bar and beat lines faintly behind them. The playhead leaves a fading trail as long as its speed, on the side it came from. While a track records or overdubs, in every fourth bar of the take a thin line at the right end of its lane brightens slowly: the end of the four bars coming. The eight screen keys act on the selected track and show its state; the selected track stays selected from page to page.

A take in progress, a pulsing dot by the lane's tag, the REC key showing what a press does:

Recording the third track

Playback modes

The mode bar (F5) has two pages: Forward, Reverse, Ping-pong, Half speed, Double, Half rev and Double rev; then Half time, Octave up, Octave down and Granular. Each mode reads from the bar clock, so a track stays in time in any mode and a switch carries on from where it is.

Page 1: playbackPage 2: grains
Mode bar, page 1Mode bar, page 2

Granular plays the loop through Clouds grains around the playhead. Hold F5 for the grain menu with its six knobs (Spread, Size, Density, Pitch on F1–F4; Speed and Direction on F6–F7: the playhead moving through the loop at 1/2, 1 or 2x, forward, reverse or ping-pong, the grains reading the way it goes); it stays open until F5 again. The lane draws every grain where it reads, as long as it is and as bright as it sounds. Below, track 2 plays in Half rev (the trail on the right of its playhead) and track 4 is Granular, its grains scattered by Spread:

Grain knobsGrains on the lane
Granular knobsHalf rev and Granular tracks

Shift layer: track options

Holding Shift relabels the screen keys: Replace, Play / stop all, Solo, Click level, then the selected track's options: Stop (free / on bar / on beat, or a fixed length in bars), Start (now / count-in / on sound, with its threshold), After rec (play / overdub / stop) and Tempo (Tape or Stretch).

The Shift layer

A track set to start on sound waits armed (a ring by its tag), showing the input level against the threshold:

A track armed to start on sound

Tempo, volume and input, under your fingers

Hold F4 and turn for the tempo: before a loop it sets the bar, after it it is tape-style varispeed from 50 to 200 % (Stretch tracks keep their pitch). Hold F7 for the selected track's volume, tap it for its strip on the mixer; hold F6 for the input gain, tap it for the Input page (source, gain, channels, monitoring through the effects, overdub feedback, and the tempo card: metronome, click level and sound, accent, click always or only while recording, count-in length, tempo, beats per bar, stop fade).

Tempo (F4)Volume (F7)
Tempo knobVolume knob

The Input page

Two send effects, including Clouds

FX 1 and FX 2 each hold a Delay, Ping-pong delay, Reverb, Chorus, Flanger or Mutable Instruments' Clouds granular processor. Each page shows the effect live (echo taps, the reverb's decay, LFOs, Clouds' grains in its buffer) over its knobs. One slot can feed the other, so Clouds can run into the reverb.

ReverbClouds
Reverb pageClouds page

Mixer

Master opens seven strips: per track the two pre-fader sends, a DJ filter (down from the middle a low-pass closing, up a high-pass opening) and the level, per FX slot a knob, the chain send to the other slot and the return, and the master, with meters on every fader. Hold Shift for the mutes on F1–F7 (the tracks, both FX returns and the master), and Shift + F8 to name the strip's track.

The mixer

Performance mode

Perform turns pad columns 5 to 12 into eight effects per track: two beat repeats, low-pass, high-pass, two filter sweeps, vibrato and tape stop. Hold a pad to play one, Shift + pad to latch it; play as many as you like on as many tracks at once. The screen keys along the bottom play the eight effects on every track at once (Shift + key latches); hold one and turn the encoder to set its knob on every track. Each track keeps its own settings: hold a pad and turn the encoder to set that track's alone. Repeats and tape stop land back in time when released, and the playhead shows where they read.

Performance mode, a filter sweep held

Loop editor

Note (or S.Edit) opens the selected track's waveform with start and end markers on a bar / beat / 1/16 grid: trim (instant, with undo), cut and erase. Copy copies the selection; Shift + Copy (Paste) puts it at the start marker over what is there, Insert puts it in there (the loop gets longer), on the same track or another. On the home page Copy duplicates the selected track into the next one (empty), in time with it; long takes too (a few seconds through the card).

The loop editor

Projects, samples, export, settings, MIDI and the manual

File saves and loads projects (every loop as a WAV plus all settings, the track names too) and exports tracks as WAVs, in the background while the loops play; F4 names the selected project. S.Load lists the card's folders and WAV files (16-bit, 44.1 kHz, mono or stereo) and loads one into the selected track (empty): it comes in stopped, its Play starts it on the bar, and on an empty session it sets the bar. Longer than the track's RAM, it goes on to the card like a long take. Config holds the settings, the recording latency, a firmware flasher (the way back to the stock firmware) and MIDI: clock out or follow, and eight learnable footswitch actions. Song opens a seven-chapter manual on the device.

FileConfig
ProjectsSettings
MIDIManual
MIDIThe on-device manual

The firmware page: the way back to the stock firmware

Reference

Controls

The Tracker's controls in the looper

The eight screen keys (F1–F8) do what the screen labels over them say, on every page (Shift shows their second layer). The rest of the panel has no labels on screen; this is what it does. Every control, the screen keys included, is in the reference.

Pads (one row per track)
Column 1Record / overdub (empty → record → play ↔ overdub); Shift + pad: replace
Column 2Stop / play the track
Column 3Mute
Column 4Clear (in performance mode: Freeze a Clouds slot)
Columns 5–12Jump to that eighth of the loop, staying in time (in performance mode: the eight effects)
Any padAlso selects its track
KeyAction
PlayTransport: everything stops, or starts from bar 1. Shift + Play: metronome on / off
RecRecord / overdub the selected track only; Shift + Rec: replace
InsertUndo the last overdub / replace; Shift + Insert: redo. In the editor: paste, inserted at the start marker
DeleteClear the selected track; Shift + Delete: clear all
CopyDuplicate the selected track into the next one (empty). In the editor: copy the selection; Shift + Copy pastes it at the start marker
EncoderThe selected track's volume, or the value being set; Shift + encoder: input gain (on pages: fine steps)
Encoder pushTap tempo, three taps or more
Up / DownSelect a track (on pages: a row)
Left / RightOn pages: a column, strip or knob
PatternHome: the loop lanes, from any page; leaves performance mode
Perform (or Instr)Performance mode: tap to latch, hold for while held
MasterThe mixer
Note (or S.Edit)The loop editor for the selected track
S.LoadLoad a WAV from the card into the selected track
FX1 / FX2That send effect's page
ConfigSettings
FileProjects and WAV export
SongThe on-device manual
Shift + ConfigShow / hide the CPU, frame-rate and display-list readout
Power (hold 1.5 s)Switch off

The SD card

  • FAT32. exFAT is not supported (the build leaves it out), and cards over 32 GB come formatted exFAT: reformat them FAT32 (the SD Card Formatter only does exFAT on those, so use a tool that can, or a card of 32 GB or less).
  • 32 KB clusters (allocation unit). The SD Card Formatter's default for 8 to 32 GB cards. FatFs sends at most one cluster per card command, so with small clusters (4 KB) writing is too slow for long takes: measured on an 8 GB card, 1.7 MB/s against 8 MB/s with 32 KB clusters.
  • Room: 424 MB for the stream files (two of 53 MB per track), allocated once in one contiguous run each, so a freshly formatted card is best; then the projects and exports. With no room the looper still works, with takes up to the RAM's 21.5 s (Config shows the recording time).
  • Speed: a decent card (Class 10 / U1 or better). Four tracks playing long takes need about 0.7 MB/s, four overdubbing 1.4 MB/s.
  • Keep PolyendTracker_1.9.2.ptf in /Firmware as the way back.

Loop points, punches and undo

  • Loop point: a take records 5 ms past its end and blends that into its first 5 ms, so the end runs on into the start with no click (the loop stays exactly on the bar). A take that starts after silence in its loop (mid-bar) fades in over 2 ms. Overdub and replace ramp in and out over 2 ms at the punch points.
  • Replace (Shift + REC / pad 1 / F1) records over the loop; the REC key lights brightest while it does.
  • Undo / redo (F8, or Insert / Shift + Insert) take back the last overdub or replace and bring it back, as often as you like, at any length. The audio under an overdub is kept at the end of the track's own memory for loops up to half of it (about 10.8 s stereo, 21.5 s mono); a longer one (with a card) keeps its passes on the card's two files, like a long take, though it plays all from RAM. Trims, cuts and erases clear it.
  • Stop fade (Input page, Tempo card, last row): Stop fades the track over 1 beat, 1 bar or 2 bars, then stops it; a second press stops at once.

Playback modes

Every mode's read position is computed from the shared bar clock, so tracks stay in time whatever mode they are in. Switching modes carries on from the current position instead of jumping.

ModeWhat it doesOverdub
ForwardPlays as recordedyes
ReversePlays backwardsyes
Ping-pongForwards then backwards (one cycle = two loop lengths)yes
Half speedTape style: half tempo, an octave downno
DoubleTape style: double tempo, an octave upno
Half revTape style, backwards: half tempo, an octave downno
Double revTape style, backwards: double tempo, an octave upno
Half timeTime-stretched: half tempo, same pitch (two cross-faded 46 ms grains); page 2no
Octave upPitch-shifted: same tempo, an octave up (grains); page 2no
Octave dnPitch-shifted: same tempo, an octave down (grains); page 2no
GranularClouds grains read around the playhead, so the loop keeps its time; page 2no

Page 1 of the mode bar, the playback modes: F1 Forward, F2 Reverse, F3 Ping-pong, F4 Half speed, F5 Double, F6 Half rev, F7 Double rev, F8 More. Page 2, the grain modes: F1 Half time, F2 Octave up, F3 Octave dn, F4 Granular, F8 Back. The playhead trails a fading tail on the side it came from, as long as its speed: backwards modes show it on the right, half speed short, double long.

Granular plays the loop through up to eight Clouds grains (Mutable Instruments' grain and window code), each centred on where the loop is now. The lane draws each sounding grain where it reads, as wide as it is long, taller and brighter as it gets louder, higher the more it is panned left. Hold F5 on a Granular track for the grain menu: it stays open after the release, F1–F4 and F6–F7 pick one of its six knobs, F8 is blank and a tap on F5 closes it (so do Pattern, the page keys and selecting a track that is not Granular). The knobs: Spread (0 %: at the playhead … 100 %: a second either way, or a quarter of a shorter loop; finer at the bottom), Size (20–500 ms), Density (from a grain every four lengths, with gaps, to eight overlapping), Pitch (±24 semitones), Speed (how fast the playhead, the grains' centre, moves through the loop: 1/2, 1x, 2x; the loop keeps its time, so at 1/2 it takes two loop lengths to get round) and Direction (Forward, Reverse or Ping-pong, as the other modes; the grains read the way the playhead goes). With the track's Tempo option on Tape, a tempo change moves the grains' pitch too; on Stretch it stays. Projects save the knobs.

Overdub needs speed 1 so it can write where it reads; in the other modes REC shows a hint instead.

Track options and tempo

The track options are on the home page's Shift layer and act on the selected track: Shift + F5 Stop (hold + encoder: Length), Shift + F6 Start (hold + encoder: the threshold), Shift + F7 After rec, Shift + F8 Tempo. The F-key labels show each one's value while Shift is held. Channels are on the Input page; the tempo settings below are on its Tempo card.

Option (per track)Values
StopFree: the take ends when you press. On bar / On beat: it records on to the next bar / beat line (a press less than an eighth of a unit late stops on the line it just passed). Default On bar.
LengthOff, or a fixed length in whole bars (up to 64 beats): recording stops by itself. A fixed length shows in place of the Stop value.
StartCount-in (default): the count-in's bars of click (Tempo card), then the take starts on the bar line; with loops running it waits for the next bar line at least half a bar away. Now: at once. On sound: the track arms and starts when the input crosses the threshold, keeping the 6 ms before it so the attack is not cut; with no loop yet the bar clock starts there. The armed lane shows the input level against the threshold. Press again to cancel.
Channels (Input page)Stereo, Mono L, Mono R, Mono sum. Mono uses half the memory, so a track holds about 43 s in RAM (10 minutes with long takes on the card). Only while the track is empty.
After recPlay, Overdub or Stop when the take ends.
TempoTape (default): a tempo change speeds the track up or down and its pitch follows. Stretch: it keeps its pitch, played through two cross-faded 46 ms grains while the tempo is not 100 % (at 100 % it plays as recorded). Stretch tracks do not overdub off 100 %; a take recorded on one off 100 % is still resampled like tape.
Tempo card (Input page)
Tempo40–240 bpm (default 94). It sets the bar until there is a loop. After that it is tape-style varispeed: 50–200 % of the loop's own tempo, every loop speeds up or slows down together and the pitch follows (or, on a track set to Stretch, stays). The metronome, count-ins, beat repeats and delay times follow it; new takes are resampled onto the loops' timeline, and only Forward Tape tracks overdub off 100 %. Clearing every track goes back to 100 %. Projects save it.
Beats / bar1–12 (default 4): the click, on-beat stops and the beat lines.
MetronomeClick on every beat while the transport runs (the count-in always clicks). Also Shift + Play.
Click levelIts volume.
Click soundBeep, wood block, hi-hat or cowbell.
AccentOn (default): beat 1 louder (and higher, but for the hi-hat and cowbell).
ClickAlways, or only while a track records or overdubs (and in count-ins).
Count-inOff (a Count-in take then starts at once), 1 bar (default), 2 or 4 bars.
Threshold (Shift + hold F6)Input level that starts an "on sound" take, −60 … 0 dB (default −30 dB).
Stop fadeOff, 1 beat, 1 bar or 2 bars.

A free first take still sets the bar to its own length, as before; an on-bar, on-beat or fixed-length first take keeps the tempo's bar. Every waveform shows the bar lines (numbered) and the beat lines where they fall in that take.

Performance mode

Perform (or Instr, which does the same): tap it to latch performance mode on (tap again to leave), or hold it to use it only while held. Each lane's waveform shows eight effect cells, laid out like pad columns 5–12 of that track's row. Hold a pad to play its effect on that track; Shift + pad latches it (a dot in the cell) until pressed again. Leaving performance mode turns everything off. Pad columns 1–3 keep record / play / mute; column 4 is Freeze for a Clouds slot (row 1 FX 1, row 2 FX 2; lit while frozen) instead of clear.

Each effect has one knob, and each track its own settings (each cell shows its track's). Along the bottom, F1–F8 are the eight effects for all tracks at once, labelled with the selected track's settings: hold a key and its effect runs on every track with a loop, Shift + key latches it on all of them (again: off), and holding a key and turning the encoder sets its knob on every track (its big knob shows while the key is held). Holding a pad and turning the encoder sets that track's effect alone, without the knob. Holding pads never covers the lanes, so effects can run on several tracks at once. The track keys come back when performance mode is left (pad columns 1–3 keep record / play / mute meanwhile). A beat repeat or a tape stop moves the playhead to where it reads.

Perform opens the performance page from anywhere, the mixer included. The mixer opened while performance mode is on keeps its own keys: F1–F7 pick a strip, Shift + F1–F7 mute; the pads keep playing effects per track.

Pad columnEffectKnob (default)
5 RepeatBeat repeat: loops the note it was pressed in, on the beat gridLength 1/4, 1/8, 1/8T, 1/16, 1/16T, 1/32 (1/8)
6 RepeatA second repeatLength (1/16)
7 Low-passResonant low-pass cutCutoff 80 Hz – 8 kHz (450 Hz)
8 High-passResonant high-pass cutCutoff 100 Hz – 8 kHz (1.8 kHz)
9 Sweep dnLow-pass sweeping 18 kHz → 200 Hz while heldTime 1/4 – 4 bars (1 bar)
10 Sweep upHigh-pass sweeping 20 Hz → 4 kHz while heldTime (1 bar)
11 Vibrato5.5 Hz pitch wobbleDepth (50)
12 Tape stopSlows to a stopTime 1 beat – 2 bars (2 beats)

The repeats, vibrato and tape stop move the read position while the loop's phase keeps running underneath, so releasing them lands back in time. Overdub pauses while one of those is held. Effects stack (a low-pass and a high-pass together make a band-pass). Sends take the effected sound.

The pads are single-colour (brightness only), so the pad grid shows state as brightness and blinking: REC fast blink while recording, slow blink while overdubbing, a flash per beat in the count-in; PLAY lit while playing; MUTE full when muted; columns 5–12 the playhead's eighth, or in performance mode the running effects.

Loop editor

Note (or S.Edit) opens a big waveform of the selected track (Up/Down for another) with a start and an end marker. The selection is yellow, the rest dim; the bar and beat lines are drawn over it, and the markers read bar.beat.sixteenth from the loop start.

KeyAction
F1 START / F2 END (or Left / Right)Pick the marker the encoder moves
F3 SNAPMarker steps: bar, beat, 1/16 or free (10 ms); Shift + encoder: a quarter step (free: 1 ms)
F4 TRIMKeep only the selection. Instant and non-destructive: the loop just starts and ends at new points in its buffer, and the kept part stays where it was on the bar grid
F5 CUTRemove the selection; the rest closes up and the loop gets shorter. Press twice. The track is silent for the moment the audio takes to move
F6 ERASESilence the selection, same length. Press twice
F7 UNDOUndo the last trim (a cut clears it, since the audio has moved)
F8 HOMEBack to the lanes

Mixer and send effects

Two send effect slots, FX 1 (a delay to start with) and FX 2 (a reverb). Every track has a pre-fader send to each (the track's volume does not change it; mute and stop do). Either slot can hold any of six effects:

EffectKnobs
DelayTime (1/32 … 3/4 of a bar, glides like tape when changed), Feedback, Tone (of the repeats), Spread (right side later)
Ping-pongTime, Feedback, Tone, Width: the echoes cross from side to side
ReverbSize (decay 0.3–9 s), Tone (dark … bright), Width
ChorusRate (0.1–5 Hz), Depth, Width
FlangerRate (0.05–2 Hz), Depth, Feedback, Manual (0.5–8 ms)
CloudsMutable Instruments' granular processor on a 4.1 s record buffer (at 32 kHz, as in the OpenTracker fork; Density asks for as many grains as the 40-grain original, up to 12; defaults as in the OpenTracker fork). Knobs 1: Position (how far back the grains read), Size, Pitch (±24 semitones), Density (Clouds' deadband at noon; up from there grains come at random, down from there evenly). Knobs 2 (Shift + F2–F5): Texture (window shape; past 75 % a diffuser), Feedback, Spread (stereo), Freeze (the buffer stops recording; also pad 4 in performance mode)

FX1 / FX2 open that slot's page: a live picture of the effect on top (the echo taps on the beat grid, the reverb's decay, the LFOs moving, Clouds' grains) and its knobs below, each over its screen key; holding Shift shows Clouds' second four. F1 TYPE opens the type bar (the labels become the six effects; the key under one picks it). F2–F5 pick a knob (Clouds: Shift + F2–F5 the second four), F6 the return, F7 the other slot, F8 home; Left/Right move between knobs and the encoder turns the selected one. Changing the type silences the slot for about 0.2 s while its delay line is cleared.

The Master key opens the mixer page: seven strips, each over its screen key, plus F8 home. The sends are named after the effect in their slot (To Delay, To Reverb, ...). On the two FX strips the second row is the slot's output into the other one (taken before its return), so Clouds can run into a reverb. One way at a time: with both up, FX 1 → FX 2 runs and the other shows "off".

Strip (key)Row 1Row 2Row 3Fader
Track 1–4 (F1–F4)Send to FX 1Send to FX 2DJ filterTrack level
FX 1 (F5), FX 2 (F6)The slot's first knobInto the other slot–Return level
Master (F7)–––Master level

F1–F7 or Left/Right pick a strip, Up/Down a row (the row stays when you change strip), the encoder sets the value, Shift + encoder in single steps (the DJ filter ten times finer than its plain steps, about 1.5 % of cutoff). Holding Shift, F1–F7 mute and unmute the strips: tracks 1–4, the FX 1 and FX 2 returns (the effect still takes its sends and feeds the chain) and the master (the labels read MUTE, lit while muted); a muted strip shows "Muted" where its name is. Projects save the return and master mutes. Faders show their level meter; the master shows left and right. Sends start at 0, returns at 80, track levels at 80, master at 100. Mixer settings stay when a track is cleared.

Tracks are stereo. Each lane draws the left channel above its centre line and the right channel below it.

Every take starts in phase with the bar grid; how it ends is the Stop option (Shift + F5; on bar by default).

Credits

The app is new; the hardware layer (board bring-up, SDRAM, FT81x display, SGTL5000 codec, keypad, pad LEDs, SD card, USB) is copied from OpenTracker, MIT, the same way SIDTracker does it. See PROVENANCE.md for exactly what was copied.