-
Notifications
You must be signed in to change notification settings - Fork 3
Quick & dirty application for analysing voice scrambling (time domain based), finding proper permutation and final descrambling
License
takeshi87/voice_descrambler
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
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 0
No packages published