Inspiration
As a self-taught vocalist, guitarist, pianist, and violinist, I (Shreya LN) have witnessed the power of music to connect with people from all walks of life. If websites or applications promoting something that aligns with social welfare were to integrate QUAVER into their websites, we believe it would make the users increase the time they spend on that website. This would promote the website’s message and aid in advertising as well.
What it does
QUAVER makes use of http requests to retrieve audio files from the internet, download them onto the user's local device, and allow them to play whichever song they like while they are on the website that has integrated QUAVER. The QUAVER application has functionalities of playing, pausing, skipping, forwarding, and stopping any song. It is also possible to upload any audio file from your local device onto QUAVER, in addition to those files which will be downloaded from a cloud server (yet to be implemented). For now, the songs are being downloaded from the internet as a whole.
How we built it
We mainly made use of Python and MySQL to build QUAVER. The tkinter and pygame modules were used to code the song playing functionalities and the user interface. MySQL with Python interface (connectivity) was used to implement the database that stores the song details such as song name, album name, artist, duration, and genre. The database also stores the link to the audio file on the internet (we are planning to implement a cloud server to store these URLs/files)
Challenges we ran into
We needed to judiciously manage our time as we have our exams coming up in a week. We split the tasks efficiently and communicated with each other at all times to ensure the application was built in time. We encountered a few problems while interfacing Python with MySQL as we had to manually install a few modules which were necessary for this task. Despite various small setbacks like this along the way, we found the process of creating something from scratch to be truly rewarding.
Accomplishments that we're proud of
We bounced ideas off of each other and used our diverse perspectives to create QUAVER. We believe our biggest accomplishment is growing as a team and being receptive to each other’s ideas with an open mind. We quickly understood how to execute SQL queries from within a Python program and came up with creative ways to use our database to store the audio files.
What we learned
As a back-end developer, I (Shreya LN) improved my understanding of http requests. With the ‘requests’ module of Python, I retrieved data from URLs and wrote this data onto a binary file, added a ‘.mp3’ extension and stored this data as an audio file on the local device on which QUAVER's code was being executed. My teammate learned how to use functions of ‘tkinter’ and ‘pygame’ modules side by side to efficiently build the functionality required by QUAVER and also access local files with the ‘filedialog’ function.
What's next for QUAVER
Our next step will be to implement a cloud server for QUAVER to store audio files to be retrieved by the application. We are planning on approaching small local businesses with our idea for QUAVER to help them advertise their website as unique as well as promote the workings of their business with music. We are also planning on transforming QUAVER into a full fledged app in the near future. Integrating AI and machine learning into QUAVER so that it can identify what the user likes and dislikes and accordingly make suggestions is also a major step we hope to pursue with ‘R’ programming language. We believe music can be beneficially integrated into all aspects of our lives and this is what QUAVER aims to do.
Log in or sign up for Devpost to join the conversation.