UI design · live mock on simulated audio

Beeper Morse Console

The window below is laid out exactly as the pyqtgraph app will be. The signal is simulated from the numbers measured on your desktop beeper, with hand-keying jitter added, so the plots move the way the real ones will.

Beeper2491 Hz
Tone above floor46 dB
Block10 ms
Refresh30 fps
Beeper Morse Console Microphone Array 1 (WDM-KS) · 48 kHz
Hz
WPM
Spectrum 0–8 kHz · 2048-point FFT · 43 msA
Tone power at 2491 Hz · last 10 s · threshold with hysteresisB
Decoded · letters appear at each gap, a long gap adds a spaceC
Current letter  
Dit— ms Dah— ms Letter gap— ms Reverb offset— ms Mark lengths, last 30
Encode · type a message, read it as Morse, follow the keying guide or play itD
WPM
Durations
Dit · dah
Letter gap · word gap
Tone2491Hz
Play keys the tone through this machine's speakers, so the decoder above can be tested without the desktop.
Listening 480-sample blocks 0 dropped 00:00
Simulation
A

Spectrum

What the mic hears, 0 to 8 kHz. The amber marker sits on the tone frequency; the faint marker at 3f shows the beeper's third harmonic, which is 11 dB down on your speaker. Auto-detect averages this view for a second and snaps the marker to the strongest peak.

B

Tone power and ON/OFF strip

Energy at the tone frequency, one point per 10 ms, scrolling over the last 10 seconds. The dashed pair is the hysteresis threshold, drawn from the tracked floor and peak. The strip beneath is the detector's verdict, the tape a Morse operator would read.

C

Decoded text and timing

The letter being keyed builds up as dots and dashes and is committed at the next letter gap. On the right, the live estimates that drive the decoder: dit, dah, letter gap and the reverb offset, plus a histogram of recent mark lengths that should show two clusters.

D

Encode

Type English, read the Morse. Letters are separated by a space and words by a slash. The bar underneath is the keying guide: marks and gaps drawn to scale at the chosen speed, with each letter labelled, so you can follow it while pressing the button. Play keys the tone through the speakers and runs a playhead along the guide.

Right rail

Input level in dBFS with a peak-hold tick, a 6 ms slice of the band-passed input so a dead microphone is obvious at once, and the key numbers as readouts. The detector pill lights amber on every mark.

Decisions to confirm