Audio-Fade-Hüllkurve
Dieser Rechner für Audio-Hüllkurven wandelt die Dauer eines Clips und die Längen zweier Fades in genaue Zeit- und Verstärkungspunkte für eine lineare Lautstärke-Hüllkurve um.
Im Browser ausführen – kostenlos
Er markiert Stille, volle Verstärkung, den gleichbleibenden Abschnitt und die abschließende Abblendung bis zur Stille; überflüssige Punkte zum selben Zeitpunkt entfallen. Das Ergebnis ist deterministisch und eignet sich für Editoren, Automatisierungsskripte, Rendering-Pipelines oder Validierungsschritte. Überschneiden sich die gewünschten Fades über die verfügbare Clipdauer hinaus, endet die Berechnung mit einer verständlichen Eingabemeldung.
Erzeugen Sie aus drei Zeitwerten eine eindeutige Hüllkurve
Ein Audio-Fade lässt sich einfach beschreiben, wird jedoch in Werkzeugen häufig unterschiedlich codiert. Dieser Rechner nimmt die Gesamtdauer des Clips sowie die Längen der Ein- und Ausblendung entgegen, jeweils in Sekunden. Er liefert eine geordnete Liste von Punkten mit Zeit und linearer Verstärkung. Eine Verstärkung von null bedeutet Stille, der Wert eins entspricht dem unveränderten Ausgangspegel. Bei einer Einblendung beginnt die Hüllkurve bei null und erreicht an deren Ende eins. Bei einer Ausblendung bleibt sie bis zu deren Beginn auf eins und fällt anschließend am Clipende auf null. Ein nachgeschalteter Editor oder Renderer kann zwischen aufeinanderfolgenden Punkten linear interpolieren. Fades mit der Länge null werden ausdrücklich berücksichtigt: Ohne Einblendung startet der Clip mit voller Verstärkung, ohne Ausblendung endet er damit. Zeitgleiche Punkte werden zusammengeführt. Dadurch bleibt das Ergebnis kompakt und enthält keine doppelten Zeitmarken, die eine Automation mehrdeutig machen könnten.
Beachten Sie die Überschneidungsregel und Grenzfälle
Beide Fades teilen sich eine endliche Zeitleiste. Daher darf die Summe ihrer Längen nicht größer als die Clipdauer sein. Bei einer Überschreitung würde die Einblendung noch ansteigen, obwohl die Ausblendung bereits beginnen müsste; eine einfache lineare Hüllkurve mit einem Punkt voller Verstärkung wäre dann nicht möglich. Die Fähigkeit weist diesen Fall als ungültige Eingabe zurück. Gleichheit ist zulässig: Füllen beide Fades den Clip genau aus, erreicht die Einblendung im selben Augenblick die volle Verstärkung, in dem die Ausblendung beginnt. Dieser gemeinsame Zeitpunkt erscheint nur einmal. Alle Zahlenfelder müssen endlich sein; Unendlich, NaN, Zeichenketten und fehlende Felder werden abgelehnt. Die Dauer muss größer als null sein, während ein Fade auch null betragen darf. Diese Regeln sorgen für vorhersehbare Randfälle und verhindern, dass unmögliche Zeitangaben an eine Audio-Engine gelangen, die sie abschneiden, stillschweigend verschieben oder anders auslegen könnte.
Nutzen Sie die Punkte in Schnitt- und Rendering-Abläufen
Die ausgegebenen Punkte beschreiben eine normalisierte Verstärkungs-Hüllkurve und weder Samples noch Dezibel. Dadurch lassen sie sich leicht übertragen. Sie können Zeitwerte einer Editor-Zeitleiste zuordnen, lineare Verstärkung für ein Zielsystem in Dezibel umrechnen oder Automationsbefehle für einen Offline-Renderer erzeugen. Die Ausgabe verändert kein Audio und untersucht keine Mediendatei; sie berechnet ausschließlich die Steuergeometrie aus den angegebenen Zeiten. Diese Trennung hilft Systemen, die Schnitte vor dem Upload planen, Formulareinstellungen prüfen oder eine kompakte Entscheidungsliste für späteres Rendering speichern. Behalten Sie die Punktreihenfolge bei und interpolieren Sie benachbarte Verstärkungen für einen linearen Fade. Verwendet Ihre Engine Millisekunden, multiplizieren Sie die Zeiten an der Integrationsgrenze mit tausend. Bei Equal-Power- oder logarithmischen Kurven dienen die Punkte als zeitliche Anker, zwischen denen Sie die gewünschte Kurve anwenden können.
Anwendungsfälle
Editor-Automation erstellen
Wandeln Sie Formularwerte in geordnete Keyframes für lineare Verstärkung auf der Zeitleiste eines Clips um.
Rendering-Auftrag validieren
Lehnen Sie unmögliche Fade-Überschneidungen ab, bevor ein wartender Renderer das Quellmedium lädt und verarbeitet.
Übertragbare Schnittentscheidungen speichern
Speichern Sie eine kompakte normalisierte Hüllkurve, die später an Sekunden, Millisekunden, Dezibel oder Engine-Befehle angepasst werden kann.
Häufige Fragen
Was bedeutet der Verstärkungswert?
Die Verstärkung ist linear und normalisiert: Null bedeutet Stille, eins den unveränderten Ausgangspegel. Zwischenwerte entstehen durch lineare Interpolation.
Dürfen sich beide Fades genau treffen?
Ja. Ihre Längen dürfen zusammen genau der Clipdauer entsprechen; am Treffpunkt entsteht ein gemeinsamer Punkt voller Verstärkung.
Was geschieht bei einer Fade-Länge von null?
Ein Fade der Länge null wird nicht als Rampe ausgegeben. Die betreffende Clipgrenze hat volle Verstärkung, ohne einen überflüssigen Punkt.
Wird eine Audiodatei verarbeitet oder hochgeladen?
Nein. Es erfolgt eine deterministische Zeitberechnung mit drei Zahlen, ohne Audiodaten zu lesen oder zu verändern.
Was kostet eine API-Anfrage?
Jede API-Anfrage kostet $0.002. Die Browser-Version läuft lokal und liefert dieselbe Hüllkurvenberechnung.
Für Entwickler — API-Zugang
Alles auf dieser Seite ist auch per API verfügbar. Dieser Abschnitt richtet sich an Teams, die es in ihre eigenen Systeme einbinden möchten; alle anderen nutzen einfach das Tool oben.
Endpunkt
Authentifizierung per Bearer-Token. Ein einziger POST stellt die Aufgabe in die Warteschlange; das Ergebnis erhalten Sie per Webhook oder über einen signierten Link.
Aufruf aus Ihrem Stack
curl -X POST https://api.kit.forhosting.com/audio/fade-in-out \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"duration":12,"fade_in":2.5,"fade_out":3}'const res = await fetch("https://api.kit.forhosting.com/audio/fade-in-out", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"duration": 12,
"fade_in": 2.5,
"fade_out": 3
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/audio/fade-in-out",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"duration": 12,
"fade_in": 2.5,
"fade_out": 3
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/audio/fade-in-out", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"duration":12,"fade_in":2.5,"fade_out":3}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"duration":12,"fade_in":2.5,"fade_out":3}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/audio/fade-in-out", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Beispiel-Anfrage
{
"duration": 12,
"fade_in": 2.5,
"fade_out": 3
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "audio.fade_in_out",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}Die API arbeitet asynchron: Sie erhalten sofort eine task_id. Polling ist mit 1 Anfrage pro Sekunde erlaubt.
Preis
Der Preis steht auf der Seite – keine Tokens, keine Credits. Fehlgeschlagene Aufgaben werden nicht berechnet.
Limits
max_mb | 200 |
max_minutes | 180 |
Fehler
| HTTP | Code | Bedeutung |
|---|---|---|
401 | unauthorized | Der API-Schlüssel fehlt oder ist ungültig – prüfen Sie den Authorization-Header (Bearer). |
402 | insufficient_balance | Ihr Guthaben reicht für diese Aufgabe nicht aus – Aufladungen verfallen nicht. |
404 | unknown_type | Unbekannter Aufgabentyp – prüfen Sie das Feld „type“ gegen den Katalog. |
429 | rate_limited | Zu viele Anfragen – warten Sie kurz; Polling ist mit 1 Anfrage pro Sekunde erlaubt. |