ピーク正規化ゲイン計算
このピーク正規化ゲイン計算ツールは、測定済みの音声ピークと希望するピークから、必要な調整量を正確に求めます。2つの値をdBFSで入力すると、増幅は正、減衰は負、すでに目標と一致していればゼロで返します。0 dBFSを超える目標はデジタルの上限を超すため受け付けません。計算は常に同じ結果となり、音声ファイルのアップロード、デコード、変更は行いません。
無料で実行
2つのピーク値を実用的なゲイン設定に変換します
ピーク正規化では、測定された最も高いサンプルと、到達させたいレベルの差を求めます。現在のピークと目標ピークをdBFSで指定してください。本ツールは目標値から現在値を引き、その差をデシベル単位のゲインとして返します。録音のピークが-8.4 dBFSで目標が-1 dBFSなら、必要な調整は+7.4 dBです。正の値は増幅、負の値は減衰、ゼロは変更不要を表します。結果には両方の入力、調整後のピーク、目標によってクリッピングしないことが示されます。スクリプト、バッチ処理の指示書、ゲインプラグイン、コマンドライン音声ツール、手作業の編集チェックリストなどにそのまま利用できます。この計算は音声サンプルを調査せず、ラウドネスを推定せず、ファイルにも処理を加えません。信頼できる測定値から正確な設定だけを求めるため、測定と調整を分離して記録可能な工程にできます。
必要なヘッドルームを保つ目標を選びます
dBFSでは0 dBFSがデジタルのフルスケールです。したがってゼロを超える目標は、利用可能な上限を超えたピークを要求します。本ツールはクリッピングにつながるゲインを返さず、その目標をエラーにします。0 dBFSちょうどは数学的には有効ですが、多くの制作工程ではエンコード、変換、リサンプリング、後段処理に備えて-1 dBFSなどの低い値を選びます。すべてに同じ値を使わず、納品仕様に応じて余裕を決めてください。現在値には有限の数値を利用でき、インターサンプルピークを測るトゥルーピークメーターの正の値も入力できます。その場合、安全なゼロ以下の目標に合わせる結果は負のゲインです。サンプルピークとトゥルーピークは異なる測定方式です。計算式は同じでも、現在値と目標値は同じ方式にそろえてください。方式を混在させると、数値上は正しくても、目的の品質管理基準には適さない結果になる場合があります。
ピークとラウドネスを区別して結果を適用します
返されたゲインは、エディター、デジタルオーディオワークステーション、エンコーダー、処理パイプラインで一律のレベル変更として適用してください。適用後は、元のピークを測ったものと同じメーターで出力を再測定することをおすすめします。エフェクト、非可逆圧縮、サンプルレート変換、リミッター、別工程の丸めによる変化を確認できます。ピーク正規化はすべてのサンプルに同じゲインを加えるので、元のダイナミクスを維持します。静かな部分だけを大きくしたり、クレストファクターを下げたり、番組間の聴感上の音量をそろえたりはしません。ポッドキャスト、放送、音楽、ストリーミングでは、LUFSによる統合ラウドネス目標やトゥルーピーク上限も必要になることがあります。これらは別の条件であり、ラウドネス正規化やリミッターが必要です。本機能はピークを測定済みで、透明性と再現性のあるゲイン指示が必要な場合に適しています。音声を送信もデコードもしないため、メタデータの測定値を使う軽量な自動処理にも組み込めます。APIリクエストの料金は$0.002です。
活用例
ゲインコマンドを準備します
測定ピークと納品上限から、エディター、プラグイン、コマンドライン処理に必要な調整値を求めます。
レベル超過したマスターを減衰します
正のトゥルーピーク値を安全なゼロ以下の目標まで下げる負のゲインを計算します。
正規化処理の指示書を作成します
元音声を再送信、再デコードせず、測定済みピークから再現可能な調整指示を生成します。
よくある質問
どのような計算式を使用しますか?
dB単位のゲインは、dBFSの目標ピークから現在のピークを引いた値です。
目標を0 dBFSより高くできないのはなぜですか?
0 dBFSはデジタルのフルスケールです。それを超える目標は上限を越え、一般的なデジタル経路でクリッピングを起こします。
負のゲインは何を意味しますか?
現在のピークが目標より高いため、表示された量だけ音声を減衰する必要があります。
聴感上のラウドネスも正規化しますか?
いいえ。ピーク値から一律のゲインだけを計算します。LUFSに基づく音量合わせは別の処理です。
トゥルーピーク測定値を使用できますか?
はい。現在値と目標値を同じ測定方式にそろえ、処理後も同じ種類のメーターで確認してください。
APIリクエストの料金はいくらですか?
APIリクエスト1回の料金は$0.002です。ブラウザーでの計算はこのページから直接利用できます。
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/audio/audio-normalize-peak-target \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"current_peak_dbfs":-8.4,"target_peak_dbfs":-1}'const res = await fetch("https://api.kit.forhosting.com/audio/audio-normalize-peak-target", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"current_peak_dbfs": -8.4,
"target_peak_dbfs": -1
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/audio/audio-normalize-peak-target",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"current_peak_dbfs": -8.4,
"target_peak_dbfs": -1
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/audio/audio-normalize-peak-target", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"current_peak_dbfs":-8.4,"target_peak_dbfs":-1}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"current_peak_dbfs":-8.4,"target_peak_dbfs":-1}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/audio/audio-normalize-peak-target", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"current_peak_dbfs": -8.4,
"target_peak_dbfs": -1
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "audio.audio_normalize_peak_target",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
制限
max_mb | 200 |
max_minutes | 180 |
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |