Skip to content

Latest commit

 

History

History
40 lines (30 loc) · 2.66 KB

README.md

File metadata and controls

40 lines (30 loc) · 2.66 KB

About:

timestampSDR is designed to take the UDP stream output from certain SDR receiver software (currently GQRX and rtl_fm) and record transmissions to time-stamped .wav files, discarding silence. This can allow you to quickly review transmissions that occurred over a long period of time.

  • ✔️ Works on Linux running GQRX or rtl_fm
  • ✔️ Works on Windows 10 running GQRX via pothosSDR
  • ❔ Should work on MacOS, but not tested (seeking feedback!)

Getting started:

  • Must have node.js installed.
  • Clone this repo, or download it and extract the zip file.
  • Navigate to the program directory and run npm install to install the program dependencies.
  • Refer to the wiki for instructions on setting up your SDR receiver software. Currently this includes GQRX and rtl_fm. GQRX is more user-friendly and seems to provide better audio, rtl_fm runs efficiently on low-spec devices.
  • Regardless of your receiver software, make sure your squelch is adjusted well. timestampSDR cannot differentiate static from meaningful transmissions.

Usage:

node main.js [options]

Option Description Default
--timeout After transmission, wait seconds before saving/deleting file and moving on 5
--minDuration After timeout, if recording was less than seconds, file is deleted 5
--maxFiles Number of files to save before exiting program 5
--dateFmt Date formatting: "datetime", "unix", or custom moment.js format "datetime"
--sampleRate Sample rate in Hz 48000
--channels 1 for mono, 2 for stereo, etc 1
--bitDepth Bits per sample 16
--host Local IP address serving data "127.0.0.1"
--port Local UDP port serving data 7355
-p Print options used and source they were chosen from (CLI, config file, default)

Note:

  • Recordings are saved in the recordings subdirectory in the main program directory.
  • Timeout resets if a new transmission comes in before timeout finishes.
  • Silence is not recorded, and doesn't count towards minDuration.
  • To set your own default options (which can be overridden by passing in arguments), you can modify config.js.