This program processes an audio .wav file and writes the timestamps associated with the beats in the file into the text file 'beats.txt'. When the processing is finished, the player is given the option to play a bubble popping game. Bubbles are generated when the game time matches a beat timestamp from 'beats.txt', and consist of two layers: a visualization of the audio waveform at the time of bubble formation and the player's approximation of said visualization. To pop the bubbles, the player must match his/her bubble layer with the audio visualization using the sliders on the left that appear when a bubble is selected.
- Pyaudio
- Numpy
- Pygame
- Python 3
- Go to https://www.python.org/downloads/ and download the appropriate installation package.
- Run the command "pip3 install pyaudio". Administrator permission may be required for this step.
- On linux, if an error regarding "portaudio.h" appears, you may wish to install portaudio-dev.
- Run the command "pip3 install numpy". Administrator permission may be required for this step. For further information, consult https://www.scipy.org/scipylib/download.html.
- Run the command "pip3 install pygame". If this does not work, you may wish to download and install the appropriate .whl file from https://www.lfd.uci.edu/~gohlke/pythonlibs/#pygame.
- Install all dependencies, as described above. Place 'background.jpg', 'beats.txt', and 'termProject.py' in the same directory.
- Place the .wav file you wish to process in the installation directory.
- Execute termProject.py and follow the instructions displayed within the program.
'project-video.txt' contains a hyperlink to a youtube video demonstrating this program.