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:
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
- The common Linux beep tool does not work on the Mac, because the Mac does not have a simple piezo speaker on the motherboard. The mbeep tool uses the OpenAL framework, which is built into the macOS system; mbeep can also be used on Unix systems that have OpenAL installed.
- The beep tool is good for reliable low-level output to the motherboard speaker on Unix systems, and it does not depend on a sound card or higher-level sound options or libraries. The mbeep tool is good for sending sound to headphones and speakers on Mac and Unix systems.
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:
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
- Characters are from the set: ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890.,?/=+*.
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
- Words are chosen from a selected subset of 5000 common English words.
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:
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:
To specify color by RGB, type, e.g.:
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
- The Blinkt! board is manufactured by Pimoroni in the UK.
Available in the US from Adafruit.
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