cis3296f24 / applebaum-final-project-section-005-applebaum

cis3296f24-classroom-applebaum-final-project-project-proposal-template created by GitHub Classroom
0 stars 0 forks source link

Spotify Playlist Video Generator #16

Open tus40499 opened 2 days ago

tus40499 commented 2 days ago

Keywords: ReactJS, API, Spotify, Music, Video Presentation, Video Editing, Statistics, Database, SQL, OAUTH

Project Abstract

Music is a very fun and fulfilling hobby, and it can be just as fun to share your music tastes with others. This project is a fun and interactive way to share your music tastes with your friends. The basic idea of this project is that the user can use a website to paste a link to a Spotify playlist or even their Spotify account and download a script and some resources (album covers, mp3s) that can they can load into an editing software (I had Adobe Premiere in mind) that runs through each song in order, letting them create various lists/montages of bands, albums, songs in general, etc. to share with people. The site could also list the most listened to songs over a period of time and form those into a list to share as well.

High Level Requirement

The user should be able to visit the site, and either link their Spotify account or link to a playlist of their choosing. Then they could reorder songs or customize the list in some way. Once they're finished, they can download an script for Premiere that would automatically add all the text/images in a timeline that could then be rendered out.

Screenshot 2024-10-25 203936 Figure 1. Example frame of the video, listing the number 1 song in a playlist or user created list.

Conceptual Design

The app itself would be hosted on a site using ReactJS, so the front-end would need to be designed to be as easy to the user as possible. In order to access the song information we'd need to access the Spotify API and learn how to access the information we need. There would also need to be a system in place to authorize a user's account so they could view their stats or most listened to songs for the list, perhaps creating a OAUTH 2 token. It might also be advantageous to have an MySQL database or MongoDB to easily store the user's song data and sort/filter the data. Then a scripting template for Adobe Premiere would have to be created using their "ExtendScript" language. Or if the app itself can render out videos, using a tool like FFMPEG. Song previews would also need to be acquired from Spotify's API and stored, or perhaps from YouTube if that is easier using a tool like youtube-dl.

Proof of Concept

Proof on Concept Git Page

Background

They are other websites that using Spotify Stats or create playlists for the user, several in fact, but as far as I know they aren't any other apps that can generate a video from playlist or song data from Spotify.

Required Resources

Front-End: ReactJS Back-End: MongoDB, FFMPEG, YouTube-DL, API Tools

tus40499 commented 4 hours ago

Proposal.pptx