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.9.tar.gz (15.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

nendo_plugin_classify_core-0.2.9-py3-none-any.whl (14.2 kB view details)

Uploaded Python 3

File details

Details for the file nendo_plugin_classify_core-0.2.9.tar.gz.

File metadata

  • Download URL: nendo_plugin_classify_core-0.2.9.tar.gz
  • Upload date:
  • Size: 15.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.7.1 CPython/3.9.16 Linux/6.6.11_1

File hashes

Hashes for nendo_plugin_classify_core-0.2.9.tar.gz
Algorithm Hash digest
SHA256 a1c2089def28e21bcd218dca6bfbe00f877c70f27ee16a67233aa037e6891284
MD5 512275c05196521058e8640e4624908e
BLAKE2b-256 f501760f119a39a2af6c2da9b5cb85d3fcea9da122b45097ef9bd17c7b3b9f82

See more details on using hashes here.

File details

Details for the file nendo_plugin_classify_core-0.2.9-py3-none-any.whl.

File metadata

File hashes

Hashes for nendo_plugin_classify_core-0.2.9-py3-none-any.whl
Algorithm Hash digest
SHA256 a6d7a2439d6beef607730f11d0c6fbdcf5dc22133896bc3514c870c4f9be0f59
MD5 dfc046ce52f3272b030c17acbc1082cb
BLAKE2b-256 7f1f70519eea9612cce632df485a4383bc06ae2112ea1c4379c83273c16444d1

See more details on using hashes here.

Supported by

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