Frequência para número de nota MIDI
Esta calculadora de frequência para número de nota MIDI converte uma frequência positiva em hertz no inteiro MIDI mais próximo.
Executar grátis
Ela usa o temperamento igual de doze tons com o lá de concerto fixado em 440 hertz; assim, A4 corresponde a MIDI 69 e cada oitava altera o resultado em doze notas. Além do número arredondado, o resultado mostra o valor MIDI contínuo, a frequência exata da nota escolhida e a diferença em cents. O cálculo é determinístico, não precisa de rede e rejeita valores fora da faixa MIDI convencional de 0 a 127.
Entenda a relação entre frequência e MIDI
Os números de nota MIDI organizam alturas cromáticas em uma escala simples de inteiros. O dó central é MIDI 60, A4 é MIDI 69, e subir uma oitava soma doze. Porém, a frequência não aumenta por uma quantidade fixa de hertz entre as notas; ela cresce geometricamente. O temperamento igual divide cada oitava em doze razões de frequência iguais, e cada semitom multiplica a frequência pela raiz duodécima de dois. Esta calculadora inverte essa relação. Ela divide a frequência informada por 440, calcula o logaritmo de base dois, multiplica por doze e soma 69. O valor contínuo obtido mostra exatamente onde a entrada está na escala de alturas MIDI. O arredondamento desse valor para o inteiro mais próximo fornece o número de nota MIDI mais próximo. Por exemplo, 440 hertz gera exatamente 69, enquanto 880 hertz gera 81 por estar uma oitava acima. A resposta mantém o inteiro arredondado e um valor contínuo com dez casas decimais, o que ajuda quando você precisa tanto de uma tecla discreta quanto da posição da medição entre teclas. A referência fica deliberadamente fixa em A4 igual a 440 hertz, garantindo a mesma resposta para todos sem que uma afinação opcional altere a interpretação.
Interprete a nota mais próxima e a diferença de altura
Informe uma frequência positiva e finita em hertz no campo frequency. Os aliases frequency_hz e hz também são aceitos para facilitar a integração com dados de medição. O resultado principal é midi_note_number, um inteiro de 0 a 127. exact_midi_note_number contém o valor antes do arredondamento, e nearest_frequency_hz é a frequência de temperamento igual representada pelo inteiro MIDI selecionado na referência de 440 hertz. cents_difference descreve a distância restante: um valor positivo significa que a frequência informada está mais aguda que a nota selecionada, enquanto um valor negativo indica que está mais grave. Cem cents equivalem a um semitom temperado, por isso o resultado mais próximo costuma ter uma diferença entre aproximadamente menos cinquenta e mais cinquenta cents. Em um ponto médio exato, aplica-se a regra padrão de arredondamento do JavaScript, mantendo a execução reproduzível. A resposta também repete reference_frequency_hz como 440 e identifica o temperamento, evitando que programas posteriores confundam o resultado com afinação histórica ou entonação justa. Valores ausentes, zero, negativos, infinitos, texto não numérico e frequências cujo arredondamento saia da faixa MIDI convencional são rejeitados. A rejeição é melhor que a limitação silenciosa, pois transformar um extremo em nota 0 ou 127 deturparia a medição e poderia esconder um erro de unidade na origem.
Use a conversão em fluxos de áudio e medição
A calculadora é adequada quando um sistema mede ou armazena frequência, mas outro componente espera números de nota MIDI. Um script de análise de áudio pode converter um pico espectral detectado em índice de teclado antes de exibi-lo em uma interface de afinação. Um teste de sintetizador pode confirmar que um oscilador ajustado para 440 hertz corresponde à nota 69 e repetir a verificação em outras oitavas para encontrar erros em tabelas de afinação. Exercícios de laboratório e sala de aula podem relacionar logaritmos, razões de frequência e a convenção MIDI sem depender de tabelas prontas. Bibliotecários de samples podem obter uma nota raiz consistente da fundamental medida e preservar cents_difference para decidir se a gravação precisa de ajuste antes do mapeamento. O cálculo deve usar a frequência fundamental, e não qualquer pico do espectro, porque harmônicos fortes podem corresponder a números MIDI diferentes mesmo que a altura percebida seja mais baixa. A ferramenta não detecta altura em áudio, não identifica nomes de notas e não escolhe grafias enarmônicas; ela recebe uma frequência já medida e devolve um número. O uso interativo no navegador é gratuito, enquanto uma chamada automatizada à API custa US$ 0,002. Os dois caminhos usam a mesma aritmética determinística, sem serviços externos, aleatoriedade ou estado temporal, tornando a saída apropriada para testes reproduzíveis, ensino, preparação de metadados e validação.
Casos de uso
Saída de detector de altura
Transforme uma frequência fundamental medida no número MIDI mais próximo para um afinador, visualizador ou aplicativo musical.
Metadados de samples
Estime a nota raiz MIDI de um sample e confira a diferença em cents antes de atribuir o mapeamento do teclado.
Teste de osciladores
Crie verificações reproduzíveis de que frequências temperadas conhecidas correspondem aos inteiros MIDI esperados.
Perguntas frequentes
Qual fórmula converte frequência em número de nota MIDI?
O valor contínuo é 69 + 12 × log2(frequency / 440). O número MIDI mais próximo é esse valor arredondado para o inteiro mais próximo.
Qual é o número de nota MIDI de 440 Hz?
440 Hz é exatamente a nota MIDI 69, pois essa é a referência A4 usada pela calculadora.
A calculadora aceita referência diferente de 440 Hz?
Não. Esta capacidade usa intencionalmente 440 Hz para que os resultados tenham uma interpretação única e estável.
Por que a resposta inclui a diferença em cents?
Ela mostra quanto a entrada está acima ou abaixo da nota MIDI temperada mais próxima; positivo é mais agudo e negativo é mais grave.
Quanto custa o cálculo pela API?
Cada solicitação à API usa o preço base publicado de US$ 0,002. A execução interativa no navegador é gratuita.
Para desenvolvedores — acesso via API
Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
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)Exemplo de requisição
{
"frequency": 440
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "optics.frequency_to_midi_note",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |