Difference between revisions of "Music Discovery Application"
Njanderson (talk | contribs) |
|||
| (6 intermediate revisions by one other user not shown) | |||
| Line 2: | Line 2: | ||
[[Ongoing_Research_Projects | '''Go Back to Main Project Menu''']]<br> | [[Ongoing_Research_Projects | '''Go Back to Main Project Menu''']]<br> | ||
[[File:MusicDiscoverySearch.jpeg|thumb|500px|right|]]<br> | [[File:MusicDiscoverySearch.jpeg|thumb|500px|right|]]<br> | ||
| + | |||
| + | [[Category:Interactive Systems]] | ||
| + | [[Category: Advisor:Manzo]] | ||
=Overview= | =Overview= | ||
| Line 10: | Line 13: | ||
=Current Status: E2 Term 2026= | =Current Status: E2 Term 2026= | ||
| − | < | + | <mediaplayer>File:MusicDiscovery.mp4</mediaplayer> |
| − | |||
=Future Development= | =Future Development= | ||
| − | The project uses a large Spotify song dataset that was converted from CSV to JSON and processed to remove duplicate songs. The primary resources for continuing development are the project GitHub repository, the dataset files in src/data, the recommendation logic in src/lib/recommend.ts, and the API routes in src/app/api. Future work should focus on improving the quality and diversity of the dataset, particularly reducing irrelevant/non-English songs and improving coverage of newer music and genres such as hip-hop and rap. Additionally, not all songs consistently return album artwork or audio previews from the iTunes API, so improving the reliability of these results or finding an alternative source for missing artwork and previews would be useful. Finally, it would be great if the application had some sort of explanation to the user as to why the | + | The project uses a large Spotify song dataset that was converted from CSV to JSON and processed to remove duplicate songs. The primary resources for continuing development are the project GitHub repository, the dataset files in src/data, the recommendation logic in src/lib/recommend.ts, and the API routes in src/app/api. Future work should focus on improving the quality and diversity of the dataset, particularly reducing irrelevant/non-English songs and improving coverage of newer music and genres such as hip-hop and rap. Additionally, not all songs consistently return album artwork or audio previews from the iTunes API, so improving the reliability of these results or finding an alternative source for missing artwork and previews would be useful. Finally, it would be great if the application had some sort of explanation to the user as to why the results were recommended. |
==Project Files & Resources== | ==Project Files & Resources== | ||
===Git Repository=== | ===Git Repository=== | ||
All files for this project are stored on the secured repository below. | All files for this project are stored on the secured repository below. | ||
| − | *https://github.com/nj-anderson/music- | + | *https://github.com/nj-anderson/music-discovery |
==WPI Student Contributors== | ==WPI Student Contributors== | ||
Latest revision as of 18:11, 8 August 2026
Contents
Overview
Music Discovery is a full-stack music recommendation web application using Next.js, React, and TypeScript. The application allows users to search for a song, select it, and receive recommendations based on audio features such as energy, danceability, valence, BPM, key, mode, and genre. I implemented the search and recommendation functionality through API routes so that the large song dataset remains on the server rather than being loaded into the client. I also integrated the iTunes Search API to retrieve album artwork and audio preview clips for songs displayed in the application.
For the recommendation system, I created a similarity algorithm that compares the selected song against songs in the dataset and assigns each song a similarity score based on the differences between their audio features. Songs with the lowest scores are considered the most similar and are returned as recommendations. I also created a reusable Song TypeScript type to define the properties shared across the dataset and application.
Current Status: E2 Term 2026
The media player is loading...
Future Development
The project uses a large Spotify song dataset that was converted from CSV to JSON and processed to remove duplicate songs. The primary resources for continuing development are the project GitHub repository, the dataset files in src/data, the recommendation logic in src/lib/recommend.ts, and the API routes in src/app/api. Future work should focus on improving the quality and diversity of the dataset, particularly reducing irrelevant/non-English songs and improving coverage of newer music and genres such as hip-hop and rap. Additionally, not all songs consistently return album artwork or audio previews from the iTunes API, so improving the reliability of these results or finding an alternative source for missing artwork and previews would be useful. Finally, it would be great if the application had some sort of explanation to the user as to why the results were recommended.
Project Files & Resources
Git Repository
All files for this project are stored on the secured repository below.
WPI Student Contributors
E2 Term 2026
Norah Anderson
