Décroissance exponentielle du niveau sonore
Ce calculateur de décroissance exponentielle détermine le niveau de pression sonore restant après une durée donnée.
Lancer gratuitement
Saisissez le niveau initial en décibels, un taux de décroissance en décibels par seconde et le temps écoulé en secondes. L’outil applique la réduction exponentielle correspondante de la pression et renvoie le niveau final, la baisse totale en décibels et le rapport de pression restant. Il convient aux exercices d’acoustique, estimations de réverbération, enveloppes audio et données de test.
Pourquoi une pression exponentielle donne une baisse linéaire en décibels
Le niveau de pression sonore est logarithmique et ne mesure pas directement la pression. Une amplitude qui décroît exponentiellement apparaît donc comme une baisse constante en décibels par unité de temps. Si le niveau initial est L0, le taux r décibels par seconde et la durée t secondes, le résultat est L(t) = L0 - r × t. Le rapport d’amplitudes associé vaut 10^(-r × t / 20). Ce rapport indique la pression restante par rapport à sa valeur initiale, tandis que final_level_db exprime le niveau obtenu avec la même référence que l’entrée. Une baisse totale de 20 dB laisse un dixième de l’amplitude initiale et une baisse de 6 dB en laisse environ la moitié. Le calculateur fournit level_drop_db et pressure_ratio avec le niveau final afin de rendre explicites les deux représentations du même phénomène. Il évalue directement toute la durée sans soustraire de résultats intermédiaires arrondis, ce qui évite l’accumulation d’erreurs et garantit un calcul déterministe.
Comment saisir les valeurs et comprendre le résultat
Saisissez initial_level_db comme toute valeur finie en décibels sur l’échelle de référence de vos données. Pour un SPL classique, il s’agit généralement de dB par rapport à 20 micropascals dans l’air, mais une autre référence cohérente convient puisque l’équation traite des écarts de niveau. decay_rate_db_per_second doit être positif ou nul : zéro signifie aucune décroissance, et un taux supérieur produit une baisse plus rapide. time_seconds doit également être positif ou nul ; zéro restitue le niveau initial. La réponse contient final_level_db, level_drop_db et pressure_ratio, reprend les entrées et précise la formule. Un niveau final négatif est accepté, car les décibels représentent un rapport à une référence. Les champs absents, chaînes numériques, NaN, infinis, durées négatives, taux négatifs ou valeurs causant un résultat non fini sont rejetés comme entrées incorrectes, sans conversion silencieuse ni écrêtage trompeur.
Hypothèses, usages pertinents et limites du modèle
Utilisez ce calculateur lorsque la décroissance peut raisonnablement être décrite par un taux constant en décibels par seconde. Ce modèle compact d’enveloppe exponentielle convient aux exercices, estimations acoustiques simplifiées, fondus audio, simulations, projections d’alarmes et contrôles de laboratoire. Il ne déduit pas un taux depuis un enregistrement, ne calcule pas l’absorption selon la fréquence et ne modélise ni réflexions ni bruit de fond. Un champ acoustique réel peut présenter plusieurs pentes, des modes, l’absorption de l’air, une directivité et les limites du système de mesure. Près du plancher de bruit, le niveau mesuré peut s’écarter de la droite idéale. Considérez la réponse comme le résultat du modèle annoncé, et non comme le remplacement d’une mesure étalonnée ou d’une étude complète de réverbération. Vérifiez la compatibilité de la pondération, de la bande passante et de la référence. Des entrées valides identiques donnent toujours la même sortie. Le calcul dans le navigateur est gratuit ; une requête automatisée par API coûte $0.002.
Cas d’usage
Projeter le niveau d’une alarme
Estimez le SPL idéalisé après plusieurs secondes lorsque l’enveloppe d’une alarme suit un taux constant en dB par seconde.
Concevoir une enveloppe audio
Convertissez une pente linéaire en décibels en niveau final et rapport d’amplitude de pression pour un fondu reproductible.
Vérifier un exercice d’acoustique
Contrôlez le niveau final, la perte totale et le rapport exponentiel de pression sans recomposer manuellement les relations logarithmiques.
Questions fréquentes
Quelle formule le calculateur emploie-t-il ?
Il utilise niveau final = niveau initial - taux de décroissance × temps. Le rapport de pression vaut 10 puissance -(taux × temps) / 20.
Pourquoi parler d’exponentielle si les décibels baissent linéairement ?
L’amplitude physique de pression décroît exponentiellement. Les décibels étant logarithmiques, cette variation apparaît comme une baisse linéaire constante.
Le niveau sonore final peut-il être négatif ?
Oui. Une valeur négative signifie que la pression est inférieure au niveau de référence choisi ; ce n’est pas automatiquement une erreur.
Puis-je saisir un taux ou une durée négatifs ?
Non. Cette capacité modélise une décroissance pendant une durée positive ou nulle. Un modèle différent est nécessaire pour une croissance.
Quel est le prix d’un calcul par API ?
Chaque requête API réussie coûte $0.002. Le même calcul déterministe est gratuit dans le navigateur.
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/optics/sound-level-exponential-decay \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"initial_level_db":90,"decay_rate_db_per_second":6,"time_seconds":3}'const res = await fetch("https://api.kit.forhosting.com/optics/sound-level-exponential-decay", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"initial_level_db": 90,
"decay_rate_db_per_second": 6,
"time_seconds": 3
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/optics/sound-level-exponential-decay",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"initial_level_db": 90,
"decay_rate_db_per_second": 6,
"time_seconds": 3
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/optics/sound-level-exponential-decay", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"initial_level_db":90,"decay_rate_db_per_second":6,"time_seconds":3}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"initial_level_db":90,"decay_rate_db_per_second":6,"time_seconds":3}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/optics/sound-level-exponential-decay", 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
{
"initial_level_db": 90,
"decay_rate_db_per_second": 6,
"time_seconds": 3
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "optics.sound_level_exponential_decay",
"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.
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. |