Sugerir un tono de llamada
Un tono de llamada memorable suele necesitar algo de anticipación, un gancho reconocible y tiempo suficiente para que la frase musical se resuelva.
Ejecutar — gratis
Esta calculadora convierte la duración de una canción y el inicio estimado del estribillo en una ventana de recorte práctica. Busca una selección de 25 segundos, reserva cinco segundos antes del estribillo cuando hay espacio y desplaza la ventana con seguridad en ambos extremos. El resultado incluye segundos, marcas de tiempo legibles, la posición del estribillo y una etiqueta de colocación para facilitar la edición.
Parta de dos medidas de tiempo fiables
Introduzca la duración total de la canción y su mejor estimación del momento en que comienza el estribillo, ambos valores en segundos. Un reproductor o editor de audio suele mostrar estas posiciones con suficiente precisión; se admiten decimales, por lo que no necesita redondear una marca como 1:03.800 al segundo entero. La canción debe durar al menos 20 segundos, ya que el resultado promete una ventana adecuada para un tono de entre 20 y 30 segundos. El estribillo puede estimarse al principio o justo al final, pero el valor no puede ser negativo ni superar la duración. Si duda entre dos puntos, elija el momento en que culmina la transición musical y no necesariamente la primera sílaba. Así, los cinco segundos previos pueden recoger una anacrusa, un redoble o un cambio armónico. La calculadora no examina ni carga el audio: la calidad depende de los tiempos que usted proporcione. Solo realiza cálculos deterministas sobre la línea temporal y siempre entrega el mismo resultado para los mismos valores.
Comprenda cómo se coloca el fragmento
Para canciones de al menos 25 segundos, la calculadora propone un fragmento de 25 segundos. El inicio preferido queda cinco segundos antes del estribillo estimado, lo que deja 20 segundos posteriores para el gancho inicial y su continuación. En un estribillo habitual, esta distribución sitúa la primera frase reconocible cerca del centro útil del tono y conserva una breve entrada musical. Si la ventana comenzara antes de la canción, toda la selección se desplaza hasta cero. Si terminara después de la pista, se mueve hacia atrás para que el final coincida con la duración total. Las canciones de 20 a 25 segundos utilizan toda su extensión, manteniendo el resultado en el intervalo prometido sin inventar audio inexistente. El valor `chorus_offset_seconds` indica exactamente dónde cae el estribillo dentro de la selección. El campo `placement` aclara si se mantuvo la distribución ideal o si fue necesario ajustarla al principio o al final, de modo que los casos límite nunca queden ocultos.
Aplique el resultado en un editor o flujo automatizado
Copie `start_seconds` y `end_seconds` en un editor que acepte posiciones numéricas, o utilice las marcas formateadas cuando trabaje visualmente. Escuche el recorte completo antes de exportarlo. Una ventana matemáticamente válida todavía puede empezar en una respiración, cortar una nota de entrada o terminar justo antes de una cadencia, porque la calculadora conoce el inicio estimado del estribillo, pero no analiza compases, letra, volumen ni estructura musical. Es razonable hacer pequeños ajustes manuales después de escuchar, sobre todo si el teléfono aplica una entrada gradual o deja de sonar pronto. Para procesar catálogos de forma repetible, guarde la duración y la estimación originales junto al resultado, de modo que otro editor pueda reproducir la decisión. Cada solicitud de API cuesta $0.002, mientras que la versión del navegador utiliza el mismo cálculo determinista. Una estimación posterior al final de la canción se rechaza en vez de limitarse, pues aceptar silenciosamente un punto imposible podría asociar un resultado verosímil a una grabación o fila de metadatos equivocada.
Qué puede hacer con ella
Prepare un tono personal
Convierta la marca del estribillo de su reproductor en tiempos de inicio y fin listos para el editor.
Planifique catálogos móviles con licencia
Aplique una regla temporal uniforme después de que los editores indiquen duraciones e inicios de estribillo.
Revise metadatos antes del recorte
Detecte marcas de estribillo que superan la pista antes de que una exportación automática acceda al audio.
Preguntas frecuentes
¿Cuánto dura el tono sugerido?
Dura 25 segundos en canciones que alcanzan esa duración. Entre 20 y 25 segundos, la ventana utiliza la canción completa.
¿Por qué suele comenzar antes del estribillo?
Cinco segundos de entrada pueden conservar la transición hacia el gancho y dejar unos 20 segundos para el material reconocible.
¿Qué ocurre cerca del principio o del final?
La ventana completa se desplaza dentro del tiempo disponible. El campo de colocación indica si se ajustó a uno de los extremos.
¿La herramienta escucha o carga la canción?
No. Solo recibe dos valores temporales numéricos; no analiza, transfiere ni almacena audio.
¿Qué pasa si el estribillo estimado supera la canción?
La solicitud devuelve un error de entrada no válida porque esa marca no puede existir en la línea temporal indicada.
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/ringtone-clip-suggest \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"song_duration_seconds":215.4,"chorus_start_seconds":63.8}'const res = await fetch("https://api.kit.forhosting.com/audio/ringtone-clip-suggest", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"song_duration_seconds": 215.4,
"chorus_start_seconds": 63.8
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/audio/ringtone-clip-suggest",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"song_duration_seconds": 215.4,
"chorus_start_seconds": 63.8
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/audio/ringtone-clip-suggest", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"song_duration_seconds":215.4,"chorus_start_seconds":63.8}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"song_duration_seconds":215.4,"chorus_start_seconds":63.8}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/audio/ringtone-clip-suggest", 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
{
"song_duration_seconds": 215.4,
"chorus_start_seconds": 63.8
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "audio.ringtone_clip_suggest",
"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. |