Halbtöne zwischen Frequenzen
Der Rechner für Halbtöne zwischen Frequenzen wandelt zwei positive Frequenzen in ihren vorzeichenbehafteten musikalischen Abstand in der zwölfstufigen gleichstufigen Stimmung um.
Im Browser ausführen – kostenlos
Geben Sie eine Ausgangs- und eine Zielfrequenz in Hertz ein; berechnet wird das Zwölffache des Logarithmus zur Basis zwei ihres Verhältnisses. Das Ergebnis beschreibt bekannte Oktaven und Intervalle ebenso wie Halbtonbruchteile für Stimmung, Akustik, Audioanalyse und Tonhöhenkorrektur. Zusätzlich erhalten Sie das Frequenzverhältnis und die Angabe, ob die zweite Frequenz über, unter oder genau auf der ersten liegt.
Geben Sie die Frequenzen in der gewünschten Reihenfolge ein
Verwenden Sie frequency_1_hz als Bezugs- oder Ausgangsfrequenz und frequency_2_hz als zu vergleichende Frequenz. Beide Werte müssen positive endliche Zahlen in Hertz sein. Die Reihenfolge ist wichtig, weil das Ergebnis ein Vorzeichen trägt: Auf 440 Hz folgende 880 Hz ergeben positive zwölf Halbtöne, in umgekehrter Reihenfolge sind es negative zwölf. Gleiche Eingaben ergeben null und die Richtung unison. Dezimalwerte wie 439.7 Hz oder 261.625565 Hz sind zulässig. Geben Sie keine Notennamen, Wellenlängen, cents oder Verhältnisse in diese Felder ein, sondern wandeln Sie sie zuvor in Frequenzen um. Die Antwort wiederholt beide akzeptierten Eingaben, damit Sie die Berechnung zusammen mit den Messwerten speichern können. Fehlende Felder, null, negative Werte, numerische Zeichenketten, unendlich und nicht numerische Daten werden abgewiesen, statt einen undefinierten Logarithmus als irreführendes Ergebnis auszugeben.
Verstehen Sie die logarithmische Berechnung
Der Rechner teilt zuerst die Zielfrequenz durch die Ausgangsfrequenz, bildet den Logarithmus dieses Verhältnisses zur Basis zwei und multipliziert ihn mit zwölf. Das entspricht der zwölfstufigen gleichstufigen Stimmung: Eine Frequenzverdopplung erhöht die Tonhöhe um eine Oktave, log2(2) ist eins und zwölf mal eins ergibt zwölf Halbtöne. Ein Verhältnis von eins ergibt null, ein Verhältnis unter eins einen negativen Abstand. Anders als eine Tabelle mit Notennamen arbeitet dieses Verfahren kontinuierlich. Es kann 7.01955 Halbtöne für eine leicht zu weite Quinte oder 0.23 für eine geringe Stimmabweichung liefern. Verhältnis und Halbtonzahl werden auf zwölf Dezimalstellen gerundet, damit das JSON stabil bleibt und dennoch mehr Präzision als für praktische Messungen nötig behält. Die Felder für Formel und Stimmung legen die Konvention offen, falls andere Programme sonst cents, reine Stimmung oder ein anderes Tonsystem voraussetzen würden.
Deuten und verwenden Sie das Ergebnis mit Vorzeichen
Lesen Sie semitones als gerichteten Abstand von der ersten zur zweiten Frequenz. Ein positiver Wert bedeutet, dass die zweite höher ist, ein negativer Wert bedeutet tiefer, und null bedeutet Übereinstimmung. Das Feld direction gibt dieselbe Beziehung als up, down oder unison an, sodass eine Oberfläche das Vorzeichen nicht selbst auswerten muss. Ganze Ergebnisse kennzeichnen exakte Stufen: zwölf ist eine Oktave, sieben eine Quinte und eins ein Halbton. Bruchteile sind besonders beim Stimmen eines Instruments, beim Vergleich spektraler Spitzen oder beim Einstellen einer Tonhöhenverschiebung nützlich. Für cents multiplizieren Sie den Wert mit hundert. Bewahren Sie die ursprüngliche Messgenauigkeit und runden Sie Eingabefrequenzen nicht vorzeitig. Jeder erfolgreiche API-Aufruf kostet $0.002 pro Element; die Browserversion führt dieselbe deterministische Berechnung lokal aus und übermittelt keine Frequenzen an Dritte.
Anwendungsfälle
Instrumentenstimmung messen
Vergleichen Sie einen gemessenen Grundton mit seiner Zielfrequenz und bestimmen Sie die vorzeichenbehaftete Abweichung in Halbtonbruchteilen.
Tonhöhenverschiebung einstellen
Berechnen Sie die nötige Halbtonzahl, um aufgenommenes Audio von einer bekannten Frequenz zu einer anderen zu verschieben.
Spektrale Spitzen analysieren
Wandeln Sie das Verhältnis zweier erkannter Frequenzspitzen in ein für Musiker und Audiowerkzeuge verständliches Intervall um.
Häufige Fragen
Welche Formel verwendet der Rechner?
Er verwendet semitones = 12 × log2(frequency_2_hz / frequency_1_hz), die Standardbeziehung der zwölfstufigen gleichstufigen Stimmung.
Warum kann das Ergebnis negativ sein?
Ein negatives Ergebnis bedeutet, dass die zweite Frequenz tiefer ist. Vertauschen Sie die Eingaben, um den Betrag zu behalten und das Vorzeichen zu ändern.
Kann das Ergebnis einen Halbtonbruchteil enthalten?
Ja. Beliebige Frequenzverhältnisse treffen selten genau auf gleichstufige Schritte; Bruchteile sind deshalb normal und nützlich.
Wie rechne ich das Ergebnis in cents um?
Multiplizieren Sie semitones mit 100. Ein gleichstufiger Halbton entspricht 100 cents.
Welche Eingaben sind ungültig?
Fehlende, null, negative, unendliche, nicht numerische Werte und Zeichenketten werden abgewiesen. Beide Frequenzen müssen positive endliche JSON-Zahlen in Hertz sein.
Was kostet ein API-Aufruf?
Jeder erfolgreiche API-Aufruf kostet $0.002 pro Element. Dieselbe deterministische Berechnung ist im Browser kostenlos.
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/optics/semitones-between-frequencies \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"frequency_1_hz":440,"frequency_2_hz":880}'const res = await fetch("https://api.kit.forhosting.com/optics/semitones-between-frequencies", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"frequency_1_hz": 440,
"frequency_2_hz": 880
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/optics/semitones-between-frequencies",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"frequency_1_hz": 440,
"frequency_2_hz": 880
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/optics/semitones-between-frequencies", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"frequency_1_hz":440,"frequency_2_hz":880}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"frequency_1_hz":440,"frequency_2_hz":880}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/optics/semitones-between-frequencies", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Beispiel-Anfrage
{
"frequency_1_hz": 440,
"frequency_2_hz": 880
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "optics.semitones_between_frequencies",
"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.
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. |