Calculadora de fundido de audio
Esta calculadora de envolventes de audio convierte la duración de un clip y las longitudes de dos fundidos en los puntos exactos de tiempo y ganancia necesarios para una envolvente lineal de volumen.
Ejecutar — gratis
Marca el silencio, la ganancia completa, el tramo estable y el fundido final hasta el silencio, y elimina puntos redundantes en tiempos idénticos. El resultado es determinista y puede adaptarse a un editor, un script de automatización, un proceso de renderizado o una validación. Si los fundidos solicitados se solapan más allá de la duración disponible, el cálculo se detiene con un error de entrada claro.
Convierta tres valores temporales en una envolvente inequívoca
Un fundido de audio es fácil de describir, pero puede codificarse de maneras incompatibles. Esta calculadora recibe la duración total del clip y las longitudes de los fundidos de entrada y salida, todo en segundos. Devuelve una lista ordenada de puntos, cada uno con un tiempo y una ganancia lineal. La ganancia cero representa silencio y la ganancia uno conserva el nivel original. Si hay fundido de entrada, la envolvente comienza en cero y alcanza uno al finalizarlo. Si hay fundido de salida, se mantiene en uno hasta que este empieza y después llega a cero al final del clip. Un editor o motor posterior puede interpolar linealmente entre puntos consecutivos. Los fundidos de longitud cero se tratan de forma explícita: sin fundido de entrada, el clip empieza con ganancia completa; sin fundido de salida, termina igual. Los puntos coincidentes se fusionan para evitar marcas temporales duplicadas y ambiguas.
Comprenda la regla de solapamiento y los casos límite
Ambos fundidos comparten una única línea temporal finita, por lo que la suma de sus longitudes no puede superar la duración del clip. Si la supera, el fundido de entrada seguiría aumentando cuando el de salida ya tendría que haber comenzado, y no existiría una envolvente lineal sencilla con un tramo de ganancia completa. La capacidad rechaza ese caso como entrada no válida. La igualdad sí es válida: cuando los dos fundidos ocupan exactamente todo el clip, el primero alcanza la ganancia completa en el mismo instante en que empieza el segundo. La calculadora representa ese instante una sola vez. Todos los campos deben ser números finitos; se rechazan infinitos, valores NaN, cadenas y campos ausentes. La duración debe ser mayor que cero, mientras que cualquier fundido puede valer cero. Estas reglas hacen predecibles los límites y evitan que ajustes imposibles lleguen a un motor de audio que podría recortarlos o reinterpretarlos silenciosamente.
Use los puntos en flujos de edición y renderizado
Los puntos devueltos describen una envolvente de ganancia normalizada, no muestras ni decibelios, y por ello son portátiles. Puede trasladar los tiempos a la línea temporal de un editor, convertir la ganancia lineal a decibelios si el sistema de destino lo exige o generar órdenes de automatización para un renderizador sin conexión. La salida no modifica audio ni examina archivos multimedia: solo calcula la geometría de control a partir de los tiempos indicados. Esta separación resulta útil para planificar ediciones antes de cargar el contenido, validar ajustes de formularios o guardar una lista compacta de decisiones para renderizar después. Mantenga el orden de los puntos e interpole entre ganancias adyacentes para obtener un fundido lineal. Si su motor utiliza milisegundos, multiplique cada tiempo por mil en la integración. Para curvas de potencia constante o logarítmicas, use los puntos como anclas temporales y aplique la curva elegida entre ellos.
Qué puede hacer con ella
Automatice un editor
Convierta valores de formulario en fotogramas clave de ganancia lineal ordenados sobre la línea temporal de un clip.
Valide un trabajo de renderizado
Rechace fundidos solapados imposibles antes de que un renderizador en cola cargue y procese el archivo multimedia.
Guarde decisiones de edición portátiles
Conserve una envolvente normalizada y compacta que después pueda adaptar a segundos, milisegundos, decibelios u órdenes específicas.
Preguntas frecuentes
¿Qué significa el valor de ganancia?
La ganancia es lineal y normalizada: cero es silencio y uno conserva el nivel de origen. Los valores intermedios se obtienen por interpolación lineal.
¿Pueden encontrarse exactamente ambos fundidos?
Sí. Sus longitudes pueden sumar exactamente la duración del clip y crear un único punto de ganancia completa donde se encuentran.
¿Qué ocurre si un fundido dura cero?
Un fundido de duración cero se omite como rampa. El límite correspondiente conserva la ganancia completa y no se añade un punto redundante.
¿Se procesa o se carga algún archivo de audio?
No. Se realiza un cálculo temporal determinista con tres números, sin leer ni modificar contenido de audio.
¿Cuánto cuesta una solicitud de API?
Cada solicitud de API cuesta $0.002. La versión del navegador se ejecuta localmente y genera el mismo cálculo de envolvente.
Para desarrolladores — acceso por API
Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.
Endpoint de API
¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, por email y desde Telegram — y pronto también desde nuestra app.
Llámela desde su stack
curl -X POST https://api.kit.forhosting.com/audio/fade-in-out \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"duration":12,"fade_in":2.5,"fade_out":3}'const res = await fetch("https://api.kit.forhosting.com/audio/fade-in-out", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"duration": 12,
"fade_in": 2.5,
"fade_out": 3
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/audio/fade-in-out",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"duration": 12,
"fade_in": 2.5,
"fade_out": 3
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/audio/fade-in-out", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"duration":12,"fade_in":2.5,"fade_out":3}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"duration":12,"fade_in":2.5,"fade_out":3}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/audio/fade-in-out", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Ejemplo de solicitud
{
"duration": 12,
"fade_in": 2.5,
"fade_out": 3
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "audio.fade_in_out",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.
Precio
Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.
Límites
max_mb | 200 |
max_minutes | 180 |
Errores
| HTTP | Código | Significado |
|---|---|---|
401 | unauthorized | API key ausente o inválida. |
402 | insufficient_balance | El saldo no cubre el precio de la tarea. |
404 | unknown_type | El tipo de tarea no existe. |
429 | rate_limited | Demasiadas peticiones. Use el webhook en vez de sondear. |