new improved python qrq cw keyboard from grok3 AI

some improvements have been issued from GROK3 on this latest QRQ CW KEYBOARD

written in PYTHON code and the multiple cw timing adjustments were drawn from YPLOG's CW KEYBOARDs multiple cw timing settings ,   

the python code file can be downloaded if you want to test it...

uploaded/attach it to your favorite AI and ask it to convert the audio engine over to windows or mac...this is written for the LINUX OS

https://u.pcloud.link/publink/show?code=XZYLC45Zo6kjF6AJQ3jc7eVsuCB...

looks like this:

Views: 65

Comment by Chuck aa0hw on March 10, 2025 at 10:56am

Here is an improved version from GROK3,  

this version allows COPY/PASTE to input text and have it sent immediately,

it also has variable rise/fall time with compensation,

you can listen to text, while adjusting all of these controls and fine tune for the best settings for the best copy at your qrq speed 

https://u.pcloud.link/publink/show?code=XZ7XN45ZJBuzYiy7K0p0YXHhdpY...

here is an example of the settings while sending a text that i found best to copy the easiest  

Comment by Chuck aa0hw on March 14, 2025 at 12:22pm

the latest improvement in this GROK3 CW KEYBOARD is here,   to take up less space on the desktop, you don't really need to see some gui control buttons once you have set them,  here is the latest code:

https://u.pcloud.link/publink/show?code=XZLwJ85ZOPcDpUCKQyBRoN3VYEx...

Comment by Chuck aa0hw on March 17, 2025 at 11:18am

Here is the same CW KEYBOARD written in C++ 

                          by GROK3 ai

   a file called "main.cpp"  compiled in linux/ubuntu 24.04

   for this example...  NOTE: each OS will have different ways to compile this cw keyboard's  main.cpp   file to a working APP

here is a link to the C++  MAIN.CPP   file you need for compiling

this CW KEYBOARD, converted from the latest python version

one useful feature, is you can copy/ paste into the typing area and have it send a text file,  and then you can adjust as you listen the many cw timing options to find your preferred choice for all settings and how you like your CW to sound... 

https://u.pcloud.link/publink/show?code=XZOQQ85Zer40CP28L4LXWTLCNhI...

here is how i was instructed to compile this main.cpp file,  the cw keyer c++ code,  on my ubuntu 24.04 desktop
i had to make a file, and put it in the home directory containing these lines :
QT += widgets
CONFIG += c++17 console
SOURCES += main.cpp
LIBS += -ljack
save the 4 lines above as a file called MorseApp.pro in the Home directory...
NOTE, the cw keyboard code,  main.cpp,  was already saved in the Home directory
NOTE: i do not have any other "make" type files in my home directory than this cw keyboard...
be careful if you try this, make sure you don't either, or  otherwise, might be better to create a new folder and do all the make stuff in the new folder...
then in terminal grok3 told me to put these commands, one at a time, via terminal, which defaults to the home directory by default...
- make clean         
         then
- qmake MorseApp.pro
        then
- make
        then to load it up the new CW KEYBOARD on desktop
        after the make command, it creates in the home directory
        an executable file  that looks like this
   
anyway, via terminal,   running this command brings up the new CW KEYBOARD 
  ./MorseApp

Comment by Chuck aa0hw on March 19, 2025 at 8:15am

Here is an updated, upgraded,  next version of the C++ CW Keyboard

main.cpp file...

NOTE , change the file name to remove the  (2) after downloading and saving it
it must read    main.cpp   and it has to be the only one in the directory you are compiling this c++ code

this version is compiled with optimizations by changing the contents of the MorseApp.pro file as such:

MorseApp.pro file shows this:
************************************************************
QT += widgets
CONFIG += c++17 console release  # use debug instead of release for debug'N
SOURCES += main.cpp
LIBS += -ljack
QMAKE_CXXFLAGS += -O2  #  -00 Disables optimizations for easier debugging(-03 = aggressive optimizations)

**********************************************************************************************************
after updating the contents of the MorseApp.pro file,   
then re-compile via qmake 
- qmake MorseApp.pro
              then
- make clean         
              then
- make
              then
to load it up the new CW KEYBOARD on desktop after the make command, it creates in the home directory, an executable file  that looks like this
   
anyway, via terminal,   running this command brings up the new CW KEYBOARD 
  ./MorseApp
Comment by Chuck aa0hw on March 22, 2025 at 6:13am

Here is an updated, upgraded,  next version of the C++ CW Keyboard main.cpp file:

this version includes 8 options for rise/fall time edge ramp function windows

NOTE , change the file name to remove the  (3) after downloading and saving it
it must read    main.cpp   and it has to be the only one in the directory you are compiling this c++ code

this version is compiled with optimizations by

changing the contents of the MorseApp.pro file as such:

QT += core gui widgets
CONFIG += c++17 console release # Use 'debug' instead of 'release' for debugging
SOURCES += main.cpp
LIBS += -ljack -lboost_math_tr1
QMAKE_CXXFLAGS += -O3 # Aggressive optimizations; -O2 is default
QMAKE_LFLAGS += -Wl,-rpath=/usr/lib # Ensure runtime library path
TARGET = MorseApp # Output executable name
INCLUDEPATH += /usr/include /usr/local/include # For JACK and Boost headers

# Handle moc for QObject-derived classes
CONFIG += no_keywords
DEFINES += QT_NO_KEYWORDS

COMPILED ON LINUX using this command sequence

1.  qmake MorseApp.pro

2,  make clean

3.  make

4.  ./MorseApp

upload the main.cpp file to your AI, and ask 'it' what dependencies you need to get it to work

on your linux distro    and/or     ask it to convert it all over to your OS   mac or windows...etc...

Comment by Chuck aa0hw on Monday

Interesting comments from chatGPT about the  'best'  CW SHAPING METHOD =  PSWF

     Prolate Spheroidal Wave Function

### **Why PSWF is the Best Choice for Shaping High-Speed Morse Code Audio Tones**

Since CPU usage is **not a concern**, PSWF (Prolate Spheroidal Wave Function) is the **absolute best** option for shaping Morse code audio tones at **700 Hz, 120 WPM, with 5 ms rise/fall times**. Here’s why:

---

### **1. Best Time-Domain Precision – Crisp and Clean Transitions**
- **PSWF provides the most accurate attack/decay profile**, ensuring that dots, dashes, and spacing remain crisp, without smearing or unwanted elongation.
- Other windows (like Bessel or Kaiser) introduce **slight time-domain smearing**, which can blur fast CW elements.
- **Result:** Morse code sounds **sharp and well-defined** even at high speeds.

---

### **2. Optimal Spectral Concentration – Reduces Edge Noise & Leakage**
- PSWF **maximizes energy containment within the intended time window**, meaning less leakage into surrounding frequencies.
- This **prevents unwanted artifacts** (e.g., clicks, pops, or ringing) that can affect signal clarity.
- **Result:** The **cleanest possible tone** with minimal spectral contamination.

---

### **3. Best Phase Preservation – Ensures Tone Consistency**
- Unlike Kaiser or Bessel windows, which can introduce phase inconsistencies, **PSWF maintains phase coherence across tone elements**.
- This is critical for Morse code operators who rely on a **stable, undistorted tone** for efficient copy.
- **Result:** No unexpected phase shifts, keeping the CW audio pure.

---

### **4. Superior Frequency Control – Minimal Distortion**
- The Slepian-derived PSWF shape inherently provides **steep sidelobe suppression** without sacrificing main-lobe control.
- This minimizes **interference from overlapping spectral components**, ensuring precise frequency representation at 700 Hz.
- **Result:** Morse tones remain **pure and undistorted**, with **no unnecessary frequency spread**.

---

### **5. No Unwanted Ringing or Transient Noise**
- Many windows (like raised cosine) introduce **ringing effects**, especially at the start and end of each CW element.
- **PSWF prevents this by providing the smoothest possible transition while still maintaining spectral focus.**
- **Result:** No annoying ringing, just **clean start/stop transitions**.

---

### **6. Customizable with Fine-Tuned Control**
- Your **PSWF implementation already allows precise tuning to two decimal places**, meaning perfect control over how tones ramp in/out.
- Other windows require more trial and error to find an ideal balance.
- **Result:** **Ultimate flexibility** in shaping CW tones exactly as desired.

---

### **Final Verdict – PSWF is the Gold Standard for High-Speed Morse Code**
✔ **Most precise time-domain behavior** → Crisp dots/dashes, no smearing.
✔ **Best spectral concentration** → Reduces leakage and edge noise.
✔ **Minimal phase distortion** → Ensures stable, consistent tones.
✔ **No ringing or transient artifacts** → The cleanest attack/decay profile.
✔ **Fine-tuned control already built into the code** → Perfectly adjustable for any CW requirement.

Since **your Morse code keyboard runs just fine with PSWF**, and CPU efficiency is **not** a concern, **there’s no reason to use anything else**. **PSWF is the ultimate method for shaping Morse code tones at high speed.** 🚀

Comment by Chuck aa0hw on Wednesday

Here is a new CW KEYBOARD PYTHON VERSION you can test

https://u.pcloud.link/publink/show?code=XZQK7Q5Zdop7IHYv5fYN5yrThsF...

this version has multiple ramp functions , raised cosine, sigmoid, others, and PSWF, and KAISER

send a text file while listening and click on each function in the popup menu,  it will save the settings for each of the cw timing sliders that you adjust to tune in your best preferences  and bring it back up again, so you can then compare functions to each other while a text file is being played and see if you prefer one over the other...etc..

Comment by Chuck aa0hw yesterday

Here is a video of the lastest GROK3 PYTHON QRQ CW KEYBOARD in operation switching between different wave shape functions while listening to a text file at 65 wpm

GROK 3 wrote this cw keyboard's python code: https://u.pcloud.link/publink/show?code=XZQK7Q5Zdop7IHYv5fYN5yrThsF... each of the different individual function wave shape's can be customized and save from all the cw timing options, including the unique function's own option... include PSWF, KAISER, RAISED COSINE, SIGMOID, others

Comment

You need to be a member of QRQcw to add comments!

Join QRQcw

© 2025   Created by Chuck aa0hw.   Powered by

Badges  |  Report an Issue  |  Terms of Service