A free, open-source DAW that works the FL Studio way: patterns, Channel Rack, piano roll, playlist.
Audio recording and vocal tuning are included, and an AI agent can edit the project you have open.
Download (Windows, Linux) · Watch the video · Hear a beat made in it · Command line
WAVE is a desktop music production program (a DAW) for Windows and Linux. It is free, the source is open, and it is made for one job: making a beat and recording a vocal over it, the way you would in FL Studio.
- 2010: I downloaded FL Studio for the first time and started making music.
- 2015: I started music school: cello, guitar and piano (graduated in 2019).
- 2016–2022: I sold beats to underground rappers in Poland (pop, true school, trap, love songs).
- Along the way I tried almost every genre (EDM, lo-fi, classical, my own pop songs), often with real instruments in my beats. I also run a YouTube channel and master the voice for it myself.
- 2022: I joined Nokia, where I work on noise cancellation for telecom radios. That is a lot of DSP math, so I understand how sound works under the hood.
WAVE started as a fun experiment. I wanted a modern DAW where every instrument and effect feels like part of the same application: they share the same controls and visualizations, a new feature reaches the whole app at once, and you don't juggle a dozen different interfaces. Yes, it is vibe-coded with Claude Fable, but I know what the code is doing.
There are already excellent open-source DAWs, and I'm not trying to replace them. I just wanted a different workflow, and ended up using WAVE more than FL Studio itself.
If you know FL Studio, you already know WAVE. Patterns on a free playlist, a Channel Rack with a step sequencer, a piano roll per channel. The gestures are the same too: right-click deletes, middle-button drag pans, Ctrl+Q quantizes, Alt+wheel changes velocity. A beat plays on the first press of Space.
Recording and vocals are not an edition. Loop recording with takes and comping, measured latency compensation, a note-level pitch editor, live pitch correction, Tune to Reference (pull a take onto a guide vocal), a vocal rider and a one-click vocal chain. All of it is in the one free build.
Every effect draws what it does to your audio. The picture above the knobs comes from the
signal passing through, so you see the gain reduction or the added harmonics instead of
guessing. These were recorded in the app while a beat plays (drums, an 808, the piano and a
pluck, written through the wave command):
All 14 plugin windows are on the website.
An AI agent can work in the project you have open. WAVE installs a wave command that
talks to the running app. The agent reads the song as JSON, writes notes and sets knobs on
your screen, then bounces offline and reads back peak, level and clipping, because it cannot
hear. Every command is one step in your undo history, so Ctrl+Z removes whatever you do not
like. This trap beat was made that way.
wave context --pretty # tracks, inserts, patterns, channels
wave pattern --id 2 --ch hat --steps "x.x. x.x. x.x5 x.x9"
wave add-fx --insert 6 --type reverb --preset 3
wave render --out check.wav --to 16 # offline bounce + level statisticsThe engine is written for the audio thread first. The callback never allocates, locks or
touches a file (the benchmark counts allocations on the audio thread: zero). Moving a knob never rebuilds the graph.
Sixteen synth voices with two oscillators and seven-voice unison each, every effect on, take
about 17 % of one core at 48 kHz with 64-sample blocks, and the oscillators stay more than
60 dB above their aliasing up to C7 (measurements). How it is put together: docs/architecture.md.
| Arranging | Pattern, audio and automation clips on free lanes; slice, fade, reverse, normalise; stretch audio clips by dragging their edges (Shift+M), keeping pitch or resampled; automation curves edited on the clip |
| Writing | Step sequencer with swing and velocity, piano roll, computer keyboard or MIDI keyboard as the instrument |
| Instruments | Two-oscillator wavetable synth (unison, mod matrix, 46 presets); WAVE Keys, a sampled concert grand; a sampler with a built-in drum and tonal library plus downloadable CC0 kits |
| Mixing | 24-band dynamic EQ, compressor, FET compressor, saturator, delay, reverb, limiter, de-esser, denoiser; presets on every effect; a docked mixer under the Playlist or the full-screen Mix view (F9); route Channel rack channels to inserts FL-style (Ctrl+L) |
| Recording | Takes and comping, latency compensation, live monitoring |
| Vocals | Pitch editor, live correction, Tune to Reference, vocal rider, vocal chain |
| Plugins and audio | VST3 effects after a crash-proof scan (their own windows on Windows, WAVE's parameter list on Linux); LV2 effects on Linux, edited in WAVE's parameter list; latency the plugins report is compensated; WASAPI and ASIO on Windows, ALSA and JACK, including PipeWire's JACK, on Linux |
| Export | Offline bounce of the song or a loop to 32-bit float WAV or MP3 |
| Portable projects | File → Export project as ZIP packages the current arrangement, samples and recordings for sharing |
| Language | English and Polish |
WAVE borrows FL Studio's way of working, so that is the fair comparison. FL Studio has more than twenty-five years behind it and wins on breadth.
| WAVE 0.9 | FL Studio | |
|---|---|---|
| Price | Free | About $99 to $450 depending on the edition |
| Source code | Open | Closed |
| Audio recording | Included, with takes and comping | Producer edition or higher |
| Vocal pitch editing | Included | NewTone and Pitcher come with the higher editions |
| Working with an AI agent | The agent edits the open project and measures its own renders | No command line into the open project |
| Built-in instruments and effects | 14 | More than a hundred across the editions |
| Third-party plugins | VST3 effects, and LV2 effects on Linux; plugin windows on Windows only | VST instruments and effects, and more formats |
| Platforms | Windows and Linux | Windows and macOS |
| Maturity | Version 0.9, one developer, expect rough edges | Since 1998, large community, tutorials, sample packs |
FL Studio details as of November 2026; see Image-Line's edition comparison for current prices. FL Studio is a trademark of Image-Line, and WAVE is not affiliated with it.
Coming from Ableton Live? The arrangement side will feel familiar. WAVE has no Session view or clip launcher, so if you write by launching clips, it does not replace Live yet.
Version 0.9, built by one person with AI agents. It covers a complete beat and a vocal session. What it does not do yet:
- no VST or LV2 instruments, only effects (VST3 everywhere, LV2 on Linux), and no CLAP; on Linux an effect is edited through WAVE's parameter list, because plugin windows work on Windows only (and LV2 plugins' own windows are not hosted yet);
- LV2 needs the lilv library (
liblilv-0-0on Debian/Ubuntu,lilv-libson Fedora): the.deband.rpmpackages install it; with the AppImage, LV2 works when the system has it and WAVE says what to install when it does not. An LV2 plugin that needs a host feature WAVE does not provide (for example a fixed block size) is listed with the reason and cannot be added; - no macOS build;
- no Session view or clip launching;
- no import of FL Studio projects (
.flp); bring stems or samples over instead; - releases come often, so things still move. The changelog is written for musicians, not for developers.
Found a bug or miss something from FL? Open an issue.
Is it really free? Yes. There is one build, no paid edition and no account.
Can it replace FL Studio? For beats built from the built-in synth, the piano, samples and your own recordings: yes, that is what it is made for. If your sound depends on VST instruments such as Serum, or on FL's own plugins: not yet.
Does it run on a Mac? No. Windows and Linux (deb, rpm, AppImage) only.
Do I need an AI agent to use it? No. It is a normal DAW with a mouse and a keyboard. The
wave command is there if you want an agent, or your own script, to work in the project.
Was it written by AI? Mostly, yes, directed by a musician who works with DSP for a living; see the note above. The engine has tests for clicks, aliasing and loudness that run on every change, and a benchmark that counts allocations in the audio callback.
Download the installer from the latest release.
The Windows build includes ASIO support (Settings → Audio → ASIO) and the WAVE Keys piano.
If a Focusrite USB interface is disconnected, use Switch to WASAPI in the audio notification
or in Settings → Audio to resume playback through the default Windows output. Connect the
interface and choose ASIO again to go back. With Focusrite USB ASIO installed, WAVE waits for
Windows to detect the interface before opening any ASIO driver, since ASIO discovery can probe it.
On Windows, double-click a .wave project in File Explorer to open it in WAVE.
If WAVE is already running, its window comes to the front and prompts you about any unsaved changes before switching projects.
Linux packages are attached to the same release.
To share an editable project, choose File → Export project as ZIP. Unzip the whole archive
and open the .wave file inside it. Keep the Audio folder beside the project. The ZIP includes
the project's samples and recorded takes. WAVE looks for third-party plugins at the locations
stored in the project (LV2 plugins by their URI), and files a plugin itself loads (an impulse
response, a sample) are not collected into the ZIP. WAVE Keys uses its bundled or separately
installed piano library.
Prerequisites: Rust stable, Node 22 + pnpm, and on Linux the WebKitGTK, ALSA, JACK and D-Bus
dev packages (libwebkit2gtk-4.1-dev libasound2-dev libjack-jackd2-dev libdbus-1-dev). JACK is
loaded at run time, so the app still starts on a machine without it.
pnpm --dir ui install
cargo install tauri-cli --version "^2"
cd app && cargo tauri devASIO (Windows): build with the asio feature. It needs LLVM/Clang
(winget install LLVM.LLVM, then LIBCLANG_PATH=C:\Program Files\LLVM\bin); cpal downloads
the Steinberg SDK by itself.
cd app; cargo tauri build --features asioWAVE Keys in your own build: node scripts/fetch-keys.mjs downloads the piano (138 MB,
checksummed, cached in target/keys-src) and prepares it in app/resources/keys (cut to what
the app plays, 16-bit FLAC, about 23 MB) so tauri build ships it. It needs cargo. Without it the app offers to
download the piano the first time you add the instrument.
It works as soon as the app has run once (open a new terminal). To let an agent such as
Claude Code work on your song, start it in any folder and tell it to run wave context.
Full reference: docs/cli.md.
wave channels --keys # add the WAVE Keys piano
wave undo # or press Ctrl+Z in the app| path | what |
|---|---|
crates/engine |
project model, ops + undo, sequencer, synth and piano voices, built-in DSP, mixer graph, recording, offline render, analysis |
crates/audio-io |
cpal devices: WASAPI / ASIO / CoreAudio / ALSA, duplex in/out |
crates/vst3-host, crates/plugin-windows, crates/plugin-scan |
VST3 effects as engine processors, crash-proof out-of-process scan, native editor windows |
crates/lv2-host |
LV2 effects as engine processors on Linux (liblilv opened at run time): metadata scan, worker thread, state, latency |
crates/audio-file |
WAV/FLAC/OGG/MP3 decoding |
crates/session, crates/cli |
the local socket the CLI uses, and the CLI itself |
app |
Tauri shell: commands, library downloads, settings, CLI launcher |
ui |
SolidJS + TypeScript frontend (runs in a plain browser with a mock backend too) |
site |
the landing page published to GitHub Pages |
cargo test --workspace
pnpm --dir ui test
cargo run -p wave-engine --example bench --release # callback load, heavy mixerThird-party components and sample credits are in
THIRD_PARTY_NOTICES.md.