libADLMIDI-JS

OPL3 FM Synthesis for the Web via WebAssembly

A WebAssembly port of libADLMIDI, enabling OPL3/FM synthesis in the browser. Play MIDI files, build real-time synthesizers, and edit FM patches with the sound of DOS-era games.

Examples

Keyboard

Play notes with mouse or keyboard. Switch banks and programs to explore FM sounds.

Open

MIDI Player

Load and play MIDI files with OPL3 synthesis.

Open

Patch Editor

Edit OPL3 FM instrument patches in real-time. Adjust operators, ADSR, and waveforms.

Open

Web MIDI

Connect a MIDI controller and use libADLMIDI-JS as a live instrument.

Open

MIDI to WAV

Convert MIDI files to WAV audio offline.

Open

SFX Generator

Procedural sound effect generator inspired by jsfxr, using OPL3 synthesis.

Open

Quick Start

npm install libadlmidi-js
import { AdlMidi } from 'libadlmidi-js/nuked';

const synth = new AdlMidi();
await synth.init();
synth.noteOn(0, 60, 100);  // Play middle C