We were inspired by past work with encryption and decryption as well as work with auditory data in converting sound to digital data.

Our program takes in user-generated audio data (such as from an instrument) and both transcripts it into sheet music and uses it to generate a cipher for any messages to encript.

This software is multifaceted, with functionality to transcript music and also use this transcription as a cipher to encode and decode messages. The cipher relies on a substitution cipher, encoding a message by substituting musical notes for letters. The decryption process relies on the Markov Chain Monte Carlo algorithm.

We used a fast Fourier transformation to separate auditory input into main frequencies so that the user could load auditory data into notes for sheet music and encryption. Once the data was loaded in, it is converted to a pdf of sheet music with Abjad.

We faced great difficulty as first with getting the FFT to work properly. It seemed as if it worked better with outside noise. After that, getting abjad to work was troublesome as well since it only worked on one of our laptops.

We are proud of the accuracy of our program in terms of separating frequencies, even in the face of heavy background noise.

We understood how to utilize a fast fourier transform in a practical application as well as filter out the "garbage noise." In addition, we learned how to use the abjad library in python in conjunction with LilyPond.

We hope to extend this project by registering higher tempo music and improving the quality of decryption.

Built With

  • abjad
  • jupyter
  • lilypond
  • pycharm
  • python
Share this project:

Updates