マルチトラックのピークと相対比からゲインを計算
このマルチトラック用レベル計算ツールは、測定済みのピーク値と希望するバランスのウェイトを、各トラックの正確なゲイン設定へ変換します。ピークを dBFS で入力し、ほかのトラックに対する最終ピークの比率を示すゼロ以上のウェイトを指定してください。最大ウェイトを 0 dBFS に正規化し、残りの比率をデシベルへ変換して、必要な増幅量または減衰量を返します。エンジニア、編集者、ポッドキャスト制作者、自動音声処理のいずれでも、フェーダーを手探りで動かさず、一貫した初期バランスを得られます。
無料で実行
素材のピークと目標バランスを入力します
ミックスバス処理を加える前に、各トラックの信頼できるピーク値を測定してください。その値を peak_dbfs として入力します。デジタル最大値はゼロ、それより低いピークは負の値です。次に、各トラックへウェイトを割り当てます。ウェイトは比率であり、デシベル値でも、合計を一にする必要がある百分率でもありません。たとえば 1、0.5、0.25 は、最終的な線形ピークを四対二対一にする指定です。全ウェイトを同じ倍率で変えても、比率だけが使われるため結果は変わりません。名前は結果にも保持されるので、行順に頼らず設定を各チャンネルへ戻せます。トラックは二つ以上必要で、少なくとも一つのウェイトを正にしてください。ゼロは意図的なミュートです。負のウェイトは通常のレベル希望を表せないためエラーになります。曲や番組全体を適切に代表する区間で測定してください。特殊な短い区間だけでは、数式上は正しくても実用的でない設定になる場合があります。
ゲイン値の計算方法を確認します
最大の正ウェイトが基準となり、正規化後の値は一です。その目標ピークは 0 dBFS になります。ほかの正ウェイトは最大値で割られ、得られた線形振幅比を常用対数の20倍によってデシベルへ変換します。必要なゲインは、目標ピークから測定ピークを引いた値です。最大ウェイトのトラックが -6 dBFS なら、目標は 0 dBFS なので +6 dB が返ります。その半分のウェイトでは目標が約 -6.0206 dBFS です。現在のピークが -3 dBFS なら、ゲインは約 -3.0206 dB です。安定して再現できる出力にするため、値は小数点以下六桁へ丸めます。ウェイトがゼロのトラックは muted が真となり、架空の無限デシベル値は返しません。この方法がそろえるのはピーク振幅であり、知覚ラウドネスではありません。周波数密度、ダイナミクス、継続時間、聴覚特性は最終的な音の判断に引き続き影響します。
実際のミックスへ安全に適用します
各 gain_db をサミング前のトリムとして適用するか、信号経路に合う場合は同等のフェーダー変更へ置き換えてください。最大ウェイトの個別ピークは 0 dBFS に達し、ほかは指定比率に従ってそれより低くなります。ただし、この正規化は合成波形が最大値を超えないことを保証しません。同時に鳴るトラックは加算され、相関のある素材では、どの個別目標よりも高いバスピークが生じます。計算後にミュートされていない全トラックを同じ量だけ下げるか、結果を相対的な初期バランスとして使い、再生しながらマスターゲインを設定してヘッドルームを確保してください。一律の減衰なら計算済みの比率は保たれます。後段にリミッター、コンプレッサー、オートメーション、位相相互作用がある場合は、メーターと聴感の両方で確認してください。再現可能な工程には元のピーク、ウェイト、結果を一緒に保存します。API は1回 $0.002 で、ブラウザー版は同じ決定的計算を端末内で実行します。入力は測定済み数値なので、音声ファイルの送信や解析は行いません。
活用例
音楽ミックスの初期バランス作成
ピーク測定値と制作上の比率を、細かなオートメーション前の再現可能なトリム値へ変換します。
ポッドキャスト素材のバランス調整
音声、音楽、環境音を定義済みの相対目標へ置き、共通ヘッドルームを確保します。
バッチ準備工程の自動化
オフライン工程で得た測定値から、トラックごとの決定的なゲインを生成します。
よくある質問
ウェイトの合計を一にする必要はありますか?
いいえ。比率だけが使われます。1、0.5、0.25 と 4、2、1 は同じ結果になります。
ウェイトがゼロの場合はどうなりますか?
そのトラックはミュート扱いになり、JSON に負の無限大を入れず、目標値とゲインを省略します。
負のウェイトが拒否される理由は何ですか?
ウェイトはゼロ以上の振幅比を表すため、負の値では通常の目標ピークを指定できません。
合成後も 0 dBFS 未満に収まりますか?
保証されません。複数ピークが重なる場合があるため、相対ゲインを保ったまま共通のヘッドルームを加えてください。
知覚ラウドネスも計算されますか?
いいえ。測定ピーク振幅を整えます。知覚ラウドネスには LUFS 測定と試聴確認をご利用ください。
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/audio/multi-track-mixdown-levels \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"tracks":[{"name":"Lead vocal","peak_dbfs":-6,"weight":1},{"name":"Music bed","peak_dbfs":-3,"weight":0.5},{"name":"Room","peak_dbfs":-12,"weight":0.25}]}'const res = await fetch("https://api.kit.forhosting.com/audio/multi-track-mixdown-levels", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"tracks": [
{
"name": "Lead vocal",
"peak_dbfs": -6,
"weight": 1
},
{
"name": "Music bed",
"peak_dbfs": -3,
"weight": 0.5
},
{
"name": "Room",
"peak_dbfs": -12,
"weight": 0.25
}
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/audio/multi-track-mixdown-levels",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"tracks": [
{
"name": "Lead vocal",
"peak_dbfs": -6,
"weight": 1
},
{
"name": "Music bed",
"peak_dbfs": -3,
"weight": 0.5
},
{
"name": "Room",
"peak_dbfs": -12,
"weight": 0.25
}
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/audio/multi-track-mixdown-levels", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"tracks":[{"name":"Lead vocal","peak_dbfs":-6,"weight":1},{"name":"Music bed","peak_dbfs":-3,"weight":0.5},{"name":"Room","peak_dbfs":-12,"weight":0.25}]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"tracks":[{"name":"Lead vocal","peak_dbfs":-6,"weight":1},{"name":"Music bed","peak_dbfs":-3,"weight":0.5},{"name":"Room","peak_dbfs":-12,"weight":0.25}]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/audio/multi-track-mixdown-levels", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"tracks": [
{
"name": "Lead vocal",
"peak_dbfs": -6,
"weight": 1
},
{
"name": "Music bed",
"peak_dbfs": -3,
"weight": 0.5
},
{
"name": "Room",
"peak_dbfs": -12,
"weight": 0.25
}
]
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "audio.multi_track_mixdown_levels",
"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 | リクエストが多すぎます。しばらく待ってから再度お試しください。 |