Variazione tempo audio: percentuale BPM e durata
Il passaggio di una clip da un tempo a un altro modifica sia la griglia ritmica sia la durata.
Esegui gratis nel browser
Questo calcolatore riceve il BPM originale, il BPM desiderato e la durata nota della clip, quindi restituisce la variazione percentuale con segno, il moltiplicatore di durata e la lunghezza finale. Montatori, produttori, DJ e sviluppatori ottengono una risposta rapida e riproducibile senza caricare né analizzare l’audio.
Inserisca i tempi e la durata nota
Inizi dal BPM al quale viene riprodotta la clip sorgente e indichi poi il BPM a cui desidera adattarla. Entrambi i valori devono essere maggiori di zero, perché una frequenza di battiti nulla o negativa non consente di costruire un rapporto di tempi significativo. Aggiunga la durata attuale in secondi, mantenendo le cifre decimali quando serve precisione. Per esempio, può inserire direttamente una regione di 92.5 secondi senza arrotondarla. Il calcolatore non esamina file audio, non rileva battiti e non tenta di indovinare il tempo: utilizza esclusivamente i numeri forniti. È quindi utile dopo il rilevamento dei BPM, durante la preparazione di un montaggio o in un flusso automatizzato che dispone già dei metadati ritmici. La durata può essere zero per un caso limite, ma non può essere negativa. Se viene modificato solo un loop, una traccia, un cue o una scena, usi la durata esatta di quella regione anziché quella dell’intero progetto.
Interpreti percentuale e moltiplicatore
La variazione percentuale confronta il BPM desiderato con quello originale. Si calcola dividendo il valore desiderato per l’originale, sottraendo uno e moltiplicando per cento. Un risultato positivo indica un’accelerazione, uno negativo un rallentamento e zero segnala tempi uguali. La durata varia in direzione opposta, quindi il suo moltiplicatore è il BPM originale diviso per quello desiderato. Passando da 120 BPM a 150 BPM, il tempo aumenta del 25 per cento e il moltiplicatore diventa 0.8. La versione più veloce occupa dunque l’80 per cento del tempo originale. Il passaggio da 120 BPM a 90 BPM produce invece una variazione negativa e un moltiplicatore superiore a uno, quindi una durata maggiore. Il moltiplicatore è fornito esplicitamente affinché Lei possa applicarlo anche a marcatori, regioni o punti di montaggio che seguono la stessa trasformazione uniforme.
Applichi il risultato al flusso audio
Utilizzi la durata risultante per riservare spazio nella timeline, allineare loop, collocare cue, stimare esportazioni o sincronizzare musica e video. Il calcolo presuppone una variazione uniforme sull’intera clip e una relazione esatta tra velocità di riproduzione e durata. Non prevede artefatti, qualità dei transienti, comportamento dell’intonazione, impostazioni di audio elastico o scelte specifiche di una workstation. Un algoritmo che preserva l’intonazione può puntare alla stessa durata, ma la qualità sonora dipende dal materiale e dal software, non da questa aritmetica. Se una clip contiene automazione del tempo o sezioni con BPM originali diversi, calcoli separatamente ogni tratto a tempo costante e sommi le durate ottenute. Mantenga un numero sufficiente di decimali quando trasferisce i risultati a un altro sistema, così da evitare accumuli di errori. Per le chiamate automatizzate, il prezzo base è $0.002 per richiesta. Il calcolo nel browser usa la stessa formula deterministica e non richiede il caricamento dell’audio.
Casi d'uso
Adattare un loop al tempo della sessione
Calcoli quanto accelerare o rallentare un loop e quale durata avrà dopo l’allineamento al BPM della sessione.
Pianificare montaggi musicali su immagini
Stimi la nuova lunghezza di un passaggio musicale prima di posizionare i tagli o modificare la timeline video.
Ridimensionare i marcatori in uno strumento audio
Usi il moltiplicatore per trasformare in modo coerente i tempi di cue, regioni o marcatori in un flusso automatizzato.
Domande frequenti
Come si calcola la variazione percentuale del tempo?
Divida il BPM desiderato per quello originale, sottragga uno e moltiplichi per 100. I valori positivi indicano un aumento, quelli negativi una riduzione.
Perché il moltiplicatore di durata usa il rapporto inverso?
Un ritmo più veloce riproduce lo stesso numero di battiti in meno tempo, quindi la durata viene scalata dividendo il BPM originale per quello desiderato.
Questo calcolatore preserva l’intonazione?
Calcola solo tempo e durata. Il comportamento dell’intonazione dipende dal lettore o dallo strumento di time stretching utilizzato.
Posso usare BPM e durate con valori decimali?
Sì. Sono accettati numeri decimali finiti per entrambi i BPM e per la durata della clip in secondi.
Che cosa accade se un BPM è zero o negativo?
La richiesta restituisce un errore di input non valido, perché i rapporti di tempo richiedono BPM originali e desiderati positivi.
Quanto costa una richiesta API?
Ogni richiesta API costa $0.002. Può anche eseguire il calcolo deterministico 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/audio/tempo-change-percent \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"original_bpm":120,"target_bpm":150,"duration_seconds":240}'const res = await fetch("https://api.kit.forhosting.com/audio/tempo-change-percent", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"original_bpm": 120,
"target_bpm": 150,
"duration_seconds": 240
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/audio/tempo-change-percent",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"original_bpm": 120,
"target_bpm": 150,
"duration_seconds": 240
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/audio/tempo-change-percent", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"original_bpm":120,"target_bpm":150,"duration_seconds":240}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"original_bpm":120,"target_bpm":150,"duration_seconds":240}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/audio/tempo-change-percent", 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
{
"original_bpm": 120,
"target_bpm": 150,
"duration_seconds": 240
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "audio.tempo_change_percent",
"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.
Limiti
max_mb | 200 |
max_minutes | 180 |
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. |