gortty is a RTTY modulator/demodulator library for the Go language. The guts of it were derived from the openbaudot C library created David Rowe:
https://sourceforge.net/projects/openbaudot/
The library is based around 4 signal processing modules:
Converts UTF8 strings into 5 level code, supporting the following alphabets:
In addition to basic code translation, the coder inserts the necessary shift and unshift control codes as required. It also ensures that line length limits are respected. While all of the currently implemented alphabets are 5 unit codes, the library supports up to 8 unit codes.
From the coded output produced by the encoder, the modulator generates a 16 bit signed audio FSK waveform. Baud rate, fractional stop bits, marking and spacing frequencies are all configurable.
Accepting a 16 bit signed audio FSK waveform as input, the demodulator generates a stream of coded characters. Supporting the same configuration flexibility as the modulator, the demodulator also supports an auto-baud mode to automatically recover the baud rate from a received samples.
The decoder operates in reverse of the encoder.
This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.
This library was created Keelan Lightfoot. The baudot translation and DSP sections are based closely on the work of David Rowe in his openbaudot C library.