Skip to content

Releases

v0.2.0 — Audio Demodulation + RTL-SDR

Choose a tag to compare

@Ironjanowar Ironjanowar released this 12 May 09:26

What's New

🔊 AM Audio Demodulation

  • Full AM demodulation pipeline: frequency shift → LPF → decimation → envelope detection → DC removal
  • 4-thread architecture: Capture → DSP/FFT → TUI + Audio
  • Cursor = tuner: active cursor plays audio, inactive = mute
  • Volume control: v/V keys or /volume 75 command
  • Squelch: /squelch -60 to silence noise between transmissions
  • Audio output via cpal (system default device)

📡 RTL-SDR Hardware Support

  • Full RTL-SDR integration (requires --features rtlsdr + librtlsdr)
  • Device enumeration at startup
  • CLI params applied to hardware: --gain, --ppm, -f, -s
  • Tested with Nooelec NESDR SMArt v5 (RTL2832U / R820T)

⌨️ Command Palette

  • Press / to open VSCode-style command palette
  • 18 commands with autocompletion
  • Parameterized commands: channelbw 50k, frequency 118.1M, volume 75
  • Error handling: invalid params show error, palette stays open

🧪 Improved Test Mode

  • TestSource reacts to frequency changes (signals shift like real SDR)
  • Synthetic AM signal generator for TDD

📊 Stats

  • 267 tests
  • Zero compiler warnings

Building

# Without RTL-SDR hardware
cargo build --release

# With RTL-SDR support (requires librtlsdr-dev)
cargo build --release --features rtlsdr

Pre-built Binary

The attached binary is built for Linux x86_64 with RTL-SDR support. Requires librtlsdr.so on your system (sudo pacman -S rtl-sdr on Arch, sudo apt install librtlsdr0 on Debian/Ubuntu).