Extrait de sonnerie
Une sonnerie mémorable demande souvent une courte anticipation, un motif immédiatement reconnaissable et assez de temps pour conclure la phrase musicale.
Lancer gratuitement
Ce calculateur transforme la durée d’un morceau et le début estimé du refrain en une fenêtre de découpe pratique. Il vise une sélection de 25 secondes, conserve cinq secondes avant le refrain lorsque la place le permet et décale proprement la fenêtre aux extrémités. Le résultat fournit les secondes, des horodatages lisibles, la position du refrain dans l’extrait et un indicateur de placement utile au montage.
Partez de deux mesures temporelles fiables
Indiquez la durée totale du morceau et votre meilleure estimation du début du refrain, toutes deux en secondes. Un lecteur ou un éditeur audio affiche généralement ces valeurs avec une précision suffisante ; les décimales sont acceptées, vous n’avez donc pas à arrondir un repère tel que 1:03.800 à la seconde entière. Le morceau doit durer au moins 20 secondes, puisque le résultat garantit une fenêtre de sonnerie comprise entre 20 et 30 secondes. L’estimation du refrain peut correspondre au début ou exactement à la fin du morceau, mais elle ne peut être ni négative ni supérieure à sa durée. Si vous hésitez entre deux repères, choisissez plutôt l’instant où la transition musicale aboutit que la première syllabe chantée. Les cinq secondes d’approche pourront ainsi inclure une levée, un roulement de batterie ou un changement harmonique. Le calculateur n’écoute ni ne téléverse le son : la pertinence dépend des repères que vous fournissez. Il effectue uniquement un calcul déterministe et renvoie toujours le même résultat pour les mêmes valeurs.
Comprenez le placement de l’extrait
Pour un morceau d’au moins 25 secondes, le calculateur propose une sélection de 25 secondes. Le début privilégié se situe cinq secondes avant le refrain estimé, ce qui réserve 20 secondes après ce repère au motif initial et à son prolongement. Dans un refrain courant, la première phrase reconnaissable se retrouve ainsi près du centre utile de la sonnerie, tout en conservant une brève arrivée musicale. Si la fenêtre souhaitée devait commencer avant le morceau, toute la sélection est avancée jusqu’à zéro. Si elle devait dépasser la fin, elle est reculée pour se terminer avec le titre. Les morceaux de 20 à 25 secondes sont utilisés dans leur intégralité, sans inventer de son manquant. La valeur `chorus_offset_seconds` indique précisément où le refrain estimé tombe dans la sélection. Le champ `placement` précise si la disposition idéale a été conservée ou décalée vers le début ou la fin, afin que les cas limites restent visibles au lieu de masquer l’ajustement.
Exploitez le résultat dans un éditeur ou un processus automatisé
Copiez `start_seconds` et `end_seconds` dans un éditeur acceptant des positions numériques, ou servez-vous des repères formatés pour un montage visuel. Écoutez toujours la découpe complète avant l’exportation. Une fenêtre mathématiquement correcte peut encore commencer sur une respiration, couper une note d’anacrouse ou s’arrêter juste avant une cadence : le calculateur connaît le début estimé du refrain, mais n’analyse ni les temps, ni les paroles, ni le volume, ni la structure musicale. De petits ajustements après écoute sont donc légitimes, notamment si le téléphone applique un fondu d’entrée ou cesse de sonner rapidement. Pour traiter un catalogue de manière reproductible, conservez la durée et l’estimation initiales avec le résultat afin qu’une autre personne puisse refaire le choix. Chaque requête API coûte $0.002 et la version navigateur repose sur le même calcul déterministe. Une estimation au-delà du morceau est refusée plutôt que corrigée silencieusement, car un repère impossible pourrait produire une fenêtre crédible liée au mauvais enregistrement ou à la mauvaise ligne de métadonnées.
Cas d’usage
Préparer une sonnerie personnelle
Transformez le repère du refrain affiché par votre lecteur en bornes prêtes à saisir dans un éditeur.
Planifier un catalogue mobile sous licence
Appliquez une règle temporelle uniforme après la saisie des durées et des débuts de refrain.
Contrôler les métadonnées avant la découpe
Repérez les débuts de refrain situés au-delà du morceau avant que l’exportation automatisée ne traite les fichiers.
Questions fréquentes
Quelle est la durée de la sonnerie suggérée ?
Elle dure 25 secondes lorsque le morceau est assez long. Entre 20 et 25 secondes, la fenêtre reprend le morceau entier.
Pourquoi l’extrait commence-t-il souvent avant le refrain ?
Cinq secondes d’approche peuvent préserver la transition vers le motif et laisser environ 20 secondes de matière reconnaissable.
Que se passe-t-il près du début ou de la fin ?
La fenêtre entière est déplacée dans le temps disponible. Le champ de placement signale son éventuel alignement sur une extrémité.
Cet outil écoute-t-il ou téléverse-t-il mon morceau ?
Non. Il reçoit seulement deux valeurs temporelles numériques et n’analyse, ne transfère ni ne conserve aucun son.
Et si le refrain estimé dépasse la durée du morceau ?
La requête renvoie une erreur de saisie, car ce repère ne peut pas exister sur la ligne temporelle fournie.
Pour les développeurs — accès API
Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.
Endpoint
Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.
Appeler depuis votre 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)Exemple de requête
{
"song_duration_seconds": 215.4,
"chorus_start_seconds": 63.8
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "audio.ringtone_clip_suggest",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.
Tarifs
Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.
Limites
max_mb | 200 |
max_minutes | 180 |
Erreurs
| HTTP | Code | Signification |
|---|---|---|
401 | unauthorized | Clé API absente ou invalide : vérifiez l’en-tête Authorization. |
402 | insufficient_balance | Solde insuffisant : rechargez votre compte pour lancer cette tâche. |
404 | unknown_type | Type de tâche inconnu : vérifiez le champ type de votre requête. |
429 | rate_limited | Trop de requêtes : ralentissez la cadence, puis réessayez. |