Questions tagged [eyed3]

eyeD3 is a Python tool for working with audio files, specifically mp3 files containing ID3 metadata (i.e. song info).

It provides a command-line tool (eyeD3) and a Python library (import eyed3) that can be used to write your own applications or plugins that are callable from the command-line tool.

For example, to set some song information in an mp3 file called song.mp3:

$ eyeD3 -a Nobunny -A "Love Visions" -t "I Am a Girlfriend" -n 4 song.mp3

With this command we’ve set the artist (-a/--artist), album (-A/--album), title (-t/--title), and track number (-n/--track-num) properties in the ID3 tag of the file.
This is the standard interface that eyeD3 has always had in the past, therefore it is also the default plugin when no other is specified.

The results of this command can be seen by running the eyeD3 with no options.

$ eyeD3 song.mp3
song.mp3      [ 3.06 MB ]
-------------------------------------------------------------------------
ID3 v2.4:
title: I Am a Girlfriend
artist: Nobunny
album: Love Visions
track: 4
-------------------------------------------------------------------------

The same can be accomplished using Python.

import eyed3

audiofile = eyed3.load("song.mp3")
audiofile.tag.artist = u"Nobunny"
audiofile.tag.album = u"Love Visions"
audiofile.tag.title = u"I Am a Girlfriend"
audiofile.tag.track_num = 4

audiofile.tag.save()

eyeD3 is written and maintained by Travis Shirk and is licensed under version 2 of the GPL.

Features

  • Python package for writing application and/or plugins.
  • Command-line tool driver script that supports plugins. viewer/editor interface.
  • Easy editing/viewing of audio metadata from the command-line, using the ‘classic’ plugin.
  • Support for ID3 versions 1.x, 2.2 (read-only), 2.3, and 2.4.
  • Support for the MP3 audio format exposing details such as play time, bit rate, sampling frequency, etc.
  • Abstract design allowing future support for different audio formats and metadata containers.
88 questions
1
vote
0 answers

Printing Tags in mp3 useing python, eyed3

I'm trying to print Tags from mp3 files. But I can't find any ways to do it. import eyeD3 tag = eyeD3.Tag() tag.link("/some/file.mp3") print tag.getArtist() print tag.getAlbum() print tag.getTitle() I used this code, and it it didn't work. Is…
Quno
  • 11
  • 1
1
vote
2 answers

How to get a custom MP3 tag via Python?

I am working on an algorithm that uses AcousticBrainz API. Part of the process is assigning an audio file with a specific UUID that refers to a file in a database. The tag is added via Picard and is present among other tags when checking e.g. via…
fasola
  • 47
  • 3
1
vote
1 answer

Is there a way to add multiple artists using eyeD3 in python3

I tried using mySong.tag.artist = "Artist 1, Artist 2" but media players like itunes treat it as one artist. Is there any way to tag the song with Various artists and specify which ones?
Anish Laddha
  • 67
  • 1
  • 6
1
vote
1 answer

get audio file object from amazon s3

I want to get audio tags from an audio file. For that, I use eyed3 plugin. import eyed3 mp3_file = "The_File_Path" audiofile = eyed3.load(mp3_file) year = audiofile.tag.getBestDate() But I have only the amazon s3 URL of the audio file. How can I…
Agus Mathew
  • 806
  • 1
  • 10
  • 19
1
vote
0 answers

"Lame tag CRC check failed" using eyeD3 to change mp3 file tags (Python)

I have a lot of mp3 files that are titled in the following format: "Artist - Song" Where both the artist and song are in the 'title' field of the file. I would like to change them all to have the artist and song in their respective fields. To do…
Mari
  • 23
  • 6
1
vote
1 answer

It's eyed3 capable of acces all mp3 'standard' tags besides more common ones as 'title 'track'?

I succeed to tag the more "common" tags in mp3 files and the user-formatted ones. But other standard ones as 'copyright', 'engineer', 'composer', 'encoded by', 'language'. are no showing (for example in EasyTag or other audio programs) My lines are…
FranGar
  • 137
  • 6
1
vote
0 answers

How do I install eyed3 on Mac properly?

I got the following error when I was attempting to install eyed3 in Terminal. May I know how do I rectify this error and install it correctly? File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/dir_util.py",…
Colin Hong
  • 337
  • 2
  • 7
1
vote
2 answers

grep on word with colon fails from command output

Can anyone explain why grepping for "artist" returns results, but grepping for "artist:" returns nothing? FIRST RESULT: MacBook-Pro:~ kjesso$ eyed3 ./Music/Deftones/2006\ -\ Saturday\ Night\ Wrist/Deftones\ -\ 02\ -\ Rapture.mp3 Deftones - 02 -…
KeithJ
  • 169
  • 3
  • 12
1
vote
1 answer

Recursively remove all embedded images in mp3 using eyed3

Have used below eyed3 command in Ubuntu to remove all the images embedded in mp3, but not recursively. How to perform recursively in each folder and sub folders? If someone can modify and present me the below command line would be great. eyeD3…
Jake
  • 65
  • 2
  • 14
1
vote
1 answer

How do I name metadata for mp3's with python?

I have some folders with MP3 files that do not include any metadata, but do contain some data in the filename itself. I want to copy the data from the title to the file as meta-data. What I already have: import eyed3.mp3 import os local =…
1
vote
1 answer

Python eyed3 UnicodeEncodeError: 'ascii' codec can't encode character u'\xe9' in position 17: ordinal not in range(128)

Trying to rename all files in a directory using eye3d 0.7.8-final #! /usr/bin/env python import os, sys, unicodedata, eyed3 def parse(sourcefile): audiofile = eyed3.load(sourcefile) if audiofile.tag.artist != audiofile.tag.artist: …
O.C.
  • 81
  • 9
1
vote
3 answers

How to extract "Encoded by" from mp3 metadata using Python?

I am trying to write a Python script to extract metadata tags from some mp3 files. Specifically, I am looking to extract "Album" and "Encoded by", which are available if I right-click on the files and look under details: I am using currently using…
Roberto
  • 2,054
  • 4
  • 31
  • 46
1
vote
2 answers

python eyed3 eyed3.id3.tag.CommentsAccessor object at 0x7fbb2316d890

When I try and read the comments from any MP3 file using eyed3 I get given the following error: eyed3.id3.tag.CommentsAccessor object at 0x7fbb2316d890 Doe's anyone know how to fix this? track = eyed3.load(name) print track.tag.comments
twigg
  • 3,753
  • 13
  • 54
  • 96
1
vote
2 answers

GNU Find : Get a running counter for the -exec command ( to tag mp3s with running track number )

I want to automatically tag a collection of MP3 to become custom-name VA Albums. Currently, I'm using quite fail-safe commands like this one : find . -name "*.mp3" -exec eyeD3 -A "Indie 2015" -b "Various Artists" {} \; Now, I would like to add a…
user2707001
  • 1,543
  • 12
  • 13
1
vote
1 answer

batch add images to mp3 files

I have a few mp3 files: first file.mp3 second file.mp3 third file.mp3 and artwork for them: first file.png second file.png third file.png How do I add images as tags to mp3 files (1 to 1; 2 to 2; 3 to 3) in batch mode?