使用Python中的 mutagen 模块提取和添加 FLAC 音频元数据
音频元数据是嵌入到音频文件中以识别和标记音频文件的信息。元数据包括艺术家、流派、专辑和曲目编号等信息。此信息对于制作音乐播放器和其他相关应用程序非常重要。流媒体平台还使用元数据根据艺术家、流派和专辑等各种过滤器对音乐进行分类。
FLAC是一种深受发烧友喜爱的无损音频格式,其中还包含嵌入的元数据。使用Python中的mutagen模块,您可以访问元数据以及向 FLAC 音频文件的元数据添加标签。
安装:此模块没有内置于Python中。要安装此模块,请在终端中键入以下 pip 命令。
pip install mutagen
如果您想继续学习,可以使用此 Google Drive 链接下载本文中使用的 FLAC 文件。
访问 FLAC 元数据:
要访问 FLAC 文件元数据,我们将使用 mutagen 模块的FLAC()方法来读取 FLAC 文件。然后我们将使用pprint()方法来获取它的元数据并以人类可读的方式打印它。
Python3
# Python program to illustrate the
# extraction of FLAC audio metadata
# using the mutagen module
# Importing the FLAC method
# from the mutagen module
from mutagen.flac import FLAC
# Loading a flac file
audio = FLAC("GeeksForGeeks_Music.flac")
# Printing all the metadata
print(audio.pprint())
Python3
# Python program to illustrate
# adding tags to the FLAC metadata
# using mutagen module
# Importing the FLAC method from
# the mutagen module
from mutagen.flac import FLAC
# Loading a flac file
audio = FLAC("GeeksForGeeks_Music.flac")
# Adding tags to the metadata
audio["YEAR_OF_RELEASE"] = "2020"
audio["WEBSITE"] = "geeksforgeeks.org"
audio["GEEK_SCORE"] = "9"
# Modifying existing metadata tag
audio["ARTIST"] = "GeeksForGeeks Team"
# Printing the metadata
print(audio.pprint())
# Saving the changes
audio.save()
输出:
FLAC, 310.31 seconds, 44100 Hz (audio/flac)
GENRE=Geek Music
TRACKNUMBER=1/1
ALBUM=GeeksForGeeks Album
TITLE=GeeksForGeeks_Music
COMMENTS=Special soundtrack for all the GFG Fans.
ARTIST=Neeraj Ranametadata:
您还可以使用与将项目添加到Python字典相同的语法在元数据中添加您自己的标签和值。另请注意,可以编辑已经存在的标签值。确保在对标签进行任何更改后使用保存函数。
例子:
蟒蛇3
# Python program to illustrate
# adding tags to the FLAC metadata
# using mutagen module
# Importing the FLAC method from
# the mutagen module
from mutagen.flac import FLAC
# Loading a flac file
audio = FLAC("GeeksForGeeks_Music.flac")
# Adding tags to the metadata
audio["YEAR_OF_RELEASE"] = "2020"
audio["WEBSITE"] = "geeksforgeeks.org"
audio["GEEK_SCORE"] = "9"
# Modifying existing metadata tag
audio["ARTIST"] = "GeeksForGeeks Team"
# Printing the metadata
print(audio.pprint())
# Saving the changes
audio.save()
输出:
FLAC, 310.31 seconds, 44100 Hz (audio/flac)
GENRE=Geek Music
TRACKNUMBER=1/1
ALBUM=Geeks
ForGeeks Album
TITLE=GeeksForGeeks_Music
COMMENTS=Special soundtrack for all the GFG Fans.
YEAR_OF_RELEASE=2020
WEBSITE=geeksforgeeks.org
GEEK_SCORE=9
ARTIST=GeeksForGeeks Team