software

mbeep - tool plays tones, MIDI notes, or Morse code on default audio device or creates .wav file.

codegroups - tool prints random 5-character code groups for Morse code practice.

randwords - tool prints random common English words for Morse code practice.

blinkt - tool controls LEDs on Blinkt! add-on board for raspberry Pi.

morsefeed - tool converts text for Morse code practice.

mbeep

This command-line tool plays a sequence of sine-wave tones on the default audio output device or writes a sequence of sine-wave tones to a .wav file. Tones can be specified by frequency and duration, MIDI notes, or text to be translated to Morse code. Runs on Macintosh or Linux systems.

Examples

Play a sequence of tones:
mbeep -t 600 -f 1174.7 -p -f 1318.5 -p -f 1046.5 -p -f 523.3 -p -t 900 -f 784.0

Play a melody:
mbeep -m "C5q C5q C5e. D5s E5q E5e. D5s E5e. F5s G5h"

Play Morse code:
mbeep -c "W1AW DE K1JMQ +"

Play Morse code from standard input:
mbeep -i /dev/stdin -c

Write melody to .wav disk file:
mbeep -o daisy.wav -b 180 -m "d6h. b5h. g5h. d5h rq e5q f#5q g5q e5h g5q d5h.h"

Sources

https://github.com/7402/mbeep

macOS / OS X executable

Download from https://7402.org/files/mbeep.zip and install:
unzip mbeep.zip
sudo cp mbeep /usr/local/bin/
sudo mbeep --man-page | sudo tee /usr/local/share/man/man1/mbeep.1 > /dev/null

# try it:
mbeep
man mbeep

Notes

codegroups

Command-line tool that generates a series of random 5-character code groups for Morse code practice, and prints to standard output. Runs on Macintosh or Linux systems.

Examples

Print 25 code groups with 5 groups per row:
codegroups -c 5 -n 25

Play 80 code groups at 16 wpm (if mbeep is installed):
codegroups -n 80 | mbeep -w 16 -i /dev/stdin -c

Sources

https://github.com/7402/codegroups

macOS / OS X executable

Download from https://7402.org/files/codegroups.zip and install:
unzip codegroups.zip
sudo cp codegroups /usr/local/bin/
sudo codegroups --man-page | sudo tee /usr/local/share/man/man1/codegroups.1 > /dev/null

# try it:
codegroups
man codegroups

Notes

randwords

Command-line tool that generates a series of random common English words for Morse code practice, and prints to standard output. Runs on Macintosh or Linux systems.

Examples

Print 50 words selected from the most common 100 English words, with 10 words per row:
randwords -t 100 -n 50 -c 10

Play Morse code for 80 words selected from the 100th to 200th most common English words (if mbeep is installed):
randwords -f 100 -t 200 -n 80 | mbeep -i /dev/stdin -c

Sources

https://github.com/7402/randwords

macOS / OS X executable

Download from https://7402.org/files/randwords.zip and install:
unzip randwords.zip
sudo cp randwords /usr/local/bin/
sudo randwords --man-page | sudo tee /usr/local/share/man/man1/randwords.1 > /dev/null

# try it:
randwords
man randwords

Notes

blinkt

Command-line tool controls the LEDs on the Blinkt! add-on board for the Raspberry Pi. All functions are available from the command line; no programming needed. Can be used within shell scripts.

Examples

Clear LEDs:
blinkt clear

Turn on all LEDs green at brightness 1:
blinkt green
blinkt bright 1

Turn on left 4 LEDs blue and right 4 LEDs red:
blinkt 11110000 blue
blinkt 00001111 red

Pixels are numbered 0-7 from left to right. To turn pixel 1 yellow, type:
blinkt p1 yellow

To specify color by RGB, type, e.g.:
blinkt rgb 10 0 50

Shell script to blink LEDs purple three times:
#!/bin/bash
blinkt clear
blinkt purple
blinkt delay 150
blinkt off
blinkt delay 100
blinkt on
blinkt delay 150
blinkt off
blinkt delay 100
blinkt on
blinkt delay 150
blinkt clear

Sources

https://github.com/7402/blinkt

Notes

morsefeed

Command-line tool that converts and processes text to be used for Morse code practice. Text sources can be disk files or web pages. Text can be output to disk file, standard output, or directly to the mbeep tool.

Most punctuation and special characters are converted, removed, or spelled-out. There are options to filter out text at the beginning or end of a file or web page. HTML tags are filtered out of web page text.

Examples

Read text from web page, send formatted results to mbeep; stop and resume by hitting space bar; quit by typing letter 'q':
morsefeed -u https://7402.org/files/tale2c.txt -m

Send CNN text-only articles to mbeep; stop and resume by hitting space bar; quit by "typing letter 'q'; type 'n' or 'N' to skip ahead to next article::
morsefeed -u https://lite.cnn.io/en -a "Main Stories</strong>" -b "<hr/>" -L -A "Listen</a></div><hr/>" -B "<hr/>" -m

Sources

https://github.com/7402/morsefeed

macOS / OS X executable

Download from https://7402.org/files/morsefeed.zip and install:
unzip morsefeed.zip
sudo cp morsefeed /usr/local/bin/
sudo morsefeed --man-page | sudo tee /usr/local/share/man/man1/morsefeed.1 > /dev/null

# try it:
morsefeed -u https://7402.org/files/sample.txt -a "after this" -b "before this" -m -w 15
man morsefeed