Skip to content
Oona Räisänen edited this page Oct 15, 2023 · 28 revisions

Welcome to the deinvert wiki! This FAQ may be helpful. Please read through it - I try to answer the most frequent questions here.

What is deinvert?

Deinvert is a command-line program for descrambling sound that has been obfuscated with and old method called frequency inversion.

What deinvert is not?

Deinvert does not support any modern scrambler like variable split-band (VSB), time-slicing, digital scrambling, any kind of encryption, or anything else that has a time-domain element. It only does frequency inversion.

It's very unlikely that anything today would be frequency inversion scrambled. Frequency inversion is not a common form of scrambling audio these days, because it's highly insecure. If you run a piece of scrambled audio through deinvert (with default settings) and it does not become even remotely intelligible it's unfortunately probably not frequency inversion.

What is frequency inversion?

  • It is a historic and crude method of obfuscating sound used in some very old telephone and walkie-talkie systems. It's not encryption; it's highly insecure and can be very easily reversed with simple math, a suitable radio, or just by running this program again!
  • Basically, the frequency spectrum of the sound gets flipped upside down. It makes it harder for a human listener to understand.
  • Inversion scrambling is not used any more. Better methods have been developed.
  • Deinvert supports simple inversion and split-band inversion (but not variable split-band).

What are the different types of inversion supported?

  • Simple inversion uses an "inversion frequency", aka. an inversion carrier. All frequencies of the sound will be mirrored so that 0 Hz becomes the inversion carrier. For instance, if the inversion frequency is 2800 Hz, then a 100 Hz sound becomes a 2700 Hz sound. This is the same operation as LSB modulation.
  • In split-band inversion, the band is first split in half, and each part is inverted separately. The exact split-point frequency is configurable. If you don't know the split-point, try to set it to around half the inversion carrier.

How can I tell if a sound is frequency inversion or not?

  • How long ago was the sound recorded? If it's less than 30 years old, it's probably not frequency inversion.
  • If it is a very old sample, try running the sample through deinvert. If it doesn't become even remotely intelligible, it's probably not frequency inversion.
  • Try adding a split-point with -s. Set it to half the inversion carrier frequency. If it doesn't become even remotely intelligible, it's probably not split-band frequency inversion.

Here's what simple inversion sounds like: simple_inversion.mp3

Here's what split-band inversion sounds like: split_band_inversion.mp3

Notice how you can quite easily spot some words by ear in those samples if you know what you're looking for (such as 'simple inversion' and 'split-band inversion'). If the audio is more badly distorted or, especially, if it sounds choppy at all, it's not frequency inversion.

How can I scramble some audio?

Yes, you can also scramble audio with deinvert. Just use the same settings as you would use for descrambling, but instead, use normal speech as the input. The output will be scrambled. Run it again and it becomes speech! That's the magic of inversion.

Do note that frequency inversion is not encryption. It's only good for toy purposes. Don't use it for anything security critical.

What's the sound file format?

Deinvert supports libsndfile formats: .wav, .aiff, .au, .mp3, .ogg, .flac, and various less common formats.

If no input and output file is given, deinvert reads raw 16-bit PCM at 44100 Hz via stdin (pipe) and outputs in the same format via stdout. This is so that it could be used via a pipe with a radio receiver program like Gqrx.

I tried deinvert but still can't understand the sound?

It's probably not frequency inversion scrambling, and unfortunately cannot be descrambled with deinvert.

I don't know if there is software to descramble modern scramblers. But if you know, please add it to this wiki.

Will deinvert support more scrambling methods in the future?

No, it's only for frequency inversion.

More info