Inspiration

Our project delves into a fascinating aspect of music culture: the widespread enjoyment of songs irrespective of language barriers. We're exploring how people groove to tunes, often unaware of the deep lyrical meanings, particularly in foreign languages, especially with McGill being such a diverse community. It's intriguing how these seemingly happy melodies or remixes conceal profound messages, and we're here to unravel those hidden depths.

What it does

In our project, we take the title of a song or its lyrics and provide a concise summary of its true meaning. By uncovering the underlying messages within the music, we aim to offer insight into the profound themes and emotions expressed by artists across different languages and genres from all different time periods.

How we built it

We built our project using the Spotify API for song data, Genius API for lyric data, OpenAI API for summarization and Python for the backend. We implemented two routes depending on the song's release date: for songs released before 2022, we sent the song title and artist directly to the OpenAI API to retrieve its meaning. However, for more recent songs, we used the Genius API to get the lyrics and then used the OpenAI API to derive the meaning from the lyrics. This was all programmed in Python. For the frontend, we used JavaScript, CSS and HTML to create a user-friendly interface where users can input song titles and their artists and get back summaries.

Challenges we ran into

One of the main challenges we encountered was with the frontend development, as neither of us had prior experience with JavaScript. This led to various issues and hurdles in implementing the user interface and functionality. We had to spend extra time learning JavaScript and troubleshooting errors along the way. The Spotify API is also quite difficult to use, so we spent a lot of time learning how to use it and how it worked. Lastly, all the APIs, we used cost money so we had to limit usage. However, through perseverance and collaboration, we were able to overcome these obstacles and successfully complete the frontend portion of the project.

Accomplishments that we're proud of

We are proud of our ability to translate abstract ideas into tangible projects. Despite encountering challenges, particularly with our unfamiliarity with JavaScript for the frontend and all the APIs we used, we were able to pull through our complete project. Through perseverance and collaborative effort, we navigated these obstacles and successfully completed the frontend portion of our project.

What we learned

We gained valuable experience by learning JavaScript and understanding how APIs function and can be utilized for our projects. This process not only enhanced our technical skills but also broadened our understanding of web development and data integration.

What's next for Songnification

We were thinking about several things :

  1. Develop it with over platforms such as Deezer for example.
  2. Improve the website by adding the image of the album of the song every time we display the summary.
  3. Implement more prompt engineering and use more LangChain functionalities to summarize the lyrics of the songs.
  4. More general error handling in the backend.
Share this project:

Updates