Glissando: Musical Weak-Signal Digital Mode for Ham Radio with LoRa Chirps and 1950s Sci-Fi Console
Glissando: Musical Weak-Signal Digital Mode for Ham Radio with LoRa Chirps and 1950s Sci-Fi Console
TL;DR: Glissando (GitHub) is an open source amateur radio weak-signal digital mode created by Jeff Baitis (AG7EW) that replaces the grating screech of legacy digital modes with pleasant, consonant musical melodies. By combining continuous-phase chirp spread spectrum modulation, 40% raised-cosine frequency glides, 60% sustained holds, an 8-state trellis code (BCJR), and convolutional FEC, Glissando decodes down to -26.5 dB SNR (matching JT65 and FT8). It features five adaptive tempos (from 55s Adagio to 7s polyphonic Presto Duet) and runs inside a standalone desktop application styled after a 1950s retro-futuristic sci-fi control room complete with a “Visi-Scope” waterfall, logarithmic “Time Lens”, and live text chat.
Amateur radio digital modes are celebrated for their ability to pull weak signals out of deep ionospheric fading. Yet for decades, digital operation has carried an unavoidable acoustic penalty: whether listening to the piercing warble of FT8, the mechanical grind of RTTY, or the chirping hiss of JS8Call, unmuted receivers sound harsh and grating to human ears.
Amateur operator and software architect Jeff Baitis (AG7EW) challenged this assumption with Glissando. The project demonstrates that weak-signal digital communications can achieve extreme sensitivity while sounding like a whistling folk tune or retro sci-fi space melody. By applying the mathematical foundations of LoRa chirp spread spectrum and continuous-phase trellis coding to consonant musical scales, Glissando ensures that overlapping transmissions, multipath echoes, and multi-station chats combine into harmonious chords rather than chaotic noise.
What Is Glissando?
Glissando is an open source, chirp-based amateur radio digital weak-signal mode that modulates binary data into continuous-phase, consonant musical melodies across standard SSB voice passbands, achieving decoding thresholds down to -26.5 dB SNR using matched-filter dechirping, trellis decoding, and adaptive gear-shifting tempos.
+-----------------------------------------------------------------------------------+
| GLISSANDO SIGNAL FLOW & MODULATION ARCHITECTURE |
+-----------------------------------------------------------------------------------+
| |
| +---------------------------+ +---------------------------------------+ |
| | TEXT CHAT INPUT | | FORWARD ERROR CORRECTION (FEC) | |
| | • 77-bit payload frames | ====> | • 14-bit CRC (91 bits total) | |
| | • 9-byte packet slicing | | • K=7, Rate 1/2 Convolutional Code | |
| | • FT8-compatible schema | | • 195 coded bits (65 notes x 3 bits)| |
| +---------------------------+ +---------------------------------------+ |
| | |
| v |
| +-----------------------------------------------------------------------------+ |
| | MUSICAL WAVEFORM SYNTHESIS (8 NOTES) | |
| +-----------------------------------------------------------------------------+ |
| | | |
| | • 40% Log-Frequency Glide (Chirp) with Raised-Cosine Smoothing | |
| | • 60% Sustained Note Hold (Tone Stability) | |
| | • Constant Envelope (100% PA Saturated Power, Phase Continuous) | |
| | • 3x Sync Motifs (7x7 Costas Array: C5-G4-D5-E4-G5-E5-A4) | |
| | | |
| +-----------------------------------------------------------------------------+ |
| | |
| RF Transmission |
| (Standard SSB) |
| v |
| +-----------------------------------------------------------------------------+ |
| | RECEIVER DECODING ENGINE | |
| +-----------------------------------------------------------------------------+ |
| | | |
| | +---------------------------+ +---------------------------------+ | |
| | | DECHIRP & SYNC SEARCH | | 64-STENCIL MATCHED FILTER | | |
| | | Multiplies by conjugate | | Correlates all (from, to) | | |
| | | chirps; FFT extracts | ====> | glides; BCJR algorithm runs | | |
| | | timing & Doppler offset | | over 8-state note trellis | | |
| | +---------------------------+ +---------------------------------+ | |
| | | | |
| | v | |
| | +---------------------------------+ | |
| | | VITERBI SOFT DECODER & CRC | | |
| | | Extracts text and renders | | |
| | | captions on Visi-Scope | | |
| | +---------------------------------+ | |
| | | |
| +-----------------------------------------------------------------------------+ |
| |
+-----------------------------------------------------------------------------------+
The modem doesn’t treat musicality as an afterthought. Consonance is engineered into the symbol structure, the scale definitions, and the trellis state machine.
Part 1: The Core Mathematical Breakthrough
To understand how Glissando achieves extreme sensitivity while sounding musical, look at why weak-signal modes work in the first place.
Why LoRa and FT8 Reach Below the Noise
A common misconception in digital signal processing is that the distinctive chirp shape of LoRa is what creates its weak-signal capability. In additive white Gaussian noise (AWGN), a receiver’s detection capability is determined by two variables: symbol energy (power multiplied by duration) and symbol orthogonality (how distinct each candidate symbol is from all others).
A steady tone, a linear chirp, and a musical glide with identical energy and duration are equally detectable when processed by a matched filter. LoRa achieves deep reception because its symbols are long and orthogonal, which allows a matched filter to accumulate coherent signal energy while random noise cancels itself out.
Glissando’s Hybrid: Glide-Then-Hold
Glissando takes advantage of this mathematical equivalence. Instead of sweeping a harsh, wideband linear chirp across the spectrum, Glissando builds every symbol from two distinct phases:
- 40% Log-Frequency Glide (The Chirp Phase): The first 40% of the symbol duration glides smoothly from the previous note to the target note along a constant-cents-per-second curve with raised-cosine ease-in and ease-out. This provides chirp compression, resistance to selective fading, and precise timing resolution.
- 60% Sustained Note (The Hold Phase): The remaining 60% of the symbol holds the target note steady. This sustained tone allows the human ear to clearly register musical pitch and gives the receiver an uncoupled measurement of carrier frequency offset.
Because the signal is phase-continuous and constant-envelope, radio transmitters can operate at full rated power without intermodulation distortion or linearity degradation.
Part 2: Musical Scales and Guaranteed Harmony
Digital HF channels are crowded. When multiple stations transmit simultaneously on legacy modes, the overlapping audio produces ear-fatiguing heterodyne squeals. Glissando solves this by restricting its alphabet to consonant musical intervals.
+-----------------------------------------------------------------------------------+
| GLISSANDO MUSICAL SCALES & INTERVALS |
+-----------------------------------------------------------------------------------+
| |
| PENTATONIC (Default - Whistled Folk Tune, All Overlaps Consonant) |
| [ E4: 329.6 Hz ] -> [ G4: 392.0 Hz ] -> [ A4: 440.0 Hz ] -> [ C5: 523.3 Hz ] |
| [ D5: 587.3 Hz ] -> [ E5: 659.3 Hz ] -> [ G5: 784.0 Hz ] -> [ A5: 880.0 Hz ] |
| |
| WHOLE TONE (Dreamlike, Symmetric Tritone Steps) |
| [ E4 ] -> [ F#4 ] -> [ G#4 ] -> [ A#4 ] -> [ C5 ] -> [ D5 ] -> [ E5 ] -> [ F#5 ] |
| |
| DIMINISHED (Half-Whole Octatonic, Film-Score Sci-Fi Suspense) |
| [ E4 ] -> [ F4 ] -> [ G4 ] -> [ G#4 ] -> [ A#4 ] -> [ B4 ] -> [ C#5 ] -> [ D5 ] |
| |
| DIABOLUS (E Major + Bb Major Triads, Evil Mastermind Holonovel Lair) |
| [ E4 ] -> [ G#4 ] -> [ A#4 ] -> [ B4 ] -> [ D5 ] -> [ E5 ] -> [ F5 ] -> [ G#5 ] |
| |
+-----------------------------------------------------------------------------------+
The Four Musical Modes
- Pentatonic (A Minor Pentatonic, Default): Spanning E4 (329.63 Hz) to A5 (880.00 Hz). The minor pentatonic scale contains neither semitones nor tritones. Consequently, any combination of notes produces consonant intervals (thirds, fourths, fifths, and octaves). When two stations transmit simultaneously on the same frequency or multipath echoes arrive out of phase, the overlapping signals combine into pleasant musical counterpoint.
- Whole Tone Mode (
wholetone): Glides between six whole steps (E4 to F#5). It creates an ethereal, floating melody where notes three steps apart form symmetric tritones. - Diminished Mode (
diminished): An alternating half-step and whole-step octatonic scale. Every note has an exact tritone partner within the scale, producing the tense, dramatic score of classic mystery serials. - Diabolus Mode (
diabolus): Interweaves E major and B-flat major triads separated by a tritone (the medieval “devil’s interval”). It evokes the retro computing soundscape of an evil villain’s laboratory.
Simultaneous Multi-Scale Detection
Changing musical scales doesn’t degrade weak-signal performance. Bench tests confirm that all four scales decode within 0.5 dB of each other at identical SNR levels.
The Glissando C++ modem searches for all four scales simultaneously on every incoming signal. A pentatonic station can carry on a two-way QSO with a diabolus station, each transmitting in their chosen musical voice, while the receiver automatically identifies and tags the scale used by each operator.
Part 3: The Five Adaptive Gears (Tempos)
Propagation on HF changes rapidly. Glissando incorporates five discrete speeds (called Gears or Tempos) that match varying ionospheric conditions.
Gear Specification Table
| Gear | Musical Tempo | Symbol Duration | Frame Duration | RF Bandwidth | 50% AWGN Decode | 50% CCIR Poor Decode | Typical Use Case |
|---|---|---|---|---|---|---|---|
| G1 | Adagio | 640 ms | 55.0 s | 330 – 880 Hz | -26.5 dB | -23.0 dB | Deep solar minimum, DX, QRP |
| G2 | Andante | 320 ms | 27.5 s | 330 – 880 Hz | -23.6 dB | -20.8 dB | Weak marginal HF paths |
| G3 | Allegro | 160 ms | 13.8 s | 330 – 880 Hz | -20.4 dB | -17.6 dB | Standard daytime HF chat |
| G4 | Presto | 80 ms | 6.9 s | 330 – 880 Hz | -17.4 dB | -14.2 dB | Strong openings, fast QSOs |
| G5 | Presto Duet | 80 ms (2 voices) | 6.9 s | 330 – 2637 Hz | -14.1 dB | -10.8 dB | Clean paths, 2x data throughput |
The Polyphonic Presto Duet (G5)
In Gear 5 (Presto Duet), Glissando doubles its data throughput by introducing a second, higher voice operating simultaneously on C6 through E7 (1047 Hz to 2637 Hz).
The two voices sing a two-part counterpoint harmony, transmitting two independent 77-bit data payloads within the same 6.9-second window. Because power is split across both voices, G5 requires a cleaner path and approximately 6 dB higher SNR. But it delivers rapid conversational text transfer across stable channels.
Dynamic Auto-Shifting
The application includes an Auto Shift controller. By measuring the signal-to-noise ratio and Doppler spread on each received frame, Glissando automatically selects the fastest reliable tempo for return transmissions, complete with a safety margin to prevent dropped packets during sudden fades.
Part 4: Glissando vs. Other Digital Modes
To see where Glissando fits in the amateur radio digital landscape, consider how it compares to established weak-signal and conversational protocols.
| Feature / Metric | Glissando | WSJT-X FT8 | JS8Call | LoRa (CSS) | FreeDV (Digital Voice) |
|---|---|---|---|---|---|
| Acoustic Profile | Melodic whistle / sci-fi tune | Harsh multi-tone chirp | Periodic chirping FSK | Wideband chirping hiss | Robotic digital speech |
| Lowest Sensitivity | -26.5 dB SNR (Adagio) | -21.0 dB SNR | -24.0 dB SNR | -20.0 dB SNR (typical) | -1.0 dB SNR (700D) |
| Occupied Bandwidth | 550 Hz (Solo) / 2.3 kHz (Duet) | 50 Hz | 50 Hz | 125 kHz – 500 kHz | 1.5 kHz – 2.4 kHz |
| Passband Requirement | Standard SSB (300-2700 Hz) | Standard SSB | Standard SSB | Wideband ISM / FM | Standard SSB |
| Message Structure | Free text & structured chat | Fixed 77-bit structured | Free text conversational | Arbitrary binary packets | Streaming digital voice |
| Harmonic Overlap | Consonant Harmony | Destructive QRM | Destructive QRM | Spread spectrum collision | Distorted voice breakup |
| GUI Aesthetic | 1950s Art Deco Sci-Fi | Functional tabular grid | Modern chat client | Terminal / CLI tools | Modern functional UI |
Part 5: The Retro-Futuristic Desktop Console
The Glissando desktop application (forked and heavily evolved from the FreeDV GUI framework) presents a distinctive visual design inspired by 1950s sci-fi serials like Captain Proton and classic Art Deco control rooms.
+-----------------------------------------------------------------------------------+
| GLISSANDO CONSOLE LAYOUT OVERVIEW |
+-----------------------------------------------------------------------------------+
| |
| +-------------------------------------------------------------+ +------------+ |
| | VISI-SCOPE WATERFALL DISPLAY | | TUNING | |
| | • Musical note fret lines (E4 through E7) | | • Offset | |
| | • Inline decoded text bubbles on signal traces | | knob | |
| | • "Time Lens" logarithmic history magnification | | (+0.0 Hz)| |
| +-------------------------------------------------------------+ +------------+ |
| |
| +-----------------------------+ +--------------------------+ +---------------+ |
| | SCAN & TIME CONTROLS | | MODULATION / GEARS | | TELEMETRY | |
| | • Scan Rate (0.5 - 20/s) | | • Adagio / Andante / | | • Vintage SNR | |
| | • Time Lens x3 Toggle | | Allegro / Presto | | Galvanometer| |
| | • Duet Voice Wideband Scope | | • Duet / Auto Shift | | • Doppler Hz | |
| | • All Tempos Live Decoder | | • Pentatonic / Diabolus | | • Scale tag | |
| +-----------------------------+ +--------------------------+ +---------------+ |
| |
| +------------------------------------------------------------------------------+ |
| | COMMAND & RIG CONTROL | |
| | • Hamlib CAT Radio Dial • Frequency Presets • Snooper Window • Chat Logs | |
| +------------------------------------------------------------------------------+ |
| |
+-----------------------------------------------------------------------------------+
Key Console Features
- The Visi-Scope Waterfall: A white-phosphor-on-black spectrum display ruled with musical note fret lines. Decoded frames are annotated directly over the signal trace on the waterfall, showing message headers, signal reports, and text bubbles as they scroll downward.
- The Logarithmic “Time Lens”: When enabled, the top of the waterfall magnifies new incoming audio at 3x vertical resolution, while older history smoothly compresses along a logarithmic time curve (
y = K asinh(age / tau)). This keeps minutes of operational history visible without washing out faint traces. - Vintage Galvanometer Telemetry: An analog needle meter reports received signal strength in decibels alongside digital readouts for Doppler shift (in 0.01 Hz increments), frame timing, and active scale identification.
- Transmitter Timeout Management: To protect power amplifiers during long Adagio transmissions, Glissando automatically splits long messages into individual keyings that stay comfortably below the rig’s 180-second timeout, inserting a clean 2-second pause to let relays reset.
Part 6: Band Plan and Recommended Frequencies
Glissando frequencies are chosen to sit inside official amateur data segments while resting just below high-traffic FT8, JS8, and PSK31 watering holes.
| Band | Dial Frequency (USB) | Position Relative to Known Modes |
|---|---|---|
| 160 m | 1.846 MHz | Above FT8 (1.840) and JS8 (1.842 MHz) |
| 80 m | 3.570 MHz | Inside the legacy JT65 slot; clear of FT8 (3.573 MHz) |
| 60 m | 5.361 MHz | Inside the WRC-15 allocation (9.15 W ERP limit) |
| 40 m | 7.067 MHz | Below PSK31 (7.070) and FT8 (7.074 MHz) |
| 30 m | 10.133 MHz | Between JS8 (10.130) and FT8 (10.136 MHz) |
| 20 m | 14.067 MHz | Below PSK31 (14.070) and FT8 (14.074 MHz) |
| 17 m | 18.097 MHz | Just below FT8 (18.100 MHz) |
| 15 m | 21.067 MHz | Below PSK31 (21.070) and FT8 (21.074 MHz) |
| 12 m | 24.911 MHz | Just below FT8 (24.915 MHz) |
| 10 m | 28.067 MHz | Below PSK31 (28.070) and FT8 (28.074 MHz) |
Part 7: Building and Running Glissando
Glissando is cross-platform, with pre-built Linux AppImages and source trees available on GitHub.
Quick Build Guide on Linux (Debian / Ubuntu)
# 1. Install prerequisites
sudo apt install build-essential cmake git autoconf automake libtool \
libwxgtk3.2-dev libpulse-dev libspeexdsp-dev libsndfile1-dev \
libhamlib-dev libasound2-dev libao-dev libgsm1-dev
# 2. Clone repository
git clone https://github.com/baitisj/glissando.git
cd glissando
# 3. Build standalone C++ modem and application
cmake -S app -B build -DUSE_NATIVE_AUDIO=1 -DUNITTEST=ON -DCMAKE_BUILD_TYPE=Release
cmake --build build -j$(nproc)
# 4. Launch Glissando
./build/src/glissando
The repository also includes a standalone Python prototype under prototype/ where developers can generate sample audio, run Monte Carlo decoding sweeps, and test new scale definitions.
Frequently Asked Questions
What makes Glissando different from FT8 or JS8Call?
Glissando uses continuous-phase musical glides based on pentatonic and tritone scales rather than raw multi-frequency tones. It sounds like a whistled melody, decodes down to -26.5 dB SNR, and produces pleasant harmonies when multiple stations transmit simultaneously.
Does musical modulation hurt decoding sensitivity?
No. In white noise, detection sensitivity depends on symbol energy and orthogonality rather than chirp geometry. Glissando matches JT65 and FT8 decoding thresholds (-26.5 dB in Adagio mode) while remaining completely pleasant to human hearing.
What happens when two Glissando stations transmit at the same time?
Because default transmissions use the minor pentatonic scale (which contains no semitones or tritones), overlapping transmissions and multipath echoes combine into consonant musical chords. The receiver’s matched filters decode each station independently.
Can Glissando automatically adjust its speed to band conditions?
Yes. The built-in Auto Shift feature continuously monitors the signal-to-noise ratio and Doppler spread on incoming packets. It automatically selects the fastest reliable tempo, ranging from 55-second Adagio to 6.9-second Presto.
What license is Glissando released under?
The Glissando core C++ modem and Python prototypes are released under the permissive MIT License. The desktop GUI application (forked from FreeDV) is licensed under the GNU LGPL v2.1.
Conclusion
Glissando proves that amateur radio digital modes don’t have to choose between extreme weak-signal performance and aesthetic elegance. By applying rigorous signal processing to musical theory, Jeff Baitis (AG7EW) has delivered a platform that reaches deep into the noise floor while transforming crowded HF bands into harmonious acoustic landscapes.
Whether you’re seeking a resilient text chat mode for solar minimum, experimenting with LoRa-style chirp mechanics on HF SSB, or simply enjoying the 1950s sci-fi aesthetic of the Visi-Scope console, Glissando is a remarkable addition to modern amateur radio software.
73, and enjoy the melody on the air.
Sources and Further Reading
- Glissando Official GitHub Repository: baitisj/glissando on GitHub
- Glissando Architecture and Design Documentation: Glissando Design Notes
- How Glissando Hears a Chirp (Signal Processing Deep Dive): How It Hears
- Glissando Chord and Scale Theory: Glissando Chords
- Glissando Desktop Console Application Guide: App Documentation
- FreeDV Digital Voice Project (GUI Foundation): FreeDV Project
- HamRadio.my Open Source Amateur Radio Guides: HamRadio.my
- About 9M2PJU Station Profile and Software Tools: 9M2PJU Profile



Post Comment