#listens #listen-brainz #containing #user #track #set #collection

app listenbrainz-cli-tools

一个包含用于Listenbrainz的实用工具的CLI应用程序

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 机器学习

Download history 295/week @ 2024-05-26 38/week @ 2024-06-02 9/week @ 2024-06-09 2/week @ 2024-06-16 140/week @ 2024-06-30 123/week @ 2024-07-07 5/week @ 2024-07-14

268 每月下载量

MIT 许可证

2.5MB
7K SLoC

Listenbrainz CLI 工具

Crate CI builder License

一组基于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版本发布之前需要大量测试。如果您发现错误或功能请求,请随时创建(并提交)一个新问题。

另请参阅

依赖项

~24–58MB
~1M SLoC