Zelfs zonder allerlei plug-ins is het vrij makkelijk om een stukje audio te scrambelen. Luister maar eens naar de bijlage en ik ben benieuwd of je de stem herkent. Ik zou de bewerkingen nog wat kunnen verfijnen en wat achtergrondmuziek kunnen toevoegen om het nog wat moeilijker te maken om de stem te herkennen. Ook had ik bijvoorbeeld de stem eerst om kunnen zetten van een mannenstem naar vrouwenstem of omgekeerd.
Hoe ik dit het gedaan zie hier
Ik maak hierbij gebruik van het gratis audio bewerkingsprogramma Audacity.
Lees de audio in en exporteer de samples (44100 samples per seconde) naar een tekstbestand.
Genereer 1 seconde roze ruis en exporteer deze ook naar een tekstbestand.
Genereer een tekstbestand voor de audio samples van de vervormde data als volgt.
1. Kopieer een random aantal samples tussen bijvoorbeeld 40 en 80 samples naar het doelbestand.
2. Lees de volgende x aantal samples uit het originele bestand en skip deze. Bereken het gemiddelde van deze x samples en onthoud ook het eerste en laatste sample. x is een random getal tussen bijvoorbeeld 200 en 400.
3. Zoek naar een serie van x samples in het data bestand van de roze ruis, waarbij het eerste en laatste sample ongeveer overeenkomen met het eerste en laatste sample van de originele audio. Dit doen we om continuïteit in het signaal te krijgen.
4. Kopieer deze samples naar het doelbestand, waarbij elk sample eerst wordt vermenigvuldigd met de gemiddelde waarde van de te vervangen samples van het originele bestand (een getal tussen 0 en 1). Dit zorgt ervoor dat de roze ruis ongeveer even sterk is als de originele audio op die plek.
Herhaal de stappen 1 tot 4 tot aan het einde van het originele audio bestand.
Importeer het bestand met de samples van de vervormde audio in Audacity om het af te spelen en sla het eventueel op als mp3 bestand.
Om het opzoeken van de vervangende roze ruis te vergemakkelijken, lees ik eerst het hele bestand in en creëer hierbij 2 lijsten. Eentje met de waarde van de samples zoals ze in het bestand staan. En eentje waarbij de samples zijn afgerond op één tiende. Het eerste en laatste sample van het stukje originele audio dat ik ga vervangen rond ik ook af op één tiende, waardoor ik kan zoeken naar een exacte match. Bij het vervangen gebruik ik uiteraard niet de afgeronde getallen maar de originele getallen. Als ik geen match vind met dezelfde begin en eindwaarde, wat maar heel weinig voorkomt, dan gebruik ik in plaats van de roze ruis gewoon de originele data voor dat (heel kleine) stukje. Ik hoop dat dit een beetje duidelijk is, anders hoor ik het wel. Uiteraard heb ik voor dit alles weer een Python script gebruikt.