Waveform Applet Configuration Reference¶
The Waveform applet provides an audio oscilloscope that shows the time-domain waveform of the active TX or RX audio path in one of four view modes (Scope, Envelope, History bars, Bands spectrum). It helps operators spot clipping, dropouts, and audio level issues at a glance. The TX path is tinted differently from RX so the current direction is unambiguous.
Overview¶
The waveform display renders mono float-32 PCM samples received from the audio engine. The TX direction is tinted differently from RX, making the current side obvious without reading a label. The header readout shows RX/TX, RMS dBFS, and PK dBFS.
Waveform rendering uses QPainter with incremental reduction via WaveformScopeModel: repaints merge pre-folded bins instead of rescanning the raw window, so paint cost no longer scales with the time window.
Waveform display interactions¶
| Interaction | Behavior | Notes |
|---|---|---|
| Single-click on display | Toggles pause. A snapshot of the buffer is frozen until clicked again. Useful for inspecting a transient. A "PAUSED" badge appears in the footer while paused. | |
| Double-click on display | Toggles the settings drawer open or closed. Does not clear the buffer — use the WaveformWidget::clear() slot or reconnect to reset. |
The single-click discrimination interval is read from the Radio Setup click discrimination setting. If you adjust this value in Radio Setup, it takes effect immediately without an app restart.
Waveform display indicators¶
| Indicator | States | Meaning |
|---|---|---|
| Direction tint | RX (cool tint), TX (warm tint) | Visually disambiguates whether the displayed waveform is the receive monitor or the outgoing transmit path. |
| Clipping highlight | No clipping (normal trace), Clipping (red emphasis, CLIP N label) | Columns containing samples at or above ±0.98 full-scale are highlighted; a 'CLIP N' counter appears in the header. |
| PAUSED badge | Live (no badge), Paused (PAUSED badge in footer) | Indicates the display is showing a frozen snapshot and not the live audio stream. |
| No-audio placeholder | Waveform present, 'no RX audio' / 'no TX audio' message | When no scope samples have arrived within 1 second, a placeholder message is shown instead of an empty trace. |
Settings drawer¶
The settings drawer can be toggled open or closed by double-clicking the waveform display. Its expanded state is persisted across sessions using the WaveApplet_DrawerExpanded setting. When you close the drawer and restart AetherSDR, it remains closed until you double-click the display to reopen it.
View mode¶
- Double-click the waveform display to open the settings drawer.
- Locate the View combo box at the top of the drawer. The combo box has object name
waveViewComboand accessible name "WAVE view mode". - Select one of the following modes:
| Mode | Description |
|---|---|
| Scope | Graph = min/max + RMS lines |
| Envelope | Peak/RMS filled area |
| History | Horizontal level bars |
| Bands | Frequency band bars via Goertzel filter |
The setting is persisted as WaveApplet_ViewMode with values 'Graph', 'Envelope', 'History', or 'Bands'.
Zoom slider¶
- Double-click the waveform display to open the settings drawer.
- Locate the Zoom slider. The slider has object name
waveZoomSliderand accessible name "WAVE zoom". - Drag the slider to adjust the amplitude zoom. The current value is shown to the right of the slider in the format
N.Nx.
| Control | Default | Valid range | Persisted key |
|---|---|---|---|
| Zoom | 1.7x (170%) | 1.0x–6.0x (100–600) | WaveApplet_ZoomPercent |
Higher values stretch small signals vertically, causing clipping artifacts to appear sooner. The slider uses the primary slider style from the current theme.
FPS slider¶
- Double-click the waveform display to open the settings drawer.
- Locate the FPS slider. The slider has object name
waveFpsSliderand accessible name "WAVE FPS". - Drag the slider to adjust the refresh rate. The current value is shown to the right of the slider in the format
N fps.
| Control | Default | Valid range | Persisted key |
|---|---|---|---|
| FPS | 25 Hz | 5–60 Hz | WaveApplet_RefreshRateHz |
Lower values reduce CPU load on slow systems. The upper range has been extended to 60 Hz for users who want a faster scope response. The default of 25 fps provides a calm, low-overhead cadence matching the usual radio panadapter rate. Users who previously saved an explicit FPS value keep their existing setting — the default is only applied when the setting key is absent.
The setting has no effect on audio capture or level accuracy. The slider uses the primary slider style from the current theme.
Window slider¶
- Double-click the waveform display to open the settings drawer.
- Locate the Window slider at the bottom of the drawer. The slider has object name
waveWindowSliderand accessible name "WAVE window". - Drag the slider to select a time window for the waveform display.
| Control | Default | Valid range | Persisted key |
|---|---|---|---|
| Window | 200 ms | 10–500 ms | WaveApplet_TimeWindowMs |
The slider uses discrete steps from the window steps array. The current value is shown to the right of the slider. The slider uses the primary slider style from the current theme.
Setting a shorter window allows you to see fine details in the waveform. Setting a longer window shows more history at reduced resolution.
Migration note: If you previously set a time window using the older WaveApplet_TimeWindowSec setting, it is automatically converted to the nearest available discrete step on first use. The old key is then removed from settings.
Tips¶
- A value of 5–10 fps is sufficient for monitoring average levels and spotting clipping. Use higher values only when you need to track fast transients visually.
- The FPS slider uses a single step of 5 and a page step of 10, so pressing the arrow keys or Page Up/Page Down on the slider moves it in those increments.
- The zoom, FPS, and window settings are independent — changing one does not affect the others.
- Use the pause feature (single-click the display) to freeze the waveform for close inspection of a transient or anomaly.