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

Starbeamrainbowlabs 9e3da7e005 Add instructions and better description to README 2 months ago
MorseCodeParser 37f310a1b1 Initial commit. That was a fun challenge! 2 months ago
.gitignore 37f310a1b1 Initial commit. That was a fun challenge! 2 months ago
LICENSE b8b8e219f9 Initial commit 2 months ago
MorseCodeParser.sln 37f310a1b1 Initial commit. That was a fun challenge! 2 months ago
README.md 9e3da7e005 Add instructions and better description to README 2 months 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.