This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (pypi.python.org).
Help us improve Python packaging - Donate today!

Determine musical genres for text with musical context (such as reviews)

Project Description

Genres

Genres is a python library that analyzes text with musical context (such as reviews) in order to determine musical genres

How it works

Genres is based on a list of genres and tags (database), those are then compared against supplied text using regexp and points for ranking are calculated. Found genres are compared agains its main category to avoid mismatches.

Usage

The api is simple.

>>> import genres
>>> r = genres.find("Pink Floyd is a rock band)
>>> r
['rock']

It detects multiple genres, as long as they are related to the same category

>>> import genres
>>> genres.find("Acid jazz, an electronic masterpiece.")
['acid jazz', 'jazz']

In this example the two occurences of electronic and techno triumps rock.

>>> import genres
>>> genres.find("Electronic music with a techno vibe. Different from rock")
['techno', 'electronic']

Database

The database is a simple list of words, separated by newline and structured like this:

Data Description
Rock Main category
Rock Sub category
Metal,0.8 Sub category, Percentage of full rank (10*0.8=8)| |-Pink Floyd|Tag associated to category rock| |#Test|Comment| ||Categories are sparated with newline| |Jazz|…| |Post-bop|…|

Genres are distributed with a database that can be found under genres/data.txt and the genre structure is based on Allmusic genre categorisation.

It is possible to supply your own database:

import genres

db_obj = genres.db.Db("./example.txt")
finder_obj = genres.finder.Finder(db_obj)

Installation

Genres can easily be installed through pip.

$ pip install genres

Tests

This library include tests, just run python runtests.py.

Contributing

Want to contribute? Awesome. Just send a pull request.

License

Genres is released under the MIT License.

Release History

Release History

This version
History Node

1.2.2

History Node

1.2.1

History Node

1.2.0

History Node

1.1.3

History Node

1.1.2

History Node

1.1.1

History Node

1.1

History Node

1.0.1

History Node

1.0

Download Files

Download Files

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

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
genres-1.2.2.tar.gz (10.5 kB) Copy SHA256 Checksum SHA256 Source Aug 19, 2015

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting