音波ドップラー計算
440 Hzのサイレンが20 m/sで近づくと、波の山が詰まって届くため、約6%高く聞こえます。周波数と、近づく速さまたは遠ざかる速さを入力すると、聞こえる周波数が分かります。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- 周波数
- 440
- 相対速度
- 20
- 音速
- 343
- 知覚周波数
- 467.2445820433
- シフト
- 27.2445820433
- シフト比
- 1.0619195046
音源が近づくと波頭が詰まり高い音が聞こえ、遠ざかると波頭が伸びて音が下がります。それが、静止媒質中の静止聴取者に対する音波の古典的ドップラー効果です。救急車サイレンの問題を検算する生徒、解答キーを作る教員、動く放射体のピッチを見積もるゲーム音響設計者、超音波距離計のシナリオを確認する実験指導者は、毎回教科書を開かずに速い決定的な数値が必要です。
音波ドップラー式が返すものと送る入力
静止観測者と静止媒質中を半径方向に動く音源という古典音響モデルでは、聞こえる周波数は fプライム = f × c /(c − v)です。ここで f は音源が静止系で放射する周波数、c は媒質中の音速、v は視線方向の音源速度成分で、正の v は音源が聴取者に近づくことを意味します。
接近する音源は知覚ピッチを上げ、遠ざかる音源は下げ、相対速度ゼロは周波数を変えません。検索意図はドップラーシフト計算、音波ドップラー効果、知覚周波数計算、サイレンの近づき/遠ざかり、音響ドップラー式などの語句に集まります。人々は式が存在する思い出だけでなく、ワークシート照合・シミュレーション埋め込み・大規模パイプライン投入に使える数値を求めます。
単位は選んだ基底と一貫させます。ヘルツとメートル毎秒が教室の定番ですが、両速度が同じ長さ/時間系を共有する限り任意の整合基底が使えます。
実務利用、限界、料金、配信経路
ドップラー宿題の採点、動くスピーカでの実験マイク走行の確認、レーシングカーやドローン通過のゲーム音響ピッチの健全性確認、既知接近速度を固定センサが記録する周波数へ変換するときなど、すぐ知覚周波数を確かめたい場合はブラウザツールを使います。
単位を一貫させます。 周波数がヘルツ、相対速度がメートル毎秒なら音速もメートル毎秒のままにし、既定 343 を保つか、水・ヘリウム・温度補正済み空気をオフライン計算で上書きします。結果は完全に決定的で、同じ入力は常に同じ知覚周波数と方向ラベルを返します。
言語モデル・外部物理サービス・乱数はないため、継続的インテグレーション検査や再現可能な教材に固定して安全です。
活用例
宿題と実験のドップラードリル
生徒と採点者が、与えられた接近または後退速度でのサイレンやスピーカの知覚周波数を確認し、音速に達するまたは超える速度は明確に拒否します。
物理テスト用の決定的フィクスチャ
単体テストや対話的音響デモを種付けするパイプラインが、各言語で f·c/(c−v) を再実装する代わりに純粋ドップラーオラクルを呼べます。
ゲーム音響とセンサのピッチ見積もり
完全な波動伝播や空間音響スタックを立てずに、動く放射体・ドローン・固定マイク向けの構造化数値をすばやく得ます。
よくある質問
相対速度が音速以上だとどうなりますか?
音速以上の大きさは、理想音響ドップラー式が音速・超音速接近で特異になるため拒否され、失敗検証は課金されません。
正の相対速度は聴取者へ向かう方向ですか、それとも遠ざかりですか?
負は遠ざかり(低いピッチ)です。ゼロは周波数を変えず direction を stationary にします。
どの音速を使って計算しますか?
20 °C前後の乾いた空気の値である毎秒343メートルを使います。水やヘリウム、別の温度の空気の音速がすでに分かっていれば、その値に置き換えられます。
聞く人が動いている場合や風は考慮されますか?
考慮しません。静かな空気の中で止まっている聞き手に、音源がまっすぐ近づくか遠ざかる場合だけを扱います。風や動く聞き手、光のドップラー効果は対象外です。
近づくサイレンが高く聞こえるのはなぜですか?
音源が自分の出した音を追いかけるように進むため、波の山が詰まって頻繁に届くからです。遠ざかるときは山の間隔が広がり、聞こえる音は低くなります。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/phys/doppler-sound \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"frequency":440,"relative_speed":20}'const res = await fetch("https://api.kit.forhosting.com/phys/doppler-sound", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"frequency": 440,
"relative_speed": 20
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/phys/doppler-sound",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"frequency": 440,
"relative_speed": 20
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/phys/doppler-sound", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"frequency":440,"relative_speed":20}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"frequency":440,"relative_speed":20}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/phys/doppler-sound", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"frequency": 440,
"relative_speed": 20
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "phys.doppler_sound",
"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 | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
本機能は正のソース周波数と、観測者へ向かう正または遠ざかる負の相対半径速度を受け取り、任意で乾燥空気約二十度付近の既定 343 m/s を上書きする音速を受け、音速以上の速度を明確な invalid_input で拒否し、知覚周波数に加えてシフト・比・方向を構造化 JSON で返します。
音波ドップラー式が返すものと送る入力
frequency, relative_speed, speed_of_sound, perceived_frequency, shift, shift_ratio, direction, formula, method を JSON で返すと、ノート貼付・自動テスト差分・言語をまたぐ再利用が容易になります。
入力検証と f′ = f·c/(c−v) の適用
相対速度は有限で、絶対値が音速を厳密に下回る必要があります。音速以上では接近音源に対し理想式が特異となり、音速上限を名指しするメッセージで拒否します。有限数に解析できる数値文字列は受け付け、フォームや CSV 風パイプラインが追加キャストなしで値を渡せます。風モデル・温度表・相対論的光ドップラー・単位換算はなく、既知の運動学量二つからの理想静止媒質音響算術です。必須フィールド frequency と relative_speed を含む JSON 本体を送ってください。周波数は厳密に正の有限数で、ゼロ・負値・空文字・非数値・NaN・Infinity は結果を返す前にすぐ invalid_input となり、失敗検証は課金されません。任意の speed_of_sound は省略時 343 で、与える場合は媒質モデルが物理的であるよう厳密に正かつ有限です。検証後エンジンは知覚周波数を frequency × 音速 /(音速 − 相対速度)として計算し、shift を知覚マイナスソース、shift_ratio を知覚/ソース、direction を relative speed の符号から toward・away・stationary と報告します。結果は安定した小数精度に丸められ、同じ入力は常に同じ JSON を JavaScript エンジン間で返します。同一の純粋関数が無料ブラウザツールと API を単一同型ライブラリ下で駆動します。
実務利用、限界、料金、配信経路
多数の周波数・速度対に単一契約で安定 JSON が必要なスクリプト・授業基盤・シミュレーション補助・ノートブックでは API を使います。成功リクエストは $0.002 の課金項目一つで、失敗検証は残高を消費しません。
技術的な質問
ソース周波数と相対速度から知覚周波数をどう計算しますか?
frequency と relative_speed を含む JSON を送ります(例: frequency: 440, relative_speed: 20)。応答は perceived_frequency = f × c /(c − v)に加え shift・shift_ratio・direction を返します。
音波ドップラー計算は無料ですか?
ブラウザツールは端末上で無料です。API 呼び出しは成功項目ごとに KIT プリペイド残高から $0.002、検証失敗は課金されません。
水など他の媒質で音速を変えられますか?
はい。任意の speed_of_sound(別名 c, medium_speed, sound_speed)が既定 343 を上書きします。relative_speed と単位を揃え、エンジンは単位換算も媒質表参照もしません。