- Output string representation to
stdout. - Output sound representation to a
.wavfile via the--outputflag. - Supports short flags like
-s(sound) and-o(output). - Configure sound pitch, speed, and tone.
Installing morse requires that you have Go installed in your system. Then run:
go install github.com/jlondonobo/morse@latestTo translate text to Morse code, run:
morse 'Vamos' -sThis command will write the string representation to standard output and play it on your speakers.
To name the ouput file something different, use the --file-name (-f) flag. For example:
morse 'Lets go, Carlos, lets go' -sf 'carlitos.wav'By default, morse plays a 700Hz sine wave at 20 words per minute. But you can change its pitch, speed, and tone.
Morse supports configuring the ouptut sound using the --pitch, --speed, and --tone flags.
You can set the pitch anywhere from 300Hz to 1000Hz via the --pitch flag.
morse 'Ace' -s --pitch 500Morse code speed is measured in words per minute (wpm). Because characters might have different lengths, the convention is to meausre words per minute using the word "PARIS " with a space at the end.
morse produces sound outputs at 20wpm, try adjusting it to anything between 5-40 wpm.
morse 'What a magnificent shot' -s --speed 35Set the output tone to one of sine, triangle, sawtooth and square. Via the --tone flag.
morse 'And the champion of the 2025 Nitto ATP finals is Jannik Sinner' -s --tone trianglesine: The base, smooth. Makes up all other waves.square: Richer and buzzier.triangle: Between sine and square.sawtooth: More friction and the buzziest of all.
-
Enable saving sound to file
-
Make functions run in parallel
-
Set up short-version flags
-
Extend punctuation
-
Add a default file name for better ergonomics
-
Enable editing sound qualities
- Speed
- Pitch
- Tone
-
Improve efficiency of steream construction / duplication.
-
Improve error handling in goroutine
