MIDIノート番号→周波数
MIDIノート番号を入力すると、正確な周波数がヘルツで分かります。ノート69はA4で440 Hz、番号がひとつ上がるごとに半音上がります。音名、オクターブ、A4からの距離も表示されます。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- MIDIノート
- 69
- 周波数 (Hz)
- 440
- 基準 (Hz)
- 440
- MIDI基準
- 69
- A4からの半音数
- 0
デジタルオーディオワークステーション、ソフトシンセ、MIDIシーケンサーはいずれも、音高をゼロから百二十七までの整数でラベル付けします。プロデューサー、楽器設計者、信号処理の学習者は、十二平均律とコンサートA四百四十ヘルツの基準のもとで、あるMIDIノート番号の正確なヘルツ値を必要とすることが多いです。このMIDIノート番号から周波数への計算機は単一の整数を受け取り、ノート六十九を四百四十ヘルツに置く業界標準の式で写像し、ヘルツ単位の周波数に加えて科学的音名、ピッチクラス、オクターブ、A4からの半音オフセットを返します。
平均律のもとでMIDIノート番号がヘルツになる仕組み
Musical Instrument Digital Interfaceは、音高を周波数そのものではなく整数のノート番号として符号化します。長年の慣例により、ノート六十九はコンサートA4で四百四十ヘルツであり、各整数ステップは十二平均律の半音一つに相当します。
その結果、周波数は四百四十に、MIDIノートから六十九を引いた値を十二で割ったものを指数とする二のべき乗を掛けた閉形式になります。一段階上げると周波数は二の十二乗根倍になり、十二段階(一オクターブ)で二倍になります。ノート六十は中央ド(C4)でおよそ二百六十一点六二六ヘルツ、ノートゼロはオクターブマイナス一のC、ノート百二十七はG9です。
写像が純粋な指数算術であるため、同じ結果がサンプリングレート変換器、ウェーブテーブルシンセ、本計算機に現れ、オンライン調律サービスを呼ぶ必要はありません。本機能は常にMIDI六十九における四百四十ヘルツ基準を用い、別のコンサートピッチは受け付けません。したがってA4を付け直すDAWプリセットは、呼び出し後に出力を自らスケールする必要があります。
ノート番号から周波数を調べたい場面
プラグインおよびファームウェアの作者は、オシレータ、ピッチから周波数へのLUT、ピッチ依存のエンベロープ時間を構築する際、すべてのMIDIノートについて決定的な周波数表を必要とします。音楽技術の授業では、フルDAWなしで平均律の比を確認できるよう、ノート番号をヘルツへ変換する宿題が出されます。
サンプルライブラリツールはディスク上のルートノートを再生レートへ写像します。検証失敗は残高を消費しません。
活用例
サンプルマップとルートノート変換
フルDAWの外でライブラリやレート変換器を構築する際、ディスク上のサンプルのルートMIDIノートを再生周波数へ変換します。
よくある質問
MIDIノート69の周波数は?
MIDIノート69はコンサートA4でちょうど440 Hzです。これが本計算機の固定基準であり、他のすべてのノートはそこからの平均律半音オフセットです。
受け付けるMIDIノートの範囲は?
標準の七ビットMIDIノート範囲である0から127までの整数です。
MIDIノート番号から周波数を求める式は?
周波数は、440に「2の(ノート番号−69)÷12乗」を掛けた値です。番号がひとつ上がるごとに半音上がり、12上がるとオクターブ上になって周波数は2倍になります。
中央のドはMIDIノート何番ですか?
中央のドはMIDIノート60で、科学的音名ではC4と書きます。60を入力すると、周波数、音名、オクターブ、そしてA4(ノート69)からどれだけ下にあるかが分かります。
A4を440 Hz以外にして計算できますか?
できません。この計算機は常にノート69のA4を440 Hzとして計算します。別の基準で調律した楽器やプリセットでは、結果を同じ比率でご自身で換算してください。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/optics/midi-note-to-frequency \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"midi_note":69}'const res = await fetch("https://api.kit.forhosting.com/optics/midi-note-to-frequency", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"midi_note": 69
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/optics/midi-note-to-frequency",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"midi_note": 69
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/optics/midi-note-to-frequency", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"midi_note":69}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"midi_note":69}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/optics/midi-note-to-frequency", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"midi_note": 69
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "optics.midi_note_to_frequency",
"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 | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
入力契約、応答フィールド、検証エラー
ゼロ未満または百二十七を超える値は、キーボードとGeneral MIDIで使われる七ビットMIDIノート範囲に一致する明確な範囲メッセージで拒否されます。数値周波数はご自身のオシレータやフィルタ設計コードと組み合わせてください。必須の整数フィールド midi_note をゼロから百二十七までの両端含む範囲で含むJSONボディをPOSTしてください。同じ値にはエイリアス note、midi、n、midi_number、note_number も受け付けます。数値はJSON整数でも整数の文字列でも構いません。六十九点五のような浮動小数、欠落フィールド、空文字列、非数値テキストは invalid_input で失敗し請求されません。例:midi_note 六十九は frequency_hz 四百四十と scientific_name A4、midi_note 六十は C4 です。本エンドポイントは音声を合成せず波形も出力しません。
MIDIからヘルツへのAPIが役立つ場面
小さなparse APIがあれば、スクリプトごとにその場しのぎの浮動小数式を埋め込まずに済みます。実装が純粋parseティアAであるため、成功した呼び出しはモデルトークンも外向きネットワークもなく、公開の基本料金 $0.002 のみです。リクエストを単一整数に保ち、丸めた frequency_hz をテストに固定すれば、自前のオーディオエンジンを立てずにシンセ設計、LMSプラグイン、エッジワーカー向けの再現可能なコンサートピッチ周波数を得られます。
連携の活用例
シンセとプラグインの周波数表
A4=440の平均律のもと、MIDI 0–127からオシレータ・ウェーブテーブル・ピッチLUT向けの128エントリHz表を生成します。
音楽技術の宿題チェック
学生にMIDIノート番号を提出させ、標準コンサート式に対して frequency_hz と科学的音名を検証させます。
技術的な質問
MIDIノート番号をヘルツの周波数に変換するには?
0から127の整数 midi_note を送ってください。APIはA4がMIDI 69の十二平均律で f = 440 × 2^((midi_note − 69) / 12) を返します。
MIDIノート60(中央ド)の周波数は?
MIDI 60はC4(中央ド)です。A4=440の平均律ではおよそ 261.625565300599 Hz(安定した丸めの frequency_hz として返されます)。
MIDIノートから周波数計算機の料金は?
ブラウザツールは無料です。APIリクエストは成功した呼び出しごとに前払いKIT残高から $0.002 です。無効な入力は請求されません。