閉管の基本周波数計算ツール
この閉管基本周波数計算ツールは、一端が閉じ、もう一端が開いた理想的な気柱の最も低い共鳴周波数を求めます。互換性のある単位で音速と管の長さを入力すると、音速を長さの4倍で割って計算します。結果には、基本周波数、対応する波長、正規化した入力値、使用した式が含まれます。理想的な4分の1波長モデルが適用できる音響学の演習、楽器の概算、実験計画、簡易的な工学確認にご利用いただけます。
無料で実行
4分の1波長モデルをご理解ください
一端が閉じ、もう一端が開いた管では、閉端に変位の節ができ、開端付近に変位の腹ができます。この境界条件を満たす最短の定常波は、理想化した気柱の中で波長の4分の1を占めます。したがって、基本波の波長は管長の4倍となり、周波数は音速をその波長で割った値、すなわち f = v/(4L) です。このツールは、この関係だけを正確に適用します。より高い奇数次の共鳴は計算せず、端部条件の選択や環境特性の推定も行いません。用途を限定することで、結果を確認しやすくし、教科書の計算を直接検算できるようにしています。このモデルでは、入力された管長を有効音響長として扱います。実際の管では、圧力と変位の分布が開端より少し外側まで広がるため、長さに開口端補正が含まれていない場合、測定した共鳴値は結果と異なることがあります。出力は理想的な基本周波数としてお使いになり、すべての実在する管の挙動を厳密に保証する値とはお考えにならないでください。
互換性のある入力を選び、結果をご確認ください
正の音速と正の管長をご入力ください。一般的な組み合わせは、音速にメートル毎秒、長さにメートルを使うもので、周波数は毎秒、すなわちヘルツになります。互換性があれば別の単位も数学的に使用できます。たとえば、センチメートル毎秒とセンチメートルを組み合わせても結果はヘルツです。一方、メートル毎秒とセンチメートルを変換せずに混在させないでください。通常の室内環境では、乾燥空気中の音速の概算として 343 m/s がよく使われますが、適切な値は温度、湿度、気体組成、圧力条件によって変わります。音速を明示的に指定するため、環境条件を暗黙に仮定せず、状況に合った値をご利用いただけます。応答には両方の入力値が再掲され、基本波長が 4L として示され、基本周波数が返されます。管が長くなると周波数は反比例して低くなり、長さを2倍にすると結果は半分です。音速が高くなると周波数は正比例して高くなり、音速が2パーセント上がれば計算値も2パーセント上がります。
適用条件を確認してご利用ください
この計算ツールは、気柱を剛体の閉端、1つの開端、均一な断面、無視できる損失で適切に表せる場合にご利用ください。教育用の実演、閉管の概略設計、共鳴管実験、コードや表計算の検算に適しています。実験値と比較する際は、管長の測定方法と音速の求め方を記録してください。そのうえで、開口端補正、温度勾配、内径形状、管壁の柔軟性、測定の不確かさを考慮しながら、観測したピークと理想値を比較します。両端が開いた管の基本波は半波長モデルに従い、別の式が必要ですので、この結果を使う前に境界条件をご確認ください。空洞、円すい形の管、側孔、結合共鳴器についても、有効な音響形状が単純な円筒と一致しない場合があります。API は1リクエスト当たり $0.002 で、再現可能な自動確認に適した決定論的な JSON を返します。欠落、無効、ゼロ、負、有限でない入力は、誤解を招く数値を出さずに拒否します。
活用例
音響学の演習を検算します
指定された音速と閉端・開端気柱の長さから求めた4分の1波長の基本周波数をご確認いただけます。
共鳴管実験を計画します
マイク、信号範囲、データ収録装置を選定する前に、最も低い共鳴を概算できます。
閉管の特性を概算します
目標とする低い周波数と、一端が閉じた管の理想的な音響挙動を対応付けられます。
よくある質問
どの式を使用しますか?
f = v/(4L) を使用します。v は音速、L は閉端・開端気柱の有効長です。
どの単位を使えばよいですか?
互換性のある単位をお使いください。メートル毎秒とメートル、またはセンチメートル毎秒とセンチメートルで、結果はヘルツになります。
波長が管長の4倍になるのはなぜですか?
基本定常波は閉端に節、開端に腹を持ち、その間が波長の4分の1に相当するためです。
開口端補正は含まれますか?
含まれません。式は pipe_length を有効音響長として扱います。モデルで必要な場合は、入力前に適切な補正を適用してください。
API リクエストの料金はいくらですか?
API は1リクエスト当たり $0.002 です。
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/optics/closed-pipe-fundamental \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"speed_of_sound":343,"pipe_length":0.5}'const res = await fetch("https://api.kit.forhosting.com/optics/closed-pipe-fundamental", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"speed_of_sound": 343,
"pipe_length": 0.5
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/optics/closed-pipe-fundamental",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"speed_of_sound": 343,
"pipe_length": 0.5
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/optics/closed-pipe-fundamental", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"speed_of_sound":343,"pipe_length":0.5}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"speed_of_sound":343,"pipe_length":0.5}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/optics/closed-pipe-fundamental", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"speed_of_sound": 343,
"pipe_length": 0.5
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "optics.closed_pipe_fundamental",
"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 | リクエストが多すぎます。しばらく待ってから再度お試しください。 |