A simple, user-friendly Python CLI tool that generates MusicBrainz Picard file naming scripts through an interactive menu-driven interface.
No scripting knowledge required! Just answer a few simple questions, and get perfectly formatted Picard scripts ready to use.
MusicBrainz Picard is a powerful music tagger that can automatically organize your music library. However, creating custom file naming scripts requires learning Picard's scripting language and can be complex and error-prone.
This tool solves that problem. It provides:
- π― Simple interactive menus - No coding required
- π¦ 6 ready-to-use preset templates - Common configurations already built
- π§ Full customization - Fine-tune every detail if you want
- β Guaranteed valid output - Generated scripts use only real Picard variables and proper syntax
- π Live preview - See examples before saving
- πΎ One-click export - Save and import directly into Picard
Creating Picard file naming scripts can be complex and time-consuming. This tool simplifies the process by letting you make simple selections and choices, then automatically generates the correct Picard scripting code for you.
β¨ Save Time - Create complex scripts in minutes, not hours
π‘οΈ Error-Free - No syntax errors, all variables are real and validated
π Learn by Example - See how Picard scripts work by examining the output
π¨ Flexible - From simple to advanced configurations
π Reusable - Save and share your configurations
The interactive main menu offers quick access to presets, custom building, help, and more.
Choose from 6 professionally designed presets, each with example output.
Compare all available presets at a glance with their formats and examples.
Step 1: Configure your folder structure preferences.
Step 2: Customize album folder details and metadata.
Step 3: Set up multi-disc album handling.
Step 4: Define filename format and track numbering.
Step 5: Configure special handling for Various Artists and soundtracks.
Preview the generated Picard script before saving.
Built-in help provides guidance on Picard scripting concepts.
- Python 3.8 or higher
- pip (Python package installer)
- Git (optional, for cloning)
-
Clone the repository
git clone https://github.com/WB2024/WBs-Picard-Filenaming-Script-Generator.git cd WBs-Picard-Filenaming-Script-GeneratorOr download the ZIP file from GitHub and extract it.
-
Install dependencies
pip install -r requirements.txt
This will install:
rich- For beautiful terminal outputquestionary- For interactive menus
-
Verify installation
python picard_script_generator.py
You should see the main menu appear.
Run the generator from the command line:
python picard_script_generator.pyThen follow the interactive prompts to build your script.
- Run
python picard_script_generator.py - Select "π Quick Start - Use a preset template"
- Choose a preset that matches your needs
- Preview the example output
- Choose "β Generate this script"
- Save the script
- Import into Picard
- Run the generator
- Select "π Quick Start - Use a preset template"
- Choose a starting preset
- Select "π Customize this preset"
- Modify settings interactively
- Preview and save
- Run the generator
- Select "π§ Custom Build - Configure everything step by step"
- Answer the wizard questions:
- Folder structure (Artist? Album?)
- Album details (Year? Label? Catalog?)
- Multi-disc handling (Subfolders? Numbering?)
- Filename format (Track numbers? Featured artists?)
- Special handling (Various Artists? Soundtracks?)
- Preview and save
Here's what your files might look like with different presets:
Music/
βββ The Beatles/
β βββ [1969] Abbey Road/
β βββ 01. Come Together.mp3
β βββ 02. Something.mp3
β βββ 03. Maxwell's Silver Hammer.mp3
βββ Pink Floyd/
βββ [1973] The Dark Side of the Moon/
βββ 01. Speak to Me.mp3
βββ 02. Breathe.mp3
Music/
βββ B/
β βββ Beatles, The/
β βββ [1969] Abbey Road (Remaster)/
β βββ Disc 1/
β βββ 01. Come Together.mp3
β βββ 02. Something.mp3
βββ P/
βββ Pink Floyd/
βββ [1973] The Dark Side of the Moon/
βββ Disc 1/
βββ 01. Speak to Me.mp3
Music/
βββ Various Artists/
βββ [2020] Now That's What I Call Music 75/
βββ 01. Artist A - Track Title.mp3
βββ 02. Artist B - Track Title.mp3
βββ 03. Artist C - Track Title.mp3
The generated script will be saved as my_picard_script.pts (or your custom name) in the same directory as the generator.
- Open MusicBrainz Picard
- Go to Options β Options β File Naming
- Click "Import" and select your generated
.ptsfile - Enable "Rename files when saving"
- Click OK
Your files will now be organized according to your custom naming scheme!
- Simple -
Artist/[Year] Album/01. Title - Organized -
A/Artist/[Year] Album/Disc 1/01. Title - Detailed -
A/Artist/[Year] Album [Label] {Cat#}/01. Title - Flat -
Artist/[Year] Album/1-01. Title(no disc subfolders) - Minimal -
Album/01. Artist - Title(no artist folders) - Audiophile -
B/Beatles, The/[Year] Album [FLAC]/01. Title
All generated scripts include:
- β Valid Picard TaggerScript syntax
- β Real MusicBrainz variables (verified, no made-up variables)
- β Proper fallback values for missing metadata
- β Windows/Linux/macOS compatible character handling
- β Multi-disc album support
- β Various Artists handling
- β Featured artists detection
- β Configurable track number padding
- β Optional year, label, catalog number, format display
Import Error: Missing packages
pip install --upgrade rich questionaryScript doesn't start
- Ensure you're using Python 3.8 or higher:
python --version - Try using
python3instead ofpythonon some systems
Generated script has errors in Picard
- The generator only uses valid Picard syntax and real variables
- If issues occur, please report them on GitHub Issues
If you find this tool useful, consider supporting its development:
Your support helps maintain and improve this project. Thank you! β
Contributions are welcome! Feel free to:
- Report bugs
- Suggest new features
- Submit pull requests
- Add new preset templates
MIT License