Calculateur BPM
Huit battements comptés en quatre secondes font 120 BPM : saisissez les battements comptés et les secondes du chronomètre pour obtenir le tempo et la durée d'un battement, ici 0,5 s ou 500 ms. Gratuit dans votre navigateur.
- Gratuit
- Fonctionne dans votre navigateur
- Sans inscription
- Vos données restent sur votre appareil
Lancer gratuitement
Exemple résolu
- Temps
- 8
- Intervalle
- 4
- Bpm
- 120 bpm
- Durée du temps (s)
- 0,5
- Temps (ms)
- 500
Un calculateur BPM transforme un nombre de battements comptés et un intervalle de temps mesuré en secondes en tempo en battements par minute. Musiciens, DJs, enseignants et coachs utilisent encore la méthode du chronomètre : compter les impulsions sur une fenêtre connue, puis ramener ce débit à une minute avec l'identité BPM égal aux battements fois soixante divisé par l'intervalle. Cet outil applique cette formule avec des contrôles stricts : les deux valeurs doivent être finies et strictement positives.
Comment battements comptés et chronomètre deviennent des battements par minute
La méthode du chronomètre pour le tempo est plus ancienne que les pads de frappe et les boutons des stations de travail audio : vous comptez combien de battements se produisent pendant qu'une horloge tourne, puis vous ramenez ce compte à une minute entière. Si huit impulsions tombent en quatre secondes, le débit implicite est huit sur quatre battements par seconde, soit cent vingt battements par minute. L'identité est donc BPM égal aux battements fois soixante divisé par l'intervalle en secondes.
Les deux opérandes doivent être des nombres finis strictement positifs. Un compte de battements nul ou négatif décrirait l'absence de pouls ou une fantaisie de temps inversé ; un intervalle nul ou négatif décrirait l'absence de fenêtre ou une horloge inversée, et le quotient serait indéfini ou infini.
Cette capacité convertit les deux champs, rejette les valeurs manquantes, les chaînes vides, NaN, les infinis et les quantités non positives, puis publie le tempo avec les secondes par battement et les millisecondes par battement afin qu'un métronome, un délai ou un plan de leçon consomme une seule impulsion cohérente.
Les exercices de classe utilisent encore le compte de quinze secondes : seize battements en quinze secondes valent soixante-quatre BPM, et trente-deux battements en quinze secondes valent cent vingt-huit BPM, car multiplier le compte de quinze secondes par quatre revient à multiplier par soixante et diviser par quinze. Comptez une fenêtre plus longue lorsque le groove est irrégulier ; davantage de battements sur davantage de secondes réduisent l'effet d'un seul coup en avance ou en retard sur le tempo annoncé.
Comptage pratique, limites et recherches associées
Comptez au moins quatre à huit battements lorsque c'est possible : un échantillon d'un seul battement sur une minuscule fenêtre est mathématiquement valable mais bruyant en jeu live. Gardez l'horloge honnête ; démarrer le chronomètre sur le battement un plutôt que le battement zéro est un décalage d'un cran fréquent qui décale le tempo d'un palier entier si vous vous trompez de compte.
Les repères courants en studio se vérifient facilement à la main : huit battements en quatre secondes valent cent vingt BPM, quatre battements en deux secondes sont la même grille, et trente-deux battements en quinze secondes valent cent vingt-huit BPM.
Cette page s'adresse à ceux qui cherchent un calculateur BPM, des battements par minute à partir de battements comptés, ou un tempo à partir de battements et de secondes ; ce n'est pas un pad tap-tempo qui moyenne des horodatages en millisecondes, ni une table de notes BPM vers millisecondes, ni un détecteur d'onsets audio.
Pour des horodatages de frappe ordonnés, utilisez le calculateur frère BPM depuis intervalles de frappe ; pour un tempo de projet déjà connu converti en durées de notes et de délais, utilisez le calculateur frère BPM vers millisecondes. Préférez cette capacité lorsque votre source est un total compté contre une fenêtre mesurée. Les contrôles aller-retour sont directs : multipliez beats par soixante, divisez par l'intervalle en secondes et confirmez que le résultat égale le bpm publié dans la limite de l'arrondi à douze décimales.
Cas d’usage
Régler le tempo de session d'après un compte au chronomètre
Les producteurs comptent les battements sur une piste de référence pendant quatre ou huit secondes, saisissent le total et la fenêtre, et règlent le BPM du projet dans la DAW d'après le tempo renvoyé.
Questions fréquentes
Comment calcule-t-on le BPM à partir de battements comptés et de secondes ?
Divisez le nombre de battements par l'intervalle mesuré en secondes pour obtenir des battements par seconde, puis multipliez par soixante. De façon équivalente, BPM égal aux battements fois soixante divisé par l'intervalle.
Que se passe-t-il si beats ou interval est zéro ou négatif ?
Un compte ou une fenêtre non positif ne peut pas définir un tempo fini, et l'outil n'en inventera pas.
Dois-je envoyer des horodatages de frappe ou un compte de battements ?
Envoyez un compte de battements et un intervalle en secondes. Pour des horodatages de frappe ordonnés en millisecondes, utilisez plutôt le calculateur frère BPM depuis intervalles de frappe.
Pourquoi un compte de 15 secondes est-il multiplié par quatre ?
Il y a quatre blocs de quinze secondes dans une minute, donc count × 4 égale count × 60 / 15. Ce calculateur utilise la forme générale afin que toute longueur de fenêtre fonctionne, pas seulement quinze secondes.
Le calculateur BPM est-il gratuit ?
L'outil navigateur est gratuit et s'exécute en local.
Outils associés
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/hobby/bpm \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"beats":8,"interval":4}'const res = await fetch("https://api.kit.forhosting.com/hobby/bpm", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"beats": 8,
"interval": 4
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/hobby/bpm",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"beats": 8,
"interval": 4
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/hobby/bpm", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"beats":8,"interval":4}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"beats":8,"interval":4}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/hobby/bpm", 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
{
"beats": 8,
"interval": 4
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "hobby.bpm",
"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_abs | 1000000000000 |
min_positive | 1e-12 |
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. |
Notes techniques
Zéro battement, une fenêtre de longueur nulle, des champs manquants et des chaînes non numériques sont rejetés en invalid_input afin que les scripts n'inventent jamais un tempo infini. Le chemin est de l'arithmétique pure —sans réseau, sans graines aléatoires, sans dépendance à l'horloge murale—, de sorte que l'exécuteur gratuit du navigateur et l'API prépayée renvoient le même JSON après un arrondi stable à chaque appel.
Comment battements comptés et chronomètre deviennent des battements par minute
L'arrondi est fixé à douze décimales pour que le JSON du Worker et celui du navigateur coïncident octet par octet sur les mêmes entrées.
Comment appeler l'API et ce qu'elle renvoie
Beats est le total compté ; interval est la fenêtre mesurée en secondes. Préférez envoyer des nombres plutôt que des chaînes préformatées lorsque vous contrôlez le client. Les fenêtres relatives, comme quatre secondes de comptage, sont le cas prévu ; vous n'envoyez pas d'horodatages ici. Envoyez un corps JSON avec deux champs numériques obligatoires nommés beats et interval. Les mêmes valeurs sont acceptées sous les alias count, beat_count et n_beats pour le premier champ, et seconds, time, duration et t pour le second. Chaque champ peut arriver comme nombre JSON ou comme chaîne numérique stricte. En cas de succès, la réponse renvoie les beats et interval arrondis, bpm comme tempo principal, beat_seconds et beat_ms comme durée d'une impulsion, unit avec la chaîne bpm, formula réaffirmant bpm égal à beats fois soixante divisé par interval, message comme court résumé et steps qui parcourent du compte brut aux secondes par battement puis à la division finale. Champs manquants, entrées non finies, chaînes vides qui échouent à la coercition numérique et tout beats ou interval non positif renvoient invalid_input et ne sont jamais facturés. Le tarif est un forfait de $0.002 par requête réussie avec unité item. La magnitude absolue de chaque opérande reste dans la limite publiée afin que le quotient demeure bien défini en précision double IEEE.
Comptage pratique, limites et recherches associées
En enseignement, associez un compte de chemin heureux à une entrée délibérément nulle ou négative pour que les apprenants voient invalid_input immédiatement. Les tâches en échec qui renvoient invalid_input ne consomment pas le solde prépayé, ce qui maintient les scripts exploratoires bon marché lorsque les apprenants sondent volontairement les cas limites.
Cas d'intégration
Exercices de classe sur le réciproque et les 15 secondes
Les enseignants fournissent des comptes de battements et des intervalles pour que les élèves recomposent à la main beats × 60 / seconds, y compris le classique compte de quinze secondes multiplié par quatre, puis comparent le champ BPM déterministe.
Contrôles de pouls ou de click-track dans des scripts
Développeurs et coachs fournissent un total compté et une fenêtre mesurée et vérifient bpm, beat_seconds et beat_ms contre des fixtures golden sans matériel audio ni minuteries d'horloge murale.