Welcome to the webpage for StegIbiza. This webpage is a repository for a small student project done by Wai-Yip Tang for the course 'Audio Processing and Indexing'. Inspired by StegIbiza, the goal of this project was to attempt to apply the StegIbiza technique using knowledge and techniques acquired from the Audio Processing and Indexing course, and research the feasibility of such techniques.
StegIbiza is a steganography technique that uses the constant tempo of certain styles of music to hide information. By varying the tempo in certain parts of the song, one can mask information. Inspired by the StegIbiza technique, this paper attempts to implement StegIbiza using traditional digital signal processing techniques and knowledge acquired from the Audio Processing and Indexing course. The results show that the applied methods weren't accurate enough to consistently and correctly decode the message. Furthermore, tempo modulation may not be a good method of hiding information. As there are many restrictions, such as a low message encoding throughput and the message being easily decodable.
The term StegIbiza was first coined in the paper 'StegIbiza: New Method for Information Hiding in Club Music' by Krzysztof Szczypiorski. StegIbiza is a combination of two words: Steganography and Ibiza. Steganography is the act of concealing information within other information and Ibiza is the island of whose style of music is used to hide the information within. Krzysztof was inspired by the hypnotic and trance inducing music of a certain style of club music. This style of club music came from what is considered by some as the Mecca of clubbing, namely Ibiza. The style of Ibiza's music is a melting pot of various styles with its main influence coming from Balearic House. Krzysztof noticed that this style of music had a relative constant tempo with pronounced beats. He speculated that one could hide information within these clubbing songs by varying the tempo of the music. A change of tempo could be encoded as information. A change of lower to higher tempo and higher to lower tempo can respectively represent a positive or negative bit. This change of tempo can be detected by leaving the first part of the song untouched. This first part serves as a reference tempo for the remainder of the song. Preliminary research done by Krzysztof showed that a tempo change of under 1 percent is unnoticeable by any of the participants, a tempo change between 1 and 2 percent is only noticeable by experts and a tempo change above 2 percent is noticed by roughly half of the participants in the preliminary experiment.
You can test if you hear a difference. The first audio-file contains the reference, no tempo change is applied. However, the following pairs do. For each of the pairs, one of the two audio-files has a faster tempo than the reference and vice versa. Make your guess for the two rows and reveal the answer to see if you had it correct!
The first pair has a tempo change of 3%. The left one is slower and right one faster. The difference should be heard very clearly. The second pair has a tempo change of 1%. The left one is faster and the right one slower. The difference shouldn't be audible.
The approach taken for this experiment was to use the knowledge acquired from the Audio Processing and Indexing course, and to go more indepth into the traditional techniques through the research of older papers.
The implementation of StegIbiza in this paper consists of 3 main phases: Signal preprocessing, Peak extraction and tempo estimation, and finally Message decoding. The signal preprocessing phase prepares the original signal in a format suitable for tempo estimation. The peak extraction tempo estimation phase applies two approaches to estimate the tempo for each encoded piece. The first approach uses Ellis' algorithm with autocorrelation. The second approach uses spectral flux and resonating comb filters. The message decoding phase decodes the message through direct comparison of the gathered Beats Per Minute(BPM) values.
Five different WAV-files are used in this experiment. The first file is a consistent tick with on the fourth tick a louder tick. It has a BPM of 120. The name of this file is 'tamborine 120 bpm'. The second file is an Ibiza style club song named ‘Night owl' by Broke For Free. The third file is a classical piece called 'Four seasons' by Vivaldi played by violinist Janine Jansen, it contains the Spring Movement 1 (Allegro). Similar to many classical pieces it has a not so static tempo. The last two files are k-pop song called ‘Want' by Lee Taemin and 'Really Bad Boy' by Red Velvet. 'Want' is somewhat more consistent with a hypnotic beat similar to an Ibiza style club song, whilst 'Really Bad Boy' is much more chaotic with random screams. The accuracy is calculated for each of the WAV-files through repeated encoding and decoding of random binary messages. More details on exactly how the experiment was conducted can be found in the paper.
The software used for this experiment was python 3.5+. The python modules used were: librosa, numpy, sys, madmom, scipy, argparse, progress, time and matplotlib. Most of these modules are widely used and all of them can be installed through pip. This is done through the pip command: 'pip install "insert the module you want"'. It can be ran on most laptops with an OS that can install the software.