Everyone has a mobile phone or some type of camera in 2021. Wouldn’t it be nice if you could find a perfect song for a picture? What if you went to New York and wanted to post it on social media? You probably need a song to go with it. MusiqueWorld can find matching music for the image, and you could use that song as a background for your post.
What it does
First, Google Vision converts images to text. Then, MusixMatch converts that text into song names. Now you can find music related to any picture!
How we built it
We built this with a Flask framework. It calls Google Vision API and MusixMatch API. It also uses a YouTube search algorithm.
Challenges we ran into
We ran into many challenges. One example is that we couldn’t get Selenium to work with DigitalOcean or Replit. Our solution was not to use web scraping and switch to standard APIs. We tried Microsoft’s Azure API, but we couldn’t get it working. So, we turned to Google’s Vision API. We successfully got that working. We also had challenges getting MusixMatch’s API working. We solved this by finding a Python wrapper on GitHub. Finally, we couldn’t get the to work with Flask. We tried using Jquery and Ajax to send requests to our Python backend, but it didn’t work. We used Flask to convert the image files into machine-readable files.
Accomplishments that we're proud of
We finally got a way to get around our many challenges. We solved every challenge we met. :)
What we learned
We learned about the structure of music on music listening services like Spotify. We knew this by using the APIs of Spotify and MusixMatch. We also learned about AI with Google’s Vision API. Also, we learned about SCSS and Python Flask for hosting. We also learned how to take files from
<input type=”file”> and style them. Also, since we tried using DigitalOcean to host, we learned a lot about Linux shell commands, GitHub CLI, Heroku CLI, DigitalOcean CLI, and Microsoft Azure CLI. We also learned about web scraping with python libraries, Requests, and Selenium. We also learned about different package management systems for Python like Conda and PyPi.
What's next for MusiqueWorld
We might make this project commercial because of its usefulness. We think many people would enjoy this app, and we can use this to make money commercially. We can also add more features such as offline listening, autoplay songs, and sharing songs. We can also improve our UI and design.