MorseKOB / PyKOB

Python implementation of a library for Morse and MorseKOB functionality
https://sites.google.com/site/morsekob/morsekob40
MIT License
4 stars 2 forks source link

Decoded text is not correct for large Farnsworth #275

Closed AESilky closed 1 year ago

AESilky commented 1 year ago

With a fairly large Farnsworth setting (example is 15 dot speed & 7 text/code speed with spacing between characters, the decoded text is wrong. An example with this setting is: Actual=MORSE Decoded= IISSE

AESilky commented 1 year ago

I have a session recording that was created from the 'Keyboard Sender' with 'MORSE MORSE MORSE MORSE ...' and settings of 'Char/Dot Speed' = 15, 'Code/Text Speed' = 7, 'Spacing' = CHAR.

When I have MKOB play this recording it decodes: "IISSE IISSE IISSE ..." (just as it did when it was generated in the first place) If I change MKOB to a Code/Text speed of 15 WPM it decodes correctly as "MORSE MORSE MORSE ...".

Therefore, I believe the decoder needs to use the Char/Dot values rather then the Code/Text values.

AESilky commented 1 year ago

I changed Reader to take the Char/Dot speed (cwpm) in addition to the Code/Text speed (wpm), and use the greater of the two for decoding. This improves things significantly, but it's not perfect.

The recording created earlier is decoded correctly when played (with 15/7/CHAR), but the string of "MORSE MORSE MORSE" when entered/sent from the keyboard window is decoded as: M O R S E ME R S E ME R S E This is better than 'I I S S E I I S S E I I S S E', but it's not perfect.

I will look at it some more, but I might check in this change for now (since it is much better).