📜  使用Python中的 mutagen 模块提取和添加 FLAC 音频元数据

📅  最后修改于: 2022-05-13 01:55:43.525000             🧑  作者: Mango

使用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