Lyra — Qt6 SDR Transceiver für Hermes Lite 2 / 2+

Lyra — Qt6 SDR Transceiver für Hermes Lite 2 / 2+

Aktuelle Version: 0.1.0-pre2 — „RX2 Dual Receiver“

Modern PySide6 Desktop-SDR für Steve Haynals Hermes Lite 2 und HL2+. Native Python HPSDR Protokoll 1, TCI v1.9 Server, gläserne Benutzeroberfläche mit Lit-Bogen- und LED-Stabzähler, ein Band-Plan-Overlay mit Wahrzeichen click-to-tune, GPU-beschleunigter Panadapter + Wasserfall, Dual-Empfang (RX2) mit fokussiertem VFO-Operatormodell und SUB-Stereo-Split, a CW-fokussiertes Audio-Toolkit (APF-Audio-Peaking-Filter + BIN binaural Pseudo-Stereo) und ein tiefes WDSP-cffi-Noise-Toolkit, das sich auf Warren Pratts WDSP — EMNR-Modus 1-4 Rauschunterdrückung, adaptive Linie Enhancer (ANF), All-Mode-Squelch. Eingebaute Wetterwarnungen beobachten die Lokale Bedingungen des Betreibers über mehrere Datenquellen hinweg (Blitzortung, NWS, Ambient, Ecowitt) und erhöhen Sie die Symbolleiste + Toast Benachrichtigungen für Blitz- und Hochwindereignisse.

Lyra

Status

Pre-alpha — RX ist funktionell; TX ist in Arbeit. Entwickelt und getestet gegen ein Hermes Lite 2+ Board.

Die obige Versionsatte ist die einzige Quelle der Wahrheit, die in lyra/__init__.pyund Oberflächen in:

  • Die Fenster-Titelleiste
  • Die Hilfe → Über Lyra Dialog
  • Ein permanentes Label auf der rechten Seite der Statusleiste
  • Der Abschnitt Über den Benutzerführer (live aus Paketmetadaten renderederd)

Das Bumping der Version ist eine einzeilige Bearbeitung in lyra/__init__.py; jede Die Anzeigefläche folgt automatisch.

Changelog

Alle bemerkenswerten Änderungen an Lyra-SDR werden in dieser Datei dokumentiert, zuletzt zuletzt.

Das Format folgt Keep a Changelog lose. Lyra verwendet Pre-1.0-Semver: 0.<minor>.<patch>wo <minor>Beulen für Benutzerorientierte Feature-Batches und <patch>Beulen für nur Bug-fix-Veröffentlichungen zwischen Feature-Batches. Siehst du lyra/__init__.pyfür die kanonische Version String.

Lizenzhistorie: durch v0.0.5 wurde Lyra MIT-lizenziert. Beginnend mit v0.0.6, Lyra ist GPL v3 oder höher (siehe NOTICE.md).


[0.1.1] — 2026-05-14 — Polnisch & Audio-Routing

Polnisches Release auf v0.1.0 RX2 GA. Fünf gebündelte Artikel (§15.16 Zielfernrohrsperre) vom Park-Features-Rückstandsschiff zusammen statt Als fünf Schnellfeuer-Pflaster.

Neue Features

  • RIT (Receiver Incremental Tuning) — TUNING-Panel erhält eine RITTaste neben der VFO-Brückengruppe. Klicken Sie auf RIT ein/aus; Shift+click Nullen der Offset und deaktiviert in einer Geste. Wenn engagiert, eine Inline [−] value [+]StepperReadout erscheint neben die Schaltfläche zur Offseteinstellung (1 Hz / Klick, 10 Hz / Shift+click, Klick-und-Halte-Rampen, Mausrad = 1 Hz/Kerbe, Rechtsklickwert für getippte Präzisionseinfahrt). Stepper versteckt sich, wenn RIT ausgeschaltet ist, so dass die Die Reihe bleibt kompakt. Reichweite ±9999 Hz. Bleibt über Sessions hinweg bestehen. RX1 nur in v0.1.1 — pro-RX RIT aufgeschoben.
  • TCI RX2 Kanal — Lyra wirbt jetzt für channel_count:2;auf Clientverbindung und Routen DDS:1/ VFO:0,1/ IF:0,1/ MODULATION:1Befehle an RX2. Outbound dds:1/ vfo:0,1/ modulation:1sendet Feuer auf RX2 Zustandsänderungen. SDRLogger+ (und jeder andere Dual-VFO-TCI-Client) kann jetzt sowohl RX1 als auch RX2 von einer einzigen Websocket-Verbindung. Initial-State-Emission auf connect füllt die ch1-Oberfläche des Kunden ohne Umfragen.
  • Gerätelisten-Gruppierung nach Host-API — Einstellungen → Audio → Dropdown-Menü Ausgabegerät gruppiert nun Einträge mit Abschnittsteilern (Windows WASAPI / Windows WDM-KS / DirectSound / MME / ASIO), Das gleiche physische Gerät einmal pro verfügbarer Host-API. Status Banner Shows ✓ N device(s) across M host API(s). Entfernt die vorherige Verwirrung des Sehens von „Speakers (Realtek)“ fünfmal hintereinander ohne Erklärung.
  • VAC Digital-Modes Workflow Doc — docs/help/audio.mdgewinnt eine „Digitale Modi mit VAC“-Abschnitt für virtuelles Audiokabel Retouting nach WSJT-X / FLDigi / JS8Call / MSHV, TCI-vs-VAC Vergleich, Latenz-Mathe und Per-App-Getchas. Code-Pfad bereits funktioniert (VAC registriert sich als normales Audiogerät); dies ist die fehlende Dokumentation.

Fehlerbehebungen

  • TCI-Limit-Schlüsselkollision (RX1 vs RX2) — _broadcastBisher Keyed Rate Limiting nur durch Befehlsname, so schnell RX1-Tuning könnte RX2-Sendungen verhungern lassen und umgekehrt. Jetzt Schlüssel von (command, channel)So bekommt jeder RX seinen eigenen Rate Bucket.
  • Auto-LNA-Tasten-Tooltip – aktualisiert, um die Pull-up-Realität zu entsprechen (Das Vermächtnis „erhöht nicht Gewinn“ Behauptung war falsch, seit die Auto-LNA-Klimmzugszweig landete mehrere Releases zurück).

Scope Notizen

  • XIT — TX-Spiegel-RIT; renders deaktiviert in v0.1.1, Schiffe vollständig in v0.2 neben TX-Breitstellung (~2 h ermöglichen die Arbeit auf der Oberseite der v0.1.1 RIT-Infrastruktur).
  • ASIO-Unterstützung — Host-API-Gruppierung ist vorhanden; Volle ASIO-Schiffe in v0.2, wenn TX-seitige Monitor-Latenz die ~5 ms Host-API-Boden lohnt sich auf die Implementierung.
  • WASAPI Exclusive-Modus — bereits in v0.0.9.6 über die Einstellungen → Audio-Host-API-Dropdown; das Audit während v0.1.1 prep markierte, dass es mit „still geparkt“ im §15.16 Rückstand (kein Code funktioniert, nur Dokumentationsschließung).

Testabdeckung

Verhaltensvalidierungspass: 11 TCI RX2 Channel-Routing-Assertionen (DDS / VFO / IF / MODULATION read+write auf ch0 und ch1, Kanal Isolation, Müll-Index-Handling, Rate-Limit-Schlüsseltrennung) + 6 RIT-Mathe-Assertionen (USB-Baseline, off→on-Knebel, ±offsets, CW Pitch-Zusament, RX2-Isolierung, Reichweitenspannung) + UI-Prüfstandsprüfung (Schritte-Sichtbarkeit, Signalsynchronisation, keine Echoschleifen). Bankbestätigt 2026-05-14.

Letzte Veröffentlichung — siehe CHANGELOG.md

Die aktuelle Veröffentlichung ist 0.1.0-pre2 — „RX2 Dual Receiver“ (2026-05-12). Vorabversion für Tester-Tischflug mit Brent (N9BC), Timmy (KC8TYK), und N8SDR. Die Hauptänderung ist der vollständige RX2-Doppelempfänger auf der HL2 — Zwei unabhängige Empfänger, die nebeneinander unter einem fokussierten VFO laufen Betreibermodell.

  • RX2 Dual-Empfänger — zweiter Empfänger auf DDC1 mit eigenem VFO, Modus, Filter, AGC und NR-Zustand. Beide Empfänger laufen kontinuierlich Wann immer RX2 aktiviert ist – keine Muting-Tricks oder Quick-Toggles.
  • Fokussiertes VFO-Modell – genau ein VFO ist jederzeit „fokussiert“; Panadapter, Tuning-Knauf, Modus-Picker, Band-Tasten und GEN/TIME/ Mem erinnert sich an alle Handlungen auf dem fokussierten VFO. Grüne Grenze an der Fokussierte VFO-Frequenzanzeige markiert, wohin der Eingang geht. Swap Fokussieren Sie durch Anklicken der LED des anderen VFO, Strg+1 / Strg + 2, oder mittlerer Klick an einer beliebigen Stelle auf dem Panadapter.
  • SUB Stereo Split — Single-Button-Toggle auf dem TUNING-Panel. Sub off = mono auf fokussiertem VFO. SUB on = RX1-links / RX2-Rechts Stereo Split. Vol-A / Vol-B / Mute-A / Mute-B Schieberegler sind immer sichtbar (Phase 3. E.1 Hotfix — vorhersehbare Layout-Bedingungen Widgets). Balance + AF Gain bleiben einzelne gemeinsame Steuerelemente.
  • VFO B immer sichtbar – die zweite Frequenzanzeige (zuvor versteckt) sitzt jetzt dauerhaft unter VFO A. Klicken Sie auf Geben Sie ihm Fokus; Doppelklicken, um eine Frequenz einzugeben.
  • Ausdauer über Sitzungen hinweg – rx2_enabled, focused_rx, pro-RX vol / stumm und pro RX-Modus alle Hin- und Rückfahrt durch die Lyra Sitzungsdatei. Öffnen Sie Lyra genau, wie Sie es verlassen haben.
  • Reduzierung der Audioweglatenz (Post-pre2-Politur, §15.7) — rmatch ring 400 → 150 ms, HL2 TX-Latenzregister 40 → 15 ms. ~275 ms rasiert vom RX-Pfad gegen vor§15.7. Siehe das Benutzerhandbuch Problembehandlungsthema für die Tester-Diagnostik-Env-Vars (LYRA_RMATCH_RING_MS, LYRA_HL2_TXLATENCY_MS, LYRA_TIMING_DEBUG).

Für die vorherige Veröffentlichung vom v0.0.9.3 („WDSP AGC“ — Warren Pratt wcpAGC-Engine, APF bewegt nach AGC, Soundgerät-Geräte-Info Diagnose), v0.0.9.2 (Host → Radio EP2-Kadenz-Umschreibung, Bandwechsel Fixes, 48 k IQ-Renten) und der v0.0.9 / v0.0.9.1-Charge (Memory & Stations, TIME-Taste, EiBi-Overlay, etc.):

  • TIME-Taste (HF-Zeit-Station-Zyklus). Drücken Sie ZEIT auf die BANDs Panel zum Springen zu WWV / WWVH / CHU. Drücken Sie erneut, um durchzutreten 9 Zeitsignalfrequenzen (2.5, 3.330, 5, 7.850, 10, 14.670, 15, 20, 25 MHz) in länderbezogener Reihenfolge — nächstgelegene Stationen zu Ihrem Callsign zuerst. Modus + Filter automatisch eingestellt.
  • GEN1 / GEN2 / GEN3 Anpassung. Klicken Sie mit der rechten Maustaste auf einen GEN-Slot, um Speichern Sie Ihre aktuelle Frequenz / Modus / Filter. Dialog bestätigen verhindert versehentliche Überschreibungen. Die Standardwerte sind sinnvoll (40m / 20m SSTV / 10m), aber jeder Slot gehört Ihnen, um neu zuzuordnen.
  • Speicherbank — 20 benannte Voreinstellungen. Neue MemMem-Taste neben GEN3 öffnet ein Dropdown-Menü mit benannten Operatorspeichern (z. „OMISS Netz 7.185, „30m Beacon“). Addieren Sie aus dem Dropdown-Menü, verwalten von Einstellungen → Bänder → Speicher: Umbenennen, Nachbestellen, Löschen, CSV Import / Export.
  • Shortwave Broadcaster Overlay (EiBi). Lyra malt jetzt Stations-IDs auf dem Panadapter — Name + Sprache + Zielregion — für den Sender, der derzeit in jeder sichtbaren Frequenz in der Luft ist innerhalb der SW-Sendebänder (49m bis 11m). Auto-unterdrückt in den Amateurzuteilungen Ihrer Region, damit es nicht überfüllt Schinkenbands. Mit einem Klick aus der saisonalen EiBi CSV gezogen Hintergrund-Updater (Auto-Update + manuelle Installationspfade beide unterstützt). Mehrreihes Label stapeln, wenn Bands überfüllt werden.

Plus: Tooltip-Schriftart für Lesbarkeit auf 13 pt gestoßen, Einstellungsdialog Er erhielt eine BandsBands-Registerkarte, die alle oben genannten enthält.

Die Vollversionshistorie (0,0.3 → 0.0.9) finden Sie unter In: CHANGELOG.md.

Siehst du docs/help/getting-started.mdfür die komplette Führung oder Presse F1 in der App für das In-App-Benutzerhandbuch.

Merkmale bisher

RX-Signalkette

  • Native HPSDR P1 Discovery + Streaming (UDP, Port 1024)
  • Dual-Empfang (RX2) auf DDC1 — unabhängig VFO / Modus / Filter / AGC / NR pro RX
  • Spektrum-korrekter Panadapter (HL2 Basisband Spiegelkorrektur angewendet)
  • AGC mit Schnell / Medium / Langsam / Lang / Auto / Kundenspezifische Profile (WDSP wcpAGC engine via cffi)
  • Auto-LNA-Back-off + Opt-In-Klimmzug (Überlastschutz, Bereich -12 bis +48 dB)
  • Manuelle Kerbfilter — Multi-Notch, pro Kerbe Q, Live-Schnitttiefe Visualisierung auf dem Spektrum
  • WDSP EMNR Rauschunterdrückung (Mode 1-4 Picker, AEPF Nachfilter, NPE Rauschschätzer)
  • Aufgenommene Rauschprofilbibliothek (schnappt das Rauschen der Band, erinnert sich später)
  • Geräuschboden-Referenzlinie mit automatischer Schwellenfütterung AGC
  • Passband-Overlay mit schleppbaren Kanten für Live-RX-BW-Tweaks
  • Spitzenmarker (Linie / Punkte / Dreiecke, nur In-Passband)

Bands und Modi

  • IARU Regionalbandpläne (US / R1 / R3 / NONE)
  • Farbige Subbandsegmente + FT8 / FT4 / WSPR / PSK Landmark Dreiecke — Klicken Sie auf ein Dreieck, um die Modi zu optimieren und zu wechseln
  • SSB (USB/LSB), CW, AM, FM, DIGU / DIGL

UI

  • Angedockter Arbeitsbereich (auf schwebend / tabus ziehen / Layout zurücksetzen)
  • Lit-Arc S-Meter mit LED-Bar Alternative (klicken Sie auf die Chip-Reihe im Meters-Panel-Header, um die Stile zu wechseln)
  • Fokussierte-VFO-Anzeige (grüner Rand) + Mittelklick-zu-Swap der Panadapter
  • Wasserfall mit acht Paletten (Classic / Inferno / Viridis / Plasma / Regenbogen / Ozean / Nacht / Graustufen)
  • Klick-Beschriftungs-Farbauswahl in Einstellungen → Visuals (Text jedes Feldes Gemalt in der aktuellen Farbe dieses Feldes + fett gedruckt für auf einen Blick Konfigurationsansicht)
  • Optionales OpenGL-Rasterisierungs-Backend, damit die Größe/der Vollbildmodus nicht geändert wird Audio anhalten
  • Y-Achsen-Trag-to-Rescale am rechten Rand des Spektrums
  • Zwei-Wege-Synchronisierung zwischen Schiebereglern und Einstellungen an der Frontblende anzeigen

Integration

  • TCI v1.9 Server — steuert SDRLogger+, DX-Cluster, CAT-Clients
  • DX-Spot-Rendering mit Altersverblassung und mehrreihiger Kollisionspackung
  • Per-Session-Notch-Bank, pro-Band-Frequenzspeicher

Audio out

  • HL2 Audio-Buchse (EP2 → AK4951 Onboard-Codec, Standard für HL2 Hardware) oder PC-Soundcard (WASAPI via PortAudio mit adaptivem Rmatch-Resampler)
  • Automatischer Fallback, wenn die IQ-Stromrate die 48 kHz von AK4951 überschreitet
  • Pro-RX Vol-A / Vol-B / Mute-A / Mute-B-Schieberegler immer sichtbar (SUB-bewusst)

Stapel

  • Benutzeroberfläche: PySide6 (Qt6)
  • Protokoll: Native Python HPSDR Protokoll 1 (UDP, Port 1024)
  • DSP: WDSP via cffi (gebündelte GPL DLLs in lyra/dsp/_native/)
    • NumPy / SciPy-Kleber für Nicht-DSP-Signalhandling
  • Steuerung: TCI v1.9 Server
  • Audio: HL2 Audio-Buchse (EP2 Codec) standardmäßig; sounddevice / PortAudio (WASAPI) für den PC Soundcard-Ausgabepfad
  • Zielbetriebssystem: Windows-first

Aus der Quelle laufen

Erfordert Python 3.11+ unter Windows.

Schnellstart:

pip install -r requirements.txt
python -m lyra.ui.app

Oder Doppelklick LYRA.bat.

Schritt-für-Schritt-Installation für Nicht-Entwickler-Tester: siehe INSTALL.md— deckt Python-Installation, Git Setup-, Abhängigkeitsinstallations-, Common-Getchas- und Feedback-Kanäle. Eine druckbare Word-Version ist ebenfalls erhältlich docs/Lyra-SDR-Install-Guide.docx.

Beim ersten Start versucht Lyra, eine HL2 im lokalen Netzwerk zu entdecken. Wenn die Platine erreichbar ist, wird sie im Verbindungsfenster angezeigt; wenn nicht, überprüfen Sie die Firewall, die Verkabelung und dass der HL2 Strom hat. Voll Anleitung zur Fehlerbehebung im In-App-Benutzerhandbuch (drücke F1F1).

Hardware-Referenzen

Beziehung zu Thetis / WDSP / openHPSDR

Lyra v0.0.5 und früher (unter MIT) waren eine Reinraumimplementierung Referenzierung nur Protokolldokumentation und bedienersichtliche Benutzeroberfläche Verhalten — keine Thetis-Quelle wurde integriert.

Beginnend mit v0.0.6 (unter GPL v3 oder höher) ist Lyra voll Lizenzkompatibilität mit dem openHPSDR-Ökosystem. Zukünftige Releases kann direkt mit GPL’d Ham-Radio-Bibliotheken einbinden oder verlinken (insbesondere WDSP für PureSignal, CESSB und Advanced TX). Alles so Eingliederungen speichern vorgelagerte Urheberrechte + GPL-Begriffe; siehe NOTICE.mdfür laufende Offenlegungen Dritter.

ExpertSDR3 ist eine kommerzielle Closed-Source-Software von Expert Elektronik — aus veröffentlichten Handbüchern als Design referenziert Inspiration nur, keine Code-Beteiligung.

Backlog

Verfolgt in docs/backlog.md. Offene Elemente mit hoher Priorität: TX-Pfad, pro-Band-Notch-Speicher, freigelegte RNNoise / SpectralBleach NR über UI (DLLs bereits versendet, noch kein Frontend), Installateur für Beta Tester.

Lizenz

GNU General Public License v3.0 oder höher — siehe LICENSE.

Lyra wurde ursprünglich unter der MIT-Lizenz bis zum Abschluss freigegeben v0.0.5 („Listening Tools“). Beginnend mit v0.0.6 ist Lyra Relizenziert unter GPL v3 oder höher, um der Lizenzierung der breiteres openHPSDR / WDSP-Ökosystem und um zukünftige Integration zu ermöglichen mit WDSP-basierten Funktionen (PureSignal, CESSB, Advanced TX). Vergangenheit Die Veröffentlichungen (≤ v0.0.5) bleiben unter ihren ursprünglichen MIT-Begriffen; die Relicense gilt nur für v0.0.6 und höher.

Was das in der Praxis bedeutet:

  • Sie können Lyra für jeden Zweck verwenden, einschließlich kommerzieller Nutzung
  • Sie können Lyra frei ändern
  • Sie können Lyra und Ihre Modifikationen weiterverteilen – aber das Ergebnis Sie müssen auch GPL v3 (oder später) sein, und Sie müssen Quelle zur Verfügung stellen

Was sich nicht ändert:

  • Spenden sind immer noch willkommen (PayPal, etc.) – GPL schränkt nicht ein Zahlung für das Projekt erhalten
  • Betreiber können Lyra kostenlos ausführen, keine Strings
  • Die komplette Quelle bleibt auf GitHub öffentlich

Für den kanonischen GPL v3 Text, siehe LICENSEin diesem Repository oder https://www.gnu.org/licenses/gpl-3.0.html.

© 2026 Rick Langford (N8SDR), Brent Crier (N9BC), Timmy Davis (KC8TYK), und Lyra-SDR-Mitwirkende — siehe CONTRIBUTORS.md

0 0 Stimmen
Article Rating
Abonnieren
Benachrichtige mich bei
guest
Der Nutzung, Verarbeitung und Speicherung meiner Daten stimme ich zu.
0 Comments
Newest
Oldest Most Voted
Translate »
0
Ich hätte gerne Ihre Gedanken, bitte kommentieren Sie.x