Skip to main content

MP3NORM

Simple script written in Python that extract tags from filename and/or fetch album name/cover from Google Search.

REQUIREMENTS

  • eyed3
  • sacad (only for download albums covers)
  • selenium (only for fetch albums names)

INSTALLATION

pip install mp3norm

or

git clone https://github.com/Docheinstein/mp3norm

USAGE

Run with

python -m mp3norm

or

mp3norm
python mp3norm.py [-h] [-e [REGEX]] [-E [REGEX]] [-a] [-A] [-c [RESOLUTION]] [-C [RESOLUTION]] [-v] [-d GECKODRIVER] [-s] [input]

positional arguments:
  input                 .mp3 file or folder containing the .mp3 files (default is current directory)

optional arguments:
  -h, --help            show this help message and exit
  -e [REGEX], --extract [REGEX]
                        Extract tags from filename if those are missing, using the optional regex (default is "((?P<artist>.*) - )?(?P<title>.*).mp3")
  -E [REGEX], --force-extract [REGEX]
                        Extract tags from filename (always overwriting the previous values), using the optional regex (default is "((?P<artist>.*) - )?(?P<title>.*).mp3")
  -a, --album           If the album tag is missing, tries to retrieve the album name (requires selenium)
  -A, --force-album     Always tries to retrieve the album name (requires selenium)
  -c [RESOLUTION], --cover [RESOLUTION]
                        Download the cover, if it is missing, download it using the optional given resolution (default is 600) (requires sacad)
  -C [RESOLUTION], --force-cover [RESOLUTION]
                        Always download the cover using the optional given resolution (default is 600) (requires sacad)
  -v, --verbose         Print more messages
  -d GECKODRIVER, --driver GECKODRIVER
                        Path of the geckodriver (required if --album is given)
  -s, --show-driver     Show the selenium web driver, if used

EXAMPLES

  • Extract the mp3 tags for each mp3 file (with the format "<artist> - <title>.mp3)")
mp3norm /home/user/Music -e
  • Fetch the album name for each mp3 file
mp3norm /home/user/Music -a
  • Download the cover for each mp3 file
mp3norm /home/user/Music -c -d /opt/geckodriver/geckodriver
  • Extract the mp3 tags, automatically fetch album name and cover
mp3norm /home/user/Music -e -a -c -d /opt/geckodriver/geckodriver
  • Force to extract the mp3 tags, automatically fetch album name and cover
mp3norm /home/user/Music -E -A -C -d /opt/geckodriver/geckodriver
  • Extract the mp3 tags for a mp3 file with a non-default pattern
mp3norm "/home/user/Music/Fleetwood Mac - Rhiannon.mp3" -e "(?P<artist>.*)-(?P<title>.*)"
  • Extract different mp3 tags for a mp3 file with a non-default pattern
mp3norm "Pink Floyd - The Dark Side of the Moon - Money.mp3" -e "(?P<artist>.*) - (?P<album>.*) - (?P<title>.*)"

Release files for mp3norm 0.6

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for mp3norm 0.6
File Size Uploaded
mp3norm-0.6.tar.gz 9.5 kB Details

Release files / mp3norm-0.6.tar.gz

Download URL mp3norm-0.6.tar.gz
Size 9.5 kB
Tags Source
SHA-256 checksum
How to use checksums
39a9bb3016aaead6d8d93f6df70edfdd8baf5649dea4c21d4443a0ea2b8bceea
BLAKE2b-256 checksum
How to use checksums
aacd9a29cb32ae95cbfec9f55db6e9b740d6a997eefcf19ec7669f1a57393605
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.6.1 requests/2.25.1 setuptools/56.0.0 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.9.4

Release history Release notifications | RSS feed

This release

0.6 This release

1 release file

0.5

1 release file

0.4

1 release file

0.3

1 release file

0.2

1 release file

0.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page