Skip to content

Contest Support - Ability to record CW sidetone along with RX Audio. #2539

Description

@g4irn

Request preparation

  • I used an AI assistant to help structure this request
  • I checked for existing issues covering the same feature

What would you like?

I am a contester; also, I operate a remote station. I want to be able to record both incoming and outgoing audio (incl. CW sidetone) in my contest logger when working with AetherSDR.
There isn't really a problem with SSB - I can enable the FDX function and hear my voice in the monitor, although slightly delayed - which isn't a problem. The SSB audio I hear through the selected audio device (both outgoing and incoming) can then be recorded in the contest logger, per the contest rules.
The real issue exists when using CW - no sidetone can he heard so it can't be recorded along with the incoming RX audio. I key the radio in one of two ways 1) from the CW socket at the rear of the physical radio (using a Remote Rig RRC-1258 MKII or similar) or 2) using a Morconi unit, which sends Flex API calls to the radio to key the CW. Neither of these keying methods produce an audible sidetone in AetherSDR which can be recorded. Note - the sidetone is not being used for real-time paddle keying, there will be a delay (particularly due to the remote link) but that is OK - the sidetone is only used to complete the contest recording.

I did not find an existing open issue that clearly covers “remote/contest CW sidetone loopback into the monitored audio path for contest recording” in AetherSDR open issues or the current project documentation. (GitHub)
This is a FEATURE REQUEST.
Title
Add optional CW sidetone mix into monitored RX/output audio for contest recording
What
Add an optional feature that mixes locally-generated or radio-derived CW sidetone into the same monitored/output audio path that already carries RX audio and FDX monitor audio.
This would allow contest loggers and external contest-recording software to capture:
• Incoming RX audio
• Outgoing SSB monitor audio
• Outgoing CW sidetone
…as a single continuous recording stream for contest-rule compliance during remote operation.
The key requirement is that CW sidetone becomes audible on the selected output audio device even when CW is keyed externally rather than from AetherSDR’s own keyboard/paddle subsystem.
Example external keying methods:

  1. Hardware CW keying into the radio’s rear-panel CW jack (e.g. RemoteRig RRC-1258 MkII)
  2. External network keyers/controllers such as Morconi sending Flex API CW commands directly to the radio
    Currently these methods transmit CW correctly over RF, but no sidetone is heard inside AetherSDR, so the outgoing CW cannot be included in contest recordings.
    Why
    This is especially important for:
    • Serious contesters
    • Remote station operators
    • Multi-op contest stations
    • Operators subject to contest recording rules
    For SSB this is already mostly achievable because enabling FDX allows transmitted monitor audio to be heard and recorded alongside RX audio.
    CW is different:
    • RF transmission occurs correctly
    • External keying works correctly
    • But AetherSDR does not currently reproduce a monitor sidetone for externally-generated CW
    As a result:
    • Contest recordings contain only the received station audio
    • The operator’s transmitted CW is missing
    • The recording is incomplete for adjudication/review purposes
    Real-time low-latency sidetone is not required here. Remote links may already introduce significant delay and that is acceptable. The goal is simply to ensure the transmitted CW appears in the recorded audio stream.
    How Other Clients Do It
    SmartSDR
    SmartSDR can include CW sidetone within the monitored audio path depending on monitor/CW settings and radio-side sidetone handling. Contest operators commonly use this for contest recording.
    Traditional contest station audio chains
    Many contesters intentionally mix:
    • RX audio
    • Mic monitor audio
    • CW sidetone
    …into a single recorder feed for compliance logging.
    Other SDR clients
    Several SDR clients expose monitor-routing or “record what operator hears” functionality, where locally-generated tones and monitor signals are mixed into the final playback/output stream.
    Suggested Behavior
    New option in audio/CW settings
    Add a checkbox such as:
    • Mix CW sidetone into monitored audio
    or
    • Include CW sidetone in RX/output stream
    Potential locations:
    • CW settings panel
    • Audio settings
    • Aetherial Audio Channel Strip
    • RxApplet monitor controls
    Runtime behavior
    When enabled:
    • Any CW transmission should generate audible sidetone on the selected output device
    • The sidetone should be mixed into the same stream as RX audio
    • Contest recording software can then capture both sides of the QSO automatically
    Keying-source support
    The feature should ideally work for:
    • Native AetherSDR CW keying
    • Flex API netCW keying
    • External hardware keying detected from radio TX/CW state transitions
    Possible implementation approaches
    Option A — Local synthetic sidetone
    Generate sidetone locally whenever:
    • Radio enters CW TX state
    • cw key / cw ptt transitions are observed
    • RF carrier activity indicates CW transmission
    Option B — Radio monitor audio integration
    If the radio already exposes usable monitor/sidetone audio in the stream, route/mix it into the monitored output path.
    Option C — Hybrid
    Use radio-derived sidetone when available, otherwise synthesize locally.
    UI considerations
    • Sidetone level should be independently adjustable
    • Pan should respect existing CW pan controls if applicable
    • The mix should feed:
    o speaker output
    o headphone output
    o virtual audio recording paths where appropriate
    Important note
    This is not intended for low-latency paddle monitoring during live CW sending over WAN links.
    Delayed sidetone is acceptable because the purpose is:
    • contest recording
    • operator review
    • compliance recording
    Protocol Hints
    Possibly relevant:
    • cw key
    • cw ptt
    • break_in
    • mon_pan_cw
    • Existing sidetone handling already referenced in recent CW work
    Recent releases already added substantial CW infrastructure and local sidetone handling, including:
    • local iambic engine
    • sidetone pan
    • CW edge handling
    • netCW timing updates
    This feature may be implementable by extending the existing CW audio-monitor routing.
    Exact FlexLib behavior for externally-keyed CW sidetone availability is unknown and may require research.
    Acceptance Criteria
    • CW sidetone can be heard in AetherSDR during externally-keyed CW transmission
    • Sidetone is mixed into the same output stream as RX audio
    • Contest recording software can capture both RX audio and transmitted CW from one audio device/feed
    • Feature works during remote/SmartLink operation
    • Feature can be enabled/disabled independently from normal CW operator monitoring preferences
    • Existing local low-latency CW functionality is not degraded
    Suggested Labels
    • enhancement
    • audio
    • protocol
    • external devices
    • SmartLink

Metadata

Metadata

Assignees

No one assigned

    Labels

    CWCW keying, decode, and operationaetherclaude-eligibleIssue approved for AetherClaude automated agentaudioAudio engine and streamingenhancementImprovement to existing featureexternal devicesFlexControl, MIDI, serial port, USB peripheralsmaintainer-reviewRequires maintainer review before any action is takenprotocolSmartSDR protocol

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions