Dans l’univers des outils radioamateurs, les logiciels de décodage CW ne manquent pas. CW Skimmer, FLdigi, MRP40… chacun a ses forces. Mais quand Nicolas F4LPS, membre actif de notre communauté Discord Les F4, a partagé son nouveau projet, j’ai tout de suite compris que l’approche était différente. Pas un simple décodeur. Pas un simple keyer logiciel. Un écosystème CW complet, conçu de bout en bout pour l’opérateur radioamateur qui veut que son PC et sa radio ne fassent qu’un.
CW Terminal est développé en Python, distribué gratuitement dans le pur esprit Ham, et disponible directement en exécutable Windows — aucune installation requise. Voici ce qu’il fait vraiment.

Une connexion radio native, sans bricolage
Le premier point fort de CW Terminal, c’est sa capacité à dialoguer directement avec votre transceiver. Deux grandes familles sont supportées : Icom (IC-7300, IC-7610 et toute la gamme CI-V) via connexion directe USB/série avec détection automatique de l’adresse CI-V, ou via le logiciel Win4Icom si vous l’utilisez déjà. Et Yaesu (FTDX10, FT-991A…) via protocole CAT avec keying CW sur la ligne DTR du port série, détecté automatiquement.
Une fois la connexion établie, le logiciel prend réellement la main sur la radio : changement de bande en un clic de 160m à 10m, passage automatique en mode CW, affichage de la fréquence en temps réel. Vous branchez, vous cliquez, ça marche.
Un moteur de décodage digne d’un SDR
Le cœur du logiciel, c’est son moteur de décodage audio. Nicolas n’a pas bricolé une détection de ton basique. Il a embarqué une vraie chaîne de traitement du signal : une FFT haute résolution de 8192 points (soit environ 6 Hz par bin à 48 kHz), un filtre Butterworth d’ordre 4 pour le filtrage passe-bande, et un AGC (Contrôle Automatique de Gain) qui maintient un niveau d’analyse stable malgré les variations de propagation. L’analyseur de spectre FFT s’affiche en temps réel à l’écran.
Le suivi du pitch est particulièrement soigné : mode manuel, mode Auto, AutoPitch FFT pour un suivi continu de la fréquence dominante dans le spectre, Auto-center, et Lock pour figer le pitch une fois calé sur le signal. Le taux d’échantillonnage se règle automatiquement selon le périphérique audio — 48 kHz pour les radios USB comme l’IC-7300.
Le texte décodé est affiché avec une colorisation intelligente : les indicatifs en rouge, les Q-codes en cyan, les abréviations en jaune, et le texte courant en vert. Des statistiques en temps réel affichent le WPM détecté, le nombre de caractères et les erreurs de décodage.
Une chose importante : F4LPS est honnête là-dessus. Le décodage CW automatique reste une tâche difficile, même pour les meilleurs logiciels. La qualité dépend du rapport signal/bruit, de la régularité de l’opérateur et des conditions de propagation. Ce logiciel est un excellent outil d’aide — votre oreille reste le meilleur décodeur.
Une émission à la précision d’un keyer matériel
L’émission CW via logiciel souffre souvent d’un problème rédhibitoire : le timing. Un dit qui traîne, un dah trop court, et le QSO devient illisible. Nicolas a résolu le problème à la source en utilisant time.perf_counter(), la fonction de timing haute précision de Python, offrant une précision de ±0,5 ms — comparable aux meilleurs keyers matériels du marché. Le keying s’effectue via DTR pour les Yaesu, et via paquet CAT 0x17 pour les Icom. La vitesse est réglable de 5 à 60 WPM.
Le mode TX Continu est l’une des fonctionnalités les plus innovantes du logiciel : chaque caractère tapé au clavier part immédiatement, sans buffer, sans délai, comme sur un vrai manipulateur électronique. Le PTT se gère seul, coupé automatiquement après 800 ms de silence. Vous tapez, ça émet. L’expérience est vraiment proche du manipulateur physique.
La double innovation vocale : parler pour émettre, écouter pour décoder
C’est là que CW Terminal se distingue vraiment de tout ce qui existe. Deux fonctionnalités vocales complémentaires font de ce logiciel quelque chose d’unique dans le monde des outils radioamateurs gratuits.
La première, c’est la reconnaissance vocale vers CW. Via l’API Google Speech Recognition (connexion internet requise), vous parlez dans votre microphone et le logiciel convertit votre voix en texte prêt à émettre. L’alphabet OACI/NATO complet est reconnu — ALFA, BRAVO, CHARLIE et toute la suite — ainsi que les chiffres en français et en anglais, les Q-codes, et les caractères spéciaux courants. Des commandes vocales d’édition permettent de corriger sans toucher au clavier : « EFFACER LETTRE », « EFFACER MOT », « EFFACER TOUT ».
La seconde, c’est la synthèse vocale TTS (Text-To-Speech). Via le moteur SAPI5 intégré à Windows — sans connexion internet — chaque mot décodé est lu à voix haute automatiquement au fil du décodage. Idéal pour suivre un QSO ou une pile DX sans regarder l’écran, les mains libres sur le carnet ou le manipulateur. Si les mots s’accumulent plus vite qu’ils ne peuvent être prononcés, le système saute automatiquement les mots en retard pour rester synchronisé.
Macros, panneau QSO et gestion du contest
CW Terminal intègre un système de macros et un panneau QSO pensés pour l’efficacité opérationnelle, que vous soyez en ragchew tranquille ou en plein contest.
Dix macros F1–F10 sont disponibles, éditables par double-clic et sauvegardées automatiquement entre les sessions. Chaque macro peut contenir des variables dynamiques : {CALL}, {MYCALL}, {RST}, {NAME}, {QTH}, {NR}. Le panneau QSO compact propose cinq séquences prêtes à l’emploi — APPEL, TNX, CONTEST, SK, DX — avec des templates personnalisables. Le numéro de série contest {NR} s’incrémente automatiquement à chaque envoi. Et point essentiel : le texte généré est toujours chargé dans la zone TX pour vérification avant envoi. Vous restez maître de ce qui part sur les ondes.
Fiche technique résumée
Langage : Python 3.11 / PyQt5 — Audio : PyAudio + PyAudioWPatch (WASAPI loopback) — FFT : SciPy 8192 points (~6 Hz/bin @ 48 kHz) — Timing TX : ±0,5 ms — Protocoles : Icom CI-V / Yaesu CAT + DTR — Système : Windows 10/11 64-bit — Vitesse CW : 5 à 60 WPM — Distribution : .exe PyInstaller, aucune installation requise — Licence : gratuit, redistribution avec mention de l’auteur F4LPS.
Un grand merci à Nicolas F4LPS
CW Terminal V1.0 Beta est le fruit d’un travail sérieux, cohérent, et généreux. Nicolas n’a pas assemblé des briques existantes : il a conçu une architecture complète, du traitement du signal jusqu’au protocole de keying, en passant par l’interface opérateur. Partager ça gratuitement avec la communauté, c’est le pur esprit Ham, et ça mérite d’être salué.
Le logiciel est en version Beta — c’est le bon moment pour le tester et remonter vos retours à Nicolas directement sur le Discord Les F4, dans le salon #👷développement-les-f4
Et ce n’est pas tout : nous allons organiser dans les semaines à venir une soirée Visio un vendredi soir entièrement consacrée à CW Terminal — démo en direct, prise en main, questions/réponses avec Nicolas. La date sera annoncée prochainement sur le Discord.
UPDATE 14/03/2026 : CW Terminal V1.4b : la liaison logbook est là, avec la fonction SPLIT !
Nicolas F4LPS vient de publier CW Terminal V1.4b avec une nouveauté très attendue : l’intégration avec Ham Radio Deluxe (HRD) et d’autres LogBooks . Vos QSO sont désormais enregistrés automatiquement dans votre logbook, sans ressaisie manuelle. Un chaînon essentiel qui s’ajoute à un logiciel déjà très complet.
Toutes les fonctionnalités de la V1.0 sont bien sûr conservées : décodage FFT temps réel, connexion Icom/Yaesu, reconnaissance vocale, synthèse TTS et macros contest. La mise à jour se fait simplement en remplaçant l’exécutable.
Merci à F4LPS pour ce suivi actif et généreux du projet ! 🙌
📥 Télécharger CW Terminal V1.4b : ICI
73 à tous · · · — — — · · ·


