encrypt_voice.py is a Linux-friendly voice obfuscator for audio files. It does not do cryptographic audio encryption; instead, it derives a strong, repeatable distortion profile from SHA-256 and applies layered FFmpeg effects so speech becomes hard to recognize.
- computes
SHA-256from the input file and a seed - cuts audio into many chunks
- changes pitch and timing per chunk
- narrows the voice band with filters
- adds vibrato, tremolo, bitcrushing, echo, and masking noise
- can optionally shuffle chunks for a much more destructive mode
- Linux
python3ffmpegandffprobe
Ubuntu/Debian:
sudo apt update
sudo apt install ffmpeg python3Basic run:
python3 encrypt_voice.py input.wav -o output.wavMore aggressive:
python3 encrypt_voice.py input.wav -o output.wav --strength 5 --shuffle-chunksRepeatable result with your own seed:
python3 encrypt_voice.py input.wav -o output.wav --seed "my-secret-passphrase"Use one stable profile across different files:
python3 encrypt_voice.py clip1.wav -o clip1_masked.wav --seed "persona-42" --fixed-profile
python3 encrypt_voice.py clip2.wav -o clip2_masked.wav --seed "persona-42" --fixed-profileSave processing metadata:
python3 encrypt_voice.py input.wav -o output.wav --meta output.json- Default output is
<input>.obfuscated.wavif-o/--outputis omitted. - If
--seedis not provided, the script generates a random 256-bit seed and prints it after processing. - The same input file + same seed + same settings produce the same output.
--shuffle-chunksdestroys intelligibility much more strongly, but it also destroys phrase order.- This is best described as irreversible voice obfuscation, not real encryption.