Coder Social home page Coder Social logo

crazy-marvin / morse Goto Github PK

View Code? Open in Web Editor NEW
154.0 11.0 30.0 12.29 MB

Translator for converting text into morse code and vice-versa

Home Page: https://crazymarvin.com/morse/

License: Apache License 2.0

Java 100.00%
morse hacktoberfest morse-decoder cipher dot codebreaker special-characters weblate

morse's Introduction

GitHub Workflow Status License Last commit Releases Latest tag Issues Pull requests Codacy Badge codecov Translation status Known Vulnerabilities API F-Droid Google Play

Get it on Google Play Get it on F-Droid

Translator for converting text into morse code and vice-versa

Morse

Translate text to Morse code or decipher Morse code by translating them to text! It’s a simple, user friendly, but useful app that can help you in a lot of ways. You can decipher or decode Morse codes, you can create secret number or learn to be a cipher or learn cryptography, and many more! If you think of yourself as a codebreaker, download and try our Morse code cypher tool! Don’t let the special characters or dots and dashes befuddle you.

FEATURES OF MORSE CODE CIPHER TOOL:

  • Clean, modern app design and interface.
  • Super easy to use.
  • Realtime translation: type in the word or code and we will translate it to you immediately.
  • Decode from Morse to text or text to Morse.
  • Press the speaker button to hear the code in sound.
  • Copy the text by pressing copy button.
  • Type in dot and dash using our built-in Morse keyboard.
  • Open Source (https://github.com/Crazy-Marvin/Morse)
  • More features coming up later!

What is Morse code?

Morse code is a system to encode letters and numbers to dash and dot signs. The duration of the dash is three times the duration of a dot. Each dot or dash is followed by period of signal absence, called a space, equal to the dot duration. Morse code was first used for communicating via telegraph. The most well-known Morse code is SOS, which is used to signal an emergency. Aside from typing dots and dash, you can also signal Morse code by turning light on and off, sounding a horn or tapping, and many more. You can use Morse code to transmit messages easily via various means if the recipient understands Morse code. If they don’t, they can use our cipher tool to find out the password, secret number, or any info you want to relay.

Since people rarely communicate via telegraph, nowadays there are very few people who can memorize Morse codes. Instead, it has become a way to encode something or special characters for special purposes. Of course, these special characters are still widely used in many situations, you don’t know when you are going to really need it. It’s a useful language to know even if you just want to learn cryptography or cryptogram for fun.

How Morse is useful for you:

  1. Tell others when you are in a dangerous situation (SOS).
  2. Hide your secret number or password via dots and dashes.
  3. Cipher/ Decipher hidden clues in games.
  4. Learn cryptography or cryptogram through learning Morse codes.
  5. Become a codebreaker by breaking secret codes in real time translation.
  6. And many more!

So, what are you waiting for? Use our Morse code cipher tool to decipher Morse code to text or text to Morse code now! As a codebreaker & cryptogram enthusiast, our cipher tool is a must have! It is useful for all of you. Just try it out.

We hope that you enjoy using our cipher tool to decode, to learn cryptography, or other purposes. If you do, please support our Morse decoder app by giving a rating and review on our Google Play store page and/or a star on GitHub. It will only take a minute and it will mean the world for us! If you have problems in using Morse app, please write us an email or open an issue on GitHub. We will respond immediately and fix the bug as soon as we can.

Screenshots

Morse --> Text Telegraph Key Text --> Morse
Morse_1 Morse_2 Morse_3

Contributing

We use Hosted Weblate for translations.

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

Please make sure to update tests as appropriate.

License

Apache License 2.0

morse's People

Contributors

ahohnmyc avatar andriannobella avatar badlop avatar clonewith avatar comradekingu avatar crazymarvin avatar dependabot-preview[bot] avatar dependabot[bot] avatar fahadsaleem avatar fastact avatar fejd avatar janheinrichmerker avatar lisapple avatar luc65r avatar michaelpratana avatar poipoipoipoipoipoipoipoipoi avatar poopjournal avatar rult avatar sebastien46 avatar serega124 avatar snaik20 avatar tacothedank avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

morse's Issues

Crash in fdroid release

When I installed and opened the app, it keeps on crashing.
Device: SM P555
Achitecture: Armeabi v7a
OS: 7 Nougat

Use smartphone's LED flashlight for translation

First, thanks for this useful and open source application. 🙂

Maybe it would be interesting to add the possibility of translating into Morse thanks to the smartphone's flashlight, in addition to the sound translation, if possible.

Google Play Version 1.9 can't be opened

java.lang.RuntimeException: Unable to start activity ComponentInfo{rocks.poopjournal.morse/rocks.poopjournal.morse.MainActivity}: java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity.

Confusing paragraph in readme

This passage in your readme is totally incorrect:

Since people rarely communicate via telegraph, nowadays there are very few people who can memorize Morse codes. Instead, it has become a way to encode something or special characters for special purposes. Of course, these special characters are still widely used in many situations, you don’t know when you are going to really need it. 

Excuse me? Where is this known? Cite your source. As an amateur radio operator (my call sign is my username), I find that the developer is either totally ignorant of CW (NOT the broadcast TV network) and its current use today, or 2, not a licensed ham.

I am concerned regarding this as a licensed ham, where ham radio is a dying art... but we need to keep the hobby alive. What would happen if the cell towers went down? Hams provide help. Please, I extend a plea to find a ham radio club and get your license. You can start with http://www.arrl.org/find-an-amateur-radio-license-exam-session and it's $15. Morse code is not required for any test now, but still is alive and well. Morse code is still used on QRP (low power) HF communication.

CW (Morse code) is not cryptography! FCC Part 97 prohibits any cipher or other obfuscation to hide the meaning of your transmission.

Please fix your README.MD. The information is totally wrong regarding Morse code.

73, W9JYD

No torch? Can crash

✍️ Describe the bug

Tablet has haptic feedback, no torch…
Crash result inconsistent. Closes by itself but sometimes android has "not responding" even with screen flashing behind message, a "mistaken" crash?

💣 Steps to reproduce

Perhaps selecting both options screen/torch can trigger it.

🔧 Expected behavior

It does pause a bit if I hit torch while screen flashing

📱 Tech info

  • Device: Lenovo TB-X505F
  • OS: android 10
  • Version: v2

📄 Additional context

Screen and torch buttons are close together, can hit wrong one

Send phrases, automated output

⚠️ Is your feature request related to a problem? Please describe

Not a problem, an application. I have used ToneDef for automated output, your app seems to be a neat way to do it as well, but, that type of output would not be useful to most people, so I am going to ask about sending phrases.
Examples:
"How are you?" "Nearby" "yell out" "come back" "go home" "don't do it" "proceed"
"Check on them" "[keep/toss] it" "something's up" "go get it" "seen that before" "take a break" "look back"

💡 Describe the solution you'd like

Requirements.
I cannot read the code I will be sending so a description field is needed (e.g. Travis's Callsign). The code I may use could be just Ts and Es.
I would like to adjust the speed.

📊 Describe alternatives you've considered

Can't think of any other app or way…

📄 Additional context

The installed phrases as a scrollable list. The automated output idea was to communicate with a machine, so pushbutton-like trigger for code output.

🙋 Do you want to develop this feature yourself?

  • Yes
  • No
  • no idea how, got a tutorial? I'll decide afterwards.

Torch Flashing on Samsung Galaxy S7 edge

This feedback came in:

Hi,

Some feedback on the excellent Morse app.

Everything is fine apart from the torch flashing. If I type in 'SOS', for example, the app flashes 6 long dashes with no discernable difference between supposed dats and dits, i.e. no dits.

The front screen flashing is perfect.

This app could literally be a life saver in a rescue situation if stranded in remote territory. The torch flashing would be a great way of attracting attention and sending a help message to say a rescue aircraft. Or at sea at night. Great idea.

I am using a Samsung Galaxy S7 edge. Android 8.
Regards

The torch flashing seems to be working correctly on other devices though, for example the Galaxy Tab of the same user:

I just tried the v 1.5 app on my Samsung Galaxy Tab A 10.05 (2018) and the torch is working OK

If anyone experiences the same issue (or not) please comment here.

No pause between letters?

(I'm using 1.5 from F-Droid. Sorry if this is fixed in 1.6; that's not on F-Droid at the moment.)

As far as I can tell, there are no pauses between letters. For example, if I enter "ssiii" and then press the screen-flashing button, my screen flashes 12 times and I can't discern any variation in timing.

Even if there is some variation I'm not able to perceive, I'm sure this is wrong, both based on my (extremely limited) experience and based on some reading. See for example this Wikipedia section on Morse code timing or this random other page. "ssiii" for example should look like this (= represents a beat spent on, . represents a beat spent off)

=.=.=...=.=.=...=.=...=.=...=.=

What I am observing from the app is more like this:

==.==.==.==.==.==.==.==.==.==.==.==

(There is a similar issue when I press the speaker button instead of the screen-flashing button, but it is compounded by a second bug, which is that the audio seems to cut in and out at the wrong times.)

Support punctuations

If this app could be able to convert a punctuation to morse code or vice versa, this app can present not only a simple phrase like SOS or Hello World but also a complete sentence.

Font Size

The font size is very tiny, this makes it hard to read text or Morse code.
Please make the font size bigger or include an option for choosing the font size.

Morse signal recognition through a phone camera

💡 Describe the solution you'd like

Please add the ability to receive a Morse signal through the camera on your phone. I film someone showing me a signal and the signal is recognized through the camera.

📊 Describe alternatives you've considered

no alternatives

📄 Additional context

I turn on the camera and point it at the Morse signal and a message appears. The algorithm will be like this. detect sudden changes in the brightness of a group of pixels in one place on the screen.

🙋 Do you want to develop this feature yourself?

  • Yes
  • No. I don't know how to program for android

Updates from Play store when installed via F-Droid.

Like the title says. Play did a security update an hour ago, 1800UTC. No updates pending in F-Droid or Play Store. Wouldn't have caught except I was about to use my phone when I saw the update notification. For whatever reason, Play Store update notifications aren't persistent like the other apps.
What's really going on with this app?

Add screenshot to README.md

Hi, it would be great if you added a screenshot in README.md so people can see what does the app look like.
I honestly find it looks great, it is unfortunate to not show it!

Morse Code Timing

This feedback came in:

The dats and dits are clearly of different lengths. Maybe the dits could be a bit shorter?

What do you think of that proposal?

Space (represented with slash) functions as an indefinite dash on screen flash mode

Description

When the output reaches a space (represented in the program as a slash) it makes the screen become white indefinitely. You can only solve it by manually closing the program and opening it again, but then your message is lost and you have to recreate one without spaces.

Steps to reproduce

  1. Type any message that contains a space (such as "a a"; or even something as simple as a single space " ")
  2. Click the screen flash button
  3. Observe that the screen is white indefinitely.

Expected behavior

According to Wikipedia and the various other Issues raised, there is a mandatory gap between dots and dashes as follows:

  1. The length of signal absence (gap) between dots/dashes is the length of a dot. (In the code, I think this should be structured as a separate variable not linked to the length of the dot's flash)
  2. The gap between letters is equal to a dash (meaning 3 dots). (Once again, this variable should probably not be scaled based on the previous item's variable)
  3. The gap between words (AKA a space) is equal to 7 dots.

Therefore, the space (represented as "/" in the program) must be a mandatory pause that does not activate the screen and should have the same time as seven dots.

Ideally, the user should be able to control the length of signal absence between ditdah, letter, and word.

Tech info

Device: Any Android device or emulator

Additional context

I think it would also be nice if we could change the color that gets projected through the screen using a color picker, so I could set it to red RGB (255,0,0) and it wouldn't be so hard on the eyes. I had to use the screen flash mode because the flashlight mode is buggy and doesn't have a gap between dots and dashes, causing every letter and every word to be one long dash.

Last Sound Is Lost

The last sound on a sequence is not played. E.g. SOS shows . . . _ _ _ . . . but only plays back . . . _ _ _ . .

In the meantime I add an extra E to the end

Everything Is One Word

Review on Google Play:

I have but one greivance. It dosen't add the / , so everything I type is one word. You gotta put the slash inbetween. Example: "hello world" .... . .-.. .-.. --- / .-- --- .-. .-.. -.. "helloworld" .... . .-.. .-.. --- .-- --- .-. .-.. -..

Morse 1.6 flashlight button

I updated from 1.5 to 1.6 today and the flashlight button just flashes one long flash without doing anything more. But I thought the previous version 1.5 functioned correctly on off on off, etc, etc. I think my android version is 9.1.

java.lang.NullPointerException: Attempt to invoke virtual method 'void android.hardware.Camera.release()' on a null object reference

Hello, I maybe found a bug when using this app.
Just click the place shown in the picture below for several times, and the bug will be triggered.

截屏2022-11-22 12 04 39

Here is the error message:

java.lang.NullPointerException: Attempt to invoke virtual method 'void android.hardware.Camera.release()' on a null object reference
 	at rocks.poopjournal.morse.MainActivity.lambda$setKeySelectedForTelegraph$25$rocks-poopjournal-morse-MainActivity(MainActivity.java:1267)
 	at rocks.poopjournal.morse.MainActivity$$ExternalSyntheticLambda9.run(Unknown Source:2)
 	at android.os.Handler.handleCallback(Handler.java:942)
 	at android.os.Handler.dispatchMessage(Handler.java:99)
 	at android.os.Looper.loopOnce(Looper.java:201)
 	at android.os.Looper.loop(Looper.java:288)
 	at android.app.ActivityThread.main(ActivityThread.java:7898)
 	at java.lang.reflect.Method.invoke(Native Method)
 	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:936)

I think maybe in somewhere the field camera is assigned to null before the Runnable posted in MainActivity#setKeySelectedForTelegraph executes.

Enhance flashing screen output

This feedback came in:

[...] can I suggest that there be two screen flash modes:

  1. as it is now, whole screen flashing,
  2. just a small area at the top of screen, say 1cm^2 or 2cm^2.

I found the whole screen flash difficult at close range, but it would be OK over a distance. I seem to recall that the eye is most sensitive to yellow/orange light, as in the sodium lamps on the roadside. [...]

New input method: Morse key

This feedback came in:

I used to be a radio ham 50 odd years ago and still use Morse in my electronic projects (search Deodorino). Lately I've been aware that a few of my acquaintances have unfortunately suffered strokes leaving them with speech problems. With this in mind, would it take much to add to your excellent project the facility to generate Morse by tapping the screen?
[...]
As for tapping the screen, we used to send Morse code by pressing a switch ( Morse 'key') which was connected to the transmitter. If you pressed the switch the transmitter was 'on' for as long as you pressed, so by pressing for short and long periods we sent the codes. On a mobile phone screen it would be necessary to switch on the screen, led, or speaker tone whenever there was finger contact. The sender adjusts the speed automatically in this case.
[...]
The amount of time the finger is in contact with the screen would determine whether a dot, dash, space etc was intended.

I think this video shows it quite nicely.

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.