オルガンパイプ直径スケール計算
発音長と半減比を入れると管の内径が分かります。Normalmensurでは、155.5 mmの8′ Cより1オクターブ上の管はその半分よりかなり太くなります。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- 発音長
- 1,219.2
- 半減比
- 16
- 発音長 (mm)
- 1,219.2 mm
- 基準長 (mm)
- 2,438.4
- 基準直径 (mm)
- 155.5
- 指数
- 0.75
オルガン製作家やパイプオルガン愛好家は、バスからトレブルまで音色を均一に保つため、各フルー管列の直径を音高に応じて制御してスケールします。このオルガンパイプ直径スケール計算では、パイプの発音長と、直径が半分になるまでの半音数である半減比を入力し、Töpfer流の幾何べき乗則から内径を返します。既定値は古典的なNormalmensur(8′のCで155.5 mm、比16)に合わせられており、工房スケール用に基準長と基準直径を上書きできます。
フルー管スケールにおける発音長と半減比の意味
発音長はパイプの音高を決める実効的な音響長です。開管のフルー管では気柱の発音長に近く、製作家はしばしばストップの名目フィート長(8′、4′、2′など)と対応づけます。直径は長さに比例したままにはなりません。
長さとともにオクターブごとに直径を半分にするとトレブルが細く鋭くなりすぎ、直径を一定にすると高音管が太くくもりがちになります。19世紀のオルガン製作実務をJohann Gottlob TöpferがNormalmensurとして整理し、半減比nを定義しました。これは内径が半分になるまでの半音数です。
古典的Normalmensurではnは16で、直径は16半音ごとに半分になります(開始音を1と数えて17番目の音)。弦のような細い列はより大きなn(音高上昇に対し直径減少が遅い)を用い、広いプリンシパルやフルート音色はより小さなnを用います。
長さが12半音(1オクターブ)ごとに半分になると仮定し、半音インデックスを消去すると、基準対(L_ref, D_ref)とnが与えられれば任意の発音長を直径へ写す単一のべき乗則が得られます。この計算機が実装するのはまさにその幾何モデルであり、迅速で透明、かつ整音に属する気柱の実験補正を初回スケール設計に持ち込みません。
オルガンパイプ直径計算が役立つ場面
最初のプリンシパルやゲダックト列を起こす在宅オルガン製作者は、バススケールと半減比を決めた後、各音の再現可能な直径が必要です。歴史的管列を修復する工房は、測定済みパイプが少数しか残らないとき、nと既知の基準を固定して欠落音の妥当な直径を逆算できます。検証失敗は残高を消費しません。
単位をミリメートルに揃え、直径一覧の横に選んだnを記録すれば、切断表・CADメモ・教育デモ向けの安定したスケール表が得られ、フル規模のオルガン設計スイートは不要です。
活用例
フルー管列の初回レイアウト
8′バス直径と半減比を決め、金属や木材を切る前にプリンシパル・フルート・ストリング各列の各発音長について内径を計算します。
歴史的管列の復元
測定済みパイプが少数のとき、基準長・基準直径・nを固定し、中間音高の交換管に欠落直径を推定します。
音響の授業とデモ
Töpferの幾何スケール(D ∝ L^(12/n))が純幾何相似とどう違うかを、宿題やLMS照合向けの再現可能なミリメートル答で示します。
よくある質問
半減比とは何ですか?
直径が半分になるまでの半音数です。古典Normalmensurは16です。nが小さいとトレブルがバスに対して相対的に太く、大きいと細くなります。
口幅・カットアップやリード管もモデルしますか?
いいえ。 幾何スケールによるフルー胴体内径のみです。口形状・整音・リードのシャロットは別規則です。
Normalmensurで8′ Cの1オクターブ上の管の内径は?
既定の半減比16では、発音長1219.2 mmの内径は基準の155.5 mmの半分よりかなり太くなります。直径は長さよりゆっくり細くなるためです。
単位は何を使いますか?
すべてミリメートルです。発音長、基準長、基準直径、結果の内径と半径を同じ単位でそろえ、選んだ半減比を一覧の横に書いておくと、スケール表が崩れません。
Normalmensurの代わりに自分の基準管を使えますか?
はい。基準長と基準直径を、自分のスケールや歴史的な管列で実測した管の値に置き換え、半減比を決めれば、ほかの発音長はすべてその組から計算されます。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
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)リクエスト例
{
"speaking_length": 1219.2
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "hobby.music_organ_pipe_diameter",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
入力契約・公式・応答の読み方
ソルバはDをD_refに(L/L_ref)の(12/n)乗を掛けたものとして計算します。自動化の安定のため値は小数12桁に丸めます。純1:2の直径対長さより明らかに太く、これがオクターブより遅い直径半減の要点です。speaking_lengthをミリメートルで必須の正の有限数としてJSON本体に送ってください。任意でhalving_ratio(既定16)、reference_length(8フィート相当の既定2438.4 mm)、reference_diameter(8′のCにおけるNormalmensurの既定155.5 mm)を送れます。同一フィールドにはlengthまたはL、n、L_ref、D_refの別名も受け付けます。返すのはspeaking_length_mm、reference_length_mm、reference_diameter_mm、halving_ratio、exponent(12/n)、length_ratio、diameter_ratio、diameter_mm、radius_mm、理想オクターブ換算での基準長からのsemitone_offset、formula文字列、既定かカスタムかを示すscale_note、unit mm、短いmessageです。0・負・欠落・非有限はinvalid_inputで失敗し課金されません。例:speaking_length 1219.2 mm(2438.4 mmの半分で8′のCより1オクターブ上)と既定n=16では、diameter_ratioは1/2の(12/16)乗、すなわち0.5の0.75乗となり、それに155.5 mmを掛けます。数値は口幅やカットアップ規則と併用し、本エンドポイントは胴体スケール直径のみを推定します。
オルガンパイプ直径計算が役立つ場面
楽器音響を教える音楽技術の授業では、同じNormalmensurの物語をべき乗スケールの例題として使い、決定論的APIが教室公式を表計算なしで照合可能な数値にします。実装は純粋parseのtier Aのため、成功した呼び出しはモデルトークンも外部ネットワークもなく公開の基本料金$0.002です。
技術的な質問
発音長からオルガンパイプ直径をどう推定しますか?
speaking_lengthをmmで送り(任意でhalving_ratio、reference_length、reference_diameter)、APIはD = D_ref · (L/L_ref)^(12/n)でdiameter_mmを返します。既定はNormalmensurのn=16、L_ref=2438.4 mm、D_ref=155.5 mmです。
単位は何ですか?
長さと直径はすべてミリメートルです。呼び出し前にフィートやインチをmmへ換算してください(1 foot = 304.8 mm;8′ = 2438.4 mm)。
オルガンパイプ直径計算の料金は?
ブラウザ版は無料です。APIは前払いKIT残高で成功1回あたり$0.002、無効入力は課金されません。