网易云音乐的随机算法是不是有问题

2022-03-06 19:52:36 +08:00
 Vtwoguest
重度网易云音乐用户 日常使用随机顺序重复性很高 以至于后来听歌都能猜出来下一个随机歌曲
4223 次点击
所在节点    程序员
34 条回复
wu67
2022-03-07 10:59:03 +08:00
实际上是根据整个媒体库随机打乱出一个固定的顺序, 然后按这个顺序播放. 所以听多几次就能记住下一首是什么了...

目前常见的随机就这么几种.
上面这是一种.
第 2 是瞎写的随机, 套 API 那种, 常见与一些 mp3/4 音乐播放器(实体), 很大概率会出现在短时间内播放同几首歌的情况.
第 3 是那种抄现成随机算法的. 具体表现应该是在整个媒体库列表中选择几个位置, 然后在这几个位置周围随机选歌播放. 直接体现就是: 例如, 刚放了曲目 3 和 7, 然后会随机出 2 、6 、1 、8 、9 这种...

可能还有其他的, 不过我没怎么鼓捣了...随缘.
toma77
2022-03-07 11:06:20 +08:00
每天随机好几遍八爷的 Loser 给我听。。
mercury233
2022-03-07 11:40:33 +08:00
@SeasonG 没想到这里也能看到这种懂哥言论,计算机的伪随机只要实现方法合理,可以做到和所谓的真随机相同水平的统计学特性,缺陷主要在密码学上。说人话就是伪随机一样可以随机分布。但具体到音乐播放器,有人就觉得真随机不好(参见楼上发的那个目前 Spotify 在使用的随机算法介绍),所以产品经理会故意设计出不是真随机的算法。游戏抽奖往往也是一样。
CokeMine
2022-03-07 12:53:05 +08:00
我的测试是:第一次播放的歌曲确定。如果整个歌单没有变化,随机出来的播放顺序应该是确定的。

因为每次第一次播放总会偏好想听的那一首www
learnshare
2022-03-07 13:52:02 +08:00
是的,很多年都是这个风格
随机算法比较差,也没测试过概率是否平均
zeusgeohot
2022-03-07 14:04:49 +08:00
已弃用网易云音乐,用 Apple Music 了哦。感觉苹果的版权还是要多一些
cxh116
2022-03-07 14:14:44 +08:00
这些都不是问题,什么时候播放列表能支持大于 1k 首歌了?
dany813
2022-03-07 14:18:05 +08:00
听歌 没版权,真是蛋疼啊
unclemcz
2022-03-07 15:25:55 +08:00
想吐槽网易云很久了,个人 FM 功能推荐的歌精准度在不同时间段都是不一样的。
早上推荐的歌都是符合预期的闽南语和粤语歌,晚上开始就瞎推一堆乱七八糟的“新式”流行乐,即使不断的点不喜欢也没用。
chowdpa02k413
2022-03-07 18:24:06 +08:00
不是随机,是乱序。
dousha99
2022-03-07 19:28:10 +08:00
之前在大学里的时候高强度听网易云(没课的时候就在社团听歌写代码),然后我发现 FM 推的歌曲会逐渐出现环,基本上连着听三四个小时就会出现连续几首已经听过的歌曲。一旦今日出现过这种现象,这种现象在今天发生的概率会越来越高,直到今天过去。

基于这个现象,只能猜测 FM 推荐序列是一个加权随机游走,每天有一个不同的游走起点。

* * *

读题之后好像发现不太是关于推荐的。

在一个已知的列表内进行「符合人类想象」的随机,最朴素的方法是洗牌算法打乱这个列表,然后依次播放。不过这样的话,应该不会出现能预测下一首是什么这样的情况;那么必须怀疑网易云根据你的喜好为各个歌曲加权后打乱,权重高的更贴近列表顶部。或许通过一点小手段去对抗这种行为,比如从歌单靠近底部的位置点击开始播放,或者切换不同的歌单。

* * *

其实推荐算法何尝不是一种在一个巨大的列表之内的随机 ; )
abc8678
2022-03-07 23:23:48 +08:00
网易云不清楚,我听酷狗。写的是随机,感受是被个性化推荐了。虽然都是本地歌,但频率有区别,有些歌经常听,有些歌很久都不听,有些歌听完后还想听就主动倒回来听……这些似乎都已经记录在案了,然后个性化推荐了。另外,我听的歌的语言很杂,但随机的下一首往往还是同种语言的歌,应该按语言也分过类的
abc8678
2022-03-07 23:27:19 +08:00
@eason1874 好像是安卓 4 的时代就开始这样做了,按照播放习惯选随机
Explr
2022-03-08 17:18:30 +08:00
我觉着这个问题如果确认了解决起来还是很方便的。用密码学库的伪随机数 API 应该能生成足够随机的随机序列。在用户本地跑也不用考虑强伪随机数算法的额外开销。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/838414

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX