Skip to main content

An empathetic music recommendation system pipeline

Project description

Introduction

This project is aim to create a sandbox for developers to develop and experiment with music recommendation engines. To accomplish this goal, the MetaBrainz Foundation has created and hosted a number of data-sets that can be accessed as a part of this project.

You can see some of the data sets that are hosted here:

http://bono.metabrainz.org:8000

The AcousticBrainz project hosts the Annoy indexes that allows you to find recordings that have similar characteristics given an initial recording.

The ListenBrainz project offers a number of data sets:

  1. Collaborative filtered recordings that suggest what recordings a user should listen to based on their previous listening habits.
  2. User statistics that were derived from users recent listening habits.

MusicBrainz provides:

  1. Related artists -- which artists are related to other artists.

MessyBrainz provides:

  1. MessyBrainz -> MusicBrainz mapping for mapping listens with MSIDs to MusicBrainz MBIDs

Installation

Linux and Mac

virtualenv -p python3 .ve
source .ve/bin/activate
pip3 install -r requirements.txt

If you plan to do local development or run tests, you'll need to:

pip3 install -e .

Windows

virtualenv -p python3 .ve
.ve\Scripts\activate.bat
pip3 install -r requirements.txt

Docker

On non Linux operating systems installing python modules can be a bit of a pain. For that a thin-shell docker container can be created. Note that docker is not required, but helpful if you're not on Linux.

To use this container, you first need to build the container and start it:

./run-docker.sh build
./run-docker.sh up

Now you can run any of the scripts via run-docker.sh:

./run-docker.sh recommend_recordings.py rob similar

When you are done with the container, take it down with:

./run-docker.sh down

To run tests:

./run-docker.sh test

sample use

Linux

./recommended_recordings.py <user name> <artist type [top/similar]>
open OpenPost.html

Windows

./recommended_recordings.py <user name> <artist type [top/similar]>
OpenPost.html

Docker

docker build -t metabrainz/troi-hoster .
docker run --rm -p 8000:80 --name troi-hoster metabrainz/troi-hoster

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

troi-0.0.1rc0.tar.gz (14.6 kB view details)

Uploaded Source

File details

Details for the file troi-0.0.1rc0.tar.gz.

File metadata

  • Download URL: troi-0.0.1rc0.tar.gz
  • Upload date:
  • Size: 14.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.0 requests/2.24.0 setuptools/50.3.0 requests-toolbelt/0.9.1 tqdm/4.50.2 CPython/3.8.5

File hashes

Hashes for troi-0.0.1rc0.tar.gz
Algorithm Hash digest
SHA256 1a85220b4f4ad06dc9bbbe0ee92e0d987720323705aa9f497c69c7ae3e0874bf
MD5 ff5ed8313db48d060f2d989795f76306
BLAKE2b-256 dfc82a11f12de520203acbe19d5a0a44f56da63db94f6a740b45922c5573c533

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page