Inspiration

Playing offline music easily and quickly has always cost money since all the big and popular music players require payment to play music offline. We wanted to create a lightweight app that makes it convenient to play offline music in the background while you study, travel, or play video games.

What it does

Vibe is an offline music player where you can download songs via the internet link, such as youtube, or add your own songs from your PC into your database.

How we built it

We created this project using python and 3 different libraries as well as SQLite DB. We started with the core of our project which is what plays the audio, and for that, we used the pygame mixer library. We started doing some research and reading some documentation on how to use this library. After we got the audio player to work, we moved into the second part of our project which is the UI. Tkinter was the option that we chose to create the UI of the program. We started adding UI for all the features that we have planned to do earlier. After we got both the UI and the music player to run, we started working on our DB code. Since playing offline music is the goal of our app, we focused on how the songs are going to be stored in the DB and how the user will be able to get access to the songs in the DB. We watched many YT tutorials and videos to make sure we used the most efficient ways of fetching the data from our DB. Finally, and after we got the DB, UI, music player to work, we worked on adding a song to the playlist using a YT link, we used the selenium web scraper with headless browsers to convert MP4 into MP3 files.

Challenges we ran into

Creating the headless web scraper was a challenge for us. We were planning to use an API for this feature, but after long research and many videos, we concluded that we were not able to use a third-party API. We started looking for an alternative way of creating this feature, we spent hours looking for a fast way to download, convent, and store an MP3 file from YT. Then we came up with the idea of using a web scraper with a headless browser and that is when we started moving forward in the project and complete this feature.

Accomplishments that we're proud of

We are proud that we were able to create an entire app for HTN and learn a lot of new things in a short amount of time.

What we learned

As this was a unique experience for us, we learned many things about how the audio is played and how to edit and change it using python code. We also learned how web scrapers work and all about the headless browser feature.

What's next for Vibe

Our next step is to plan accordingly and set up contracts or terms and conditions necessary to avoid copyright claims because users could be downloading songs via youtube. We want to avoid getting copyright claims but we also want to provide everyone with a music player app that is much more convenient than the ones out there by combining popular apps all into one.

Share this project:

Updates