Semitonos entre frecuencias
La calculadora de semitonos entre frecuencias convierte dos frecuencias positivas en su distancia musical con signo dentro del temperamento igual de doce tonos.
Ejecutar — gratis
Introduzca una frecuencia inicial y otra final en hercios; la herramienta evaluará doce veces el logaritmo en base dos de su cociente. El resultado sirve tanto para octavas e intervalos conocidos como para fracciones de semitono empleadas en afinación, acústica, análisis de audio y corrección de tono. También devuelve la razón y señala si la segunda frecuencia está por encima, por debajo o coincide con la primera.
Introduzca las frecuencias en el orden deseado
Use frequency_1_hz como frecuencia de referencia o de partida y frequency_2_hz como frecuencia que desea comparar. Ambos valores deben ser números finitos positivos expresados en hercios. El orden es importante porque la respuesta lleva signo: 440 Hz seguido de 880 Hz produce doce semitonos positivos, mientras que el orden inverso produce doce negativos. Dos valores iguales dan cero y la dirección unison. Puede introducir decimales, por ejemplo 439.7 Hz o 261.625565 Hz. No escriba nombres de notas, longitudes de onda, cents ni razones; conviértalos antes a frecuencias. La respuesta repite las entradas aceptadas para facilitar su registro. La validación rechaza campos ausentes, cero, negativos, cadenas numéricas, infinito y datos no numéricos, en lugar de devolver un logaritmo indefinido o un resultado engañoso.
Comprenda el cálculo logarítmico
Primero se divide la frecuencia final por la inicial; después se obtiene el logaritmo en base dos de esa razón y se multiplica por doce. Así funciona el temperamento igual de doce tonos: duplicar una frecuencia eleva el tono una octava, log2(2) vale uno y doce por uno da doce semitonos. Una razón igual a uno produce cero, y una razón menor que uno da una distancia negativa. A diferencia de una tabla de nombres de notas, este método es continuo y puede devolver 7.01955 semitonos para una quinta ligeramente ancha o 0.23 para una pequeña desviación. La razón y los semitonos se redondean a doce decimales para estabilizar el JSON sin perder precisión útil. Los campos de fórmula y temperamento explicitan la convención cuando el resultado se comparte con sistemas que podrían usar cents, entonación justa u otra afinación.
Interprete y aplique el resultado con signo
Lea semitones como la distancia dirigida desde la primera frecuencia hasta la segunda. Un valor positivo indica que la segunda es más alta; uno negativo, que es más baja; y cero, que ambas coinciden. El campo direction expresa la misma relación como up, down o unison para que una interfaz no tenga que deducirla del signo. Los enteros representan pasos exactos del temperamento igual: doce es una octava, siete una quinta y uno un semitono. Las fracciones resultan especialmente útiles al afinar instrumentos, comparar picos espectrales o configurar un desplazamiento de tono. Para obtener cents, multiplique el valor por cien. Conserve la precisión original de las mediciones y no redondee antes de calcular. Cada solicitud API correcta cuesta $0.002 por elemento; la versión del navegador ejecuta localmente el mismo cálculo determinista, sin enviar frecuencias a terceros.
Qué puede hacer con ella
Medir la afinación de un instrumento
Compare una fundamental medida con su frecuencia objetivo y cuantifique la desviación con signo en fracciones de semitono.
Configurar un desplazamiento de tono
Calcule cuántos semitonos debe aplicar para mover audio grabado desde una frecuencia conocida hasta otra.
Analizar picos espectrales
Convierta la razón entre dos picos detectados en un intervalo comprensible para músicos y herramientas de audio.
Preguntas frecuentes
¿Qué fórmula utiliza la calculadora?
Utiliza semitones = 12 × log2(frequency_2_hz / frequency_1_hz), la relación estándar del temperamento igual de doce tonos.
¿Por qué el resultado puede ser negativo?
Un resultado negativo indica que la segunda frecuencia es más baja. Invierta las entradas para conservar la magnitud y cambiar el signo.
¿El resultado puede contener una fracción de semitono?
Sí. Las razones arbitrarias rara vez coinciden exactamente con los pasos temperados, por lo que las fracciones son normales y útiles.
¿Cómo convierto la respuesta a cents?
Multiplique semitones por 100. Un semitono del temperamento igual equivale a 100 cents.
¿Qué entradas no son válidas?
Se rechazan valores ausentes, cero, negativos, infinitos, no numéricos y cadenas. Ambas frecuencias deben ser números JSON finitos positivos en hercios.
¿Cuánto cuesta una solicitud API?
Cada solicitud API correcta cuesta $0.002 por elemento. El mismo cálculo determinista es gratuito en el navegador.
Para desarrolladores — acceso por API
Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.
Endpoint de API
¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, por email y desde Telegram — y pronto también desde nuestra app.
Llámela desde su 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)Ejemplo de solicitud
{
"frequency_1_hz": 440,
"frequency_2_hz": 880
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "optics.semitones_between_frequencies",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.
Precio
Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.
Errores
| HTTP | Código | Significado |
|---|---|---|
401 | unauthorized | API key ausente o inválida. |
402 | insufficient_balance | El saldo no cubre el precio de la tarea. |
404 | unknown_type | El tipo de tarea no existe. |
429 | rate_limited | Demasiadas peticiones. Use el webhook en vez de sondear. |