All Projects → windytan → deinvert

windytan / deinvert

Licence: MIT License
A voice inversion descrambler (and scrambler).

Programming Languages

C++
36643 projects - #6 most used programming language
M4
1887 projects
Makefile
30231 projects
shell
77523 projects

Labels

Projects that are alternatives of or similar to deinvert

adsb deku
✈️ Rust ADS-B decoder + tui radar application
Stars: ✭ 190 (+137.5%)
Mutual labels:  sdr
pluto-gps-sim
PLUTO-GPS-SIM generates a GPS baseband signal IQ data stream, which is then transmitted by the software-defined radio (SDR) platform ADALM-Pluto.
Stars: ✭ 74 (-7.5%)
Mutual labels:  sdr
nrsc5-dui
An enhanced, user-friendly version of nrsc5-gui that is not heavily dependent upon Python processing for audio generation.
Stars: ✭ 49 (-38.75%)
Mutual labels:  sdr
docker-readsb-protobuf
Multi-architecture readsb-protobuf container with support for RTLSDR, bladeRF and plutoSDR (x86_64, arm32v7, arm64v8)
Stars: ✭ 102 (+27.5%)
Mutual labels:  sdr
FlyDog SDR GPS
Forked from Beagle_SDR_GPS for specialised add-on SDR board with 16-Bit ADC which improved from KiwiSDR.
Stars: ✭ 17 (-78.75%)
Mutual labels:  sdr
smallrx
📻 amateur radio receiver in <100 code lines
Stars: ✭ 56 (-30%)
Mutual labels:  sdr
hftrx
Embedded firmware for ham radio transceivers
Stars: ✭ 27 (-66.25%)
Mutual labels:  sdr
bbhtm
bare bone Hierarchial Temporal Memory
Stars: ✭ 14 (-82.5%)
Mutual labels:  sdr
nfc-laboratory
NFC signal and protocol analyzer using SDR receiver
Stars: ✭ 41 (-48.75%)
Mutual labels:  sdr
vor-python-decoder
Decodes VOR signal from WAV file to get the bearing to your position
Stars: ✭ 33 (-58.75%)
Mutual labels:  sdr
sdr-modem
Modem based on software defined radios.
Stars: ✭ 15 (-81.25%)
Mutual labels:  sdr
demod
Command line utility based on liquid-dsp for realtime SDR IQ stream demodulation
Stars: ✭ 32 (-60%)
Mutual labels:  sdr
UA3REO-DDC-Transceiver
DDC/DUC SDR Tranceiver project
Stars: ✭ 93 (+16.25%)
Mutual labels:  sdr
multi-sdr-gps-sim
multi-sdr-gps-sim generates a IQ data stream on-the-fly to simulate a GPS L1 baseband signal using a SDR platform like HackRF or ADLAM-Pluto.
Stars: ✭ 53 (-33.75%)
Mutual labels:  sdr
gr-ccsds
GNU Radio module for Reed Solomon coded CCSDS frames
Stars: ✭ 32 (-60%)
Mutual labels:  sdr
RTLSDR-Airband
Multichannel AM/NFM demodulator
Stars: ✭ 487 (+508.75%)
Mutual labels:  sdr
SatDump
A generic satellite data processing software.
Stars: ✭ 223 (+178.75%)
Mutual labels:  sdr
falcon
FALCON - Fast Analysis of LTE Control channels
Stars: ✭ 88 (+10%)
Mutual labels:  sdr
1bitSDR
Minimal SDR with Lattice MachXO2 FPGA. And a port to Cyclone3 by Steven Groom
Stars: ✭ 53 (-33.75%)
Mutual labels:  sdr
rtl433 influx
dump everything your rtl-sdr receives on 433MHz into an InfluxDB for easy graphing -- superseded by `rtl433 -F influx`
Stars: ✭ 27 (-66.25%)
Mutual labels:  sdr

deinvert

deinvert is a voice inversion scrambler and descrambler. It supports simple inversion as well as split-band inversion.

Prerequisites

By default, deinvert requires liquid-dsp, libsndfile, and GNU autotools. On Ubuntu, these can be installed like so:

sudo apt install libsndfile1-dev libliquid-dev automake
sudo ldconfig

On macOS I recommend using homebrew:

xcode-select --install
brew install libsndfile liquid-dsp automake

But deinvert can be compiled without liquid-dsp using the configure option --without-liquid; filtering will be disabled and the result will not sound as good. It can also be compiled without libsndfile using the configure option --without-sndfile; WAV support will be disabled, only raw input/output will work.

Compiling

./autogen.sh
./configure [--without-liquid] [--without-sndfile]
make

Usage

Note that since scrambling and descrambling are the same operation this tool also works as a scrambler.

If no input and output file is given, deinvert reads raw 16-bit PCM via stdin and outputs in the same format via stdout. The inversion carrier defaults to 2632 Hz.

Simple inversion, WAV input

(De)scrambling a WAV file with setting 4:

./src/deinvert -i input.wav -o output.wav -p 4

Split-band inversion

(De)scrambling split-band inversion with a bandwidth of 3500 Hz, split at 1200 Hz:

./src/deinvert -i input.wav -o output.wav -f 3500 -s 1200

Invert a live signal from RTL-SDR

Descrambling a live FM channel at 27 Megahertz from an RTL-SDR, setting 4:

rtl_fm -M fm -f 27.0M -s 12k -g 50 -l 70 | ./src/deinvert -r 12000 -p 4 |\
  play -r 12k -c 1 -t .s16 -

Invert a live signal from Gqrx (requires netcat)

  1. Set Gqrx to demodulate the audio (for example, narrow FM).

  2. Go to the Audio window and click on the three dots button "...".

  3. Go to Network and set host to localhost and port to e.g. 12345.

  4. In the Audio window, enable UDP.

  5. Run this command in a terminal window:

    nc -u -l localhost 12345 | ./src/deinvert -r 48000 | play -r 48k -c 1 -t .s16 -

Full options

./src/deinvert [OPTIONS]

-f, --frequency FREQ   Frequency of the inversion carrier, in Hertz.

-h, --help             Display this usage help.

-i, --input-file FILE  Use an audio file as input. All formats
                       supported by libsndfile should work.

-o, --output-file FILE Write output to a WAV file instead of stdout. An
                       existing file will be overwritten.

-p, --preset NUM       Scrambler frequency preset (1-8), referring to
                       the set of common carrier frequencies used by
                       e.g. the Selectone ST-20B scrambler.

-q, --quality NUM      Filter quality, from 0 (worst quality, low CPU
                       usage) to 3 (best quality, higher CPU usage). The
                       default is 2.

-r, --samplerate RATE  Sampling rate of raw input audio, in Hertz.

-s, --split-frequency  Split point for split-band inversion, in Hertz.

-v, --version          Display version string.

Inversion carrier presets

No Frequency
1 2632 Hz
2 2718 Hz
3 2868 Hz
4 3023 Hz
5 3196 Hz
6 3339 Hz
7 3495 Hz
8 3729 Hz

Troubleshooting

Can't find liquid-dsp on macOS

If you've installed liquid-dsp yet configure can't find it, it's possible that XCode command line tools aren't installed. Run this command to fix it:

xcode-select --install

Can't find liquid-dsp on Linux

Try running this in the terminal:

sudo ldconfig

I hear a high-pitched beep in the result

This could be because the transmission has a CTCSS subtone. It can be fixed by running a low-pass filter after deinvert. The cut-off frequency should be around 250 Hz less than the inversion carrier frequency. For example, if the inversion carrier is 3023 Hz, the play command could be changed to:

play -r 12000 -c 1 -t .s16 - sinc -2800

Licensing

deinvert is released under the MIT license, which means it is copyrighted to Oona Räisänen OH2EIQ yet you're free to use it provided that the copyright information is not removed. See LICENSE.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].