
Fully online SoundFont/DLS Editor, written in TypeScript and React.
No download needed!
v2.0.0 is here!
Complete rewrite with many new features!
SpessaSynth Project index
Description
This is an online SoundFont/DLS editor based on spessasynth_core,
inspired by
Davy7125’s polyphone.
This is also my first TypeScript and React project. It’s a bit messy, but it works! :-P
Supported Browsers
- Chromium-based: such as Google Chrome, Microsoft Edge, Brave, Opera, etc.
- Gecko-based: such as Mozilla Firefox, Floorp, Zen, Waterfox, Librewolf, etc.
- Chrome for Android/Chromebook
- Firefox for Android
Features
- Fully online: No download needed!
- Multiple tabs: Copy between sound banks or edit multiple of them at once!
- Multiple formats import and export:
- SF2 - SoundFonts!
- SF3 - Compressed SoundFonts with compression preservation!
- SFOGG - SF2Pack! (import only)
- DLS - DownLoadable Sounds with articulator support!
- Mobile DLS - Apparently it’s different from DLS… So I’m including it as well!
- Built-in MIDI player: Test your bank with a MIDI file!
- Real-time synthesizer:
- Fully-featured spessasynth_core’s synthesizer!
- Instant response to parameter changes! (to new notes)
- Full modulator support!
- Full generator support!
- GM, GM2, GS, XG support!
- Built-in effects!
- Somewhat configurable!
- SoundFont Extensions:
- Default modulator editing: Via the DMOD chunk!
- Limitless SoundFonts: Via the xdta chunk!
- Undo and redo system: It was a pain to code…
- Supports both light and dark modes!
- Useful tools:
- Clipboard system: Automatically inserts all needed elements!
- Remove unused elements: Trim the soundbank’s size!
- Auto-link samples: Automatically repair broken stereo samples based on names! (Looking at you, FluidR3_GM)
- Built-in MIDI Keyboard:
- Clickable!
- Shows the key number and velocity!
- Shows keys that don’t have a match for a given preset or instrument!
- Controller knobs and pedals are customizable!
- Supports external MIDI devices!
- Looks cool!
- Responds to the MIDI player!
- Extensive sample editing:
- Automatic stereo samples handling: Including import and name editing!
- Replace samples in-place: Broken sample referenced everywhere? No problem!
- Easy loop point setting: Just click!
- Insane zoom values: Why not?
- Instrument and preset editing:
- Grouped stereo samples: Avoid clutter when making stereo banks!
- Default values are shown: So you don’t need to look them up!
- Normal units: Only in the instrument editor…
- Automatic stereo sample adding: Forgot to select the right sample? No problem!
- Duplicate preset numbers safeguard: Of course!
Some screenshots!

If you would like to help translate SpessaFont, please read this guide (and thank you!)
Download Locally
SpessaFont is a PWA app, meaning you can install it on any device with just one click:
Building from source
Development
- Make sure you have Node.js installed
- Clone this repository
npm install
npm run dev
- Open the link that appears in the terminal
Note: There are some performance issues when searching for elements.
This does not affect the production build though.
Build for production
- Make sure you have Node.js installed
- Clone this repository
- Clone
npm install
npm run build
- The
dist directory contains the built HTML and other files
Credits
Editing sound banks has never been easier!

beautiful animation by my friend, AlfaFranekPolak
License
Copyright © 2026 Spessasus.
Licensed under the Apache-2.0 License.
Legal
This project is in no way endorsed or otherwise affiliated with the MIDI Manufacturers Association,
Creative Technology Ltd. or E-mu Systems, Inc., or any other organization mentioned.
SoundFont® is a registered trademark of Creative Technology Ltd.
All other trademarks are the property of their respective owners.
评论