Skip to main content

Nendo plugin for automatic music information retrieval.

Project description

Nendo Plugin Classify Core


nendo core


Website Twitter Discord


Automatic music information retrieval (based on essentia).

Features

  • Extract musical features from a NendoTrack or a NendoCollection
  • Use descriptive features to filter, search and sort your library
  • Extract rich features to annotate datasets for training custom models

Installation

  1. Install nendo

  2. pip install nendo-plugin-classify-core

    Note: Installing this plugin together with another nendo plugin that uses essentia, you are likely to run into the runtime error Error: module 'essentia.standard' has no attribute 'TensorflowPredictEffnetDiscogs'. See the corresponding entry in the troubleshooting guide below for instructions on how to fix this issue.

Usage

Take a look at a basic usage example below. For more detailed information, please refer to the documentation.

For more advanced examples, check out the examples folder. or try it in colab:

Open In Colab
from nendo import Nendo, NendoConfig

nd = Nendo(config=NendoConfig(plugins=["nendo_plugin_classify_core"]))

track = nd.library.add_track(file_path='/path/to/track.mp3')

track = nd.plugins.classify_core(track=track)

data = track.get_plugin_data(plugin_name="nendo_plugin_classify_core")
print(data)

tracks_with_filtered_tempo = nd.library.filter_tracks(
    filters={"tempo": (170, 180)},
    plugin_names=["nendo_plugin_classify_core"],
)

assert len(tracks_with_filtered_tempo) == 1

Troubleshooting

Essentia can't find the embedding model

When I try to run the plugin, I get the following error:

Failed to import plugin 'nendo_plugin_classify_core'. Error: module 'essentia.standard' has no attribute 'TensorflowPredictEffnetDiscogs'

This is due to the fact that you have essentia and essentia-tensorflow installed at the same time, possibly because you installed another nendo plugin that uses essentia, like e.g. nendo_plugin_quantize_core. The fix in this case is to reinstall essentia, this time only installing the essentia-tensorflow package:

pip uninstall -y essentia essentia-tensorflow
pip install essentia-tensorflow

Contributing

Visit our docs to learn all about how to contribute to Nendo: Contributing

License

Nendo: MIT License

Essentia: Affero GPLv3 license

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

nendo_plugin_classify_core-0.2.11.tar.gz (15.6 kB view hashes)

Uploaded Source

Built Distribution

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