Calcular ganho e níveis relativos de mixagem multifaixa
Esta calculadora de níveis de mixagem multifaixa transforma picos medidos e pesos de equilíbrio criativo em ajustes precisos de ganho para cada faixa.
Executar grátis
Informe cada pico em dBFS e atribua um peso não negativo que represente o pico final desejado em relação aos demais. A calculadora normaliza o maior peso para 0 dBFS, converte as outras proporções em decibéis e informa o ganho ou a atenuação necessária. Assim, profissionais de áudio, edição e podcasts, além de fluxos automatizados, obtêm um ponto de partida consistente sem testar movimentos de fader no escuro.
Descreva os picos de origem e o equilíbrio pretendido
Comece com uma leitura confiável do pico de cada faixa antes de inserir processamento no barramento de mixagem. Digite esse valor em peak_dbfs, usando zero para a escala digital máxima e números negativos para picos abaixo dela. Em seguida, atribua um peso a cada faixa. O peso é uma proporção, não um valor em decibéis nem uma porcentagem que precise totalizar um. Por exemplo, os pesos 1, 0.5 e 0.25 solicitam picos lineares finais na relação quatro para dois para um. Multiplicar todos os pesos pelo mesmo fator gera exatamente o mesmo equilíbrio, pois somente as proporções importam. Os nomes permanecem no resultado para que cada ajuste seja associado ao canal correto sem depender da posição da linha. São necessárias pelo menos duas faixas e ao menos um peso positivo. Peso zero silencia intencionalmente uma faixa. Pesos negativos são inválidos porque amplitude com sinal não descreve uma preferência prática de nível. Meça um trecho representativo para evitar que um momento atípico determine toda a preparação da mixagem.
Entenda o cálculo de cada valor de ganho
O maior peso positivo vira a referência e recebe peso normalizado igual a um. Portanto, seu pico alvo é 0 dBFS. Cada outro peso positivo é dividido por esse máximo, e a proporção de amplitude linear resultante é convertida em decibéis por 20 vezes o logaritmo de base dez. O ganho necessário corresponde ao pico alvo menos o pico medido. Se uma faixa atinge -6 dBFS e possui o maior peso, o alvo é 0 dBFS e o ganho informado é +6 dB. Uma faixa com metade desse peso tem alvo próximo de -6.0206 dBFS; se atualmente atinge -3 dBFS, o ganho fica perto de -3.0206 dB. Os valores são arredondados em seis casas decimais para uma saída estável e reproduzível. Uma faixa de peso zero retorna muted como verdadeiro e não apresenta um valor infinito artificial. Como o método alinha amplitudes de pico, e não volume percebido, densidade espectral, dinâmica, duração e percepção humana continuam relevantes para a decisão artística.
Aplique os ajustes com segurança na mixagem
Aplique cada gain_db como trim antes da soma ou converta-o em um movimento equivalente de fader quando isso fizer mais sentido no caminho do sinal. O pico individual de maior peso chega a 0 dBFS, e os outros ficam abaixo conforme suas proporções. Essa normalização maximiza o uso do pico individual, mas não garante que a forma de onda combinada permaneça abaixo da escala máxima: faixas simultâneas se somam, e material correlacionado pode criar no barramento um pico superior a qualquer alvo isolado. Preserve headroom reduzindo todas as faixas não silenciadas pelo mesmo valor depois do cálculo, ou trate o resultado como equilíbrio relativo inicial e ajuste o ganho master durante a reprodução. Uma redução comum mantém o balanceamento calculado. Confira a mixagem com medidores e audição crítica, especialmente quando limitadores, compressores, automação ou relações de fase vierem depois. Para fluxos repetíveis, guarde picos originais, pesos e ganhos retornados juntos. A API custa US$ 0,002 por solicitação, enquanto o navegador executa localmente o mesmo cálculo determinístico. Nenhum áudio é enviado ou analisado, pois a entrada já contém medições numéricas.
Casos de uso
Definir o equilíbrio inicial de uma música
Converta leituras de pico e proporções da produção em trims reproduzíveis antes da automação detalhada.
Equilibrar faixas de podcast
Posicione vozes, música e ambiência em alvos relativos definidos antes de reservar headroom comum.
Automatizar a preparação em lote
Gere ganhos determinísticos por faixa com medições produzidas anteriormente em um fluxo de áudio offline.
Perguntas frequentes
Os pesos precisam somar um?
Não. Somente as proporções importam. Os pesos 1, 0.5 e 0.25 produzem o mesmo resultado que 4, 2 e 1.
O que acontece quando um peso é zero?
A faixa é marcada como silenciada, e alvo e ganho são omitidos em vez de representar infinito negativo em JSON.
Por que pesos negativos são rejeitados?
Um peso representa uma proporção de amplitude não negativa; um valor negativo não descreve um pico alvo convencional.
A soma da mixagem ficará abaixo de 0 dBFS?
Não necessariamente. Várias faixas podem atingir picos juntas, portanto aplique headroom comum sem alterar os ganhos relativos.
A ferramenta calcula volume percebido?
Não. Ela equilibra amplitudes de pico medidas. Use medições LUFS e avaliação auditiva quando o objetivo for volume percebido.
Para desenvolvedores — acesso via API
Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
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)Exemplo de requisição
{
"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
}
]
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "audio.multi_track_mixdown_levels",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Limites
max_mb | 200 |
max_minutes | 180 |
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |