GithubHelp home page GithubHelp logo

rpisch / morse-maestro Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 29 KB

Ryan Pischinger, Braden Karley

Python 100.00%
custom-tkinter encoder-decoder morse-code pyaudio signal-processing python raspberry-pi

morse-maestro's Introduction

Code Created for the Morse Maestro device, meant to run Libre Computer Board system or on a laptop with accurate Morse code audio signals played. Created by Ryan Pischinger and Braden Karley.

This respository has 2 code segments: the full code, and the code to test the decoder which shows plots of the different stages of signal processing.

How to use:

Text to Morse: Enter your message, select a speed, and press translate.

Morse to Text: Select the Morse to ASCII page. Play a Morse code signal at a certain words per minute that the interface slider is set to. Make sure the signal is 1000 Hz. Press the record button before playing the signal and again when the signal is completed.

This code consists of 4 parts: Interface, Encoder, Decoder, and Database

The Interface is run on Custom Tkinter commands

The Encoder takes a message, converts it into Morse characters via a lookup table, creates an accurate bitstream, and plays the bitstream as a sine wave at the user set speed

The Decoder uses signal processing to convert an audio signal into decoded text. Its steps are:

[ Record the audio

Filter frequencies not equal to 1000 using a bandpass filter

Trim leading and trailing silence to remove timing offset

Split signal into single units

Convert to frequency domain with FFT

Create a digitized list with dense frequencies

Convert to Morse characters

Convert Morse characters to ASCII characters

Return text to the interface ]

The database saves conversation of the encoder and decoder into a string of messages.

For more information about Morse code timing visit this link: https://morsecode.world/international/timing.html

morse-maestro's People

Contributors

rpisch avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.