WaveTracker
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.
Features
- Realtime playback and editing
- Draw and edit up to 100 waveforms
- Up to 100 instrument macros to control various aspects of the sound
- Sample importing and editing
- MIDI input
- Export to .wav
- Built in oscilloscope and piano roll visualizer
Links
Visit the main site.
Visit the official documentation.
Visit the source code repository
Frequently Asked Questions (FAQ)
Will there be Linux and MacOS releases?
Right now WaveTracker is Windows only, but myself and other contributors are working as fast as possible to get WaveTracker to be cross-platform!
What chips does this emulate?
Wavetracker does not emulate any hardware chips. It uses its own internal audio engine and samples to generate its sound.
Help! I can't place down any notes!
Make sure you are in editing mode by either pressing space or clicking the red record button in the toolbar.
I made some waves, but how do I use them in the song?
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 the wave bank documentation for more details.
How do I assign a wave to a wave instrument?
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 the wave bank documentation for more details.
Is there a list of all the effects somewhere?
Yes! See the effects 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 manually here.
Status | In development |
Category | Tool |
Platforms | Windows |
Rating | Rated 5.0 out of 5 stars (23 total ratings) |
Author | squiggy |
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 |
Download
Click download now to get access to the following files:
Development log
- WaveTracker v1.1.055 days ago
Comments
Log in with itch.io to leave a comment.
It would be awesome if you would add triplets/septuplets or any kind of tuplet mechanism to the program. I miss my triplets 😢
the app lags every time i try to add a sample to the sample instrument and idk why
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.
Adding a built in delay/echo effect is an idea I've toyed around with before, perhaps in a future update.i know i’m like, so late.
i was messing around today and i realized you can get surprisingly close if you throw a volume envelope on it, and specifically have a release that slowly fades off
u can also use the other techniques squiggy left above too!!
linux version?
read the FAQ dude, soon
clone this branch and use
dotnet run
https://github.com/Speykious/WaveTracker/tree/potential-linux-buildIt’s now ready for review! Hopefully it gets merged :D
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!
it would be nice to be able to rebind the arrow keys for movement. my keyboard has really tiny useless arrow keys lol. i'm probably the only person who wants that feature though so you can probably ignore this
Is there a way to make the notes fade out slower? I've tried using W01 but it's a bit too fast so I've been having to continuously change the volume by interpolating it to 00. Is that just the way it's done?
rather random, but could there potentially be support for DOS modules later down the line? based on the interface and sample it somehow makes sense for there to be s3xmodit imports/exports eventually.
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?
OpenMPT is indeed open-source since 2004, and still in development, but the ModPlug Player for browsers (used on modarchive dot org (afaik) for online play of their database of modules) is closed-source.
You can read about the history of how it was developed on the OpenMPT Wikipedia page.
huh, I thought it was open sourced. whatever then!
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_.
I meant in terms of key binds and commands, but no worries!
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/
ok thx! i had confused the note release with the note cut
no noise wave?
Any plans to make a Linux AppImage?
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!)
how can we run it on gnu/linux and on macos-x?
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! See the 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!
Super duper fun c:
I'm having an issue while running this via wine where sample import crashes the program
yo i keep trying to make a wave instrument but it just keeps become a sine wave
same problem
You need to change the wave with a wave envelope or as an effect command.
this is so cool!!!!!!
Help! i cant figure out how to assign waves to instruments!
look at the wave bank section in the wavetracker documentation (use effects)
thank you! (i figured it out already) but thanks for responding!
Wavetracker crashes when deleting a frame while running the music. had to learn the hard way (did not save) :(
Add Linux build, pls.
i have no idea why, but it crashes whenever i press the 'import sample' button
other than that, it's been good so far
are you using wine?
(I only have that issue when using wine, using it natively on windows works fine)
im actually using windows 11, i tried it on a different windows device and had no issues
it's something about my pc probably
Hey! It looks so ELEGANT!
Could you please consider the macOS release?
Good program, i will test more later how good is it :D
The program let you export in a tracker format? (Like .xm .mod , etc)
Haven't had the chance to try it yet, but this looks amazing!
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.
Many mac requests, but if you end up doing that linux support would be nice too :) (not that bottles doesn't exist it just makes it a bit easier.)
Mac support?
Is support for Mac planned?
Saw this on twitter and got excited too quickly lol
is there a way to activate polyphony? im afraid i didnt find the button :P other than that, this is an amazing tracker! very, very good. Damn...
from what i know the only polyphony you can achieve is by using a separate channel. so if you had a 12 channel track (default) you can use 3-4 for a chord voice. The more common approach and more efficient would be to use the 0 (arp) command and create the illusion of a chord like most low poly count hardware chips did to sound bigger.
The command list is in the documentation
that's not what i mean! i mean being able to press AND hear more than one note while editing. if you try pressing two at the same time, only 1 (the latter) plays.
This could really use the ability to resize wavetables, and sinc interpolation
and also the ability to search a folder for samples instead of having to scroll through the entire thing
Just started using it and its already insanely powerful to use.
Only thing id wish for rn is a "make unique" function on frames. So if i clone them and decide i want to add variation i can just make the existing frame into a unique one so i dont ruin the existing ones which i have cloned. maybe its there but i didnt find it in the documentation
Right now this feature isn't in, perhaps in a later update. The easiest workaround would be to copy and paste the whole pattern by pressing Ctrl-A twice, and then pasting it into a new frame.
thanks for the answer. this is how im doing it right now. having a shortcut for that would be appreciated like "clone to unique" or something like that
Besides that this thing is amazing. Thanks for sharing it with the world!
Is there a specific way to submit feature requests or bugreports?
Found an alternative. Ctrl + a 2 times to select everything and Ctrl + C and Ctrl + V in a new frame (make sure the pointer is at the top left)
Crashing on windows11 if I try to drag and drop a .wtm file to the window.
Are you planning for Linux/WINE support?
more likely to run on mono than wine - now it doesn't run on either of them... .:(
YEA
Looks similar to the program I use, Klystrack. Is it anything like that?
that is the 1st thing this tracker reminded me of as well (lol)