Das AI-DX-Projekt von Andrea Decarolis (K1FM) ist eine Open-Source-Python-Anwendung, die autonom echte SSB-QSOs auf den KV-Bändern durchführen kann – ohne dass ein Operator hinter dem Radio sitzt. Es handelt sich nicht um einen Chatbot, der den Bildschirmverkehr simuliert. Der AI-DX stellt eine Verbindung zum physischen Transceiver her, hört das Band ab, erkennt den Anruf, antwortet per Sprache, protokolliert die Verbindung zum ADIF und ruft erneut CQ auf. Das Projekt hat weder einen Unternehmenshintergrund noch ein Entwicklerteam dahinter – bisher drei Sterne auf GitHub und einen Enthusiasten, der es einfach einmal geschrieben und veröffentlicht hat.
Für die Funkamateur-Community ist AI-DX nicht nur als fertiges Tool, sondern auch als Referenzimplementierung interessant: Es zeigt, wie moderne KI-APIs in bestehende Funkhardware integriert werden können, ohne dass eine spezielle Hardwareschnittstelle erforderlich ist. Wer verstehen möchte, wie GPT-4o Realtime, WebSocket Audio Bridge und ADIF-Protokollierung zusammenarbeiten, kann einfach den Demo-Modus auf einem beliebigen MacBook ausführen und beobachten, was passiert.
Sie werden im Artikel lesen
K1FM: Wer steckt dahinter?

Die Autorin Andrea Decarolis hat eine Marke K1FM. Je vývojár so záujmom o prepojenie moderných AI API s rádioamatérskou praxou. AI-DX nie je jeho jediným projektom v tejto oblasti – spolu s ním je na GitHube aj wfweb, webový server, ktorý sprístupňuje audio a PTT Transceiver über WebSocket-Schnittstelle mit TLS-Unterstützung. Diese Architektur hat den Vorteil, dass wfweb direkt auf einem Computer laufen kann, der mit dem Radio verbunden ist (z. B. einem Raspberry Pi in einer Station), während AI-DX auf jedem anderen Computer im Netzwerk läuft – sogar einem entfernten.
Architektur: Was wirklich hinter den Kulissen passiert

AI-DX baut darauf auf GPT-4o Echtzeit-API von OpenAI – eine spezielle Schnittstelle für die Echtzeit-Audioverarbeitung. Die gesamte Kette sieht so aus: wfweb WebSocket empfängt Audio vom Empfänger (48 kHz PCM16) und sendet es an GPT-4o Realtime, wo Spracherkennung (STT), Sprachmodellverarbeitung (LLM) und Antwortsynthese (TTS) stattfinden – alles auf der OpenAI-Serverseite. Der erzeugte Ton wird über wfweb an den Sender zurückgesendet und das Modell schaltet gleichzeitig die PTT über WebSocket um.
Dôsledok tohto dizajnu je zaujímavý: na lokálnom počítači nebeží žiadny STT engine, žiadny TTS engine, žiadna detekcia hlasovej aktivity. Darüber hinaus speichert das Modell keinen Speicher zwischen QSOs – jeder CQ-Anruf beginnt mit einem leeren Kontext. Dabei handelt es sich nicht um einen Fehler, sondern um eine bewusste Entscheidung: Dadurch wird die Anhäufung von Zuständen vermieden, die das Modell während langer Betriebssitzungen verwirren könnten. Die Rechenlast wird vollständig auf den OpenAI-Cloudserver übertragen. Dadurch ist es möglich, AI-DX auch auf einem Mac Mini M1 ohne GPU auszuführen. Der praktische Nachteil liegt auf der Hand: Es läuft nur, wenn Sie über Internet und einen gültigen OpenAI-API-Schlüssel mit Zugriff auf das Modell verfügen gpt-4o-Echtzeitvorschau.
Kontakty sa sledujú cez function calling: wenn das Modell das Rufzeichen, den Namen des Betreibers oder hört QTH, zavolá interný nástroj update_contact() und ergänzt die Aufzeichnung kontinuierlich. Wenn sich die Telefonistin verabschiedet, ruft das Model an update_contact(closing=true), wird die Verbindung in das ADIF-Protokoll geschrieben und AI-DX ruft erneut CQ auf. Keine regulären Ausdrücke, keine Textanalyse – nur Verständnis der Muttersprache.
Installation und technische Anforderungen
Das Projekt erfordert Python 3.10 bis 3.13 und den UV-Paketmanager. Die Installation ist einfach:
Git-Klon https://github.com/adecarolis/AI-DX && cd AI-DX && uv sync
Das Projekt wird derzeit auf macOS Apple Silicon (M4) getestet. Auf anderen Plattformen kann eine Änderung erforderlich sein – der Autor erwähnt dies offen in der README-Datei. Zusätzlich zu den Python-Abhängigkeiten muss eine Instanz von wfweb im Netzwerk ausgeführt werden, um den Transceiver physisch zu steuern. Ohne wfweb ist ein Demo-Modus verfügbar: AI-DX hört auf das Mikrofon des Computers und antwortet über die Lautsprecher ohne Funkausrüstung – ideal zum Testen oder Kennenlernen des Modellverhaltens.
Konfiguration: .env-Datei statt GUI
Alle Einstellungen durchlaufen die Datei .env im Stammverzeichnis des Projekts. Erforderliche Variablen sind OPENAI_API_KEY, Rufzeichen a WFWEB_URL. Zu den optionalen Variablen gehören Betreibername, QTH, Antenne, Leistung und Transceivertyp – das Modell verwendet diese direkt in der QSO-Sprache. Häufigkeit und Modus werden live aus wfweb-Statusberichten geladen; Der genaue Wert wird in das ADIF-Protokoll geschrieben VFO v momente ukončenia QSO.
Zásadnou voľbou je štýl operátora, festgelegt durch die Variable OPERATOR_STYLE:
| Stil | Verhalten |
|---|---|
| CALLING_CQ | Ruft alle N Sekunden CQ an und führt regelmäßige QSOs durch |
| ANFECHTUNG | Schneller Austausch von Seriennummern, Gewinnspielprotokoll |
| ÜBERWACHUNG | Es wartet auf einen direkten Anruf, CQ selbst ruft nicht an, es gibt alle 5 Minuten eine ID aus |
| SWL | Nur Empfangen, niemals senden |
Der CONTESTING-Modus ist aus technischer Sicht interessant: Das Modell muss schnelle Pile-Up-Protokolle, kurze Austausche und die Reihenfolge der Anrufbearbeitung bewältigen. Die aktuellen Fähigkeiten von GPT-4o Realtime in dieser Richtung wurden noch nicht systematisch dokumentiert – dies ist ein offener Raum für Experimente. Der Duplikatdetektor (Stationssprungerkennung) vergleicht Rufzeichen anhand der String-Ähnlichkeit und verhindert, dass das Modell andere blockiert, indem es dieselbe Station in einer Schleife anruft.
Debug-Variablen wie VAD_THRESHOLD (Spracherkennungsschwelle, 0,0–1,0), VAD_SILENCE_DURATION (Pause, um den Rap in Sekunden zu beenden), CQ_INTERVAL_SEC a CQ_RESTART_DELAY_SEC dávajú operátorovi priamu kontrolu nad rytmom prevádzky. Na rušnom pásme s QRM Ein niedriger VAD_THRESHOLD führt zu falschen Aktivierungen. Im Ruhebereich kann ein zu hoher Schwellenwert dazu führen, dass schwache Sender übersprungen werden. Vor dem ersten Einsatz lohnt es sich, diese Werte im Demomodus zu kalibrieren.
Terminalschnittstelle und ADIF-Protokoll

AI-DX umfasst eine voll funktionsfähige Terminalschnittstelle, die auf der Rich-Bibliothek basiert und zehnmal pro Sekunde aktualisiert wird. Es wird angezeigt S-Meter (Werte von wfweb, Bereich −54 dB bis +60 dB von S9), PTT-Anzeige (RX / VOICE ↑ / ON AIR), aktuelle Frequenz und Modus, Sendeleistung und SWR sowie kontinuierliche Aufzeichnung von RX/TX-Transkripten. In der unteren Zeile ist ein aktives QSO mit Status, Rufzeichen und QTH sichtbar.
Das ADIF-Protokoll wird gespeichert logs/contacts.adi. Im Demomodus wird eine separate Datei mit Zeitstempel erstellt logs/demo_YYYYMMDD_HHMMSS.adi, sodass Produktionsaufzeichnungen niemals durch Tests beeinträchtigt werden. Jeder Datensatz enthält Felder QSO_DATE, TIME_ON, ANRUF, FREQ, MODE, RST_SENT, RST_RCVD, NAME, QTH a HINWEISE. Die Frequenz wird im Moment des QSO-Endes live aus wfweb gelesen – kein fester Wert aus der Konfiguration.
Einschränkungen, rechtliche Haftung und offene Fragen

Der Autor in DISCLAIMER.md betont ausdrücklich: Der für jede Sendung verantwortliche Betreiber sind Sie, nicht das Model. Für den Lizenznehmer gelten alle gesetzlichen Verpflichtungen, die für autonome Systeme gemäß den Vorschriften der IARU, der FCC und der nationalen Regulierungsbehörden gelten. Das Projekt verfügt über einen speziellen Warnabschnitt in der README-Datei, der eine Voraussetzung für die Ausführung ist.
Modell gpt-4o-Echtzeitvorschau wird empfohlen für eine gute Fähigkeit, teilweise Rufzeichen, das phonetische Alphabet und schwache HF-Signale zu verstehen. Günstiger gpt-realtime-1.5 ist als Backup verfügbar, der Autor stellt jedoch fest, dass die Genauigkeit bei stark ausgelasteten Funkwellen deutlich schlechter ist. Die Kosten für die OpenAI-API hängen von der Sitzungslänge ab und sind bei langen Wettbewerbsveranstaltungen nicht zu vernachlässigen.
Die native Integration mit einem externen DX-Cluster fehlt derzeit, HamQTH-Callbuch alebo LoTW – ADIF log existuje, ale jeho automatické odovzdanie je na používateľovi. Rovnako nie je implementovaná podpora CW; Das Modell versteht CW-Text, wenn der Transceiver ihn decodiert und als Text anzeigt. Für die native Decodierung von Morsecode aus Audio wäre jedoch ein zusätzliches Modul erforderlich. Dies sind die Räume, in denen die Community das Projekt vorantreiben könnte.
Eine schwerwiegendere praktische Einschränkung könnte die Cloud-API-Latenz sein. GPT-4o Realtime antwortet normalerweise innerhalb weniger hundert Millisekunden, nachdem der Anruf der anrufenden Station beendet ist. Bei einem ausgelasteten Server oder instabilem Internet kann die Pause vor dem Senden jedoch spürbar sein. Auf einer Wettkampfbahn mit dichtem Stau kann es den Eindruck eines langsamen Fahrers erwecken. Wert VAD_SILENCE_DURATION=0,6 ist die Standardeinstellung, aber eine Reduzierung auf 0,4 s kann die Reaktion beschleunigen, allerdings auf Kosten gelegentlicher vorzeitiger Übertragungen.
Regulatorische Rahmenbedingungen: Wer ist verantwortlich?
AI-DX beruft sich offen darauf, dass gemäß den Vorschriften der meisten Länder, darunter der Slowakischen Republik und der Tschechischen Republik, für jede Übertragung ein Kontrollbetreiber – ein Inhaber einer gültigen Amateurlizenz, der den Betrieb aktiv überwacht – verantwortlich sein muss. Das autonome System ändert diese Regel nicht. Wenn AI-DX versehentlich einen illegalen Anruf beantwortet, falsche Leistung sendet oder gegen den Bandplan verstößt, ist der Betreiber und nicht das Modell verantwortlich. Der Autor gibt in DISCLAIMER.md an, dass die Software „wie besehen“ ohne Gewährleistung bereitgestellt wird und der Benutzer alle gesetzlichen Verpflichtungen anerkennt.
Praktický dôsledok: AI-DX nie je určený na prevádzku bez dozoru. Realistický prípad použitia je napríklad contestová prevádzka, bei dem der Bediener das Terminal überwacht und möglicherweise die manuelle Steuerung übernimmt, oder experimentelle Erprobung der SSB-Pile-up-Verarbeitung ohne physische Anwesenheit am Funkgerät, aber mit der Möglichkeit einer sofortigen Trennung. Modus SWL es ist unter diesem Gesichtspunkt das sicherste – es sendet nie und dient ausschließlich dem Empfang und der Analyse.
So engagieren Sie sich
Der Quellcode ist verfügbar unter github.com/adecarolis/AI-DX pod licenciou MIT. Licencia je čistá: predchádzajúce verzie projektu využívali Hamlib (LGPL v2.1), die aktuelle Version enthält kein Hamlib – die PTT-Steuerung erfolgt ausschließlich über den wfweb WebSocket-Befehl setPTT. Záujemcovia o portáciu na Linux alebo Windows môžu otvoriť issue na GitHube – základ je čisto Python a asyncio, takže technická bariéra nie je vysoká. Chyby a návrhy patria do záložky GitHub Issues. Kto má skúsenosť s integráciou Hamlib, N1MM+ oder externe DX-Cluster können mit Pull-Requests beitragen – das Projekt hat eine saubere modulare Struktur mit separaten Verzeichnissen für Audio, AI, Radio, Core und UI. Für das Testen im Demo-Modus sind weder Funk noch Lizenz erforderlich – nur Python, ein OpenAI-API-Schlüssel und ein Mikrofon.
Quellcode, Installationsverfahren und HAFTUNGSAUSSCHLUSS finden Sie unter github.com/adecarolis/AI-DX. Der Demomodus funktioniert ohne Funkhardware.
