Semitoni tra frequenze
Il calcolatore di semitoni tra frequenze converte due frequenze positive nella loro distanza musicale con segno secondo il temperamento equabile a dodici toni.
Esegui gratis nel browser
Inserisca una frequenza iniziale e una finale in hertz: lo strumento calcola dodici volte il logaritmo in base due del loro rapporto. Il risultato descrive ottave e intervalli noti, ma anche frazioni di semitono utili per accordatura, acustica, analisi audio e correzione dell’intonazione. La risposta include inoltre il rapporto e indica se la seconda frequenza è superiore, inferiore o uguale alla prima.
Inserisca le frequenze nell’ordine desiderato
Usi frequency_1_hz come frequenza di riferimento o iniziale e frequency_2_hz come frequenza da confrontare. Entrambi i valori devono essere numeri finiti positivi espressi in hertz. L’ordine è importante perché il risultato ha un segno: 440 Hz seguito da 880 Hz produce dodici semitoni positivi, mentre l’ordine inverso produce meno dodici. Valori uguali restituiscono zero e la direzione unison. Sono ammessi decimali come 439.7 Hz o 261.625565 Hz. Non inserisca nomi di note, lunghezze d’onda, cents o rapporti; li converta prima in frequenze. La risposta ripete gli input accettati, così il calcolo può restare associato alle misure originali. La convalida respinge campi mancanti, zero, negativi, stringhe numeriche, infinito e dati non numerici, evitando che un logaritmo indefinito diventi un risultato fuorviante.
Comprenda il calcolo logaritmico
Il calcolatore divide la frequenza finale per quella iniziale, trova il logaritmo in base due del rapporto e moltiplica per dodici. È la struttura del temperamento equabile a dodici toni: raddoppiare una frequenza alza l’intonazione di un’ottava, log2(2) vale uno e dodici per uno dà dodici semitoni. Un rapporto unitario produce zero; un rapporto inferiore a uno produce un valore negativo. Diversamente da una tabella di nomi delle note, il metodo è continuo e può restituire 7.01955 semitoni per una quinta lievemente larga o 0.23 per un piccolo scarto. Rapporto e semitoni sono arrotondati a dodici decimali per rendere stabile il JSON, conservando una precisione più che adeguata alle misure pratiche. I campi formula e temperamento dichiarano la convenzione per i programmi che potrebbero altrimenti presumere cents, intonazione naturale o un’altra accordatura.
Interpreti e applichi il risultato con segno
Legga semitones come distanza diretta dalla prima frequenza alla seconda. Un valore positivo indica che la seconda è più alta, uno negativo che è più bassa e zero che coincidono. Il campo direction esprime lo stesso rapporto con up, down o unison, così un’interfaccia non deve dedurlo dal segno. Gli interi identificano passi esatti: dodici è un’ottava, sette una quinta e uno un semitono. Le frazioni sono spesso essenziali per accordare strumenti, confrontare picchi spettrali o impostare una variazione d’intonazione. Per ottenere i cents, moltiplichi il valore per cento. Mantenga la precisione originale delle misure ed eviti arrotondamenti preventivi. Ogni richiesta API riuscita costa $0.002 per elemento; la versione browser esegue localmente lo stesso calcolo deterministico e non invia frequenze a servizi esterni.
Casi d'uso
Misurare l’accordatura di uno strumento
Confronti una fondamentale misurata con la frequenza obiettivo e quantifichi lo scarto con segno in frazioni di semitono.
Impostare una variazione d’intonazione
Calcoli quanti semitoni occorrono per spostare un audio da una frequenza nota a un’altra.
Analizzare i picchi spettrali
Converta il rapporto tra due picchi rilevati in un intervallo comprensibile a musicisti e strumenti audio.
Domande frequenti
Quale formula usa il calcolatore?
Usa semitones = 12 × log2(frequency_2_hz / frequency_1_hz), la relazione standard del temperamento equabile a dodici toni.
Perché il risultato può essere negativo?
Un valore negativo indica che la seconda frequenza è più bassa. Inverta gli input per mantenere il modulo e cambiare il segno.
Il risultato può contenere una frazione di semitono?
Sì. I rapporti arbitrari raramente coincidono esattamente con i passi temperati, quindi i valori frazionari sono normali e utili.
Come si converte la risposta in cents?
Moltiplichi semitones per 100. Un semitono del temperamento equabile equivale a 100 cents.
Quali input non sono validi?
Sono respinti valori mancanti, zero, negativi, infiniti, non numerici e stringhe. Le frequenze devono essere numeri JSON finiti positivi in hertz.
Quanto costa una richiesta API?
Ogni richiesta API riuscita costa $0.002 per elemento. 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/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)Esempio di richiesta
{
"frequency_1_hz": 440,
"frequency_2_hz": 880
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "optics.semitones_between_frequencies",
"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. |