DeepCW: um decodificador de CW com redes neurais, direto no navegador

Quem opera CW sabe: nada substitui o ouvido treinado. Mas também sabemos como é frustrante tentar decodificar um sinal fraco com QSB, ruído e vizinhos de frequência atrapalhando. Os decodificadores tradicionais costumam sofrer nessas horas, e é aí que entra o DeepCW.

O que é

O DeepCW é um decodificador de código Morse (CW) em tempo real que usa uma rede neural para transformar o áudio em texto. Ele roda direto no navegador, sem instalação, em https://deepcw.cc/. O projeto é de código aberto e o repositório está em https://github.com/e04/web-deep-cw-decoder.

Principais recursos

  • Decodificação em tempo real com aprendizado profundo.
  • Robustez em sinais fracos, com QSB e em condições ruidosas.
  • Decodificação multicanal, para acompanhar vários sinais de CW ao mesmo tempo.
  • Redução de ruído por IA com passagem de áudio: além de decodificar, o DeepCW devolve o áudio tratado, para você ouvir o sinal mais limpo.
  • Multiplataforma: Windows, macOS, Android e iOS, já que roda no navegador.

Os números

O autor publicou um benchmark em modo HIGH, com ruído branco gaussiano (AWGN) e SNR referenciada a uma banda de ruído de 2.500 Hz. A métrica é a taxa de erro de caracteres (CER). Os resultados:

  • 0,00% de erro de 0 a -4 dB de SNR, em todas as velocidades testadas.
  • Praticamente sem erros em -6 dB.
  • Abaixo de 1,5% em -8 dB.
  • Abaixo de 8% em -10 dB, em toda a faixa de velocidades.

Ou seja, o desempenho cai de forma gradual, sem um “precipício” quando o sinal se aproxima do piso de ruído.

Deepcw Cer
CER – Character Error Rate ou Taxa de erro por caractere VS relação Sinal-Ruido

Comparação com CW Skimmer, fldigi e ggmorse

O autor também comparou o DeepCW com o CW Skimmer, o fldigi e o ggmorse, usando trechos reais de QSOs em CW publicados no YouTube. Em um dos exemplos, a troca de reportes entre AI5DD e AE0Q, o DeepCW reproduziu indicativos e reportes quase integralmente, errando sobretudo os espaços entre palavras. Os outros decodificadores tiveram mais trocas de caracteres e lixo no meio do texto.

Vale uma ressalva, que o próprio autor faz: a comparação não é um ranking geral desses programas. Ela reflete apenas os trechos, configurações e método usados nos testes. Fldigi, CW Skimmer e ggmorse são projetos importantes para o hobby e continuam excelentes em muitos cenários. O melhor teste é abrir o DeepCW e comparar com o seu próprio áudio.

Para quem quer ir mais fundo

O modelo e uma implementação de referência estão num repositório separado, o DeepCW Engine (https://github.com/e04/deepcw-engine), com o modelo, os metadados e exemplos em Python e Node.js para decodificar CW a partir de arquivos WAV. Quem gosta de programar pode integrar o decodificador em seus próprios projetos. O autor também tem o HamNoise (https://github.com/e04/HamNoise), relacionado à redução de ruído.

Como experimentar

  1. Acesse https://deepcw.cc/ no navegador do computador ou do celular.
  2. Permita o acesso ao áudio (microfone ou entrada de áudio do rádio, conforme seu setup).
  3. Sintonize uma estação de CW e acompanhe o texto aparecendo na tela.

Para testar com calma, você pode também reproduzir gravações de QSOs no computador e deixar o DeepCW “ouvindo”.

Considerações finais

Decodificadores nunca vão substituir o prazer de copiar CW de ouvido, e muita gente prefere assim. Mas como ferramenta de apoio para estudo, para conferir um indicativo duvidoso, para acompanhar um pileup ou para praticar com sinais fracos, o DeepCW é uma adição interessante e gratuita ao nosso conjunto de ferramentas.

Se testar, conte nos comentários como foi a experiência na sua estação. 73!


Link do projeto: https://github.com/e04/web-deep-cw-decoder | Aplicação web: https://deepcw.cc/


1 comentário em “DeepCW: um decodificador de CW com redes neurais, direto no navegador”

  1. Espero que este seja apenas o começo do uso de redes neurais (além de outros instrumentos de I.A.) em benefício dos radioamadores. TKS Renner, 73!

    Responder

Deixe um comentário