Raph Levien and MSFA contributors — github.com/google/music-synthesizer-for-android
Jari Kleimola — webdx7 build tooling — github.com/jariseon/webdx7
Alexey S. Kompaniets — github.com/kompadre
OpenPatches is a sound synthesis curation and archiving utility built around the Yamaha DX7 FM synthesis engine.
FM synthesis is uniquely suited for this purpose: it consumes very little CPU, needs minimal storage, and sounds consistent across the entire pitch range without temporal distortions. A single 128-byte patch can reproduce a sound at any MIDI note, instantly.
This makes FM ideal for drafting musical ideas on low-end hardware — devices where sample-based playback would be too expensive. Projects like LittleGPTracker and trkr already use FM for this reason.
OpenPatches takes any audio recording and finds the closest DX7 patch using linear approximation and spectral analysis. The result is a portable, lightweight voice you can use anywhere — from a tracker on a Raspberry Pi to a browser on a phone.
Source code and documentation: github.com/kompadre/openpatches
Import a .WAV — Upload an audio recording. The server analyzes it and returns the closest DX7 patches. Patches appear in containers on the canvas.
Load a .SYX — Load a DX7 sysex bank (32 voices). All patches appear in a container on the canvas. Click to play, drag to reorganize.
Canvas — The main area where patches and containers live. Drag patches by their star. Create containers to group patches. Containers are resizable.
Toolbar — Bottom panel with Keyboard (click to play), Piano Roll (draw note sequences), Edit (morph/params/random), and Log.
Edit — Morph between two patches, tweak individual parameters, or generate random mutations.
Export .SYX — Export patches from a container as a standard DX7 sysex file.
By using OpenPatches, you agree to these terms. OpenPatches is provided "as is", without warranty of any kind. You are responsible for the content you upload. Unauthorized abuse of the matching API is prohibited.
DX7 is a trademark of Yamaha Corporation. OpenPatches is not affiliated with Yamaha.
We do not collect personal data. Uploaded audio is processed to find matches and stored temporarily. Application data (patches, canvas) is stored locally in your browser (LocalStorage/IndexedDB) and never sent to our servers unless you explicitly export it.
OpenPatches is licensed under the MIT License.
This project includes:
• MSFA (Apache 2.0) — Music Synthesizer for Android by Raph Levien and contributors
Hey! Hope you're finding some cool sounds with OpenPatches.
Running the inference server (the brain that matches your audio to DX7 patches) actually costs a bit of money every month because it requires a decent CPU to run those genetic algorithms in real-time.
If you like the project and want to help keep the lights on, consider buying me a coffee! Every little bit helps keep this tool free and accessible for everyone.
(No pressure though, happy patching!)