Picard 3.0

Hacker News Top 产品

摘要

MetaBrainz 发布了 MusicBrainz Picard 3.0,这是其官方音乐标签编辑器的一次重大更新,迁移到了 Qt6 并引入了完全重新设计的插件系统。新功能包括可自定义的可脚本列、列表过滤、设置向导、深色模式支持,以及改进的封面图和 ISRC 处理。

暂无内容
查看原文
查看缓存全文

缓存时间: 2026/10/05 17:43

# Picard 3.0 发布 – MetaBrainz Blog 来源:https://blog.metabrainz.org/2026/10/04/picard-3-0-released/ Picard 团队很高兴地宣布 MusicBrainz Picard 的全新大版本 3.0 现已可供下载(https://picard.musicbrainz.org/downloads/)。MusicBrainz Picard 是 MusicBrainz 数据库的官方标签编辑器,借助 MusicBrainz 的数据帮助你整理并清理音乐收藏。 一张模拟软件纸盒的图片,标题写着 "MusicBrainz Picard"。盒子上有两张看起来已经磨损的贴纸,一张写着 "Complete Tagging Solution",另一张写着 "Community Support"。盒子旁边是一个粉橙色的圆形图标,上面写着 "Version 3"。 本次发布带来了诸多变化,包括升级到 Qt6、全新的插件系统、用户界面的多项改进、封面图处理、ISRC 提交等等。详见下文。 ## 有哪些新内容? ### 用户界面改进 Qt 是 Picard 所基于的应用框架。Qt 抽象了不同操作系统之间的诸多差异,从而简化了跨平台桌面应用的实现。Picard 2 基于 Qt5。在 Picard 3 中,我们已升级到 Qt6。除了保证 Picard 能持续保持更新、可在现代桌面系统上使用之外,这一版本变更还带来了一些优势,例如大幅改进的屏幕缩放支持以及更好的深色模式支持。具体到 Windows,以前字体缩放不一致的老问题现已得到解决。现在界面在所有操作系统上都支持深色模式,并且在浅色与深色模式之间切换不再需要重启应用。 Picard 早已支持通过选择要显示的列来自定义文件和专辑列表视图。不过在之前的版本中,这仅限于几个预定义的列。新贡献者 knguyen1 实现了完整的自定义列支持。现在你可以定义自己的列,并使用脚本来定义列的实际内容。这带来了极大的灵活性,可以精确显示你需要的信息。此外还有一个新的预定义 "Match" 列,可以按匹配质量对版本进行排序。详情请参见文档中的 Custom Columns 章节(https://picard-docs.musicbrainz.org/en/latest/usage/custom_columns.html)。 显示主视图列标题右键菜单的截图。该菜单允许选择列和管理列。"Manage custom columns"(管理自定义列)条目被高亮显示。 列的右键菜单,可以自定义主列表视图中显示的列。 另一个由 jpmsousa03 实现的新功能是列表视图的过滤功能。你可以选择要搜索的字段并输入搜索词,只有符合该过滤条件的项才会被显示。 现在可以在元数据视图中选择并复制多个标签,然后粘贴到例如另一个标签上,从而更新所有相应的标签。也可以将多个复制的值粘贴到电子表格工具中。此功能由 StevilKnevil 提供。 元数据视图现在还会显示现有标签与正在写入的新标签之间的实际差异。 首次启动时,Picard 现在会显示一个设置向导,引导新用户完成一些基本配置。 Picard 设置向导对话框的截图,用于配置文件组织方式。它可以切换 "Rename files based on tags"(根据标签重命名文件)和 "Move files to a folder structure based on tags"(根据标签将文件移动到相应的文件夹结构)这两个选项。每个选项都附有更详细的说明。 设置向导中的文件组织设置。 一些基本功能,例如加载文件和聚类(clustering),也会在功能首次使用时通过教程模式进行讲解。向导和教程都可以在用户界面选项(https://picard-docs.musicbrainz.org/en/latest/config/options_interface.html)中禁用或重新启用。 Picard 在某些操作首次发生时显示的教程弹窗之一的截图。这里显示的是首次加载一个版本时出现的教程。 首次加载一个版本时显示的教程。 ### 新的插件系统 除了 Qt6 迁移之外,新的插件系统是 Picard 3 中最重要的变化。虽然旧的插件系统为 Picard 提供了很大的灵活性,但它也存在一些局限性。例如,无论插件是否启用,Picard 每次启动时都会加载并部分运行每个已安装插件的代码。这可能导致不必要的副作用和意外行为。在开发层面,这对第三方开发者来说也证明是困难的,尤其是对于更复杂的插件,因为所有代码都必须提交到中央 `picard-plugins` Git 仓库中。 新的插件系统提供了: - 插件元数据与代码分离:`MANIFEST.toml` 为强制要求 - 一个定义完善、带类型支持的**插件 API** - 基于 Git 的插件版本管理和更新 - 插件可以从中央插件注册表、第三方 Git 仓库或本地目录安装和更新 - 多个信任等级(官方、受信任、社区、不受信任) - 中央黑名单功能使我们能够及时应对安全问题 - 一个 `picard-cli` 命令行工具,用于管理(安装、卸载、更新……)插件 - 插件现在支持自己的翻译系统(可通过 Weblate 进行管理),因此其界面文本可以被翻译 - 插件拥有自己的配置命名空间 Picard 2 中已知的所有用于注册元数据处理器、右键菜单操作、封面图提供方、文件格式、选项页面等的扩展点仍然可用。但还新增了若干扩展点;插件现在可以注册封面图过滤器和处理器、自定义变量、全局 "Plugin Tools" 菜单中的操作,以及 CD 抓轨日志文件格式。 对用户而言,Options → Plugins 下新的插件管理现在清晰地区分了已安装插件和可安装插件。已安装和可用插件的列表都可以搜索,并且可以从第三方开发者那里安装插件。更详细的说明请参见 Plugins Options 文档(https://picard-docs.musicbrainz.org/en/latest/config/options_plugins.html)。 新的 Plugins 选项页面截图,显示了当前已安装插件的列表以及所选插件的更详细描述。 新的 Plugins 选项页面,显示当前已安装插件的列表。 这也意味着 **Picard v2 插件不兼容,需要迁移到新系统**。目前已有 30 个插件可用,既有从 v2 迁移而来的插件,也有全新的插件。请查看 Picard 网站上的 plugins v3 列表(https://picard.musicbrainz.org/plugins/)。 如果你是开发者,想要将插件更新到 Picard 3 或编写一个新插件,请参见 Picard 用户指南中的 Plugin overview(https://picard-docs.musicbrainz.org/en/latest/extending/plugins.html)以及详细的 Picard Plugin v3 Documentation(https://github.com/metabrainz/picard/blob/master/docs/PLUGINSV3/README.md)。 ### 封面图处理 现在可以对从封面图提供方加载的封面图进行过滤和处理。Cover Art / Processing(https://picard-docs.musicbrainz.org/en/latest/config/options_cover_art_processing.html)中的新选项允许你忽略低于一定尺寸的图片,或自动调整已加载图片的大小,或将它们转换为特定的文件格式。封面图处理可以通过插件进行扩展,插件可以注册自己的封面图过滤器和处理器。过滤器可以限制加载哪些封面图,而处理器则可以对已加载的封面图执行图像处理。 封面图处理功能是 twodoorcoupe 作为 Google Summer of Code 2024 的一部分实现的。你可以在 twodoorcoupe 的博客文章 GSoC 2024: Picard image processing(https://blog.metabrainz.org/2024/08/26/gsoc-2024-picard-image-processing/)中阅读更多内容。 ### 新标签与脚本功能增强 由于加入了对同步歌词的完整支持,现在有了一个新的 `%syncedlyrics%` 标签。作曲者的 MusicBrainz Artist ID 作为新的 `%musicbrainz_composerid%` 标签提供。 此外还有若干新的变量,它们为标签和命名脚本提供数据,但默认不会作为标签写入文件。新的 `%_genres%` 和 `%_folksonomy_tags%` 变量可以让你访问从 MusicBrainz 加载的原始流派或众包标签(folksonomy tags)列表。对于带有播出关系的录音,播出日期可通过 `%_broadcast_date%` 获取。如果录音有一个带有 ISWC 的关联作品,那么该 ISWC 现在可通过 `%_iswc%` 获取。 变量 `%_albumartists_countries%` 和 `%_artists_countries%` 包含所有署名专辑艺术家/曲目艺术家的全部国家代码。同样,艺术家和专辑艺术家的消歧注释可通过 `%_artistcomment%` 和 `%_albumartistcomment%` 获取。 `%_filesize%` 变量包含文件的字节大小(当脚本在存在文件的上下文中运行时,例如对已匹配文件的曲目或在文件命名脚本中)。 现在有两个新的函数 `$get_new()` 和 `$get_original()`,可以显式请求某个变量的新值或原始值。`$rsearch` 脚本函数新增了一个可选参数,可用于指定要返回正则表达式中的哪个捕获组。请参见 $rsearch 函数的文档(https://picard-docs.musicbrainz.org/en/latest/functions/func_rsearch.html)获取示例。 ### 改进的内置播放器 内置播放器获得了多项改进。与之前一样,播放器基于 QtMultimedia。在 Qt6 中,该组件对多种音频格式提供了更好的跨平台支持,并支持在播放速度变化时调整音调(需要 Qt 6.10)。 播放器内部也进行了重构,以更好地分离播放器与界面。这使得与操作系统的集成更加紧密。播放器现在支持 macOS 的 "Now Playing",在 Linux 上也可以由兼容 MPRIS2 的工具进行控制。它还可以向 ListenBrainz 提交收听记录。操作系统集成和 ListenBrainz 支持都可以在新的 Audio Player Options(https://picard-docs.musicbrainz.org/en/latest/config/options_player.html)中进行配置。 ### 保存和恢复用户会话 Picard 可以在主 File 菜单下将当前工作区状态保存并恢复为会话文件。会话会保留文件的摆放位置(未聚类、聚类、专辑、特定曲目和独立录音)、你的手动元数据编辑以及所选的配置选项,方便你稍后继续工作。感谢 knguyen1 提供此功能。详情请参见文档中的 Sessions Management 章节(https://picard-docs.readthedocs.io/en/latest/usage/sessions.html)。 ### 导出/导入配置文件 配置文件(option profile)支持在 Picard 2 中已经可用。配置文件允许你创建多套不同的配置选项并快速切换。在 Picard 3 中,配置文件现在也可以导出和导入,既可用于备份,也可与他人共享。如果导出配置文件的目的是共享,导出内容将排除所有被视为机密或私密的配置选项(如身份验证数据)。详情请参见用户指南中的 Backing Up and Sharing Profiles 章节(https://picard-docs.musicbrainz.org/en/latest/config/options_profiles.html#backing-up-and-sharing-profiles)。 配置文件的导出和导入也可以使用新的 `picard-cli` 命令行工具完成,详见下文。 我们很期待看到社区将如何使用这一功能。 ### 操作系统支持 Picard 现在可用于 macOS ARM64,即 Apple silicon。虽然此前也可以通过 Apple 的 Rosetta 2 模拟层在这类系统上运行 Picard,但原生构建能提供更好的性能。请注意,Picard 的 ARM64 版本和 Intel 版本提供单独的下载文件。请确保下载与你的硬件相匹配的文件。 由于依赖项的更新,特别是 Picard 现在使用 PyQt6 / Qt6,且支持的最低 Python 版本为 3.10,因此不得不放弃对较旧操作系统的支持。Picard 3 需要 Windows 10 或更高版本,或 macOS 13 或更高版本。Linux 用户应具备 Qt 6.6 或更高版本以及至少 Python 3.10。 ### 从标签中查找 CD 光盘以及更多日志文件导入选项 现有的从 CD 抓轨日志文件中查找光盘 ID 的功能得到了扩展,现在支持 raw SCSI TOC 数据文件,即 redumper(https://github.com/superg/redumper)所写出的文件。 对于使用 iTunes / Apple Music 抓取且包含以 `iTunes_CDB_1` 标签形式存储的 CD TOC 的文件,现在可以直接从该标签执行光盘 ID 查找。用户指南中的 Lookup iTunes Tag 章节(https://picard-docs.musicbrainz.org/en/latest/usage/retrieve_lookup_itunes.html)对此有详细说明。 ### 同步歌词 Picard 3 提供了对同步歌词的初步支持。它可以从 ID3 和 WMA 标签中加载并保存 `syncedlyrics` 标签。同步歌词使用 LRC 格式(https://en.wikipedia.org/wiki/LRC_(file_format)#File_format)来描述时间信息。我们计划在后续更新中扩展同步歌词的支持,以涵盖更多标签格式和歌词功能。 ### 通过别名翻译艺术家、版本和曲目标题 现有的通过别名翻译艺术家名称的系统已得到扩展,现在也能提供专辑和曲目标题的翻译。此外,以前总是回退到使用排序名称(sort name)作为翻译的旧行为现在变为可选,并默认关闭。详情请参见 Metadata Options 文档(https://picard-docs.musicbrainz.org/en/latest/config/options_metadata.html)。 Metadata 选项页面的一部分截图,显示了用于选择是否以及何时翻译艺术家名称以及专辑和曲目标题的新选项。 新的元数据翻译选项,可以翻译艺术家名称以及专辑和曲目标题。 ### 改进的版本匹配 查找(Lookup)之后将文件匹配到版本和录音的算法被彻底重写并大幅改进。总体而言,我们预计新算法会给出更好的结果。现在还建立了一套全面的测试框架,使我们能够检测未来匹配性能上的回归。 ### ISRC 查找与提交 Picard 现在支持从 CD 中提取 ISRC 并将其添加到已加载的版本中。它还可以将从光盘加载的或标签中已有的 ISRC 提交回 MusicBrainz。如果匹配的文件存在新的 ISRC,可以从菜单 File → Submit ISRCs 中打开 ISRC 提交对话框。详情请参见提交 ISRCs 的文档(https://picard-docs.musicbrainz.org/en/latest/usage/submit_isrcs.html)。 新的 ISRC 提交对话框。它会显示某条录音有哪些新的 ISRC 可用,并可以将这些 ISRC 提交回 MusicBrainz。 已存在 ISRC 标签的单个文件也可以通过其右键菜单中的 Lookup by... → Lookup by ISRC 按 ISRC 进行查找。 ### 命令行工具 "picard-cli" Picard 3 随附一个新的命令行工具 "picard-cli"。目前它支持在命令行中管理插件以及导出/导入配置文件。运行 `picard-cli --help` 获取更多详情。 ### 更新的 Picard 用户指南 https://picard-docs.musicbrainz.org/ 上的在线文档已针对 Picard 3 的所有变化进行了更新。它现在托管在 ReadTheDocs 上,并提供英语、法语和荷兰语版本。当从 Picard 内部打开文档页面时

相似文章

Gram Editor 3.3.0 已发布

Lobsters Hottest

Gram Editor 版本 3.3.0 已发布,增强了 git 面板、历史视图、平滑滚动功能,并支持系统安装的扩展,同时修复了大量错误。

Immich v3.0.0 发布

Lobsters Hottest

Immich v3.0.0 是开源自托管照片管理平台的一个主要版本,引入了移动端非破坏性编辑、工作流(预览版)、后台备份改进等功能,同时带来了破坏性 API 变更和新周边商品。

Audacity 4.0

Hacker News Top

Audacity 4.0 是一次重大更新,引入了全新用户界面并进行了大规模代码重构,其代码库为贡献者进行了重大结构调整。