Skip to content
Welcome to the new SynthEdit website. The old site is still available — visit the old site.

Installation

Update 01Platform
Mac

Native macOS

First-class macOS support on Apple Silicon. Code-signed VST3 and AU exports, AU validation passing, ships as a single signed .dmg.

Update 02Sound
WT

Wavetable Osc Refresh

Built-in test waveforms (Saw, Sine, Square, Noise, and more), anti-alias mip at the top end, preserved phase for asymmetric shapes, sidebands dropped ~57 dB.

Update 03Plugins

Resizable Plugin Windows

VST3 and AU plugins now resize cleanly on macOS, with DPI-aware refresh when the host changes scale. WASAPI driver support on Windows.

Update 04Workflow

Live Hoverscopes

Hover any pin or wire to see the signal as a mini live scope. Now works on GUI modules and IO modules, with improved hit-testing on pins and lines.

Update 05Skins

Project-Specific Skins

Drop a sister folder next to your project (e.g. mysynth.skin/) and SynthEdit searches it first for skins and fonts. A _fallback skin holds your custom assets, plus a new “Browse to Project Skin” menu.

See the full changelog for every release in the v1.6 line.

A free 60-day demo is available that lets you explore the full feature set, including exporting your work as VST or AU plugins. After 60 days you’ll need a license to keep using SynthEdit.

A license costs €170 — a single payment covering all current versions, with no subscription and no royalties on what you export. The experimental Linux build is free while it’s in preview.

Download for Mac (.dmg)

Requires an Apple Silicon Mac (M1, M2, or later) running macOS Tahoe or later.

  1. Open the .dmg file
  2. Drag SynthEdit to your Applications folder
  3. Launch SynthEdit from Applications
Download for Windows (.exe)

Requires Windows 10 version 1809 (build 17763) or newer, 64-bit.

  1. Download and run SynthEdit-Setup.exe.
  2. The signed installer unpacks the MSIX payload, installs the required Windows framework dependencies, then installs SynthEdit. No administrator prompts; no certificate to trust.
  3. SynthEdit launches automatically when the install finishes. Next time, launch it from the Start menu (search “Synth Edit”).
Download for Linux (.tar.gz)

Requirements

  • 64-bit x86 Linux with glibc 2.39 or newer — e.g. Ubuntu 24.04+, Fedora 40+, or equivalent
  • A Wayland desktop session — required to run the editor. SynthEdit is a native Wayland client with no toolkit and no X11 path, so it will not start under a legacy X11-only session (and there is no XWayland fallback). Any current GNOME, KDE Plasma or Sway session is fine. This applies to the editor only — see Exported plugins below for what your plugins need.
  • Standard desktop libraries (libdecor, xkbcommon, harfbuzz, freetype, fontconfig, PipeWire for audio, ALSA for MIDI) — preinstalled on any normal desktop distro

Install and run

Terminal window
tar -xzf SynthEdit-linux-x64.tar.gz
cd SynthEdit
./SynthEdit

The PlugIns/ folder next to the executable holds the factory modules; third-party modules are scanned from ~/.local/share/SynthEdit/modules.

Audio and MIDI

Audio output goes through PipeWire, to the system default device — there is no JACK or plain-ALSA audio backend. The engine starts automatically; toggle it with Audio > Run. MIDI input uses the ALSA sequencer, and every connected MIDI device is opened by default, so a plugged-in keyboard just works.

Edit > Preferences (Ctrl+,) sets the sample rate, buffer size and MIDI input/output. Changes take effect immediately — a running engine is restarted for you. The audio device list currently offers only PipeWire’s default sink; to send SynthEdit somewhere else, route it in your desktop’s own sound settings.

If you hear dropouts

PipeWire decides the audio period itself, so Buffer size is a request rather than a guarantee.

  • Match SynthEdit’s Sample Rate to the one PipeWire is using (pw-metadata -n settings | grep rate) so nothing has to be resampled.
  • Give audio threads realtime priority — adding yourself to the pipewire group is usually enough (sudo usermod -aG pipewire $USER, then log out and back in).
  • Audio inside a virtual machine is emulated and glitches regardless of these settings; a larger buffer in your VM’s audio settings helps.

Editing

Insert modules by double-clicking them in the browser (or single-click one, then click the canvas where it should go). Tabs above the canvas track each open container view (middle-click closes a tab), the canvas pans via scrollbars / mouse wheel and zooms with Ctrl+wheel, and the usual keyboard shortcuts work (Ctrl+Z/Y, Ctrl+X/C/V, Delete, Ctrl+N/O/S, F5 toggles audio).

Exported plugins

Linux export ships, but like the rest of the Linux port it is very new — treat it as experimental and test your plugin in the hosts you care about.

The Wayland requirement applies to the editor, not to what you build with it. A plugin exported on Linux carries no dependency on the editor’s Wayland backend. It ships with both display-server paths in the one binary and picks between them when the host opens its window:

  • Wayland where the host supports it — the kPlatformTypeWaylandSurfaceID embedding added in VST3 3.8.0.
  • X11 everywhere else — the long-standing kPlatformTypeX11EmbedWindowID. This is the path an X11 DAW such as Ardour takes, and also what a Wayland desktop gets when the host embeds its plugins through XWayland.

The choice is made by asking the host what it supports, not by looking at your desktop session — only the host knows which one it actually uses. So there’s one build to ship, and your users don’t need a Wayland session to run your plugin.

Not working yet

  • Picking a specific audio output device (only PipeWire’s default sink is offered)
  • Multiple windows (tear-out)

You can open, edit, and save projects, and the full structure view renders natively. Feedback to jef@synthedit.com is very welcome.

To drive SynthEdit from Claude Code, Cursor, or any other MCP-compatible AI assistant, you need the headless SynthEditCL command-line tool. The setup differs slightly by platform:

macOS — already done. SynthEditCL ships inside SynthEdit.app. Skip ahead to the MCP connector guide to wire up your AI host. (Prefer not to install the GUI? A standalone SynthEditCL_mac.zip is also available — unzip it and point SE_CLI at SynthEditCL.app/Contents/MacOS/SynthEditCL.)

Windows — install the standalone command-line tool. Works with or without the GUI.

Download SynthEditCL Installer (.exe)
  1. Run the installer
  2. Tick “Add to PATH” if you want SynthEditCL.exe available system-wide (recommended)
  3. Continue to the MCP connector guide to configure your AI host

Linux — download the standalone command-line tool. Fully headless: no Wayland session, no GPU — it works over ssh and in CI, so it isn’t limited by the editor’s experimental status.

Download SynthEditCL for Linux (.tar.gz)
  1. Extract into /opt or your home directory: tar -xzf SynthEditCL-linux-x64.tar.gz — the MCP server auto-detects /opt/SynthEditCL/ and ~/SynthEditCL/, as well as SynthEditCL on your PATH. (Extracted somewhere else? Set SE_CLI to the extracted SynthEditCL/SynthEditCL executable in your MCP host config.)
  2. Continue to the MCP connector guide to configure your AI host

This happens when a third-party module has typos in its XML definition. The fix is to get the latest update for those modules from their original developer — newer versions correct these mistakes.

Scrolling or Zooming Past the Document Bounds

Section titled “Scrolling or Zooming Past the Document Bounds”

You can now scroll and zoom beyond the edges of the document. This is intentional — it lets you position the part of the document you’re working on comfortably within the view.

Slight Delay When Resizing the Module Browser

Section titled “Slight Delay When Resizing the Module Browser”

There is a slight delay when you adjust the size of the module browser. This is intentional — it reduces the load on your graphics card from recreating a fresh swapchain on every size change.

Recent changes and fixes. View full changelog

v1.6.183 — 2026-08-13

  • open a blank project when no MRU file loads at startup
  • bring the Wayland menu bar in line with Windows and macOS
  • a module locked by another process crashed the editor on startup
  • a View menu to show or hide the editor’s panes and bars
  • —get-param could not read the editor it was attached to
  • —delete reported success without deleting anything

v1.6.182 — 2026-08-12

  • serialise <PatchPoints>, so patch cables survive save/reload

v1.6.181 — 2026-08-11

  • se_attach reaches a running editor on macOS
  • say which container the live pointer verbs address
  • resize buffers in place on panel resize instead of rebuilding the whole client
  • rename and audio-transport verbs
  • no sound on first use of the Mac app
  • initialize undo/redo descriptions so Edit menu text isn’t blank before any command runs
  • correct off-by-one in MIDI Out combo index so saved preference reloads correctly
  • clear additional-files list before reloading it in export dialog view model
  • a live command channel for the Mac editor
  • CL bundle fails codesign on staged Finder detritus

v1.6.180 — 2026-08-11

  • make Install.ps1 VCLibs error matching locale-independent
  • WaveTable slot-count constants fail to link on x86_64

v1.6.179 — 2026-08-10

  • synthetic presses carry the NEW flag, like real ones
  • se_attach - point the tools at the running editor
  • run the real verb set against the running editor
  • route the pointer verbs into the live on-screen view
  • list prefabs, and flag deprecated (Debug-only) modules
  • file-based tracing for the pointer path
  • don’t let an in-process host block on stdin
  • clearer activation messages
  • a synthetic drag must approach before it presses
  • ‘Buy me a coffee’ donation link in Help

v1.6.178 — 2026-08-10

  • SynthEdit2 builds again — borrow the factory, don’t pass the unique_ptr

v1.6.177 — 2026-08-09

  • mcp - smoke scripts hardcoded a Windows temp path
  • mcp - remove stray C: temp dir that breaks Windows checkout
  • mac - uncaught exceptions crash with no usable diagnostic
  • CLI script paths hardcoded a Windows temp dir
  • CL path-writing verbs create parent dirs and verify the write
  • CL mac bundle stages Resources into Contents/Resources

v1.6.175 — 2026-08-07

  • mac - open .synthedit files handed to us by the Finder
  • connector forgets its dragged node when the drag ends

v1.6.174 — 2026-08-07

  • tidy line context menu
  • stop TIDE clobbering the installed SynthEdit’s module cache
  • Thumbnails now working.
  • Prefabs now appear in the module list.
  • JUCE host presses the client before the context-menu fallback

v1.6.173 — 2026-08-06

  • connector hit-test widens with round joins, not miter

v1.6.171 — 2026-08-05

  • hand the mac Xcode project the HarfBuzz include path
  • configure failed when synth_ui_tests was skipped
  • breadcrumb bar draws container thumbnails on mac

v1.6.170 — 2026-08-05

  • more natural auto-line-tracing

v1.6.169 — 2026-08-05

  • export refuses missing modules instead of crashing
  • audio capture for the Wayland editor
  • a view change severed the side panes’ hosts
  • a missing stock module is a broken installation, say so
  • Preferences panel for the Wayland editor

v1.6.168 — 2026-08-05

  • tab strip for the Wayland editor
  • ship the Selawik font files
  • search box for the module browser
  • say OS-height explicitly in the SDK3 text adapter
  • never discard unsaved changes silently
  • module browser and properties panes for the Wayland editor
  • menu bar for the Wayland editor
  • layout tests render through the CPU backend on Linux
  • keyboard shortcuts for the Wayland editor
  • destroy the editor views before the document, not after
  • define FONTS_DIR for synth_ui_tests
  • cross cursor while click-placing a module
  • canvas scrollbars for the Wayland editor
  • bundle Selawik so text measures the same on every platform
  • async message boxes, and make them visible on linux at all
  • adapt to gmpi_ui’s registerBundledFont signature
  • View menu toggles for the side panes
  • SynthEdit on Wayland, no toolkit and no X11
  • Spectrum Analyser - fixed possible crash when changing FFT size
  • Properties browser can now select new (non-existing) files on filename pins.
  • PipeWire audio for the Wayland editor
  • ALSA sequencer MIDI for the Wayland editor
  • —connect rejects bad pin indices instead of crashing

v1.6.167 — 2026-08-03

  • build on Linux — CPU-backend factory and GCC portability fixes
  • SynthEditCL builds and runs headless on Linux
FeatureDemoFull Version
Build synthsYesYes
All modulesYesYes
Save projectsYesYes
Export VST/AU pluginsYesYes
Time limit60 daysNone
PriceFree€170, paid once

The demo is fully featured — you can build synths, save projects, and export commercial-quality VST or AU plugins for the full 60 days. After that, a license keeps everything working with no further restrictions.

Licenses are handled through Moonbase, our new licensing partner (the previous provider, ShareIt, has closed down).

To activate your copy:

  1. In SynthEdit, open the registration settings and click the Activate button
  2. This launches the Moonbase website in your browser
  3. Create a Moonbase account using the email address associated with your SynthEdit license

Most existing customers’ email addresses have already been imported into Moonbase, so activation should work straight away. If you hit any trouble, email jef@synthedit.com and Jeff will sort it out.

Once installed, follow the Your First Synth guide to build something right away.