Frecuencia a número de nota MIDI
Esta calculadora de frecuencia a número de nota MIDI convierte una frecuencia positiva en hercios en el entero MIDI más cercano.
Ejecutar — gratis
Emplea temperamento igual de doce tonos con el la de concierto fijado en 440 hercios; por ello, A4 corresponde a MIDI 69 y cada octava cambia el resultado en doce notas. Además del número redondeado, muestra el valor MIDI continuo, la frecuencia exacta de la nota seleccionada y la diferencia en cents. El cálculo es determinista, no requiere red y rechaza valores fuera del intervalo MIDI convencional de 0 a 127.
Comprenda la relación entre frecuencia y MIDI
Los números de nota MIDI sitúan las alturas cromáticas en una escala sencilla de enteros. El do central es MIDI 60, A4 es MIDI 69 y subir una octava suma doce. Sin embargo, la frecuencia no aumenta una cantidad fija de hercios entre notas, sino de forma geométrica. El temperamento igual divide cada octava en doce razones de frecuencia idénticas, y cada semitono multiplica la frecuencia por la raíz duodécima de dos. Esta calculadora invierte esa relación: divide la frecuencia indicada entre 440, calcula el logaritmo en base dos, multiplica por doce y suma 69. El valor continuo resultante indica la posición exacta de la entrada en la escala MIDI. Al redondearlo al entero más cercano se obtiene el número de nota MIDI próximo. Por ejemplo, 440 hercios produce exactamente 69 y 880 hercios produce 81, pues está una octava más arriba. La respuesta conserva el entero redondeado y un valor continuo con diez decimales, útil cuando usted necesita tanto una tecla discreta como la posición de la medición entre teclas. La referencia permanece fijada en A4 igual a 440 hercios para ofrecer resultados uniformes a todos los usuarios, sin que un ajuste opcional cambie su interpretación.
Interprete la nota próxima y la diferencia de altura
Introduzca una frecuencia positiva y finita en hercios mediante el campo frequency. También se aceptan los alias frequency_hz y hz para integrar datos de medición con facilidad. El resultado principal, midi_note_number, es un entero entre 0 y 127. exact_midi_note_number contiene el valor anterior al redondeo, mientras nearest_frequency_hz indica la frecuencia de temperamento igual representada por ese entero MIDI con la referencia de 440 hercios. cents_difference expresa la distancia restante: un valor positivo significa que la entrada es más aguda que la nota seleccionada y uno negativo, que es más grave. Cien cents equivalen a un semitono temperado, de modo que la diferencia suele estar entre menos cincuenta y más cincuenta cents. En un punto medio exacto se aplica la regla estándar de redondeo de JavaScript, lo que mantiene una ejecución reproducible. La respuesta repite reference_frequency_hz como 440 e identifica el temperamento para evitar que otro programa confunda el cálculo con afinación histórica o entonación justa. Se rechazan campos ausentes, cero, negativos, infinitos, texto no numérico y frecuencias cuyo resultado redondeado quede fuera del intervalo MIDI convencional. Rechazar es mejor que limitar, ya que convertir silenciosamente un extremo en 0 o 127 falsearía la medición y podría ocultar un error de unidades anterior.
Aplique la conversión en audio y medición
La calculadora resulta útil cuando un sistema mide o guarda frecuencias y otro componente espera números de nota MIDI. Un análisis de audio puede convertir un pico espectral detectado en un índice de teclado antes de mostrarlo en un afinador. Una prueba de sintetizador puede comprobar que un oscilador a 440 hercios corresponde a la nota 69 y repetir la verificación por octavas para descubrir errores en tablas de afinación. En laboratorios y clases permite relacionar logaritmos, razones de frecuencia y numeración MIDI sin consultar tablas. Quienes catalogan muestras pueden obtener una nota raíz coherente a partir de la fundamental medida y conservar cents_difference para decidir si conviene reafinar la grabación. Debe utilizarse la frecuencia fundamental, no cualquier pico del espectro, porque los armónicos fuertes pueden corresponder a otros números MIDI aunque la altura percibida sea inferior. La herramienta no detecta la altura desde audio, no asigna nombres de nota ni decide grafías enarmónicas; recibe una frecuencia ya medida y devuelve un número. El uso interactivo en el navegador es gratuito y una solicitud automatizada a la API cuesta $0.002. Ambos caminos ejecutan la misma aritmética determinista, sin servicios externos, azar ni estado temporal, por lo que el resultado sirve para pruebas repetibles, enseñanza, preparación de metadatos y procesos de validación.
Qué puede hacer con ella
Salida de un detector de altura
Convierta una frecuencia fundamental medida en el número MIDI más cercano para un afinador, visualizador o programa musical.
Metadatos de muestras
Estime la nota raíz MIDI de una muestra y revise su diferencia en cents antes de asignar el mapa del teclado.
Pruebas de osciladores
Cree comprobaciones repetibles para confirmar que frecuencias temperadas conocidas corresponden a los enteros MIDI previstos.
Preguntas frecuentes
¿Qué fórmula convierte la frecuencia en número de nota MIDI?
El valor continuo es 69 + 12 × log2(frequency / 440). El número MIDI más cercano es ese valor redondeado al entero próximo.
¿Qué número de nota MIDI corresponde a 440 Hz?
440 Hz corresponde exactamente a MIDI 69 porque es la referencia A4 empleada por esta calculadora.
¿Admite una referencia distinta de 440 Hz?
No. Esta capacidad se fija deliberadamente en 440 Hz para que todos sus resultados tengan una interpretación estable.
¿Por qué incluye una diferencia en cents?
Indica cuánto queda la entrada por encima o por debajo de la nota MIDI temperada más cercana; positivo es agudo y negativo es grave.
¿Cuánto cuesta el cálculo mediante la API?
Cada solicitud a la API utiliza el precio base publicado de $0.002. La ejecución interactiva en el navegador es gratuita.
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/frequency-to-midi-note \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"frequency":440}'const res = await fetch("https://api.kit.forhosting.com/optics/frequency-to-midi-note", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"frequency": 440
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/optics/frequency-to-midi-note",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"frequency": 440
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/optics/frequency-to-midi-note", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"frequency":440}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"frequency":440}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/optics/frequency-to-midi-note", 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": 440
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "optics.frequency_to_midi_note",
"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. |