Hello people from Theremin World ! Hope you are doing well ![]()
This is my first time posting on this forum but I've been lurking here for a long time now. Happy to join ![]()
I wanted to share a small tool (free and web based, soon 2 be open source but I really need to tidy up the code before) that I made for the open source theremin "Open Theremin" that most of you may be already familiar with. So you may already know this digital theremin lets you use custom waveforms, stored in a file defining the 1024 number entries of the wave array.
Well, I wanted an easy tool to draw and export waves ready to use for the Open Theremin. There was already the Wave Generator made in 2015 by Gaudi Lab, but it was pretty limited and there was no option to listen to the wave you'd drawn, so no way to know how your wave will sound like until you uploaded the file to your Open Theremin and played it.
So I decide to upgrade it myself (and had a lot of fun doing it) and made a tool that lets you precisely draw waves, preview them (there's a volume and frequency slider that you can use as well as a keyboard that you can play with to immediately target precise notes, I personally use it to try and get a reference for tuning as I'm trying to develop my ear).
There's several wave generators (sine, another sine algorithm by T. Frenkel that was already in the Gaudi Lab Wave Generator, square, triangle, sawtooth, step, and noise, just for the fun of experimenting), an option for smoothing your wave (most noticeable on step waves), flip your wave horizontally or vertically, etc.
You can export your wave for the open theremin or import any you already have for the open theremin to modify them. I made it so you can also save waves to your browser or share them online (so you can also grab waves designer by other people, it acts as a small wave library / collection). I've already uploaded the 7 waves already included in the latest version of the Open Theremin git repo, so you can grab those if you don't have them yet - some of them were added to the repo at the end of 2025.

I had a lot of fun coding this, and I thought it might be useful to share it for other people too ![]()
And... If you have any troubles or advices about it, please tell me :-) I'd be happy to fix the issue.

