"Create an interactive music-themed application using Python and py5. Your project should respond to user input and create a visual experience connected to music, sound, or rhythm."
This is a repository dedicated to the Creative Coding assignment I was to do for the first semester of college, which required us to develop a visualisation of a song of choice using different utilities provided by the Py5 Module (a Processing 5 wrapper)!
Description
This project is a visualisation on an excerpt from the song "When You Find Me" by Plenka, and also heavily inspired by the Geometry Dash level "Defeated Circles", which uses this song.
The project uses a wide variety of randonmess alongside pulsating shapes so that the canvas feels "alive" with the song. It uses a basic form of Object-Oriented programming to manage object creation and deletion and utilises the frame number to instruct events to occur.
Interaction Instructions
Move your mouse around to watch a small circle follow it, along with a trail, so you can copy the trailing squares! Use your mouse wheel to increase or decrease the volume.
What I'm most proud of
The wave/triangle that appears during the drop of the song, and the bouncing square at appears at the start and end. as I felt it was a solid reference to the Geometry Dash wave, a game I took heavy inspiration from in visualisng this. Also, the square was very difficult to program, consisting of parabola mathematics, so I'm happy it turned out ok.
You must activate the virtual environment in order to run this program.
- Windows:
.\.env.\Scripts\activate - MacOS / Linux:
source \.env\bin\activate
Ensure all the modules are installed, by running pip install followed by the missing module name in the terminal.
Ensure Java JDK is installed and that you are running Python 3.13 (not 3.14!) or older so that py5 can work correctly.
Run the program by opening the terminal and running python monty.py or by pressing the Play button in Visual Studio Code.
Song used: "When You Find Me" (Angle) by plenka
-
I DO NOT OWN THE MUSIC USED IN THIS PROJECT, NOR WILL I ACT LIKE I DO. I AM USING IT SOLELY FOR THE PURPOSE OF DEMONSTRATION THROUGH VISUALISATIONS.
-
All of the code used in this project is human-written - artificial intelligence (AI) was not used at any point during development of the program.
-
Mainly for my lecturer reading this: In part of the brief, the assignment requires information such as Student Number and Name. I have omitted this from the program's source code here as it will be made public upon completion and I wish to keep that private. I will attach the document to the file upload.