Razón de intervalos en afinación pitagórica
Esta calculadora convierte una cantidad con signo de quintas puras en una razón de frecuencias exacta.
Ejecutar — gratis
Introduzca un valor positivo para avanzar por el círculo de quintas o uno negativo para retroceder. Puede situar el resultado en una sola octava sin alterar su clase de altura y muestra la fracción exacta, la razón decimal, el desplazamiento de octava y el tamaño en cents. Resulta útil para estudiar afinación, revisar tablas de intervalos y comparar grafías pitagóricas sin perder la aritmética exacta por redondeo.
Construya un intervalo con quintas puras
La afinación pitagórica parte de la quinta pura, cuya razón de frecuencias es exactamente 3:2. Apilar quintas significa multiplicar esa razón una vez por cada paso ascendente; por ello, siete quintas producen (3/2)^7. Un valor negativo avanza en sentido contrario y emplea el recíproco, (2/3), en cada paso. Introduzca cero para obtener el unísono, uno para una quinta pura, dos para la segunda mayor pitagórica tras reducir la octava, o cualquier entero con signo dentro del límite indicado. La calculadora realiza la aritmética racional con enteros, sin redondear repetidamente valores decimales. El numerador y el denominador conservan así la razón teórica exacta. Esta diferencia importa al apilar muchas quintas: el decimal mostrado facilita las mediciones, pero solo es una aproximación, mientras que la fracción registra con precisión cómo se construyó el intervalo. Los valores positivos y negativos se procesan simétricamente, lo que permite recorrer una cadena de quintas en ambos sentidos y comprobar relaciones inversas entre intervalos.
Comprenda la normalización de octava y el desplazamiento
Los intervalos generados por varias quintas pronto superan una sola octava. La normalización multiplica o divide la razón original por potencias de dos hasta situarla entre 1:1 incluido y 2:1 excluido. Como una octava identifica alturas de la misma clase, la reducción mantiene la identidad pitagórica y presenta el intervalo en el rango habitual de las tablas de afinación. El campo `octave_shift` explica la operación: un valor negativo indica que la razón apilada se dividió por ese número de octavas; uno positivo indica que se elevó por octavas después de descender quintas. Desactive la normalización cuando necesite el intervalo compuesto literal creado por toda la pila. En ese modo, el desplazamiento vale cero y la fracción permanece como (3/2)^n o su recíproco. Comparar llamadas normalizadas y sin normalizar permite separar la multiplicación física de frecuencias acumulada y el intervalo simple equivalente por octava al que normalmente se asigna un nombre musical conocido.
Combine razones exactas, decimales y cents
El resultado ofrece varias representaciones del mismo intervalo porque cada una resuelve una tarea distinta. Use `ratio`, `numerator` y `denominator` para copiar valores exactos en una tabla de afinación, demostrar una relación o calcular una frecuencia objetivo mediante aritmética racional. Use `decimal_ratio` para multiplicar una frecuencia de referencia en un script de sintetizador o una hoja de cálculo. Use `cents` para comparar el resultado con el temperamento igual de doce tonos u otro sistema, pues los cents convierten razones multiplicativas en una escala aditiva. Por ejemplo, puede calcular una altura pitagórica, comparar su valor con el paso temperado de 100 cents más cercano e interpretar la diferencia como ajuste. La calculadora describe intervalos, no asigna nombres de nota: la grafía enarmónica depende de la nota inicial y del sentido de la cadena. La fracción exacta sigue siendo inequívoca aunque dos grafías parezcan iguales en un teclado y revela diferencias pequeñas, como la coma pitagórica, que las etiquetas redondeadas pueden ocultar.
Qué puede hacer con ella
Construir una escala pitagórica
Genere razones exactas reducidas a una octava para posiciones sucesivas de una cadena de quintas puras.
Comparar sistemas de afinación
Use el resultado en cents para medir la diferencia entre un intervalo pitagórico y su equivalente temperado.
Revisar un instrumento o sintetizador
Multiplique una frecuencia base por la razón decimal o convierta los cents en un ajuste de afinación.
Preguntas frecuentes
¿Qué es una quinta pura?
Es un intervalo con la razón de frecuencias exacta 3:2: la frecuencia superior equivale a una vez y media la inferior.
¿Qué significa una cantidad negativa de quintas?
Apila quintas descendentes mediante la razón recíproca 2:3 antes de cualquier normalización de octava opcional.
¿Qué modifica la normalización de octava?
Solo cambia el registro mediante una potencia exacta de dos y sitúa la razón entre 1:1 y 2:1 sin alterar su clase de altura.
¿Por qué el numerador y el denominador son cadenas?
Los enteros exactos grandes pueden superar el rango numérico seguro de JSON en JavaScript. Las cadenas conservan todos los dígitos.
¿La calculadora devuelve un nombre de nota?
No. El nombre exige también una altura inicial y una convención de escritura; aquí se devuelve el intervalo producido por las quintas.
¿Cuánto cuesta una solicitud API?
Cada solicitud API cuesta $0.002. La versión determinista para navegador también puede ejecutarse localmente en la página.
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/hobby/music-pythagorean-ratio \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"fifths":7}'const res = await fetch("https://api.kit.forhosting.com/hobby/music-pythagorean-ratio", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"fifths": 7
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/hobby/music-pythagorean-ratio",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"fifths": 7
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/hobby/music-pythagorean-ratio", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"fifths":7}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"fifths":7}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/hobby/music-pythagorean-ratio", 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
{
"fifths": 7
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "hobby.music_pythagorean_ratio",
"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.
Límites
max_fifths | 100 |
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. |