Musical Steganography: Hiding Things in Music

Steganography is the art of hiding information in innocuous places such as pictures. It has its roots as early as the 400s BC in writings by Herodotus. It gets a bad rap due to its use by nefarious actors, but it has been used rather ingeniously over centuries to hide messages. One method of steganography that is perhaps slightly less well known is hiding messages in music. There are many different ways to hide messages in music.

This demonstration will take a look at a few different ways to hide textual messages inside music. Using the TidalCycles live coding language and Haskell, we’ll take a look at how we can transform text strings directly into music to encode a message, stealthily manipulate known music to hide messages, and even have some fun with backmasking straight out of the 70s and 80s.

The magic of TidalCycles is in the Pattern. Strings are transformed into Pattern types which are Functors and can be manipulated by mapping functions and math. We can encode messages into music by mapping over defined musical Patterns to manipulate them. This can be a powerful way to create musical ciphers and hide messages in plain music.