Organ pipe diameter scale calculator
Enter a speaking length and a halving ratio to get the pipe's internal diameter: with Normalmensur, a pipe one octave above the 155.5 mm 8′ C comes out well over half that width. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- Speaking length
- 1,219.2
- Halving ratio
- 16
- Speaking length mm
- 1,219.2 mm
- Reference length mm
- 2,438.4
- Reference diameter mm
- 155.5
- Exponent
- 0.75
Organ builders and pipe-organ hobbyists scale every flue rank so that diameter changes with pitch in a controlled way, keeping timbre even from bass to treble. This organ pipe diameter scale calculator takes a pipe’s speaking length and a chosen halving ratio—how many semitones it takes for diameter to halve—and returns the internal diameter from a geometric Töpfer-style power law. Defaults match classic Normalmensur (8′ C at 155.5 mm with ratio 16), and you can override reference length and reference diameter for house scales.
What speaking length and halving ratio mean for flue pipe scale
Speaking length is the effective acoustic length that sets a pipe’s pitch. For an open flue pipe it is close to the sounding length of the air column; builders often relate it to the nominal foot length of the stop (8′, 4′, 2′, and so on). Diameter does not stay proportional to length: if diameter halved every octave with length, trebles would become too thin and harsh, while constant diameter would leave high pipes over-wide and woolly.
Nineteenth-century organ building practice, codified by Johann Gottlob Töpfer as Normalmensur, therefore defines a halving ratio n: the number of chromatic semitone steps over which internal diameter is reduced by half. Classic Normalmensur uses n equals 16, so diameter halves every sixteen half-steps (on the seventeenth note counting the starting note as one). Narrower string-like ranks use larger n (slower diameter reduction relative to pitch climb); wider principal or flute tone uses smaller n.
Once length is assumed to half every twelve semitones (one octave), eliminating the semitone index yields a single power law that maps any speaking length to a diameter given a reference pair (L_ref, D_ref) and n. That geometric model is exactly what this calculator implements: fast, transparent, and free of laboratory air-column corrections that belong in voicing, not in first-pass scale layout.
Where an organ pipe diameter calculator earns its keep
Home organ builders laying out a first Principal or Gedackt rank need a reproducible diameter for every note once they pick a bass scale and a halving ratio. Repair shops restoring a historic rank can reverse-engineer plausible diameters when only a few measured pipes survive, by fixing n and the known reference and filling missing notes. Failed validation does not consume balance.
Keep millimetre units consistent, document your chosen n next to the diameter list, and you get a stable scale table for cutting sheets, CAD notes, and educational demos without standing up a full organ-design suite.
What you can do with it
First-pass flue rank layout
Pick an 8′ bass diameter and a halving ratio, then compute internal diameter for every speaking length in a Principal, Flute, or String rank before cutting metal or wood.
Historic rank reconstruction
From a few measured pipes, fix reference length, reference diameter, and n, then estimate missing diameters for replacement pipes at intermediate pitches.
Acoustics teaching and demos
Show students how Töpfer’s geometric scale (D ∝ L^(12/n)) differs from pure geometric similarity, with reproducible millimetre answers for homework and LMS checks.
FAQ
What is the halving ratio?
It is the number of semitone steps over which diameter halves. Classic Normalmensur uses 16. Smaller n widens the treble relative to the bass; larger n narrows it.
Does this model mouth width, cut-up, or reed pipes?
No. It estimates flue body internal diameter from geometric scale only. Mouth geometry, voicing, and reed shallots use different rules.
How wide is a pipe one octave above 8′ C in Normalmensur?
With the default ratio of 16, a speaking length of 1219.2 mm gets an internal diameter well above half of the 155.5 mm reference, because the diameter is multiplied by 0.5 raised to 0.75 instead of by 0.5.
What units does the organ pipe scale calculator use?
Millimetres throughout: speaking length, reference length, reference diameter and the resulting diameter and radius. Keep every value in millimetres and note your chosen ratio next to the list so the scale table stays consistent.
Can I use my own reference pipe instead of Normalmensur?
Yes. Replace the reference length and reference diameter with a measured pipe from your house scale or a surviving historic pipe, set the halving ratio, and every other speaking length is scaled from that pair.
Related tools
For developers — API access
Everything on this page is available programmatically. This section is for teams who want to wire it into their own systems; everyone else can just use the tool above.
API endpoint
Prefer to automate it? One authenticated POST creates the task; the result comes back by webhook or a signed link. The same capability also runs here on the web, by email and from Telegram — and soon from our app too.
Call it from your stack
curl -X POST https://api.kit.forhosting.com/hobby/music-organ-pipe-diameter \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"speaking_length":1219.2}'const res = await fetch("https://api.kit.forhosting.com/hobby/music-organ-pipe-diameter", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"speaking_length": 1219.2
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/hobby/music-organ-pipe-diameter",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"speaking_length": 1219.2
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/hobby/music-organ-pipe-diameter", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"speaking_length":1219.2}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"speaking_length":1219.2}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/hobby/music-organ-pipe-diameter", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"speaking_length": 1219.2
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "hobby.music_organ_pipe_diameter",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}The API is asynchronous: the call returns a task_id immediately and the result arrives by webhook. Polling is capped at 1 req/s per task.
Pricing
Published price — no tokens, no invented credits. A failed task is never charged.
Errors
| HTTP | Code | Meaning |
|---|---|---|
401 | unauthorized | Missing or invalid API key. |
402 | insufficient_balance | Your balance doesn't cover the task price. |
404 | unknown_type | That task type doesn't exist. |
429 | rate_limited | Too many requests. Use the webhook instead of polling. |
Technical notes
Input contract, formula, and how to read the response
The solver computes D equals D_ref times (L over L_ref) raised to the power (12 over n). Values are rounded to twelve decimal places for stable automation. POST a JSON body with speaking_length in millimetres (required, positive finite). Optionally send halving_ratio (default 16), reference_length (default 2438.4 mm for eight feet), and reference_diameter (default 155.5 mm, Normalmensur at 8′ C). Aliases length or L, n, L_ref, and D_ref are accepted for the same fields. It returns speaking_length_mm, reference_length_mm, reference_diameter_mm, halving_ratio, exponent (12/n), length_ratio, diameter_ratio, diameter_mm, radius_mm, semitone_offset from the reference length under ideal octave scaling, a formula string, a scale_note describing whether defaults or a custom scale were used, unit mm, and a short message. Zero, negative, missing, or non-finite fields fail with invalid_input and are not billed. Example: speaking_length 1219.2 mm (half of 2438.4 mm, one octave above 8′ C) with default n equals 16 yields diameter_ratio equal to one-half raised to (12/16), that is 0.5 to the power 0.75, times 155.5 mm—noticeably wider than a pure 1:2 diameter-to-length proportion would give, which is the whole point of a slower diameter halving than the octave. Pair the number with your mouth-width and cut-up rules; this endpoint only estimates body scale diameter.
Where an organ pipe diameter calculator earns its keep
Music-technology courses that teach instrument acoustics use the same Normalmensur story as a worked example of power-law scaling; a deterministic API turns the classroom formula into checkable numbers without a spreadsheet.
Technical questions
How do I estimate organ pipe diameter from speaking length?
Send speaking_length in mm (and optionally halving_ratio, reference_length, reference_diameter). The API returns diameter_mm using D = D_ref · (L/L_ref)^(12/n) with Normalmensur defaults n=16, L_ref=2438.4 mm, D_ref=155.5 mm.
Which units does the calculator use?
All lengths and diameters are millimetres. Convert feet or inches to mm before calling (1 foot = 304.8 mm; 8′ = 2438.4 mm).
What does the organ pipe diameter calculator cost?
The browser tool is free. API requests use prepaid KIT balance at $0.002 per successful call; invalid input is not billed.