Giter VIP home page Giter VIP logo

timestampsdr's Introduction

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]
--timeout     | After transmission, wait <timeout> seconds before saving/deleting file and moving on | DEFAULT: 5
--minDuration | After timeout, if recording was less than <minDuration> seconds, file is deleted     | DEFAULT: 5
--maxFiles    | Number of files to save before exiting program                                       | DEFAULT: 5
--dateFmt     | Date formatting: "datetime", "unix", or custom moment.js format                      | DEFAULT: "datetime"
--sampleRate  | Input sample rate in Hz                                                              | DEFAULT: 48000
--host        | Local IP address serving data                                                        | DEFAULT: "127.0.0.1"
--port        | Local UDP port serving data                                                          | DEFAULT: 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.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.