Hem SAQ Forum SAQ Transmissions Audio decoding

  • Creator
    Topic
  • #8242 Reply
    Rabbe Fogelholm
    Participant

    I am not very skilled at reading CW. It was fun to work out the content of the early 2020-07-05 transmission, but it took me quite some number of listenings…

    I also looked around for audio decoding software, but I didn’t find any that was easy to operate and producing good results. So I ended up writing an audio decoding program myself. My program does not decode an incoming stream on-the-fly, instead it analyses a complete WAV recording. It locks in on the audio frequency, applies mild clipping, adapts to fading, and uses a sliding window to discriminate tone from silence. The message then emerges quite cleanly:

    cq cq cq de saq saq saq = this is grimeton radio/saq in a transmission using the alexanderson 200 kw alternator on 17.2 khz. = in view of the present pandemic covid-19 we want to pay tribute to all parties concerned within healthcare knowing their efforts will pay effect eventually . = signed: world heritage grimeton radio station and the alexander[.-....-]grimeton veteranradios vaenner association + = for qsl info please read our website: www.alexander.n.se = + de saq saq saq <SK>

    The audio frequency is reported as 690 Hz. With the SAQrx VFO set to 16500 Hz this suggests that the alternator would be running at 17190 Hz? Although there may be inaccuracies introduced along the way: The SAQrx program, the Audacity program for recording a WAV file, and the decoding program itself.

    By counting inter-character spaces as 3 dot-time-units and inter-word spaces as 7, the average time per dot comes out as 79.93 ms, which gives a WPM of 1200/79.93 = 15.01. If the intention was to send at 15 WPM then the early transmission was an amazing accomplishment!

    I can make the decoding program available if there is interest.

Viewing 8 reply threads
  • Author
    Replies
    • #10598 Reply
      Rabbe Fogelholm
      Participant

      Version 3.1.5 is available. The handling of unexpectedly long dashes is improved. Such “super-dashes” can appear if the dip between two tones becomes too short or shallow. Super-dashes are now interpreted as “dot dash”, “dash dot” or “dash dash”, depending on timing and position of the dip.

    • #10094 Reply
      Rabbe Fogelholm
      Participant

      Version 3.1.1 is available. A new option -T has been added, controlling the output style (lower case, upper case, or capitalized, and line length). Furthermore .mp3 files can now be given as input; this requires the ‘mpg123’ (www.mpg123.de) conversion utility – use your host system package manager to install it.

    • #10035 Reply
      Rabbe Fogelholm
      Participant

      There is now a new version of gerke-decoder: 3.1.0. This version fixes a coding fault – now decoding works well also in case there is a period of silence at the beginning of the recording.

      A new option -M has been added, whereby histograms of tone lengths and space lengths can be drawn. Have a look here: https://privat.bahnhof.se/wb748077/radio/2023-02-13-grimeton/

      As before, the program source and build instructions are here: https://github.com/fowlay/gerke-decoder

      Building from source is straightforward on Linux. Alternatively you may use this pre-built executable jar: https://privat.bahnhof.se/wb748077/radio/3.1.0/gerke-decoder.jar – you simply run it with “java -jar gerke-decoder.jar”

      Comments, questions and suggestions are welcome! You can reach me in this forum, or on github.

    • #9582 Reply
      Rabbe Fogelholm
      Participant

      It is sad to hear that the Old Lady is not fit to sing out over the oceans this summer. Let’s hope for a steady and fast recovery.

      Analyzing old recordings can be done anytime though! There is now a version 3.0.0 of the gerke-decoder program, where adaptivity against frequency drift and fading has been added.

      The program expects input in .wav format and prints out the Morse code message as cleartext. Information about audio frequency, words-per-minute rating, timing of inter-character spaces, etc can be printed too. The signal can be displayed graphically for studying dashes and dots shapes, garbled characters and such.

      Recordings in .mp3 format work well also, after converting to .wav format with some tool like Audacity.

      By default the program listens for audio in the comfortable audible range, but a different frequency range can be specified – even up at 17200 Hz if a recording of the raw antenna signal has been made.

      Find the program here: https://github.com/fowlay/gerke-decoder

      Building from source is straightforward on Linux. If you don’t have a Linux box you may instead use this pre-built executable jar: https://privat.bahnhof.se/wb748077/radio/3.0.0/gerke-decoder.jar

      Comments and ideas are always welcome.

    • #9220 Reply
      Rabbe Fogelholm
      Participant

      The UN Day SAQ transmission is approaching – so what could be a better time for an updated version of “gerke-decoder” 🙂

      The latest addition is a decoder routine based on least-squares fitting of straight line segments to the signal data, thereby locating the dashes and dots. My hope is that this could be a bit more noise insensitive than the other decoders, which all look for on/off transitions of the signal in one way or the other.

      As before, try it out if you like: https://github.com/fowlay/gerke-decoder – if you have questions I will try to help, here or on github.

    • #8989 Reply
      Rabbe Fogelholm
      Participant

      I have uploaded a new version (2.0.1) of gerke-decoder. More filtering and decoding options are available, please see the README.md file. If you recorded one of the recent SAQ transmissions it may be fun to try and decode it. Any feedback welcome, here or on github: https://github.com/fowlay/gerke-decoder

    • #8377 Reply
      Rabbe Fogelholm
      Guest

      I have uploaded the decoder program to GitHub: https://github.com/fowlay/gerke-decoder – comments/questions/suggestions welcome.

      By default the decoder listens for pleasant audio in the range 400-1200 Hz, but different ranges can be chosen. A minimalist setup would be to record the antenna signal from the microphone jack with e.g. Audacity, dump it to a .wav file and then use the decoder set for, say, 16000-18000 Hz. As yet untested though…

    • #8305 Reply
      Whitham Reeve
      Participant

      Hello – I am very interested in the audio decoding program. I receive SAQ transmissions in Alaska and they are very weak, and my CW skills are pretty small. Please contact me at whitreeve@gmail.com. Thanks!

    • #8249 Reply
      Timo Salo
      Guest

      Please some stations, try to learn how RST-code works!!! There was lots of impossible reports… Exc. report 333 was not real, tonequality was perfect!!!

      Check:https://en.wikipedia.org/wiki/R-S-T_system

      Best 73`s OH3DF Tim, licenced since 1975

Viewing 8 reply threads
Reply To: Reply #8989 in Audio decoding
Your information:




Cancel

Subscribe!

Be the first to know about upcoming SAQ transmissions by subscribing to our newsletter.

No, thanks!