Singify
Introducing Singify, the party game! Challenge your friend to who knows songs better. Play random songs from your very own Spotify playlist and duel friends to see who can finish the lyrics first!
About • Tools and Dependencies • Getting Started
First place winner of RE: SLO Hacks Hackathon
Devpost Submission: Singify
About
How to Play
A two-player game for you and your friends! After telling Singify which playlist you would like to play from, it will choose a random song and start playing a random part of the song for a few seconds, then stop it. Once the song stops, Singify uses visual artificial intelligence to detect who raised their hand first, and allow them to finish the lyrics. If the player gets it wrong, it's the next player's turn to give it a try. Once the point is given, Singify plays the next song. See who is the lyrical genius!
Description
We used machine learning to detect human poses for raising hands, which we trained using our own recorded pose data. A pose uses a body's position in a live camera feed to set skeletal landmark points, which we used to recognize if your hand is up or not. We used speech recognition to take user voice input and parse the speech through pattern matching, and detect matches with the corresponding song lyrics.
Tools and Dependencies
- Spotify API
- YouTube Search API
- YouTube Transcript API
- SF Speech Recognizer
- Google Teachable Machine
- Python Levenshtein
Our Team
Josh Wong Developer |
Christian Honein Developer |
Wesley Luu Developer |
Wilson Szeto Developer |
Getting Started
Requirements
- Spotify Premium
- (this is essential, as you can't perform functional features of this app with a Spotify Free Account)
pip
orpip3
Installing Dependencies
- youtube-transcript-api
- youtube-search
- fuzzywuzzy
- python-Levenshtein
pip3 install youtube-transcript-api youtube-search fuzzywuzzy python-Levenshtein
Run the App
git clone https://github.com/ObjectJosh/Singify.git
Install Dependencies (see above)
cd Singify
Make folder named store
and create a blank store.txt
file in it
Setting up Spotify API Authorization:
- Set up a new Spotify Developer Project
- Set Redirect URI: https://github.com/ObjectJosh and
Save
Copy
Client ID andPaste
into first line ofstore.txt
- Click
SHOW CLIENT SECRET
Copy
Client Secret andPaste
into second line ofstore.txt
- Save the file (
store.txt
)
In terminal, make sure you are in the /Singify
directory and:
python3 game.py
- (or
python
orpy
)
A page should automatically open in the browser. Copy
that URL and Paste
into current terminal
Upon success, all further runs of the program can be started using:
python3 game.py
- (or
python
orpy
)