#microtonal #piano #scales #synthesizer #tuning

app microwave

Make xenharmonic music and explore musical tunings

12 breaking releases

0.13.0 Nov 22, 2020
0.11.0 Oct 23, 2020
0.7.1 Jul 26, 2020

#102 in Audio

Download history 48/week @ 2020-08-09 20/week @ 2020-08-16 9/week @ 2020-08-23 31/week @ 2020-08-30 28/week @ 2020-09-06 2/week @ 2020-09-13 2/week @ 2020-09-20 3/week @ 2020-09-27 14/week @ 2020-10-04 2/week @ 2020-10-11 30/week @ 2020-10-18 4/week @ 2020-10-25 18/week @ 2020-11-01 34/week @ 2020-11-08 34/week @ 2020-11-22

59 downloads per month

MIT and LGPL-2.1


Make xenharmonic music and explore musical tunings.



microwave is a microtonal waveform synthesizer based on:

It features a virtual piano UI enabling you to play polyphonic microtonal melodies with your touch screen, computer keyboard, MIDI keyboard or mouse. The UI provides information about pitches and just intervals in custom tuning systems.


cargo install -f microwave

To install microwave (build it from scratch) additional dev dependencies required by Nannou might need to be installed. On the CI environment (Ubuntu 18.04 LTS) the following installation step is sufficient:

sudo apt install libxcb-composite0-dev libasound2-dev

To run microwave you need the appropriate runtime libraries for your graphics card. For me (Ubuntu 18.04 LTS) the following step worked:

sudo apt install libvulkan1 mesa-vulkan-drivers vulkan-utils

If this doesn't help or you don't use Ubuntu/apt try following these instructions.


microwave run                     # 12-EDO scale (default)
microwave run steps 1:22:2        # 22-EDO scale
microwave run import my_scale.scl # imported scale

This should spawn a window displaying a virtual keyboard. Use your touch screen, computer keyboard or mouse to play melodies on the virtual piano.

Soundfont Files

For playback of sampled sounds you need to provide the location of a soundfont file. The location can be set via the environment variable MICROWAVE_SF or the command line:

microwave run --sf /usr/share/sounds/sf2/default-GM.sf2 steps 1:22:2

If you like to use compressed sf3 files you need to compile microwave with the sf3 feature enabled. Note that the startup will take significantly longer since the soundfont needs to be decompressed first.

MIDI Input

To use a MIDI device as an input source, use the --midi-in option:

microwave run --midi-in 1 steps 1:22:2

MIDI Output

To use a MIDI device as an output target, use the --midi-out option:

microwave run --midi-out 1 steps 1:22:2

More Options

For a complete list of command line options run

microwave help


~494K SLoC