beets/docs/plugins/absubmit.rst
2025-08-10 16:25:05 +01:00

80 lines
2.8 KiB
ReStructuredText

AcousticBrainz Submit Plugin
============================
The ``absubmit`` plugin lets you submit acoustic analysis results to an
AcousticBrainz_ server. This plugin is now deprecated since the AcousicBrainz
project has been shut down.
As an alternative the beets-xtractor_ plugin can be used.
Warning
-------
The AcousticBrainz project has shut down. To use this plugin you must set the
``base_url`` configuration option to a server offering the AcousticBrainz API.
Installation
------------
The ``absubmit`` plugin requires the streaming_extractor_music_ program to run.
Its source can be found on GitHub_, and while it is possible to compile the
extractor from source, AcousticBrainz would prefer if you used their binary (see
the AcousticBrainz FAQ_).
Then, install ``beets`` with ``absubmit`` extra
pip install "beets[absubmit]"
Lastly, enable the plugin in your configuration (see :ref:`using-plugins`).
Submitting Data
---------------
To run the analysis program and upload its results, type:
::
beet absubmit [-f] [-d] [QUERY]
By default, the command will only look for AcousticBrainz data when the tracks
don't already have it; the ``-f`` or ``--force`` switch makes it refetch data
even when it already exists. You can use the ``-d`` or ``--dry`` switch to check
which files will be analyzed, before you start a longer period of processing.
The plugin works on music with a MusicBrainz track ID attached. The plugin will
also skip music that the analysis tool doesn't support.
streaming_extractor_music_ currently supports files with the extensions ``mp3``,
``ogg``, ``oga``, ``flac``, ``mp4``, ``m4a``, ``m4r``, ``m4b``, ``m4p``,
``aac``, ``wma``, ``asf``, ``mpc``, ``wv``, ``spx``, ``tta``, ``3g2``, ``aif``,
``aiff`` and ``ape``.
Configuration
-------------
To configure the plugin, make a ``absubmit:`` section in your configuration
file. The available options are:
- **auto**: Analyze every file on import. Otherwise, you need to use the ``beet
absubmit`` command explicitly. Default: ``no``
- **extractor**: The absolute path to the streaming_extractor_music_ binary.
Default: search for the program in your ``$PATH``
- **force**: Analyze items and submit of AcousticBrainz data even for tracks
that already have it. Default: ``no``.
- **pretend**: Do not analyze and submit of AcousticBrainz data but print out
the items which would be processed. Default: ``no``.
- **base_url**: The base URL of the AcousticBrainz server. The plugin has no
function if this option is not set. Default: None
.. _acousticbrainz: https://acousticbrainz.org
.. _beets-xtractor: https://github.com/adamjakab/BeetsPluginXtractor
.. _faq: https://acousticbrainz.org/faq
.. _github: https://github.com/MTG/essentia
.. _pip: https://pip.pypa.io
.. _requests: https://requests.readthedocs.io/en/master/
.. _streaming_extractor_music: https://essentia.upf.edu/