Skip to content

Quick & dirty application for analysing voice scrambling (time domain based), finding proper permutation and final descrambling

License

Notifications You must be signed in to change notification settings

takeshi87/voice_descrambler

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Quick prototype for analyser & descrambler of scambled voice samples as collected with HF radio.
Format details - time domain scrambling, by permutation of 44ms segments, in blocks of 15 segments.
Transmission has a preamble of CW signal around 2031Hz and FSK with offset 1200Hz, 200baud, centered around 1800Hz.
Postamble is FSK 1200Hz offset, ~22.8 baud, centered around 1800Hz.

Usage:

analyser.py - parser, analyses and tries to descramble files listed in 'files_to_use'. Permutation used is taken from provided file, 'permutation.txt' by default.


Simplest usage, with permutation calculation done in analyser.py, restricted to a small subset of possible block permutations:

analyser.py -a file.wav

It should produce descrambled wav files in "cut" folder.



More complex use-cases:

To calculate segments similarity weights based on given files, and save it in weights.txt:

analyser.py -w weights.txt file1.wav file2.wav


Produced weights.txt describes degree to which segments i, j are unsimilar (cost function).
It can be further used to find the most optimal permutation of segments minimizing such cost function (permutations are disjoint in different 15 segment blocks).


Building the 'puzzle_solver':

g++ puzzle_solver.cpp -o puzzle_solver -O3 -std=c++2a


Finding the permutation:

./puzzle_solver < weights.txt > perm.txt


To descramble a wave file, using permutation defined in perm.txt:

analyser.py -p perm.txt scrambled_file.wav

About

Quick & dirty application for analysing voice scrambling (time domain based), finding proper permutation and final descrambling

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published