批量封面艺术下载和嵌入音频文件
get-cover-art的Python项目详细描述
获取封面艺术
问题
大型进口音乐库缺少封面艺术。在
现有解决方案
- 在
苹果的音乐应用程序(以及它的前身iTunes)有一个“获取唱片集艺术品”的功能,但它并不可靠,而且实际上并没有将封面艺术嵌入到你的音频文件中。这意味着,如果你把你的音乐库移到别处,你会丢失你所有的专辑作品。在
在 - 在
Metadatics之类的元数据实用程序很好(如果不是免费的话也很便宜),但是它们需要大量的手动交互才能浏览每个相册并从搜索结果中选择艺术品。对于拥有数千张专辑的大型图书馆来说,这可能是禁止的。在
在
此溶液
这个Python包将批量更新您的整个库,而不需要为每个专辑进行手动交互。在
它使用的是苹果音乐的艺术作品,已经是标准化和高质量的。它也直接嵌入到你的音频文件,这样它就独立于你的播放器。在
支持的格式(到目前为止)
- MP3
- MP4(.m4a)
- FLAC公司
要求
- Python 3.5或更高版本
- Python包:mutagen
使用
从命令行
python -m get_cover_art [--path=<path_to_audio_file_or_folder>] [--test] [--other options]
--path PATH audio file, or folder of audio files (recursive)
--dest DEST destination of artwork
--test, --no_embed scan and download only, don't embed artwork
--no_download embed only previously-downloaded artwork
--inline put artwork in same folders as audio files
--force overwrite existing artwork
--verbose print verbose logging
--skip_artists SKIP_ARTISTS
file containing artists to skip
--skip_albums SKIP_ALBUMS
file containing albums to skip
--skip_artwork SKIP_ARTWORK
file containing destination art files to skip
{cd1>扫描当前目录},如果{cd1>将忽略当前目录}
Pro提示:您可以先使用--test
运行,然后浏览/修剪下载的图片,然后再次使用--no_download
来嵌入未修剪的图片。在
从Python环境
^{pr2}$OPTIONS
是命令行中列出的相同选项的dict,例如--verbose
->;{'verbose': True}
- 您可以省略
PATH_TO_AUDIO_LIBRARY
以默认使用当前目录 - 您的
CoverFinder
对象保留一个文件列表,其中包括已处理的文件、跳过的文件、失败的文件、无效的文件
工作原理
- 首先,它递归地扫描您提供的文件夹以查找支持的文件。在
- 如果指定了单个文件而不是文件夹,则跳过步骤1。在
- 对于没有嵌入艺术作品的每个文件(如果使用
--force
则为所有文件),尝试基于艺术家和唱片集元数据从Apple Music下载。在
- 如果已下载(或尝试下载)图像文件,则跳过步骤2。在
- 基于
--no_download
或--skip_*
选项,步骤2也被跳过。在
- 如果找到艺术品,它会嵌入音频文件中。在
为什么你下载苹果音乐而不是谷歌图片搜索?
- Google的图像搜索API需要一个dev令牌(applemusic的API也是如此,但不是其公共web查询URL)。在
- 谷歌搜索查询被严重限制。在
- 苹果音乐的封面尺寸标准化,足够大。在
故障排除
艺术品现在已经嵌入,但苹果的音乐应用程序仍然无法显示
尝试重新导入一个嵌入的文件。如果重新导入的版本显示艺术作品,则需要重新导入音乐库。您可以在不丢失播放列表的情况下执行以下操作:
- 文件->库->导出库。。。并命名导出的库文件。在
- 访问“音乐”->;“首选项…”->;“文件”并截图选择。你以后需要恢复它们。在
- 退出应用程序并在按住选项键的同时重新启动。在
- 选择“创建库…”并选择一个新位置。在
- 访问音乐->首选项…->文件并还原所需选项。在
- 文件->库->导入播放列表。。。并从步骤1中选择库文件。(是的,它被称为“导入播放列表…”,但实际上您是用它来导入库的。)
第6步需要一段时间。在
作品出现在苹果的音乐应用程序中,但不是我的iOS设备。
你必须取消所有音乐的同步,然后重新同步。先用一个文件试试。在
- 项目
标签: