A C# program that uses NAudio to analyze an audio file and decode the detected morse signal. Currently not particularly tolerant of noise.
Find a file
2017-05-27 18:08:37 +01:00
MorseCodeParser Initial commit. That was a fun challenge! 2017-05-27 17:48:59 +01:00
.gitignore Initial commit. That was a fun challenge! 2017-05-27 17:48:59 +01:00
LICENSE Initial commit 2017-05-27 18:51:12 +02:00
MorseCodeParser.sln Initial commit. That was a fun challenge! 2017-05-27 17:48:59 +01:00
README.md Add instructions and better description to README 2017-05-27 18:08:37 +01:00

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.