Morse Code Decoder

Download (176 KB)

In this project I’ve created an application that detect and translates morse code from a live audio stream. What started as a 3 hour project eventually ended up taking a couple of weekends, and the result is not a “complete app” but rather a proof of concept. I’ve decided to publish the code anyway as it may be of use to someone, not least because it uses a live microphone stream.

I’m using SlimDX as a wrapper for DirectX since Managed DirectX is now deprecated in favour of Microsoft XNA, which seemed a little heavy handed for this project.

Known Issues
Restarting the listener after stopping it doesn’t work. There seems to be an issue with cancelling the background worker thread. The IsBusy flag does not reset after calling the CancelAsync() method.

I’ve been using the 5 WPM examples from The National Association for Amateur Radio website.

Thanks goes to César Souza for his article on Capturing Sound From The Microphone Using SlimDX. One of only a handful of good examples I could find.

Download (176 KB)

This entry was posted in Projects and tagged , . Bookmark the permalink.

2 Responses to Morse Code Decoder

  1. Rizwan Merchant says:

    Hello there,

    I know this is a pretty old post, but I found this last night, and tried your code out. I discovered your known issue, and after a bit of going through your code, solved the issue. It now can record, stop, and record again.

    I’m interested in emailing you the fixed copy solution, and to also ask a question or two.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s