A C# program that uses NAudio to analyze an audio file and decode the detected morse signal. Currently not particularly tolerant of noise.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Starbeamrainbowlabs 9e3da7e005
Add instructions and better description to README
6 years ago
MorseCodeParser Initial commit. That was a fun challenge! 6 years ago
.gitignore Initial commit. That was a fun challenge! 6 years ago
LICENSE Initial commit 6 years ago
MorseCodeParser.sln Initial commit. That was a fun challenge! 6 years ago
README.md Add instructions and better description to README 6 years ago

README.md

AudioMorseDecoder

Dot dot hash!

A C# program that uses NAudio to analyze an audio file and decode the detected morse signal. Currently not particularly tolerant of noise.

Features:

  • A two-tiered buffer system to reduce memory usage when reading long files
  • A multi-step tokeniser
    • Extracts context-free tokens from the rolling buffer first
    • Converts context-free tokens into contextual tokens second
  • Noise gate to extract first-level tokens
  • AI-like logic to identify the speed of the morse code detected

Getting Started

Compiling

Open the solution in Visual Studio / MonoDevelop / Xamarin and hit build. Alternatively, linux users can run nuget restore && msbuild in the root of this repository.

Usage

Use the program like this:

./MorseDecoder.exe "/path/to/audio/file.wav"

In theory, it should support multiple audio file formats as it uses an NAudio AudioFileReader to read the samples from the source file.

The output will show the detected morse code, and the deciphered text.

License

This program is licensed under the Mozilla Public License 2.0.