A "finish the lyrics" game using Spotify, YouTube Transcript, and YouTube Search APIs, coupled with visual machine learning

Overview


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!

RE: SLO Hacks Winner GitHub language count Github line count GitHub repo size

AboutTools and DependenciesGetting 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 or pip3

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:

In terminal, make sure you are in the /Singify directory and:

python3 game.py
  • (or python or py)

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 or py)
Owner
Josh Wong
Learn to code and code to learn
Josh Wong
A tool for the creation of rooms used in maps in the game Wastelands

Wastelands Room Data editor A tool for the creation of rooms used in maps in the game Wastelands Creates .wrd files, that get loaded by the map genera

Avant 6 Jul 12, 2021
Python codes for the classic Hang Man game

Python codes for the classic Hang Man game. The user will be assigned a random word to guess, one character at a time. If the user gets everything right, the program says Well Done!, but if the user

p.katekomol 1 Jan 25, 2022
A Tetris Game for programming education

Tetris Game プログラミング学習を目的とした、ブロックを操作してスコアを競うゲームです。 FAQはこちら。 tutorialはこちら。 実行環境準備 Mac環境 Finder→Application→Utility→Terminalから、ターミナルを起動して以下コマンドを実行する。 # i

11 Dec 01, 2022
Creating Tetris with Pygame

Tetris 🤝 Contributing Contributions, issues and feature requests are welcome! Feel free to check issues page. Show your support Give a ⭐️ if this pro

Gavin Capriola 0 Mar 01, 2022
SnailJumper - A game that is developed as an assignment for Computer Intelligence course

Snail jumper Neuroevolution game assignment. Fall 2021 - Computer Intelligence.

Soroush Mehraban 22 Aug 22, 2022
Games: Create interesting games by pure python.

Create interesting games by pure python.

4.2k Jan 06, 2023
A short non 100% Accurate Solar System in pygame

solar-system-pygame Controls UP/DOWN for Emulation Speed Control ESC for Pause/Unpause q to Quit c or ESC again to Continue LEFT CLICK to Add an orbit

LightCrimson 2 May 28, 2022
An interactive pygame implementation of Conway's Game of Life

Game of Life An interactive pygame implementation of Conway's Game of Life Installation Clone the repo and navigate into it. git clone https://github.

Ethan 1 Dec 05, 2021
A comprehensive, feature-rich, open source, and portable, collection of Solitaire games.

PySol Fan Club edition This is an open source and portable (Windows, Linux and Mac OS X) collection of Card Solitaire/Patience games written in Python

Shlomi Fish 368 Dec 28, 2022
Online battleships game on python and JS

Battleships Online battleships game Using websockets to connect to the client. SQLite database for storing account data and game logs (for players top

5 Nov 11, 2021
A visualization of how much Manchester United fans enjoyed each game from the first half of the 21/22 Premier League season.

Man-Utd-Fan-Satisfaction-Levels-First-19-games A visualization of how much Manchester United fans enjoyed each game from the first half of the 21/22 P

1 Jan 19, 2022
Jogo Flappy Bird com phyton e phygame

Flappy-Bird Tecnologias usadas Requisitos para inicializar o jogo: Python faça o download em: https://www.python.org/ Pygame faça o download em: https

João Guilherme 1 Dec 06, 2021
Simple program to play Metamon automatically

Getting Started Radio Caca Important disclaimer This software is intended for use by individuals familiar with Python programming language. It uses se

Metamon Island 35 Dec 28, 2022
Wordle-player - An optimal player for Wordle. Based on a rough understanding of information theory

Wordle-player - An optimal player for Wordle. Based on a rough understanding of information theory

Neill Johnston 3 Feb 26, 2022
This is a text-based snake and ladder game .

This is a text-based snake and ladder game .

AKSHAI KRISHNA A 1 Nov 01, 2021
Lucky Balls is gambling game where user try to guess 6 numbers from 1 to 48 that computer has picked.

LUCKY BALLS Lucky Balls is gambling game where user try to guess 6 numbers from 1 to 48 that computer has picked. INSTRUCTIONS User input his bet, tha

rile037 2 Dec 28, 2021
A solution program of 24. game.

A solution program of 24. game.

1 Dec 12, 2022
An ongoing process to make a physics engine using python.

Simple_Physics_Engine An ongoing process to make a physics engine using python. I am using this goal as a way to learn python in and out. I am trying

Jon Sherrick 1 Jan 18, 2022
SuperChess is a GUI application for playing chess.

About SuperChess is a GUI application for playing chess. It is written in Python 3.10 programming language, uses PySide6 GUI library, python-chess lib

Boštjan Mejak 1 Oct 16, 2022
游戏中按TAB键查看所有玩家分数的小程序

DDNet-show-points-in-game DDRaceNetwork 游戏中按TAB键查看所有玩家分数的小程序

3 Oct 13, 2022