Hi, my ideas for a CW learning program based on Koch's method: Compatibility: Linux Ubuntu and variants,Windows and Mac OS. Source code: open. Inputs: CW decoder using a soundcards mic input. That should enable use of a CW tone generator connected to a straight key,iambic,paddles, bug . Standard inputs like a keyboard and mouse. Training mode: First the program sends a series of K's in CW for 30 seconds while the character K is displayed. Then it repeats the procedure with the character M. When that is complete it sends a four characters random group using K and M without displaying the letters. It then waits for a four characters input using the keyboard, shows the characters you have gotten correct in green, the wrong ones in red. That continues until the user has gotten 90 % correct of a number of groups, then a new letter is introduced ( for example X ), it is sent for 30 seconds while the character is displayed. Then the lesson continues using the new character until 90% of groups is correct, a new character or prosign is introduced and the lessons continues until all characters are learned. Sending mode: A random four character group using K and M is displayed,the program waits until four characters have been decoded and shows the characters you have gotten correct in green, wrong ones in red. That continues until the user has gotten 90 % correct of a number of groups, then a new letter is introduced and included in the group at random. There should be not to harsh timing requirements, some normal slack should be permitted as long as the CW decoder can decode perhaps 70% of the transmitted CW it should be good. Notes: The program should keep track of the characters and prosigns learned, and perhaps prioritize the most common ones first, and when sufficient numbers of characters and prosigns is known these are used to build phrases and typical QSOs. It should also be connected to a score board, so users can compare scores. It should also support multiple users on the same software instance. It should also display statistics of a users progress and time used. The slowest permitted speed should be 15 WPM. It should also be possible to adjust the mininum and maximum number of characters in the groups and if they are of random size. I know that it is possible to add QRM,signal fading and noice to imitate more "realistic conditions", as Hannes Matuschek's Kochmorse has. It is available at: https://github.com/hmatuschek/kochmorse Perhaps even drifting and unstable tones is possible. Morse alphabets that should be used : Primarly International, but the possibility to add regional extras like the Norwegian Æ Ø and Å. Those extras should be possible to add to the characters learned with a option in settings. About Koch's method: https://www.qsl.net/n1irz/finley.morse.html Any opinions or ideas? Please discuss!