
A downloadable tracker for Windows
WaveTracker is a free and open source music-making software for Windows. It uses basic wavetable synthesis and sampling to generate sounds, with endless combinations of effects to warp, modify or distort waves and sounds.
Visit the main site.
Visit theofficial documentation.
Visit the source code repository
Right now WaveTracker is Windows only, but myself and other contributors are working as fast as possible to get WaveTracker to be cross-platform!
Wavetracker does not emulate any hardware chips. It uses its own internal audio engine and samples to generate its sound.
Make sure you are in editing mode by either pressing space or clicking the red record button in the toolbar.
The Vxx effect will tell a channel which wave from the bank to use. Alternatively, wave instruments have a 'Wave Envelope' if you want to automate a sequence of waves over time.
See thewave bank documentation for more details.
If you want an instrument to always use a specific wave or sequence of waves, you can create a 'Wave' envelope to automate what waves the instrument will use while playing.
See thewave bank documentation for more details.
Yes! See theeffects list for a list of all the effects and what they do.
*Note: WaveTracker requires .NET 8.0 to run. The program should prompt you to automatically install it if it is not already on your machine. If that doesn't work, you can install it manuallyhere.
| Status | In development |
| Category | Tool |
| Platforms | Windows |
| Rating | Rated 5.0 out of 5 stars (30 total ratings) |
| Author | squiggythings |
| Made with | MonoGame |
| Tags | Audio,chiptune,Music,Music Production,Pixel Art,Retro,software,synthesizer,tracker,Visualization |
| Code license | MIT License |
| Average session | A few hours |
| Languages | English |
| Inputs | Keyboard,Mouse |
| Links | Homepage,Source code,Author's Site |
Click download now to get access to the following files:
Log in with itch.io to leave a comment.
This is such a good tool, I can tell it comes from someone who really loves these trackers, and most importantly, works with them often!
My only note or question would be if support for drumkit instruments may be planned or in the works? A single instrument with multiple samples, mapped to individual notes rather than pitched during playback, like dpcm in other trackers.
That is not possible, and I would assume this is by design. It goes against the spirit of this kind of DAW. It is derived from early sound synthesis software that were designed around systems where the sound generation was done at the hardware level, and the hardware didn't have the circuits to allow a single instrument to play multiple tones at once. Instead, you have to cleverly split notes for an instrument across multiple channels. How you do that is up to you, but one simple approach is to just alternate between two channels in a "zig-zag" pattern.
Hi there! Triplets in Wavetracker are done the same way as many other trackers. The simplest way is to set the secondary row highlight to a multiple of whatever tuplet you want (say each beat is 12 rows: you can do triplets on every 4th row, sixteenth notes every 3rd row, or sixteenth note triplets every 2nd row)
The other way is to use the Gxx effect to slightly delay the triggering of a note, which gives you very precise control over the timing.This tutorial by Ben Burnes is for Famitracker but it should translate pretty much 1:1 for Wavetracker. When used properly, you can create some really complex subdivisions and humanized sound with this technique.
something i've noticed as of recent
for some reason, even when the app is unfocused, you can still (sometimes) input notes. (and they'll play).
idk why
do really like this app tho. thanks for making & releasing it :p
edit: just found another thing :c
currently using 4 channels, and when using backspace to delete data in chan 3... it also deletes the data in chan 4.
Hey! Love this little app.
Got a question or request. Is there a way to give a note a reverb/echo effect? I can't figure out how to do that.
I am new to audio software, so it's definitely possible I don't know how to achieve this effect, I just could not figure it out.
If it is not possible to achieve this reverb/echo effect, it would be neat to see it added as an effect in the future!
Hey there! Usually in chiptune trackers this is done one of two ways:
1. The easiest way is to copy the phrase/melody into another channel, moving it a few rows down, and lowering its volume, this produces an echo of the original, and it gives you a lot of control over how it sounds. For example you can pan the echo to make the phrase sound wide and spacious, or detune slightly to give it a shimmering effect.
2. This only really works for arpeggios or other rhythmically even patterns; but if you have a pattern with gaps in between each of the notes, like (C _ E _ G _ B _ C _ E _ G _ B) you can repeat the notes 'inside the gaps' at a lower volume, like (C _ E C G E B G C B E C G E B G _ B). This essentially does the same thing as 1, but it can fit all inside one channel.
This video by Ben Burnes explains it in Famitracker, but the general idea will be the same in WaveTracker and many other chiptune tracking software.
clone this branch and usedotnet runhttps://github.com/Speykious/WaveTracker/tree/potential-linux-build
one feature that would be nice would be interpolating mouse movement when drawing waves etc. like if the mouse moves too quickly it often skips parts of the wave causing you to have to draw deliberately slow. if the mouse moves too fast i feel like it should just draw a line between the last 2 position.
also is support for sf2 planned?
I've been waiting for something like this for a long time --Loving this tool so far! Is there any roadmap or list of features you plan to add later on?
Also, looks like others have asked but are there any plans to add a noise wave for drums, etc.? Or will that be limited to samples?
Would love to see a reference list of FX either in the menu (similar to FamiTracker), or better yet, be its own panel like in FurnaceTracker. Being able to access documentation from the program would be useful overall.
Can't wait to see future releases of this!
I'm not a dev, but if this is written from scratch, I suspect support for these old formats would require an entire re-write of the codebase. OpenMPT also already supports all of those formats (to my knowledge), so the functionality would be a bit redundant, within this already niche scene.
Just because the interface looks similar to other trackers, does not mean the software is handling all of the necessary legacy effect commands, or the audio itself, the same way.
Yeah, me neither, but I assume that it might be possible.
While yes, OpenMPT supports those formats, it uses a much blander interface and prefers the ImpulseTracker interface style. Many people (myself included) much prefer the FastTracker II interface style and this program uses that. I’m sure it’s more wishful thinking than anything, but I’d love to see a modern DOS module tracker with the FT2 interface style.
Also, wasn’t OpenMPT designed around a sound plugin that could be used virtually anywhere? Not to mention it’s open sourced?
Sorry about latching onto a trivial detail like this xD, and it doesn't really have an effect on anything relevant; in any case, having used MS-DOS trackers already back in the day, I feel the need to remark that OpenMPT does not use the Impulse Tracker interface style, wahh... :') Unless there's some theming available for OpenMPT that I'm not aware of, that is. OpenMPT uses the operating system's window elements, panels, file selectors... and so on. It is very "Windowsy" because of these default elements being used so much. Impulse Tracker is _entirely different_.
This is really cool! Since you can add/create your own samples, and because it's open source, I can see people doing some crazy stuff with this!
I'm a bit of a dumb dumb, though. I was trying to figure out how to make a note stop playing, and it seems like it's the = button, but my square wave brain can't figure out how to work it.
It's probably in the settings somewhere; I just can't find it. :|
There are two different ways to cut notes. The === triggers the note release (if your instrument has a release flag, otherwise it does nothing) Pressing 1 will give you a note cut, --- which will abruptly stop the note regardless. See the documentation for more info https://wavetracker.org/documentation/pattern-editor/
Thanks for making this, it really caught me by surprise - hadn't heard about it before :). Excellent launch trailer. A very polished and very fun retro tracker. I'm rooting for a cross-platform release, too, hehe! (Also, if it doesn't go against the design philosophy, consider adding just a handful of built-in mix effects in a point release. Not talking about plugins or super advanced studio effects here, but more like, a way to dial in a bit of that classic "SNES Reverb" on an instrument, a simple tap delay with perhaps an adjustable filter, and a rudimentary EQ!)
FAQ says they are working on getting it cross-platform. The source code uses C# with Microsoft libraries so I'm not sure it's compilable for other software without a rewrite.
I attempted to get it to run on Proton but it requires the MS .Net Runtime environment version 8 which is not currently a default install option, so you have to download and install it manually via explorer in protontricks. Once you do that, it runs fine.
I see it uses Microsoft's XNA, and at least that part will require an alternative, yeah. I'm sure they are indeed on it, as yep, it can be done realistically :). Seeing this tracker on other systems, too, would be great; I'd love this on Linux. As a side note, "C# with Microsoft libraries" doesn't indicate a problem per se these days, as .NET and Microsoft's C# ecosystem is properly open source and cross-platform. No problem developing and running that stuff on Linux nowadays. It's the XNA that's "from the old world", so to speak xD
Hi, random dev who stumbled on the project a few days ago here, I’m implementing Linux support right now! Seethe following PR for more details.
In short, most of the app (including all the UI elements) is actually implemented in Monogame which is already cross-platform. The things that are currently Windows-specific are:
So I have to implement these for Linux, and make sure Windows still works after that.
To add to this, I’m making it easy to add MacOS support in the future as well.
Edit: I just realized that Monogame doesn’t support ARM Macs, so this might be way more work for Mac than I expected…
Edit 2: everything is done and my PR is ready for review!
Hi!
I know that controller support isn't usually a priority or even plausible but I know a ton of steamdeck users and ally users that would love controller support so we can easily use a tracker like this on the go! I just wanted to slide this in here! This is amazing though and I can't wait to explore it more.
Good question! It could work similar to how the Dirtywave m8 works. Basically having the cursor snap to the grid and having button combos, long key presses, and other buttons to control the interface and input data. Ladd is another example but both of those are limited in the amount of buttons they have so doing it for regular gamepad with have the added benefit of all the extra inputs available! Just a thought though :D