Skip to main content

AI autotagger source for beets (http://beets.io).

Project description

Beets AI Sauce Plugin

build status PyPI - Version

Because your tunes deserve a little extra flavor.

Let artificial intelligence decipher and enhance the mysterious metadata of your music tracks.

Who Needs This? (Definitely You)

  • You: The person who once gazed at your MP3 folder and thought, "My beats need more AI jazz hands!"
  • Also You: If you trust AI more than your friend who can't stop labeling everything "Track 1".
  • Definitely You: If you own folders full of tracks from bootlegs, unknown rips, or suspect compilation albums.

Features

  • Auto-Metadata Magic: Automatically retrieve and correct track and album metadata using AI-generated suggestions.
  • Cleanup Crew: Strip away unnecessary embellishments like "Free Download" in titles or SHOUTCAPS, giving your library a polished appearance.
  • Extensible System: Leverage AI configurations and prompts custom tailored for your library needs.
> beet import Faith\ in\ Strangers\ \[Free\ Download\]\ -\ Official\ Version.mp3 -p

/home/smohr/Repositories/beets-aisauce/.local/Faith in Strangers [Free Download] - Official Version.mp3 (1 items)

  Match (79.2%):
  Andy Stott - Faith In Strangers
   album, tracks
  AISauce, None, 2014, None, None, None, None
  * Artist: Andy Stott
   Album: Faith in Strangers - More at website here  -> Faith In Strangers
      (#1) Faith in Strangers -  Free download - Version v1 (6:29) -> (#1) Faith In Strangers - Version V1 (6:29) [A]pply, More candidates, Skip, Use as-is, as Tracks, Group albums,

Installation

Prerequisites

  • Beets: Make sure you have Beets installed (pip install beets),
  • AI Service API Key: Get an API key from your preferred AI service provider (e.g., OpenAI, Deepseek).
    • Any service that supports openAI endpoints should work.

Plugin Setup

  1. Installation: Obtain the sauce by installing the plugin via pip:
    pip install beets-aisauce
    
  2. Configuration: Add the plugin to your Beets configuration file (config.yaml/beets config -e) with your AI provider details:
     plugins: 
       - aisauce
    
     aisauce:
         providers:
             - id: openai
               model: gpt-4o
               api_key: YOUR_API_KEY_HERE
               api_base_url: https://api.openai.com/v1
    
  3. Execute the Ai Sauce: Import your tracks through Beets to start receiving AI-enhanced metadata suggestions.

Advanced Usage

  • Custom Rules: Sometimes you have specific metadata correction rules that you want to apply. You can modify the default user and system prompts by adding a source to your configuration file:
    aisauce:
        providers:
            - id: openai
              model: gpt-4o
              api_key: YOUR_API_KEY_HERE
    
        sources:
            - provider_id: openai
              user_prompt: '
                Additional rules:
                - Replace any occurrences of Vulgar or inappropriate words with "**sauced**".
                '
    
  • Multiple sources can be defined allowing you to test different prompts or configurations for different types of music or metadata corrections and models.

Contributing

Great ideas welcome! Especially if they include more puns. Open a PR or send us a message in a bottle (GitHub issues also work).

License

This project is licensed under the MIT License—meaning you can do almost anything, but please don't sue us if the AI names your tracks "Untitled Jam 42."

Development

The following sections are for developers who want to contribute to the project. Feel free to skip if you're just here for the AI sauce.

Installation for Development

Clone the repository and install the package in editable mode:

git clone
pip install -e .[dev]

Running Tests

To run the tests, you can use pytest. Make sure you have the necessary dependencies installed:

pytest .

Running mypy locally

Running mypy local is a bit tricky due to the namespace packages used in this project. To run mypy, you need to specify the --namespace-packages and --explicit-package-bases flags.

mypy  --namespace-packages --explicit-package-bases .

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_aisauce-0.1.1.tar.gz (10.5 kB view details)

Uploaded Source

Built Distribution

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

beets_aisauce-0.1.1-py3-none-any.whl (9.8 kB view details)

Uploaded Python 3

File details

Details for the file beets_aisauce-0.1.1.tar.gz.

File metadata

  • Download URL: beets_aisauce-0.1.1.tar.gz
  • Upload date:
  • Size: 10.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for beets_aisauce-0.1.1.tar.gz
Algorithm Hash digest
SHA256 69a911aec4937046b7c771b04c6859606dfc0ba010aa60520c57fa32abee0dad
MD5 6c9148e3d9a232eba5ba1a480e8d00b8
BLAKE2b-256 6c2bef20efc12d5cb9b2e778a8948ff73f86a44084ba7e011e4bae9265ac6337

See more details on using hashes here.

Provenance

The following attestation bundles were made for beets_aisauce-0.1.1.tar.gz:

Publisher: auto-release.yml on metasauce/beets-aisauce

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file beets_aisauce-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: beets_aisauce-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 9.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for beets_aisauce-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 e90d30091ae789392d56eb819fa32666225612aad25dacd88b7bc00e20734af0
MD5 9f1381ebbd7833ce0751171f1c1b909e
BLAKE2b-256 454f8df65d0ce3b2dd909893b4d17299878624617f806e83099b0fe2caf6802d

See more details on using hashes here.

Provenance

The following attestation bundles were made for beets_aisauce-0.1.1-py3-none-any.whl:

Publisher: auto-release.yml on metasauce/beets-aisauce

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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