https://github.com/gregorybchris/semigenre
Semi-supervised genre classification
https://github.com/gregorybchris/semigenre
Last synced: 10 months ago
JSON representation
Semi-supervised genre classification
- Host: GitHub
- URL: https://github.com/gregorybchris/semigenre
- Owner: gregorybchris
- License: apache-2.0
- Created: 2019-05-25T08:25:44.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2019-09-02T07:22:11.000Z (over 6 years ago)
- Last Synced: 2025-01-12T15:12:37.284Z (12 months ago)
- Language: Python
- Homepage:
- Size: 8.08 MB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# SemiGenre
The SemiGenre library provides a Python interface for tagging and comparing music in a personal audio library. The purpose of SemiGenre is primarily to discover structure in musical preferences through [semi-supervised](https://en.wikipedia.org/wiki/Semi-supervised_learning) machine learning. Genres are not always the best way to talk about musical taste and SemiGenre aims to personalize the process of music recommendation by digging into the details of the music you care about most.
[](https://circleci.com/gh/gregorybchris/semigenre/tree/master)
## Installation
Install the current PyPI release:
```python
pip install semigenre
```
Or install from source:
```python
pip install git+https://github.com/gregorybchris/semigenre
```
## Dependencies
To enable full use of the `semigenre.audio` module, install [VLC Media Player](https://download.cnet.com/VLC-Media-Player/3000-13632_4-10210434.html). The rest of the SemiGenre package will still work if you do not intend to listen to music through the SemiGenre media player.
## Usage
In order to seed the SemiGenre package with personalized information, run the rating CLI and follow the prompts.
```python
from semigenre.audio.library import Library
from semigenre.rating.cli import RatingCLI
library = Library('path/to/library.xml')
RatingCLI(library).run()
```
This package is currently in beta and interfaces are subject to change.