A B 7C11 ash-based Morse code trainer built with accessibility in mind.
Morse Trainer is a project born out of frustration — a frustration with the lack of accessible Morse code training software for blind users. After trying various tools (including some paid ones), and constantly running into barriers, I decided to create my own solution from scratch, using Bash.
This project is still in its early stages and far from perfect, but it’s already usable and slowly getting better. My hope is to build something that is minimal, accessible, and truly helpful for blind users who want to learn or practice Morse code using the terminal.
- Runs entirely in Bash — no GUI, no dependencies beyond core Linux utilities.
- Designed for screen reader compatibility.
- Initial support for training random letters and words in Morse.
- Focus on simplicity, clarity, and no unnecessary visual output.
To run this tool on macOS, you need to take a few additional steps. Some utilities that are standard on Linux systems are either missing or behave slightly differently on macOS. Follow these steps to set up the required environment:
-
Install Homebrew
Homebrew is a package manager for macOS that allows you to install the necessary tools.
Download Homebrew and follow the installation instructions. -
Upgrade Bash
macOS ships with an older version of Bash by default. To ensure compatibility with features likedeclare
, upgrade Bash:brew install bash
-
Install SoX
SoX is required for sound playback:brew install sox
-
Install Coreutils
Theshuf
command (used in the script) is not available on macOS by default. Installing Coreutils provides this and other GNU utilities:brew install coreutils
-
Install GNU Sed
The defaultsed
on macOS behaves differently, especially when editing files directly. Install GNU Sed to ensure compatibility:brew install gnu-sed
-
Install GNU Grep
The defaultgrep
on macOS lacks some features available in GNU Grep. Install it to ensure consistent behavior:brew install grep
-
Install All at Once
Alternatively, you can install all the necessary tools in one command:brew install coreutils gnu-sed grep
After completing these steps, the tool should work correctly on macOS. Happy testing!
I’m especially interested in constructive feedback, accessibility improvements, and suggestions from other blind users or accessibility-conscious developers. Feel free to open an issue, start a discussion, or fork the repo and make a pull request.
If you're sighted and want to help: please remember this is primarily a tool for blind users. Fancy visuals are not the goal — clarity and usability via the terminal are.
As a blind developer, I’ve often felt like we're an afterthought in software design. With Morse Trainer, I’m taking matters into my own hands — building something by and for people like me. If this helps even one person avoid the same frustration I’ve felt, it’s worth it.
Richard Emling (DO9RE)