Pop cipher is a cipher using shared cultural knowledge via music.
requires ffmpeg and lame:
On Mac OSX:
brew install ffmpeg lame
pip install -r requirements.txt
./popcipher <cipher-text> <clip-length-seconds>
example:
./popcipher "hi" 7
an example output might be:
Chosen Song: Rihanna - Birthday Cake
Chosen Song: Britney Spears - Toxic
...
where the following letters were chosen for encoding:
Chosen Song: Rihanna - Birthday Cake
Chosen Song: Britney Spears - Toxic
the output mp3 file will be named: cipher_3.3.mp3
take a listen here
given the above example, we created a 14 second mp3 with two 7 second clips. To do the decode:
- listen to a clip
- figure out who the artist is
- take the first index (3) from the file name
- match the index to the nth (3rd) charater of the artist's name
- repeat for each clip
to prevent certain artists from appearing in the cipher, pass a space-separated list to the banlist flag, -b
./popcipher -b Nickelback ICP "hi" 7
to use a set of your own songs, write a file in the format:
[
{
"artist": "<artist>",
"title": "<title>"
},
...
]
then pass the file to pop_cipher command with the -s flag:
./popcipher -s my_songs_file.json "hi" 7