4个版本
0.2.1 | 2024年7月8日 |
---|---|
0.2.0 | 2024年7月3日 |
0.1.1 | 2024年5月31日 |
0.1.0 | 2024年5月31日 |
#27 in 机器学习
268 每月下载量
2.5MB
7K SLoC
Listenbrainz CLI 工具
一组基于CLI的Listenbrainz工具。
安装
构建
最新构建可以在发布选项卡中找到
手动构建
git clone https://github.com/RustyNova016/listenbrainz-cli-tools.git
cd ./listenbrainz-cli-tools
cargo build --release
用法
完整的markdown帮助文档可以在docs/CommandLineHelp.md下找到,但也提供了完整的--help
支持。
工具
未映射的收听
这将列出您所有的未映射收听,按相似性分组。它还提供了一个快速查找并链接到listenbrainz的链接
(1) Paul's Dream (Dune) - Caster
-> https://listenbrainz.org/user/user/?min_ts=1709228551&max_ts=1709228553
(7) Raise Your Weapon - KLOUD
-> https://listenbrainz.org/user/user/?min_ts=1709824520&max_ts=1709824522
Total: 8 unlinked recordings
注意:收听按“Messybrainz ID” (MSID) 分组。这是Listenbrainz通过分配相同的MSID来识别相似收听的方式。链接一个收听会链接其他具有相同MSID的收听。
这也意味着相同的录音可以在列表中显示两次。例如:“Panic - Dion Timer”的MSID不会与“Panic by Dion Timmer”相同,即使它们是相同的录音。
交互式批量映射器
此工具允许轻松快速地映射录音。它遍历每个未映射的录音,并给出一些映射建议。这与在Web UI中映射录音完全相同。
统计
虽然ListenBrainz有自己的统计页面,但它每天刷新一次,并且仅限于一些实体。此外,ListenBrainz统计中的错误会导致误导性结果。
此计算器旨在尽可能准确,并将为您显示您的顶级收听。
广播
已经创建了一些广播算法来为您生成播放列表
艺术家圈子
此算法将您的播放列表与您正在收听的艺术家保持接近。其生成方式如下
- 获取一个随机的收听
- 获取其艺术家
- 添加由该艺术家制作的随机录音
有选项仅获取未收听的录音,这可以作为Listenbrainz自己的发现播放列表的替代方案。
被低估的曲目
这款收音机将创建一个播放列表,包含所有你听过的但似乎其他人都没有听过的曲目。
这个混音是通过为每次收听计算一个得分来制作的。这个得分由两个值组成
用户所有时间记录中排名前1000的排名(第一名的得分是100分,第二名是999.9,以此类推...)
收听的百分比来自用户(使用此公式计算:(用户收听次数 / 全球收听次数)*100)
[!重要]
截至2024年7月2日,ListenBrainz中的一个bug使所有全球收听次数都冻结了。现在,这个收音机很可能极其不准确。请查看官方状态LB-1590
收听率
此算法基于你对记录的收听率来获取更多被遗忘的曲目。它选取收听率最低的记录,并将它们放入播放列表
逾期收听
与收听率类似,此算法计算两次收听之间的平均时间,并估算下一次收听将何时发生。然后,它将应由你现在收听的记录组合成一个播放列表。
另一种模式是“逾期系数”。不是按日期排序,而是按现在应该发生的估计收听次数排序(自上次收听以来经过的时间 / 平均收听时间)
用户兼容性
与Listenbrainz类似,有一个兼容性计算器可用,它使用一种可能提供更准确结果的新算法。
得分的计算如下
- 对于每个用户和收听的记录,计算此记录占总收听次数的百分比(总记录收听次数 / 用户总收听次数)
- 然后将两个用户之间的最低百分比添加到总得分中
示例
例如,让我们有两个用户:UserA和UserB。他们两人只有一首共同收听的曲目,“示例曲目”。UserA在“示例曲目”上有5次收听,总收听次数为28次。UserB在“示例曲目”上有12次收听,总收听次数为45次。
- 这意味着“示例曲目”占UserA总收听的17%,占UserB收听的26%。
- 我们取两个之间的最低百分比,这意味着我们将17%加到最终得分上。
由于“示例曲目”是唯一共享的曲目,这意味着最终得分是17%的兼容性
其他信息
此项目处于测试版。我想要添加很多功能,在1.0版本发布之前需要大量测试。如果您发现错误或功能请求,请随时创建(并提交)一个新问题。
另请参阅
- musicbrainz_rs_nova:musicbrainz-rs的分支,因为原始项目似乎已经停滞
- listenbrainz-rs:listenbrainz的API绑定
依赖项
~24–58MB
~1M SLoC