Music Streaming Platform based on full implementation of DBSM

Related tags

AudioSymphony-Music
Overview

Symphony

Music Streaming Platform based on full implementation of DBSM

List of Commands

  1. Insert User (INSERT)

Function to implement input in USER

  1. Get all Albums by a Artist (QUERY : PROJECTION)

Function to display all the albums by a particular artist

  1. Query Song by Genre (QUERY : PROJECTION)

Get all song names with a input genre say “Pop”

  1. Get Artist with max followers (QUERY : AGGREGATE)

Get the name of the artist with maximum followers

  1. Remove User By Email (DELETE)

Remove a user from the USER table who has a given email

  1. Update User Contact (UPDATE)

Update a given user's contact

  1. Insert Song (INSERT)

Insert a new song into the SONG relation

  1. Get Podcasts of greater than 1 hour duration (QUERY : SELECTION)

Get all podcasts that have a duration greater than 1 hour

  1. Get Playlist with max saves (QUERY : AGGREGATE)

Get playlist with maximum saves

  1. Get Podcast with minimum duration (QUERY : AGGREGATE)

Get the podcast with the shortest duration

  1. Get artist with over 1 lakh followers (QUERY : SELECTION)

Get all artists that have more than 1 lakh followers

  1. Query Podcast Language (QUERY : SEARCH)

Get all podcasts available in a given language

  1. Get all songs in album (QUERY : SELECTION)

Get all songs in a given album

  1. Get premium users with specific plan (QUERY : SEARCH)

Get names of all permium users with a particular pl

  1. Add an episode in a existing podcast (INSERT)

Adds a new episode in an existing podcast

  1. Analysis of popular album (QUERY : ANALYSIS)

List of popular albums based on average likes on all songs in the album

  1. User Likes Song (UPDATE + INSERT)

Increments song's likes when user likes it

  1. User Follows Artist (UPDATE + INSERT)

When a user follows a artist, update artist_followers and insert a record in FOLLOWS

  1. User Saves Playlist (UPDATE + INSERT)

When a user saves a new playlist, update playlist_saves in PLAYLIST and insert a record in SAVES

  1. Top Genres for a User (ANALYSIS)

List of top genres for a user based on song likes

  1. Exit

EXIT

Requirements

  • Python3
$ sudo apt-get update
$ sudo apt-get install python3.8
  • MySQL
  • PyMySQL
$ sudo apt-get install python3-pip
$ pip3 install pymysql

Installation

You will need to replicate the SYMPHONY databse on your local machine, for which the dump.sql file is provided herewith.

Open your MySQL server and run the following command to import the database:

$ docker exec -i mysql sh -c 'exec mysql -uroot -ppassword' < dump.sql

You might need to enter your password in the next step.

To run the CLI, change your directory to the cloned folder and run the following command:

$ python3 symphony.py
If you are using Docker to run MySQL, you might need to first change your port to 5005 (or the port you use) by replacing the following lines for connecting the database in the symphony.py file: 
con = pymysql.connect(host='localhost',
                              user=username,
                              password=password,
                              db='SYMPHONY',
                              port='5005',
                              cursorclass=pymysql.cursors.DictCursor)

near lines 674-675.

HAPPY LISTENING !!!

Owner
Parth Maradia
Parth Maradia
A Python port and library-fication of the midicsv tool by John Walker.

A Python port and library-fication of the midicsv tool by John Walker. If you need to convert MIDI files to human-readable text files and back, this is the library for you.

Tim Wedde 52 Dec 29, 2022
A python package for calculating the PESQ.

PyPESQ (WIP) Pypesq is a python wrapper for the PESQ score calculation C routine. It only can be used in evaluation purpose. INSTALL pip install https

Jingdong Li 269 Dec 18, 2022
Datamoshing with FFmpeg

ffmosher Datamoshing with FFmpeg Drag and drop video onto mosh.bat to create a datamoshed video. To datamosh an image, please ensure the file is in a

18 Sep 11, 2022
An AI for Music Generation

An AI for Music Generation

Hao-Wen Dong 1.3k Dec 31, 2022
BART aids transcribe tasks by taking a source audio file and creating automatic repeated loops, allowing transcribers to listen to fragments multiple times

BART (Beyond Audio Replay Technology) aids transcribe tasks by taking a source audio file and creating automatic repeated loops, allowing transcribers to listen to fragments multiple times (with poss

2 Feb 04, 2022
Analysis of voices based on the Mel-frequency band

Speaker_partition_module Analysis of voices based on the Mel-frequency band. Goal: Identification of voices speaking (diarization) and calculation of

1 Feb 06, 2022
Python CD-DA ripper preferring accuracy over speed

Whipper Whipper is a Python 3 (3.6+) CD-DA ripper based on the morituri project (CDDA ripper for *nix systems aiming for accuracy over speed). It star

671 Jan 04, 2023
In this project we can see how we can generate automatic music using character RNN.

Automatic Music Genaration Table of Contents Project Description Approach towards the problem Limitations Libraries Used Summary Applications Referenc

Pronay Ghosh 2 May 27, 2022
Analyze, visualize and process sound field data recorded by spherical microphone arrays.

Sound Field Analysis toolbox for Python The sound_field_analysis toolbox (short: sfa) is a Python port of the Sound Field Analysis Toolbox (SOFiA) too

Division of Applied Acoustics at Chalmers University of Technology 69 Nov 23, 2022
Manipulate audio with a simple and easy high level interface

Pydub Pydub lets you do stuff to audio in a way that isn't stupid. Stuff you might be looking for: Installing Pydub API Documentation Dependencies Pla

James Robert 6.6k Jan 01, 2023
music library manager and MusicBrainz tagger

beets Beets is the media library management system for obsessive music geeks. The purpose of beets is to get your music collection right once and for

beetbox 11.3k Dec 31, 2022
Klangbecken: The RaBe Endless Music Player

Klangbecken Klangbecken is the minimalistic endless music player for Radio Bern RaBe based on liquidsoap. It supports configurable and editable playli

Radio Bern RaBe 8 Oct 09, 2021
Guide & Examples to create deeplearning gstreamer plugins and use them in your pipeline

upai-gst-dl-plugins Guide & Examples to create deeplearning gstreamer plugins and use them in your pipeline Introduction Thanks to the work done by @j

UPAI.IO 11 Dec 11, 2022
🎵 Python sound notifications made easy

chime Python sound notifications made easy. Table of contents Table of contents Motivation Installation Basic usage Theming IPython/Jupyter magic Exce

Max Halford 231 Jan 09, 2023
voice assistant made with python that search for covid19 data(like total cases, deaths and etc) in a specific country

covid19-voice-assistant voice assistant made with python that search for covid19 data(like total cases, deaths and etc) in a specific country installi

Miguel 2 Dec 05, 2021
Code to work with wave files!

Code to work with wave files!

Mohammad Dori 3 Jul 15, 2022
DCL - An easy to use diacritic library used for diacritic and accent manipulation.

Diacritics Library This library is used for adding, and removing diacritics from strings. Getting started Start by importing the module: import dcl DC

Kreus Amredes 6 Jun 03, 2022
SinGlow: Generative Flow for SVS tasks in Tensorflow 2

SinGlow is a part of my Singing voice synthesis system. It can extract features of sound, particularly songs and musics. Then we can use these features (or perfect encoding) for feature migrating tas

Haobo Yang 8 Aug 22, 2022
Audio processor to map oracle notes in the VoG raid in Destiny 2 to call outs.

vog_oracles Audio processor to map oracle notes in the VoG raid in Destiny 2 to call outs. Huge thanks to mzucker on GitHub for the note detection cod

19 Sep 29, 2022
Python Audio Analysis Library: Feature Extraction, Classification, Segmentation and Applications

A Python library for audio feature extraction, classification, segmentation and applications This doc contains general info. Click here for the comple

Theodoros Giannakopoulos 5.1k Jan 02, 2023