WebPipes– A web-based Virtual Pipe Organ with realistic console UI

1 comments

I built a browser-based virtual pipe organ that loads SF2 soundfonts and renders a realistic organ console interface.

  Features:
  - Loads SoundFont2 organ samples directly in the browser (using smplr library)
  - MIDI keyboard support (multiple devices can control different manuals)
  - Realistic draw-stop knobs with pull-out animation
  - Expression pedals with 3D tilt effect for volume control
  - Convolution reverb for cathedral acoustics
  - Computer keyboard fallback (two-manual mapping)

  Tech stack: TypeScript, Vite, Web Audio API, WebMIDI

  The UI mimics a real organ console with stop jambs on either side and stacked manuals in the center. Stops are distributed in a zigzag pattern like traditional pipe organs.

  Currently ships with a smaller soundfont (~22MB) while I figure out efficient ways to stream larger organ samples. The challenge is that quality pipe organ samples can be 1-2GB+.

  Live demo: [URL]
  Source: [GitHub URL]

  Would love feedback on the audio latency and UI. Planning to add: pedalboard, couplers, and possibly IndexedDB caching for larger soundfonts.