批量封面艺术下载和嵌入音频文件

get-cover-art的Python项目详细描述


获取封面艺术

问题

大型进口音乐库缺少封面艺术。在

现有解决方案

  1. 苹果的音乐应用程序(以及它的前身iTunes)有一个“获取唱片集艺术品”的功能,但它并不可靠,而且实际上并没有将封面艺术嵌入到你的音频文件中。这意味着,如果你把你的音乐库移到别处,你会丢失你所有的专辑作品。在

  2. 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. 首先,它递归地扫描您提供的文件夹以查找支持的文件。在
  • 如果指定了单个文件而不是文件夹,则跳过步骤1。在
  1. 对于没有嵌入艺术作品的每个文件(如果使用--force则为所有文件),尝试基于艺术家和唱片集元数据从Apple Music下载。在
  • 如果已下载(或尝试下载)图像文件,则跳过步骤2。在
  • 基于--no_download--skip_*选项,步骤2也被跳过。在
  1. 如果找到艺术品,它会嵌入音频文件中。在

为什么你下载苹果音乐而不是谷歌图片搜索?

  1. Google的图像搜索API需要一个dev令牌(applemusic的API也是如此,但不是其公共web查询URL)。在
  2. 谷歌搜索查询被严重限制。在
  3. 苹果音乐的封面尺寸标准化,足够大。在

故障排除

艺术品现在已经嵌入,但苹果的音乐应用程序仍然无法显示

尝试重新导入一个嵌入的文件。如果重新导入的版本显示艺术作品,则需要重新导入音乐库。您可以在不丢失播放列表的情况下执行以下操作:

  1. 文件->库->导出库。。。并命名导出的库文件。在
  2. 访问“音乐”->;“首选项…”->;“文件”并截图选择。你以后需要恢复它们。在
  3. 退出应用程序并在按住选项键的同时重新启动。在
  4. 选择“创建库…”并选择一个新位置。在
  5. 访问音乐->首选项…->文件并还原所需选项。在
  6. 文件->库->导入播放列表。。。并从步骤1中选择库文件。(是的,它被称为“导入播放列表…”,但实际上您是用它来导入库的。)

第6步需要一段时间。在

作品出现在苹果的音乐应用程序中,但不是我的iOS设备。

你必须取消所有音乐的同步,然后重新同步。先用一个文件试试。在

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
我可以用C++代码使用java代码吗?   java使用JSR303在派生类中提供更具体的约束   java在这个查找唯一路径数算法中我做错了什么?   java如何为2个不同的服务提供商使用2个不同的SSL证书?   java在Gridview上绘制文本   java使用连接for循环构建字符串名   java StringBuilder拆分无法处理某些文件   java事件关注EditText   Java Web Start“找不到URL的缓存资源”   java程序从命令行运行的速度比在Eclipse中慢   java为什么HttpServletRequest会截断#字符上的url输入?   java自定义折叠工具栏平滑标题大小调整   使用Mockito对安卓 java中调用另一个静态函数的函数进行单元测试   http在java客户机中使用cachecontrol头   java如何使用。是否使用Delimiter从输入文件中排除标点符号和数字?   使用上下文作为参数/参数的java   java更有效地从Jar中提取文件   java为多个JButton提供相同的actionListener