Skip to main content

A beets plugin for analysing tempo of songs and storing it in the bpm tag.

Project description

BPM Analyser (beets plugin)

A beets plugin for insane obsessive-compulsive music geeks.

beets-bpmanalyser plugin lets you analyse the tempo of the songs you have in your library and write the bpm information on the bpm tag of your media files.

Installation

The plugin can be installed via:

$ pip install --user beets-bpmanalyser

It has two dependencies: numpy and aubio both of which will be installed automatically when installing the plugin itself.

It is also possible to clone the git repository and install the plugin manually:

$ git https://github.com/adamjakab/BeetsPluginBpmAnalyser
$ cd BeetsPluginBpmAnalyser
$ ./setup.py install --user

Usage

Activate the plugin in your configuration file:

plugins:
  - bpmanalyser
  # [...]

Check if plugin is loaded with beet version. It should list 'bpmanalyser' amongst the loaded plugins.

Your default configuration is:

bpmanalyser:
  auto: no
  dry-run: no
  write: yes
  threads: 2
  force: no
  quiet: no

Apart from auto all the other configuration options can also be set from the command line when running the pulgin. Here are the options explained:

  • auto []: NOT YET IMPLEMENTED! Execute the analysis during import.
  • dry-run [-d, --dry-run]: Do not update the library or the media files. Only display the bpm values.
  • write [-w, --write]: Write the bpm values directly to the media files.
  • threads [-t THREADS, --threads=THREADS]: Set the number of processes that can run in parallel. It will default to the number of cores of your processor(s).
  • force [-f, --orce]: By default only songs with no bpm value (bpm:0) are analysed. Use this option to force the analysis regardless of the current bpm value.
  • quiet [-q, --quiet]: Do not display any output from the command.

Development Notes

Read the plugin development section.

Take care of dependencies:

$ pip install numpy, aubio

Clone the repository as described above in the installation section.

Add the path of the 'beetsplug' folder:

pluginpath:
  - /path/to/folder/beetsplug/
  # [...]

If you need a custom configuration while developing you can make use of the included dev.yml file by using beet -c dev.yml [CMD].

Acknowledgements

Many thanks to the developers and contributors of the beets check plugin. Some structural concepts and best practices were adopted to start on this plugin.

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

beets-bpmanalyser-1.0.0.tar.gz (5.6 kB view hashes)

Uploaded Source

Built Distribution

beets_bpmanalyser-1.0.0-py3-none-any.whl (6.4 kB view hashes)

Uploaded Python 3

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