OpenPipes Pipe Organ Sound for the Masses

OpenPipes Organ Designer

A parametric organ console designer that runs entirely in your browser. Pick a console type, drag the parameters, and watch the instrument rebuild as you go. When it looks right, take away a STEP model, an STL, a nested DXF, a cut list, dimensioned A3 drawings and an assembly booklet — everything a workshop needs.

Nothing is uploaded and nothing is computed on a server. The CAD kernel is OpenCascade compiled to WebAssembly, running next to the page. Your designs stay in your browser.

OpenPipes Organ Designer — a three-manual open console in the realistic view

Seven things it builds

Each type is a different piece of furniture with its own parameters, not the same box with options switched off.

TypeWhat it is
Open consoleTable on a pedestal, with terraced drawknob jambs either side of the manuals
KlaisOpen console whose drawknob terraces bend onto a concentric arc facing the player
Angled jambsA flat stop jamb each side, turned toward the player under a roof, carrying drawknobs or rocker tabs
InlineThe simple one — a plain box, manuals recessed into a table, stops on rocker tabs above
Upright cabinetClosed cabinet with the manuals in an opening, flat register panels and a music desk
PedalboardAGO-pattern pedals in a frame of two cheeks with a back and front rail
BenchTop, two end panels on feet, and a music shelf braced across the back

It rebuilds while you drag

A change takes 30 to 110 ms to rebuild, so parameters apply as you move the slider rather than after you let go. Manual count and key count, jamb geometry, drawknob rows and columns and stagger, swell pedal count and travel, board thickness, the table recess, the music desk, speaker openings, pedal dimensions and sharp cap geometry — all live.

That speed comes from splitting the work in two. The layout is computed in JavaScript and emits a board list; the CAD kernel rebuilds that list as exact solids only when you ask for an export. Neither side reimplements the other, so the preview you dragged and the STEP file you download cannot drift apart — a test in the repository compares the kernel’s bounding box against the browser’s, board by board, and fails if they disagree by more than the sagitta of one curved segment.

Two ways to look at it

Realistic is lacquered wood under warm light, for judging how it will look. CAD is flat shading with every edge drawn, for reading how it goes together. Explode it by component and each subassembly moves as one rigid piece; explode it by board and every panel separates on its own, like a parts list in space.

Thirty measurements on the model

Dimension lines on a three-manual console

A console that looks right and plays badly is the expensive mistake. The designer carries a catalogue of 30 named measurements — overall width, depth and height; table height and depth; manual width, natural length, rise and setback; lowest manual height; cheek thickness and clearance; jamb width and step geometry; drawknob and piston spacing; pedal opening; foot reach and foot height — shown as dimension lines on the model and ticked off a checklist, so the numbers that decide whether the console is playable are on screen while you drag the sliders that change them. A 175 cm scale figure can be switched on beside the console when you want to sanity-check reach.

What you take to the workshop

OutputFormatWhat it answers
ModelSTEPThe exact solids, for taking into any other CAD package
MeshSTLFor printing, or for a viewer that only reads meshes
NestingDXF · A3 per sheetEvery flat board laid onto stock, for a CNC or a laser
Cut listCSVWhat to buy, and what to cut it into
Drawing sheetsPDF · A3 or A4General arrangement, the assembly exploded from both sides, and a sheet for each sub-assembly too fiddly to show inline
Assembly bookletPDFOne step to a page, the parts for that step picked out from the ones already standing
CAD geometryPDF on layersThe four views at full size, for dimensioning and printing elsewhere

Three details that matter more than they sound:

  • The drawings are drawings, not a contact sheet. Front elevation, plan directly below it and end elevation directly beside it, all at one scale in third-angle projection. You can measure one view with a rule and know it holds for the others.
  • The nesting only makes guillotine cuts. A panel saw and a track saw can only cut edge to edge across whatever is in front of them. A nesting that packs parts into pockets is optimal on paper and unbuildable on a Saturday morning, so every cut here splits one rectangle into two, all the way down. Kerf, edge margin and grain direction are yours to set.
  • One numbering throughout. Part 12 on the drawings is part 12 in the booklet and row 12 on the cut list. Nothing invents a number or a size.

Eighteen consoles to start from

The panel opens on a preset picker: eighteen shipped consoles from one to five manuals, modelled on the published dimensions and stop layouts of real instruments and named for what they are — a one-manual portable practice organ, a two-manual home console with a tab rail, a three-manual French terraced console, a five-manual cathedral console with terraced jambs, a four-manual historic case with 96 drawknobs.

Save your own and they are kept in the browser and marked with a star. Export writes your whole library to one JSON file, Import reads back a library, a single preset, or a preset saved by the old Streamlit Console Organizer. A preset records only what differs from its console type’s defaults, so it keeps working as new parameters are added.

How it works

CAD kernelOpenCascade (OCP.wasm 8.0.1.1) compiled to WebAssembly
Modellingbuild123d 0.13.0, the same geometry code as the Streamlit original
Python runtimePyodide 314.0.7 — CPython 3.14 in the browser
PreviewThree.js, driven by a layout engine written in JavaScript

The runtime is a 19 MB download the first time, cached afterwards. That is not an oversight: 131 MB of the OpenCascade module is compiled code, with no debug sections left to strip. A full parametric CAD kernel in a browser tab costs what it costs — so the page gives you something to look at while it arrives instead of a spinner.

Over HTTPS the archive is stored in Cache Storage and fetched once. Over plain HTTP there is no Cache Storage, so it comes down on every visit.

Replaces the Console Organizer

This is the successor to the Streamlit-based Console Organizer, and it is a different tool rather than a new coat of paint: six console types became seven, the four exports became seven, presets and the measurement catalogue are new, and there is no longer a server in the loop. Presets saved by the old app still import.

Open source

The complete source is on the OpenPipes GitHub. It deploys as static files to any web host — no Node, no Python, no build step at the receiving end.

← Back to Console Plans & Tools