Leitor de Código Morse

Toque Morse no seu microfone, ou envie uma gravação, e leia o que está escrito. Você não precisa saber a velocidade: ela sai do próprio sinal.

O áudio não sai do seu dispositivo. Ele é decodificado na própria página e nada é enviado ou armazenado.

Como usar

  1. Toque em Começar a ouvir e permita o microfone quando o navegador pedir.
  2. Toque o Morse, de uma caixa de som, de um manipulador, de uma lanterna apontada para outro aparelho, qualquer coisa que fique alta e baixa no ritmo certo.
  3. Toque em Parar e decodificar. Aparecem o texto, o Morse e a velocidade que ele leu.

Como ele lê um sinal

Ele mede a energia em janelas curtas, de alguns milissegundos cada, o que dá o formato do som em vez do som em si. Esse formato é uma sequência de trechos altos e trechos silenciosos, e todo o resto sai do comprimento deles. Como trabalha com energia e não com altura do tom, nunca precisa saber que tom procurar: um tom de 600 Hz, um bipe de 1 kHz e uma cigarra são lidos do mesmo jeito.

O limiar entre alto e baixo vem da própria gravação, já que não há como saber de antemão o nível absoluto de um microfone. Depois os comprimentos dos tons são separados em dois grupos: pontos e traços ficam numa proporção de três para um, e o grupo menor dá o ponto, que dá a velocidade, que dá todo o resto.

Uma sutileza que vale dizer, porque é a diferença entre quase certo e certo: o detector liga no meio da subida de cada tom e desliga no meio da descida, então todo tom mede um pouco menos e toda pausa um pouco mais, na mesma medida. Ler os dois e tirar a média cancela o erro exatamente. Ler só os tons daria uma velocidade alguns por cento rápida demais.

O que ele não vai fazer

Não vai adivinhar. Se o som não tiver chaveamento nenhum, seja silêncio, seja um tom contínuo, ele diz isso em vez de produzir uma sequência plausível. Se os tons estiverem lá mas a velocidade não puder ser determinada, ele diz isso também. Nos dois casos, um decodificador que sempre devolve uma resposta está devolvendo ficção.

Ele também decodifica depois que você para, e não enquanto ouve. Ler Morse depende inteiramente de quanto tempo cada som dura, e uma leitura ao vivo feita do jeito fácil amostra o microfone com buracos, o que estraga justamente a medida em que todo o resto se apoia. Decodificar a gravação inteira de uma vez é mais lento de assistir e é correto.

Perguntas frequentes

Preciso informar a velocidade?

Não, e nem dá. A velocidade é medida do próprio sinal: os tons se separam em dois grupos numa proporção de três para um, e o menor é o ponto. É também assim que um operador humano faz: primeiro se acha o ritmo, depois as letras.

O áudio vai para algum lugar?

Não. A decodificação acontece na própria página, no seu aparelho. Nada é enviado, nada é guardado, e o microfone só é aberto depois que você aperta o botão.

Por que às vezes ele diz que não conseguiu fixar a velocidade?

Porque algumas transmissões realmente não têm como ser lidas. Um sinal só de traços separados por pausas de letra tem exatamente o mesmo desenho de sons e silêncios que um sinal só de pontos separados por pausas de elemento: "T T T" e "S" são a mesma gravação em velocidades diferentes. Em vez de escolher uma e apresentar como fato, ele avisa.

Por que funciona melhor com um tom limpo do que numa sala?

Porque ele lê o formato do som ao longo do tempo, então tudo que mexe nesse formato custa precisão: o eco da sala borra as bordas de cada elemento, e o ruído de fundo levanta o piso até as partes silenciosas deixarem de ser silenciosas. Ele pede ao navegador para desligar cancelamento de eco, supressão de ruído e ganho automático justamente por isso: o ganho automático existe para achatar partes altas e baixas, que é exatamente o sinal aqui.

Se você já tem os pontos e traços escritos, o decodificador é a ferramenta certa. Para gerar um sinal que este aqui possa ler, a página de áudio toca ou baixa qualquer mensagem.