Each row × 8 channels × 4 fields: NOTE · INST · FX1 · FX2. ↑↓ row · ←→ field · hold E + arrows to edit value (notes: ↑↓ semitone, ←→ octave) · enter place / clear · q/w previous / next phrase · space play / stop.
End keyboard on/off (audition) · Home recording on/off (writes notes into phrase) · PgDn / PgUp octave · keyboard layout: Z X C V B N M = white keys, S D G H J = black keys (lower octave); Q W E R T Y U + 2 3 5 6 7 upper octave.
chain 00
A chain is a sequence of phrase references with optional transpose. ↑↓ row · ←→ field · hold E + arrows to edit · enter place / clear · q/w previous / next chain.
song · 8 channels of chains
Top level. Each row is a song step across all 8 channels. Each cell points to a chain. ↑↓←→ navigate · hold E + arrows to edit · enter place / clear.
instruments
INSTRUMENT 00
PREVIEW
audition this instrument
WAVETABLE EDITOR
Click and drag to draw the waveform. The wave loops at audio rate to make the tone. Above the centre line is positive amplitude, below is negative. use morph reverts to the built-in morph (sin → tri → saw → sqr).
ABOUT THIS ENGINE
↑↓ select param · hold E + arrows to edit (↑↓ fine, ←→ coarse) · q/w previous / next instrument · p preview.
fx presets
FX 01
HOW TO USE
↑↓ select param · hold E + arrows to edit (↑↓ fine, ←→ coarse) · q/w previous / next fx slot · param 0 (type) cycles effect type.
tables
TABLE 00
HOW TABLES WORK
A table is a small program that runs alongside any note triggered by an instrument it's assigned to. Each row applies its values for one phrase step and then advances; once the table reaches the end, it loops.
transpose: semitone offset added to the held note. Useful for arpeggios — set rows to 0, +4, +7, 0, +4, +7 for a major-chord arp.
volume: scales note volume (0..1). Use -- for "no change". Drop the volume on every other row for a hard tremolo, or ramp it down for a gated decay.
To assign a table to an instrument, go to the INSTR page and edit the table parameter at the bottom.
↑↓ select row · ←→ switch field · hold E + arrows to edit · q/w previous / next table · enter set/clear value.
SETTINGS
CHANNEL NAMES
Up to 8 characters per channel. Click a field to edit.
PROJECT FILE
Current project autosaves to your browser. Use export to download a portable JSON file.
RAW JSON
advanced — view or edit the project as raw JSON
↑↓ select setting · hold E + arrows to change. save / load uses browser localStorage. render wav bounces the current phrase.
APPEARANCE
THEME EDITOR
Edit colors of the current theme. Changes preview live. Use save as new theme to keep them.
Built-in themes can't be overwritten or deleted, but you can save them under a new name.
↑↓ select · hold E + arrows to cycle theme/font · click a color swatch to change colors · changes persist in localStorage.
audio: idle—
switching page: PHRASE— release TAB
About WBTRK
WBTRK is a browser-based music tracker, inspired by the Game Boy classic LSDJ and the Dirtywave M8. It runs entirely in your browser — no install, no plugins, no server. All audio synthesis happens in the Web Audio API.
The interface follows the M8 / LSDJ tradition: phrases of notes, chained into longer sequences, played by 8 channels through synthesizer engines and FX chains. The keyboard is the primary input — hold E with arrow keys to edit values, hold TAB with arrows to switch pages.
This is an experimental version (v0.1). Things will change. Save your work to JSON regularly with export json on the PROJ page.
Built by hejluxom. Send feedback to hello@hejluxom.com — bug reports, feature ideas, music you've made with it, anything.
License
WBTRK is released under the MIT License:
MIT License
Copyright (c) 2026 hejluxom
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
In short: free to use, modify, and share. Just keep the copyright notice if you redistribute the source.