Webpipes is a two-manual virtual pipe organ that runs in your browser. It uses the Web Audio API for real-time audio with SoundFont samples, the WebMIDI API for keyboard input, and a console-style interface with stop knobs and expression pedals.

Key Features
- Two independent manuals - each with its own stops, MIDI input, soundfont, and volume
- SoundFont2 sampling - multiple pipe ranks per manual, up to 16 stops at once
- MIDI device support - any USB MIDI keyboard via WebMIDI API
- Computer keyboard input - QWERTY mapped across two octave ranges per manual
- Built-in reverb - adjustable mix and decay time
- 3D expression pedals - animated visual pedals per manual
- Octave shifting - transpose each manual independently
Console Layout
The interface recreates a traditional organ console with three panels:
| Section | Description |
|---|---|
| Left Jamb | Manual I stop knobs - circular ivory buttons that pull out when engaged |
| Center | Two keyboards (Manual II upper, Manual I lower), soundfont selectors, MIDI inputs, octave controls |
| Right Jamb | Manual II stop knobs - independent rank selection |
| Pedals | Animated 3D pedals at the bottom that tilt as volume changes |
Technology
- TypeScript + Vite
- Web Audio API - audio synthesis and effects
- WebMIDI API - MIDI device connectivity
- SoundFont2 - sample playback
Browser Compatibility
Best in Chromium-based browsers (Chrome, Edge, Brave). For MIDI on Windows, you may need to enable the Windows Runtime MIDI API flag in Chrome settings.
Open Source
The complete Webpipes source code is available on the OpenPipes GitHub.