News:

MASM32 SDK Description, downloads and other helpful links
MASM32.com New Forum Link
masmforum WebSite

Morse code

Started by Sevag.K, December 27, 2010, 08:00:58 AM

Previous topic - Next topic

Sevag.K


a little program to help in learning international morse code.  this tones and shows morse code as you type it.

uploaded to my site, scroll down to recent files.

https://sites.google.com/site/highlevelassembly/

dedndave

i find the page - but the download button is missing   :bg
i would like to see how you handle the timing part
morse doesn't sound right unless the timing is flawless

-.. .  -.- --... -. .-..  :P

Sevag.K

in the home page recent files section, you click on the file name, in the downloads page, there should be a download link.  please let me know if you can't see the download link in the downloads page.

here's a direct link.
https://sites.google.com/site/highlevelassembly/downloads/morsecode.zip?attredirects=0&d=1

... .- .-.. ..- -!

dedndave

no d/l button - but the direct link works   :U

Sevag.K


a quick update that alters the way 'dah' is sounded.
now does one continuous tone rather than 3 quick dits. 

https://sites.google.com/site/highlevelassembly/downloads/morsecode.zip?attredirects=0&d=1

dedndave

if i type ahead, there should be a space between letters, as well
it should be the same length as a dah
the space between words should be the same length as 3 dahs
so, if you already have the inter-letter spacing, just add 2 more "dah intervals" for a space bar

the space between dits and dahs in a letter is the same length as a dit - that sounds about right

it sounds good   :U
it would be cool to have variable speed and pitch - it sounds like about 15 WPM - hard to say without the inter-letter spacing
i am a little rusty at the moment, but once i get warmed up, i can copy about 40 WPM   :P

for beginners, it's nice to go as low as about 3 WPM
the fastest operator i have ever known could copy about 85 WPM
but, he was one of the best ever
in the history of morse code, there have probably been less than 50 operators that could copy over 70 WPM

oex

Do they use compression or auto text? I wonder if there is a compression technique that best suits morse code :lol
We are all of us insane, just to varying degrees and intelligently balanced through networking

http://www.hereford.tv

dedndave

they call it packet radio - lol
in fact, the link layer protocol used in the modern internet was fashioned after ham radio's AX.25
if you read the old specs, you will see a lot of amateur radio callsigns pop up

Antariy

Quote from: oex on December 28, 2010, 01:40:37 AM
Do they use compression or auto text? I wonder if there is a compression technique that best suits morse code :lol

PPM text compression :lol

dedndave

oh - i see it does have tone control
however, the "duration" and "pause" method of spacing isn't needed if you set the spacing as i mentioned before
you would just have a speed control, nice if you can adjust in increments of 0.1 WPM
if you get the spacing's set right, speed in WPM is equal to 1.2 x dits per second, if you are able to generate a continuous string of dits
that formula is from memory, so don't trust me - lol

there are some special "characters" that are needed, called "prosigns"
if you google that term, you should find lists

the next step is to make an iambic keyer out of it with a few brief, programmable, memorized messages
set it up so you can trigger it via hardware interrupt from the serial port (dit paddle and dah paddle), and you have a super morse program   :bg

Antariy

Really, Dave, you should make Text-to-MorseCode program tool, which will be trigger semiconductor switch (like usual switch), for example via COMx port.
Then you will set generation clocking to 10 dits per second, and all other operators would be astonished by your performance :lol

dedndave

they have programs that can actually receive morse and convert it to text
this is a difficult task, as not all senders are perfect, and radio noise/interference is a problem
they also have hardware devices for this (i.e. no computer)

Antariy

Quote from: dedndave on December 28, 2010, 02:07:49 AM
they have programs that can actually receive morse and convert it to text
this is a difficult task, as not all senders are perfect, and radio noise/interference is a problem

Well, if you write *sending* program, then recognition of the "message" in other end will be simpler for a program. Also you can use much higher rate - like automatical teletype :lol
Why not use digital message encoding for now :P dot is a 0, dash is a 1 :lol And all be able to use usual methods for data checking-correction.

dedndave

well - that is a good point
after a certain point, there is no sense in using morse at all
that's why i never had a decoder - lol
but, i never needed one
i have been copying code since i was about 10 years old

Sevag.K

Quote from: dedndave on December 28, 2010, 01:54:00 AM
oh - i see it does have tone control

yeah, i should probably change that to 'pitch'

Quote
however, the "duration" and "pause" method of spacing isn't needed if you set the spacing as i mentioned before
you would just have a speed control,

i kept them separate since some training programs/exams make a distinction between actual character speed and effective code speed.

Quote
nice if you can adjust in increments of 0.1 WPM
if you get the spacing's set right, speed in WPM is equal to 1.2 x dits per second, if you are able to generate a continuous string of dits
that formula is from memory, so don't trust me - lol

i thought of that but decided i could shoot it out sooner by going with milliseconds.  :lol
call me lazy.

Quote
there are some special "characters" that are needed, called "prosigns"
if you google that term, you should find lists

that's a more advanced topic.

Quote
the next step is to make an iambic keyer out of it with a few brief, programmable, memorized messages
set it up so you can trigger it via hardware interrupt from the serial port (dit paddle and dah paddle), and you have a super morse program   :bg

phoo.  we're talking long term project here.