Calcolo crossfade
Un crossfade accorcia una sequenza di due clip perché, durante la transizione, entrambi vengono riprodotti nello stesso momento.
Esegui gratis nel browser
Questo calcolatore riceve la durata del primo clip, quella del secondo e la lunghezza desiderata del crossfade. Restituisce la durata complessiva finale e i punti esatti di inizio e fine della sovrapposizione sulla timeline risultante. Il risultato Le consente di pianificare montaggi, verificare durate di consegna, collocare marcatori o generare dati temporali deterministici per un flusso audio automatizzato.
Comprenda che cosa cambia con un crossfade
Se due clip vengono disposti uno dopo l’altro, la durata della sequenza è semplicemente la somma delle rispettive durate. Un crossfade modifica il calcolo perché la parte finale del clip A e quella iniziale del clip B occupano lo stesso intervallo della timeline. Tale intervallo condiviso va contato una sola volta. Il calcolatore sottrae quindi il crossfade richiesto dalla somma delle due durate e ricava il totale combinato. Presuppone che il clip A inizi alla posizione zero e che il clip B venga anticipato finché il suo inizio non si sovrappone alla chiusura del clip A. In questa convenzione, la sovrapposizione termina esattamente quando finisce il clip A. Un crossfade di zero secondi è valido e indica un taglio netto: la finestra ha ampiezza zero e il totale equivale alla somma. Tutti i valori sono espressi in secondi; i decimali rappresentano frazioni di secondo senza richiedere un frame rate.
Legga correttamente la finestra di sovrapposizione
La finestra viene indicata sulla timeline combinata, non come spostamento interno a ciascun file sorgente. Il suo inizio è la durata del clip A meno quella del crossfade, mentre la fine coincide con l’intera durata del clip A. Se il primo clip dura dodici secondi e il crossfade due, per esempio, la sovrapposizione parte al decimo secondo e termina al dodicesimo. Di conseguenza, il clip B comincia nel punto iniziale indicato e la sua parte restante prosegue dopo la fine del clip A. Questi tempi sono utili per marcatori di montaggio, comandi automatici e registri di convalida, poiché descrivono una sola timeline condivisa. Il calcolo non esamina campioni, non seleziona una curva e non modifica i media: determina soltanto i tempi. Curve a potenza costante, lineari, logaritmiche o personalizzate possono impiegare la stessa finestra; scegliere la curva resta una decisione di missaggio separata.
Convalidi il montaggio prima del rendering
Un crossfade non può durare più di uno dei due clip coinvolti. Entrambi devono fornire materiale sufficiente a coprire l’intera sovrapposizione, quindi il calcolatore rifiuta una transizione che superi la durata del clip A o del clip B. Vengono respinte anche durate mancanti, non numeriche, infinite, negative o pari a zero; il crossfade può invece essere zero, ma non negativo. Questa verifica è preziosa nei flussi batch, dove un’istruzione temporale errata potrebbe altrimenti raggiungere il renderer e fallire dopo l’esecuzione di altre attività. Usi la durata combinata per controllare una playlist, un episodio o un obiettivo di esportazione e i limiti della finestra per posizionare gli eventi in modo coerente. Con più clip, ripeta il calcolo per ogni giunzione oppure sottragga una volta ogni crossfade valido dalla somma. Questa capacità modella soltanto due clip, senza pause, variazioni di velocità, tagli o ulteriori livelli simultanei.
Casi d'uso
Pianificare un montaggio audio
Calcoli la durata finale e collochi marcatori precisi prima di creare il crossfade in un editor.
Convalidare rendering in batch
Rifiuti transizioni impossibili prima di inviare il lavoro a una pipeline di rendering audio.
Stimare la durata di una playlist
Tenga conto del tempo sovrapposto quando dispone due brani, segmenti o clip ambientali.
Domande frequenti
Come viene calcolata la durata combinata?
Il calcolatore somma le durate dei clip e sottrae il crossfade una sola volta, perché l’intervallo è condiviso.
Dove inizia la sovrapposizione?
Inizia alla durata del primo clip meno quella del crossfade e termina quando finisce il primo clip.
La durata del crossfade può essere zero?
Sì. Lo zero indica un taglio netto, produce una finestra senza ampiezza e lascia invariata la somma delle durate.
Che cosa accade se il crossfade supera un clip?
La richiesta restituisce un errore di input non valido, poiché ogni clip deve coprire l’intera sovrapposizione.
Quanto costa una richiesta API?
Ogni richiesta API costa $0.002. Lo stesso calcolo deterministico può essere eseguito anche 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/crossfade-duration \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"clip_a_duration":12.5,"clip_b_duration":8.25,"crossfade_duration":2.75}'const res = await fetch("https://api.kit.forhosting.com/audio/crossfade-duration", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"clip_a_duration": 12.5,
"clip_b_duration": 8.25,
"crossfade_duration": 2.75
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/audio/crossfade-duration",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"clip_a_duration": 12.5,
"clip_b_duration": 8.25,
"crossfade_duration": 2.75
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/audio/crossfade-duration", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"clip_a_duration":12.5,"clip_b_duration":8.25,"crossfade_duration":2.75}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"clip_a_duration":12.5,"clip_b_duration":8.25,"crossfade_duration":2.75}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/audio/crossfade-duration", 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
{
"clip_a_duration": 12.5,
"clip_b_duration": 8.25,
"crossfade_duration": 2.75
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "audio.crossfade_duration",
"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. |