智能过滤器——任意多条件组合的动态筛选
智能过滤器 vs 快速筛选 vs 全局 Provider 过滤
Symfonium 有三层不同粒度的筛选(完整说明见 列表过滤与快捷筛选),智能过滤器是其中功能最强但也最复杂的一层。
| 层级 | 灵活性 | 持久程度 | 复杂度 |
|---|---|---|---|
| 列表快速筛选 | 低(固定几个维度) | 临时(关页就没) | 极低 |
| 全局 Provider 过滤 | 中(按来源 / 类型 / 收藏) | 永久 | 低 |
| 智能过滤器 Smart Filter | 高(任意条件组合) | 保存成命名过滤器 | 中等 |
智能过滤器能做什么
支持任意多条件组合,AND / OR 嵌套逻辑。每个条件从这些维度里选:
基础字段:
- 来源(Plex / Jellyfin / Google Drive / 本地 / SMB / WebDAV 等)
- 类型(音频 / 有声书 / 播客)
- 是否已缓存
- 是否在某歌单里
- 是否被收藏
- 播放状态(听过 / 没听过 / 播放次数 ≥ N)
标签字段:
- 艺术家名字(包含 / 等于 / 不包含)
- 专辑名字
- 曲目名字
- 流派(一个或多个)
- 国家 / 地区
- 年份(等于 / 范围)
- 评分
- 时长(大于 / 小于 N 秒)
- 文件大小(大于 / 小于 N MB)
- 是否无损
时间字段:
- 最近添加(N 天内)
- 最近播放(N 天内)
混合模式:
- 全部匹配(AND)
- 任意匹配(OR)
- 嵌套分组(分组内 AND,分组间 OR,或反过来)
创建智能过滤器
- 设置 → Library → Smart Filters → New Filter
- 给过滤器起名(比如"通勤摇滚")
- 逐个添加条件
- 选逻辑模式(全部匹配 / 任意匹配 / 嵌套)
- 保存
保存后过滤器出现在两个地方:
- 资料库 Tab 里作为一条快速入口
- 歌单 Tab 里可以选"把过滤器导出成智能歌单"
导出成智能歌单
同一个过滤器条件,一键导出成 Smart Playlist(智能歌单),就能直接播放了。这是 Smart Filter 和 Smart Playlist 的关系——过滤器是条件集,智能歌单是把这个条件集变成可播放的歌单。
条件示例拆解
"2000 年后的摇滚或电子,评分 ≥ 4 星,来源 Plex"
全部匹配(AND)
├── 年份 ≥ 2000
├── 流派 包含 OR(摇滚 / Rock / 电子 / Electronic)
├── 评分 ≥ 4
└── 来源 = Plex
"没怎么听过(播放次数 ≤ 1)但评分不错(≥ 4 星)的随机 50 首"
全部匹配(AND)
├── 播放次数 ≤ 1
├── 评分 ≥ 4
└── 随机 取 50
常见建议
- 从简单开始:先从 2~3 个条件的过滤器做起,跑通了再加条件。太复杂的嵌套在低端设备上可能卡顿
- 善用"保存 → 导出歌单":过滤器存起来、导出成歌单就能直接播,比每次重新设条件方便
- "随机"条件很有用:在已筛选的结果里再加一层随机取 N 条,就是每次打开都不一样的惊喜歌单
- 条件里的"包含"是模糊匹配:流派 "摇滚" 能匹配到 "摇滚"、"Brit 摇滚"、"后摇滚";艺术家 "Radiohead" 能匹配到 "Radiohead" 或 "Radiohead feat."
性能注意点
超大规模曲库(上万条)+ 复杂嵌套 + 多个智能过滤器同时运行时,Symfonium 可能在首次计算上花几秒时间。这个是正常的——后续运行用缓存会快很多。
可以在设置里控制"智能过滤器自动刷新频率"(每小时 / 每次打开 / 手动刷新),自动刷新设成按需或手动能省一些 CPU。