Decadimento esponenziale del livello sonoro
Questo calcolatore di decadimento esponenziale determina il livello di pressione sonora rimanente dopo un intervallo specificato.
Esegui gratis nel browser
Inserisca il livello iniziale in decibel, un tasso di decadimento in decibel al secondo e il tempo trascorso in secondi. Lo strumento applica la corrispondente riduzione esponenziale della pressione e restituisce il livello finale, il calo totale in decibel e il rapporto di pressione residua. È utile per esercizi di acustica, stime di riverbero, inviluppi audio e generazione di dati di prova.
Perché il decadimento esponenziale diventa lineare in decibel
Il livello di pressione sonora è logaritmico e non costituisce una misura diretta della pressione. Un’ampiezza di pressione che diminuisce esponenzialmente appare quindi come una riduzione costante di decibel per unità di tempo. Se il livello iniziale è L0, il tasso è r decibel al secondo e il tempo è t secondi, il risultato è L(t) = L0 - r × t. Il rapporto di ampiezza associato è 10^(-r × t / 20). Tale rapporto descrive la pressione rimanente rispetto al valore iniziale, mentre final_level_db indica il livello risultante sulla medesima scala di riferimento dell’ingresso. Un calo totale di 20 dB lascia un decimo dell’ampiezza iniziale, mentre 6 dB ne lasciano circa la metà. Il calcolatore restituisce level_drop_db e pressure_ratio insieme al livello finale, rendendo esplicite entrambe le rappresentazioni dello stesso processo. L’intero intervallo viene valutato direttamente, senza sottrarre valori intermedi arrotondati: in questo modo non si accumulano errori e il risultato resta deterministico.
Come inserire i valori e leggere il risultato
Inserisca initial_level_db come qualsiasi valore finito in decibel sulla scala di riferimento impiegata dai Suoi dati. Nel normale lavoro con SPL, ciò indica solitamente dB rispetto a 20 micropascal nell’aria, ma è valido anche un altro riferimento coerente, poiché l’equazione opera sulle differenze di livello. decay_rate_db_per_second deve essere non negativo: zero significa assenza di decadimento, mentre un valore maggiore riduce il livello più rapidamente. Anche time_seconds deve essere non negativo; con zero, il livello iniziale resta invariato. La risposta comprende final_level_db, level_drop_db e pressure_ratio, ripete gli ingressi e riporta la formula. Sono ammessi livelli finali negativi, perché i decibel esprimono un rapporto rispetto a un riferimento. Campi mancanti, stringhe numeriche, NaN, infinito, tempi negativi, tassi negativi e valori che causano risultati non finiti vengono respinti come input non validi, senza conversioni silenziose o limitazioni arbitrarie.
Ipotesi, applicazioni adatte e limiti del modello
Usi questo calcolatore quando il decadimento può essere rappresentato ragionevolmente da un tasso costante in decibel al secondo. È un modello compatto di inviluppo esponenziale dell’ampiezza, adatto a esercizi, stime acustiche semplificate, dissolvenze audio, simulazioni, proiezioni di allarmi e controlli di laboratorio. Non ricava un tasso dalle registrazioni, non calcola l’assorbimento dipendente dalla frequenza e non modella riflessioni o rumore di fondo. I campi acustici reali possono presentare più pendenze, modi, assorbimento dell’aria, sorgenti direzionali e limiti strumentali. Vicino al rumore di fondo, la misura può allontanarsi dalla retta ideale. Consideri la risposta come il risultato del modello dichiarato, non come sostituto di una misura calibrata o di un’analisi completa del riverbero. Verifichi che livello e tasso condividano ponderazione, banda e riferimento compatibili. Ingressi validi identici producono sempre la stessa uscita. Il calcolo nel browser è gratuito e una richiesta automatizzata tramite API costa $0.002.
Casi d'uso
Proiettare il livello di un allarme
Stimi lo SPL ideale dopo alcuni secondi quando l’inviluppo dell’allarme segue un tasso costante in dB al secondo.
Progettare un inviluppo audio
Converta una pendenza lineare in decibel nel livello finale e nel rapporto di ampiezza di pressione di una dissolvenza riproducibile.
Verificare un esercizio di acustica
Controlli il livello finale, la perdita totale e il rapporto esponenziale di pressione senza combinare manualmente le relazioni logaritmiche.
Domande frequenti
Quale formula usa il calcolatore?
Usa livello finale = livello iniziale - tasso di decadimento × tempo. Il rapporto di pressione è 10 elevato a -(tasso × tempo) / 20.
Perché il processo è esponenziale se i decibel calano linearmente?
L’ampiezza fisica della pressione diminuisce esponenzialmente. Poiché i decibel sono logaritmici, la variazione appare come un calo lineare costante.
Il livello sonoro finale può essere negativo?
Sì. Un valore negativo indica una pressione inferiore al riferimento scelto e non costituisce automaticamente un errore.
Posso inserire un tasso o un tempo negativo?
No. Questa capacità modella il decadimento per un tempo non negativo. Per una crescita del livello occorre un modello diverso.
Quanto costa un calcolo tramite API?
Ogni richiesta API riuscita costa $0.002. Lo stesso calcolo deterministico è gratuito nel browser.
Per sviluppatori — accesso via API
Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.
Endpoint
Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.
Chiamala dal tuo 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)Esempio di richiesta
{
"initial_level_db": 90,
"decay_rate_db_per_second": 6,
"time_seconds": 3
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "optics.sound_level_exponential_decay",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.
Prezzi
Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.
Errori
| HTTP | Codice | Significato |
|---|---|---|
401 | unauthorized | Chiave API mancante o non valida: controlla l'header Authorization. |
402 | insufficient_balance | Credito esaurito: ricarica per continuare a eseguire attività. |
404 | unknown_type | Tipo di attività sconosciuto: controlla il campo type della richiesta. |
429 | rate_limited | Troppe richieste in poco tempo: rallenta e riprova tra qualche secondo. |