我有一堆没有ID3标签的mp3文件.我试图使用eyed3为文件添加ID3标签,但无法弄清楚使用什么方法.这是我的代码:
import eyed3
file = eyed3.load("test.mp3")
file.tag.artist = u"MP3 Artist"
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:"AttributeError:'NoneType'对象没有属性'artist'"
我已经发现这是因为MP3文件根本没有任何ID3标签.如果我使用已经有标签的其他MP3文件来执行此操作,它可以正常工作.如何在MP3上附加新的ID3标签?
我的一些mp3文件似乎有非标准类型.当我遍历它们(我必须在我的程序中执行)时,我得到了大量的警告,如下所示:
eyed3.id3:WARNING: Non standard genre name: Rock - Punk/Pop-Punk , Rock - Alternative Rock
Run Code Online (Sandbox Code Playgroud)
如何防止eyed3打印出来?
编辑:我加载文件时收到此警告,例如:
mp3_file = eyed3.load( "path to file" ) #I get a warning when I open the 'wrong' file
Run Code Online (Sandbox Code Playgroud) 我正在尝试编写一个脚本来使用 Python 和 eyeD3 清理 mp3 文件名,但是当我尝试使用以下脚本加载 mp3 文件时出现“警告:eyeed3.mp3.headers:Lame 标签 CRC 检查失败”
import string
import os
import eyed3
count = 0
for root, dirs, filenames in os.walk('path'):
for song in filenames:
audiofile = eyed3.load(song)
Run Code Online (Sandbox Code Playgroud)
因此,我无法重命名库中的大多数文件。关于这个主题的任何经验或使用不同的图书馆?
我正在尝试使用eyed3作为Python库,以便更改大量.MP3文件集的艺术家名称.我尝试使用项目网页的示例代码(http://eyed3.nicfit.net/)和setsaudiofile.tag.artist更改"贡献艺术家".根据文档(在http://eyed3.nicfit.net/api/eyed3.html),标签对象没有其他艺术家字段.
是否可以使用eyed3来实际更改专辑艺术家?如果是这样,你能提供清晰,简洁的Python代码吗?
我有关于使用Python进行音频数据分析的作业.我想知道是否有任何好的模块可供我从mp3文件中提取原始数据.我的意思是原始数据,而不是元数据,id3标签.
我知道如何使用该wave模块来处理.wav文件.我可以readframes获取原始数据.但我不知道如何处理mp3.我在google和stackoverflow上搜索了很多并找到了eyeD3.但不幸的是,文档相当令人沮丧,现在版本是0.7.1,与我在互联网上可以找到的大多数示例不同.
有没有可以从mp3中提取原始数据的好模块?如果有任何好的文档eyeD3,它也是好的.
我正在尝试用 Python 创建一个程序,自动检索特定 MP3 文件夹的歌词。[我从azlyrics.com 获取歌词]
到目前为止,除了将歌词实际嵌入到“歌词”标签中之外,我已经成功地完成了所有操作。
您回答了有关从此处的标签读取歌词的问题。
我想知道你是否可以帮我设定歌词。这是我的代码。
import urllib2 # For downloading webpage
import time # For pausing
import eyed3 # For MP3s
import re # For replacing characters
import os # For reading folders
path = raw_input('Please enter folder of music') # TODO Must make GUI PATH SELECTION
files = os.listdir(path)
for x in files:
# Must make the program stop for a while to minimize server load
time.sleep(3)
# Opening …Run Code Online (Sandbox Code Playgroud) 我一直在尝试使用 eyesed3 模块来标记 mp3 文件,但不幸的是,我发现模块文档很难理解,想知道是否有人可以帮助我?.. 文档可以在https://eyed3.readthedocs.io找到
我试图用它来删除现有的专辑封面图像:
import eyed3
x = eyed3.load('file_path')
x.tag._images.remove()
x.tag.save()
Run Code Online (Sandbox Code Playgroud)
但是当我运行这段代码时,它给出了以下错误:
TypeError: remove() missing 1 required positional argument: 'description'
Run Code Online (Sandbox Code Playgroud)
我不确定在哪里可以找到上面提到的description作为参数传递的内容。我还查看了 eyed3 标记的源 python 文件,但根据对代码的调查,我似乎无法找出该参数的传递内容description。
我尝试传递一个空字符串作为参数,但尽管脚本运行良好,没有任何错误,但它没有删除专辑封面图像。
请帮忙。
我目前正在尝试使用Python 及其eyeD3 库从mp3 文件中提取歌词。歌词已经嵌入到 mp3 文件中(来自:MusicBee)。我正在尝试使用 eyeD3 返回歌词。我不知道该怎么做。我在网上进行了大量搜索,发现的只是显示如何设置歌词的教程。我只想从文件中读取它们。这是我当前的代码:
track = eyed3.load(path)
tag = track.tag
artist = tag.artist
lyrics = tag.lyrics
Run Code Online (Sandbox Code Playgroud)
艺术家正确返回艺术家姓名,但歌词返回以下内容:
<eyed3.id3.tag.LyricsAccessor object at 0x27402d0>
Run Code Online (Sandbox Code Playgroud)
我怎样才能返回嵌入到 mp3 中的原始文本歌词?这可能吗?
非常感谢您。
我想知道用什么模块将图像设置为特定mp3文件的专辑封面.Mutagen似乎是一个受欢迎的选择,但它似乎不适用于python 3,我找不到任何文档.
我正在用eyeD3获得mp3标签(ID V1),并想了解其编码。这是我尝试的方法:
>>> print(type(mp3artist_v1))
<type 'unicode'>
>>> print(type(mp3artist_v1.encode('utf-8')))
<type 'str'>
>>> print(mp3artist_v1)
Zåìôèðà
>>> print(mp3artist_v1.encode('utf-8').decode('cp1252'))
ZåìôèðÃ
>>> print(u'Z??????'.encode('utf-8').decode('cp1252'))
Zемфира
Run Code Online (Sandbox Code Playgroud)
如果我使用在线工具对值进行解码,则表示Zемфира可以Z??????通过更改编码将值转换为正确的值,CP1252 ? UTF-8并Zåìôèðà通过更改编码(如)来将值转换为正确的值CP1252 ? CP1251。
我应该怎么做才能Z??????从mp3artist_v1?.encode('cp1252').decode('cp1251')效果很好,但我怎么能自动理解可能的编码(仅3编码是可能的- ,cp1251,cp1252?utf-8我正打算使用下面的代码:
def forceDecode(string, codecs=['utf-8', 'cp1251', 'cp1252']):
for i in codecs:
try:
print(i)
return string.decode(i)
except:
pass
print "cannot decode url %s" % ([string])
Run Code Online (Sandbox Code Playgroud)
但这无济于事,因为我应该先使用一个字符集进行编码,然后再使用另一个字符集进行解码。
eyed3 ×10
python ×10
mp3 ×4
audio ×2
crc ×1
encoding ×1
media ×1
mutagen ×1
python-2.7 ×1
python-3.4 ×1
python-3.x ×1
unicode ×1
warnings ×1