A downloadable tracker for Windows and Mac OS X

Download NowName your own price

snibbetracker is a fakebit tracker written in C using SDL2 that I began working on in 2014 to learn DSP programming.
I learned a lot on the way, and I would probably have made it different with the knowledge I have now, but perhaps it
can be useful for someone.
No warranty either implicit or implied is included. Use at your own risk.
(c) Palestone Software.


If you encounter bugs or other issues, please let me know and if possible the steps to reproduce them.
Feel free to contact if you have other feedback or questions, or if you've made a song
you'd like to share.

controls overview
* modfier key is cmd on macOS and ctrl on win.

To change settings, edit the config located at:

track view
- return: toggle editing on/off.
- space: play/stop.
- arrow keys: move cursor.
- tab: go to pattern view.
- modifier+left/right: change octave up/down.
- modifier+up/down: move notes below cursor.
- shift+arrow keys: make selection.
- modifier+c/v/x: copy paste or cut note (or selection).
- character keys: play notes or edit effects.
- modifier+f: toggle play cursor follow.
- home/end: go to top / bottom.
- plus/minus: transpose halfnote in selection.
- modifier+plus/minus: transpose octave in selection.
track format explanation:
a = note, b = instrument number, ccc = effects. 6 supported channels.
a b ccc | a b ccc | a b ccc | a b ccc | a b ccc | a b ccc

pattern view
- arrow keys: move around grid.
- plus/minus: cycle waveform, pattern numbers, active rows etc.
- return: go to instrument view (when gridcursor is at Ins 0-F)
- tab: go to track view.
- e: jump to trackview with current row position.
- m: mute track (or channel if cursor is at the top)
- x: activate/inactivate track.
- s: solo track (or channel if cursor is at the top)
- modifier+up/down: paginate tracks (0-63).
- modifier+c/v: copy paste track data.
- home/end: set cursor to top / bottom.
amp - master amplitude, used both for previewing and exporting.
rows - number of active rows in patterns.
arp - general arpeggio speed.
preview - if notes are audiable when editing.
tempo - open tempo editor.
visual - visualiser.
credits - show credits.
wavetable - connect a channel to lane 0-5 to combine waves together at different speeds. (see effect 9).
cust wave - create custom waveform for the "cust" wave type.

instrument view
- arrow keys: move node.
- modifier+arrow keys: move node slowly.
- tab: cycle nodes.
- return/esc: go to pattern view.
- shift: toggle editing of envelope or effects.
- home/end: cycle instruments.

custom wave
- arrow keys: move node.
- tab: cycle nodes.

wavetable view
- x: activate/inactivate row. first row is always active. toggle loop active/inactive.
- plus/minus: change speed on top row.
- 1-F: change overall speed on top row, or speed per row.

tempo view
- x: activate/inactivate row. each column must have at least one active row.
- plus/minus: change BPM on top row.
- 1-F: change BPM on top row, or beats.
- modifier+return: switch tempo column. while playing, column will be armed and switched to when the current pattern has finished.

global controls
- modifier+s: go to save view
- modifier+o: go to load view
- modifier+e: go to export view.
- modifier+i: go to instrument view.
- modifier+t: go to tempo view.
- modifier+r: go to wavetable view.
- modifier+j: go to custom wave view.
- modifier+n: reset project.
- space: toggle playback.
- escape: exit current view.
- F1, F2 etc to change views.

save view
- arrow keys: navigate file system.
- character keys: enter filename.
- enter: save file at the current location.
- escape: exit save view.

load view
- arrow keys: navigate file system.
- enter: load the file.
- escape: exit load view.

0xx - arpeggio (second tone halfsteps, third tone halfsteps) change speed in settings:Arp xx.
1xx - arpeggio speed (speed, speed) use one of the values or both multiplied.
2xx - delay (speed, feedback)
3xx - portamento (speed, speed) uses a single value if other is 0 or a multiplication of both. Sets the speed to when new notes will be reached.
4xx - vibrato (speed, depth).
5xx - distortion (amp, amp).
6xx - FM (depth, speed).
7xx - detune (amount, amount) 88 is middle.
8xx - PWM (linear position/oscillation depth, oscillation speed) on squarewave. If param2 is present, param1 will be used for osc depth.
9xx - set wavetable/waveform for current channel. param1: set wavetable lane 0-5 or param2: change waveform 0-5.
Axx - (left amplitud, right amplitud) can be used for amplitude, pan och turning off a tone.
Bxx - downsample sweep down (linear, sweep) Works best on noise channel. Choose either linear or sweep.
Cxx - downsample sweep up (linear, sweep) Works best on noise channel. Choose either linear or sweep.
Dxx - ends pattern. D11 - jump to next pattern and reset tempo seq. D1x - reset tempo seq. D2x - switch tempo_seq column. x = tempo seq column (0-5).
Exx - pitch up (fast, slow) Works on non-noise channels. Both values can be combined to increase effect.
Fxx - pitch down (fast, slow) Works on non-noise channels. Both values can be combined to increase effect.
Gxx - bitcrush, params are multiplied to represent a bit depth. Affects all channels.

More information

Published14 days ago
PlatformsWindows, Mac OS X
AuthorPalestone Software
Average durationA few seconds
AccessibilityColor-blind friendly


Download NowName your own price

Click download now to get access to the following files:

snibbetracker.dmg 1,002 kB
snibbetracker.zip 626 kB