Browser-based FM synthesizer and patch editor: emulates Yamaha DX7, DX7II, TX802, and TX816-style multi-timbral setups (eight parts, performances, up to 128-voice polyphony).
Live demo: https://woutervannifterick.github.io/texed/
- Open the demo and click LET'S PLAY!
- Play with the on-screen keyboard, QWERTY keys, or Web MIDI
- Open the library or LOAD / drag-and-drop your own
.syxpatches
More detail: docs/using-texed.md. Hardware MIDI editor:
docs/hardware-midi.md (?hw mode).
| feature | DX7 | Dexed | DX7II | TX802 | TX816 | Texed |
|---|---|---|---|---|---|---|
| 6 Op FM | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Timbrality | 1 | 1 | 2 | 8 | 8 | 8 |
| Load Performances / Banks | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ |
| Additional routing + modulation | ❌ | ✅ | ✅ | ✅ | ❌ | ✅ |
| Polyphony | 16 | 16 | 16 | 16 | 128 | 128 |
| MIDI-in Ports | 1 | 1 | 1 | 1 | 8 | all |
| MKI operator | ✅ | ✅ | ❌ | ❌ | ✅ | ✅ |
| MKII operator | ❌ | ✅ | ✅ | ✅ | ❌ | ✅ |
| Hardware/Software | Keyboard | VST | Keyboard | Rack | Rack | Web |
Table notes: MKI / MKII operator = operator/engine behaviors matching DX7 Mark I vs Mark II family; Additional routing + modulation = performance-level routing beyond a single DX7 voice (splits/layers/mod matrix on supported gear).
- Realtime editing and visualization on one screen
- Accurate envelope visualization, not a schematic. Envelope curves are computed by replaying the actual DSP envelope generator; drag segments to edit rate and level.
- Built-in patch library hundreds of factory and community banks (see docs/patch-library.md)
- Load/save patches cartridges and single-voice SysEx
- Web MIDI and QWERTY play; optional hardware editor over SysEx
- Session persistence patch and UI state in local storage
- Headless CLI render MIDI to WAV (docs/cli.md)
Texed is a TypeScript/React port of Dexed (Pascal Gauthier and others). Dexed builds on MSFA (Raph Levien / Google, 2012).
Dexed plays one DX7 voice accurately but does not support performances patches that combine up to eight DX7 voices as layers, splits, and routed parts. Texed adds that multi-timbral model and a web-native editor.
| Path | Contents |
|---|---|
texed-ts/ |
App: React UI, DX7 engine/format packages, CLI host, tests |
patches/ |
Factory and third-party voice/performance banks (.syx, etc.), packed into the built-in library at build time |
docs/ |
User and contributor guides |
Requires Node.js ≥ 24 and pnpm (see texed-ts/package.json).
- Lint:
oxlint, format:prettier, typecheck:tsc - Tests:
vitest(unit) andplaywright(e2e), fromtexed-ts/ - CI (.github/workflows/ci.yml) runs lint, test, and build on every push and PR
- Deploy (.github/workflows/deploy.yml) publishes GitHub Pages on push to
master
cd texed-ts
pnpm install
pnpm dev # dev server (rebuilds patch library)
pnpm test # unit tests
pnpm build # production build
pnpm cli song.mid --syx bank.syx # headless WAV render. See docs/cli.mdArchitecture and editing controls: texed-ts/README.md. Contributing: CONTRIBUTING.md.
Texed inherits the Dexed lineage and is distributed under GNU GPL v3. Full license text: dexed-juce/LICENSE.
Bundled .syx data under patches/ is third-party/factory content. See
docs/patch-library.md.
Questions, bugs, and ideas: GitHub issues or a pull request (CONTRIBUTING.md).
Wouter van Nifterick