Calculadora de subdivisão de metrônomo
A 120 BPM um pulso dura 500 ms e cada semicolcheia 125 ms, ou seja, 8 cliques por segundo. Informe um andamento e uma subdivisão, como colcheias, tercinas ou semicolcheias, para montar seu estudo ou um delay. Grátis no seu navegador.
- Grátis
- Funciona no seu navegador
- Sem cadastro
- Seus dados não saem do seu aparelho
Executar grátis
Exemplo resolvido
- Andamento
- 120
- Subdivisão
- 4
- Andamento bpm
- 120
- Subdivisão
- 4
- Rótulo da subdivisão
- sixteenth
- Tempo (batida) ms
- 500
Músicos, usuários de DAW e criadores de ferramentas de estudo precisam constantemente da mesma conversão: neste andamento, quanto dura uma colcheia em milissegundos e quantos cliques de subdivisão por segundo o metrônomo deve disparar? Esta capacidade responde às duas perguntas com aritmética transparente — sem motor de áudio, sem buffer de amostra e sem swing oculto. Você passa um andamento positivo em batidas por minuto e uma subdivisão (um número positivo de notas por tempo, como 2, 3 ou 4, ou um nome como colcheia, tercina ou semicolcheia). O serviço retorna a duração do tempo em ms, a duração da subdivisão em ms, a frequência de cliques em hertz e um rótulo normalizado.
O que andamento e subdivisão significam em milissegundos
O andamento é indicado em batidas por minuto: cento e vinte BPM significa cento e vinte pulsos de semínima a cada sessenta segundos, então cada tempo dura sessenta mil dividido por cento e vinte, igual a quinhentos milissegundos. Uma subdivisão é quantos cliques iguais você coloca dentro desse tempo. Dois significa colcheias (duas partes iguais por tempo), três significa tercinas, quatro significa semicolcheias, e assim por diante.
A duração de cada subdivisão é, portanto, a duração do tempo dividida por essa contagem: a cento e vinte BPM com semicolcheias você obtém cento e vinte e cinco milissegundos por clique. A frequência em hertz é o inverso em segundos: mil dividido pela duração em milissegundos, que se simplifica para andamento vezes subdivisão sobre sessenta.
Como a matemática é uma divisão pura de dois escalares, todo runtime retorna os mesmos valores arredondados para as mesmas entradas, o que torna o resultado seguro para testes de referência, tabelas de firmware de dispositivos e pipelines em lote sem desvios.
Onde se encaixa em fluxos de música e produto
Equipes de aplicativos de estudo coletam o BPM-alvo e a grade preferida de um usuário e precisam de intervalos exatos de clique antes de agendar callbacks de Web Audio ou Core Audio. Autores de plugins de DAW convertem o andamento do host e um menu de subdivisão em taps de linha de atraso ou passos de arpejador sem reimplementar divisões sensíveis a ponto flutuante que discordam no arredondamento.
Educadores musicais criam ferramentas de sala de aula que mostram aos alunos por que uma tercina a noventa BPM soa diferente de colcheias diretas. O caminho no navegador é gratuito para verificações avulsas: informe cento e vinte BPM e quatro (semicolcheias) e confirme cento e vinte e cinco ms e oito hertz.
Casos de uso
Grades de clique de aplicativos de estudo
Converta o BPM do usuário e a grade escolhida (colcheias, tercinas, semicolcheias) em intervalos de milissegundos para agendamento com Web Audio.
Perguntas frequentes
Quanto custa?
O mesmo cálculo roda de graça no seu navegador nesta página.
Por que a minha requisição foi rejeitada?
O andamento deve ser um número positivo (maior que zero, no máximo 1000 BPM). A subdivisão deve ser um número positivo ou um nome conhecido.
Isto gera áudio?
Não. Ele só retorna números de timing (milissegundos e hertz). Use a sua própria amostra de clique ou oscilador com esses valores.
Quanto dura uma semicolcheia a 120 BPM?
125 milissegundos. Nesse andamento cada pulso dura 500 ms e a semicolcheia o divide em quatro cliques iguais, então o metrônomo toca 8 vezes por segundo.
Como calculo a duração de um pulso em milissegundos?
Divida um minuto, ou seja, sessenta mil milissegundos, pelo andamento. A 120 BPM dá 500 ms por pulso; depois divida pela subdivisão para obter cada clique.
Ferramentas relacionadas
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/hobby/metronome-subdivision \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"tempo":120,"subdivision":"4"}'const res = await fetch("https://api.kit.forhosting.com/hobby/metronome-subdivision", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"tempo": 120,
"subdivision": "4"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/hobby/metronome-subdivision",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"tempo": 120,
"subdivision": "4"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/hobby/metronome-subdivision", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"tempo":120,"subdivision":"4"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"tempo":120,"subdivision":"4"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/hobby/metronome-subdivision", 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
{
"tempo": 120,
"subdivision": "4"
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "hobby.metronome_subdivision",
"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. |
Notas técnicas
O que andamento e subdivisão significam em milissegundos
Esses dois números — duration_ms e frequency_hz — são o que sequenciadores, metrônomos de LED, aplicativos de estudo e conversores de clock MIDI precisam ao agendar eventos ou acionar uma trilha de clique.
Como chamar a API e ler a resposta
Formas curtas como 8th e 16th também funcionam. Não há salto de rede, chamada de modelo nem aleatoriedade, então a latência fica na faixa de parse puro no edge. Envie dois campos obrigatórios: tempo como um número positivo em BPM (os aliases tempo_bpm, bpm e beats_per_minute são aceitos) e subdivision como um número positivo de notas por tempo ou um nome comum, como quarter, eighth, sixteenth, triplet, sextuplet ou thirtysecond. Andamento não positivo falha imediatamente com invalid_input mencionando tempo e não é cobrado; subdivisão ausente ou não interpretável também gera invalid_input com um nome de campo claro. Uma resposta bem-sucedida retorna tempo_bpm, a subdivisão numérica usada, um subdivision_label para exibição, beat_ms, duration_ms, frequency_hz e rótulos de unidade para duração e frequência. Os valores são arredondados a seis casas decimais para que o JSON permaneça idêntico entre isolates e navegadores. Combine a duração com a taxa de amostragem do seu motor de áudio se precisar de offsets de amostra, ou alimente frequency_hz em um oscilador ou driver de piscar de LED.
Onde se encaixa em fluxos de música e produto
O firmware de metrônomos de hardware pode pré-calcular tabelas offline a partir da mesma fórmula e reverificá-las com JSON de referência. Desenvolvedores de jogos e instalações interativas sincronizam shows de luz ou pulsos hápticos a grades musicais usando frequency_hz como clock. O caminho da API custa US$ 0,002 por requisição bem-sucedida e é cobrado por item, o que mantém baratos os geradores de presets em massa e os scripts de onboarding móvel sem deixar de cobrir a execução no edge. Como os resultados são determinísticos, os logs de auditoria podem armazenar a resposta completa e reexecutá-la anos depois sem desvios, e as suítes de regressão fixam o JSON esperado exato para cada nome suportado e subdivisão numérica.
Casos de integração
Tabelas de timing de DAW e plugins
Mapeie o andamento do host mais um controle de subdivisão em taps de atraso, passos de arpejador ou taxas de piscar de LED com JSON estável.
Demonstrações de educação musical
Mostre aos alunos como a duração do tempo e a subdivisão interagem retornando duration_ms e frequency_hz para comparação lado a lado.
Perguntas técnicas
Como se calcula duration_ms?
beat_ms = 60000 / tempo_bpm, e então duration_ms = beat_ms / subdivision (notas por tempo). A frequência é andamento × subdivisão / 60 hertz.
Quais valores de subdivisão são aceitos?
Qualquer número positivo de notas por tempo, ou nomes como quarter, eighth, sixteenth, triplet, sextuplet e thirtysecond (além de aliases comuns como 8th e 16th).