No final: eu não responderei exatamente a sua pergunta, mas a ajuda está a caminho.
Você precisa de um programa para gerar os sons. O comando beep
pode ajudar.
E você pode tentar codificar todos os detalhes como esse cara também tentou usando o bipe. Como enviar um tom de 1000 Hz por 2 segundos para o alto-falante (a depuração mostrará exatamente o que está sendo feito):
beep --debug -f 1000 -l 2000
Mas bipe só usa o alto-falante do PC para gerar tons.
E o seu computador pode não ter um alto-falante instalado.
No entanto, é realmente muito fácil gerar um som no linux: envie para /dev/audio
$ echo "test" > /dev/audio
Claro, "teste" é uma onda de som muito ruim, soará como um simples "salto".
Para realmente gerar um tom útil, você precisa criar todos os valores em uma onda senoidal em um arquivo e, em seguida, enviar o arquivo para /dev/audio
. E aqui está um exemplo grosseiro de exatamente esta ideia .
Na verdade, tudo o que já foi codificado em um comando projetado para morse : cw.
Nos derivativos do Debian, instale-o com: apt-get cw
.
Em seguida, execute isto:
echo "test" | cw
E essa é a razão pela qual "não vou responder exatamente a sua pergunta", porque cw
faz todo o trabalho para você. Ele converte os caracteres em traço e ponto, cria uma onda sonora para cada um e envia para a placa de som.
Na verdade, a quantidade de ajuda disponível no Linux para o rádio Ham é esmagadora:
https://radio.linux.org.au/?sectpat=morse
E isso é somente para morse.