Skip to main content

Fix mp3 tags to use in iTunes/iPhone audiobooks.

Project description

Build Status Coverage

Audiobooks from mp3 with broken tags

Fix mp3 files tags to convert them into iTunes/iPhone audiobooks.

  • Fixes sort order.
  • Supports messed encoding like cyrillic Win1251.

Details in my blog's article.

Installation

Install using pipx for isolated environments, which prevents interference with your system's Python packages.

Once pipx is set up:

pipx install audiobook-tags

Command Line Interface

Usage

audiobook-tags [-h] [--encoding ENCODING] [--extension EXTENSION] [--set-tag [SET_TAG ...]] [--track-num TRACK_NUM] [--title-prefix TITLE_PREFIX] [--dry] [folder]

Fixes mp3 tags for iOS audiobooks.

positional arguments:
  folder                Folder to process. By default current folder.

options:
  -h, --help            show this help message and exit
  --suffix SUFFIX, -s SUFFIX
                        Files suffix. By default mp3
  --encoding ENCODING, -e ENCODING
                        mp3 tags encoding. "none" if you do not need mp3 tags encoding fix. By default "cp1251".
  --tag [SET_TAG ...], -t [SET_TAG ...]
                        Change mp3 tag to specified string. Format "tag-name/tag-value".
  --num TRACK_NUM, -n TRACK_NUM
                        Sort files and set mp3 tag `track_num`:
                          --num="name" - sort by names;
                          --num="tag-<TAG>" - sort by mp3 tag with name <TAG>.
                            For example to sort by title tag use --num="tag-title".
  --prefix TITLE_PREFIX, -p TITLE_PREFIX
                        Add prefix to title tags. By default `{track:04} - ` if `--num` and no prefix if not.
  --dry, -d             Dry run without changing files.
  --version, -v         Print verbose output including list of processed files.

Example:

audiobook-tags --tag="album_artist/Юрий Заборовский (Ардис)" --num="name" --prefix=""
  • converts all mp3 files in current folder and subfolders
  • fix encoding supposing that original encoding was Windows 1251
  • change tag album artist.
  • set track_num mp3 tag to file number as ordered by file name. But do not add the track number to the title (--prefix=""").

Development

OS Dependencies

MacOS

brew update brew install libmagic

Python dependencies

Note the dot before ./activate.sh:

. ./activate.sh

We use eyeD3 to work with mp3 tags.

Coverage report

Created with cookiecutter using template

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

audiobook_tags-1.3.3.tar.gz (7.1 MB view details)

Uploaded Source

Built Distribution

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

audiobook_tags-1.3.3-py3-none-any.whl (8.0 kB view details)

Uploaded Python 3

File details

Details for the file audiobook_tags-1.3.3.tar.gz.

File metadata

  • Download URL: audiobook_tags-1.3.3.tar.gz
  • Upload date:
  • Size: 7.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for audiobook_tags-1.3.3.tar.gz
Algorithm Hash digest
SHA256 b54cb8f159e9422748246a7b8120d187122e4488f025c25327fe7ee8169fdfc0
MD5 db06916bcfc042bb517c2c2f0d167830
BLAKE2b-256 b57076bf7e82ce0f60e2ea7dcf0c75539726db67576dfddd4d38e354168c7e0c

See more details on using hashes here.

File details

Details for the file audiobook_tags-1.3.3-py3-none-any.whl.

File metadata

  • Download URL: audiobook_tags-1.3.3-py3-none-any.whl
  • Upload date:
  • Size: 8.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for audiobook_tags-1.3.3-py3-none-any.whl
Algorithm Hash digest
SHA256 3eb638311dfce5071979451b12afd8d6c7113c8bf3d8cdf6d87bbe04979d6f5b
MD5 6b406687b5b8464904585efefa0022fb
BLAKE2b-256 1987e5626fee6526fb243b56060a9bb36f443432d664d6afb8a25c3eb9618e58

See more details on using hashes here.

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