音频应用

 找回密码
 快速注册

QQ登录

只需一步,快速开始

查看: 14693|回复: 2
收起左侧

[资讯] 音乐科技——从随机播放算法看iPod的细节之美

[复制链接]

1万

积分

3

听众

-936

音贝

音频应用注册会员

Rank: 4Rank: 4

积分
12730
发表于 2009-11-9 21:04:27 | 显示全部楼层 |阅读模式
似乎从数码播放器出现的那一天开始就有了一个功能叫做随机播放,许多朋友都不喜欢按照顺序听歌,而喜欢那种随机的感觉。正如苹果的 iPod Shuffle ,字面意思就是洗牌,而宣称的广告词更是凸显了对这个功能的重视:“Life is random” 。这种你永远不知道下一首歌是什么的感觉,牢牢的抓住了那些喜欢新奇,喜欢惊喜的消费者的心理。但是,随机播放这个功能现在是个播放器都具有,为何单单是苹果的 iPod 却让不少人感觉特别的舒服呢?
不知道大家发现没有,其实随机播放的常见算法分为两种,一种是 iPod 这种的,类似洗牌的方法,我暂且叫它“洗牌”算法。也就是说,当你在播放器中载入一些歌曲后,系统会把这些歌曲放在一个列表里,然后对这个列表进行一种反排序,也就是把次序打乱,和我们平时打牌的时候洗牌一样,这样我们就获得了一个乱序的播放列表,依次播放这个列表就可以实现乱序的播放了。另一种是大部分的播放器具有的,是进行一个随机数的运算。也就是通过随机函数从播放列表中随机抽取一个歌曲进行播放,和抓阄的感觉差不多的方法,这里我叫它为“抓阄”算法。
这里我们不难看出,大部分播放器用的“抓阄”式的算法有个一些比较明显的缺陷:
1、有一定的概率连续选取到一样的曲子。其实这个只要你歌曲比较多的时候还是很少见的,但是由于一般的播放器的随机数的随机性都不是那么的好,往往某几首歌曲会很少很少选中,尤其是靠近首尾的歌曲。 虽然没法看到播放器中的随机数生成的算法,但是我们不难推测,大部分的播放都采用了现在最流行,也是比较快捷的一种算法──线性同余算法,或者就是这种算法的略微修改版本。这种算法在很多地方都普遍应用,比如 C 语言的标准库中就是利用了它产生随机数的。但是这个算法虽然是均匀分布的随机数,但是它是有缺陷的。简单的说,这个算法依赖于你给的随机数的上限,如果上限越小,那重复的概率就会越大。所以在播放器中,受限于整数最大值的关系,重复的概率还是蛮大的。
2、第二种“抓阄”式随机算法还有个很严重的问题,就是当你听了一首歌曲,感觉很爽想再听的时候,你按下上一首,发现随机的跳跃到另外的歌曲去了,相信这个会让很多人很恼火。也就是当这种算法启动之后,你的播放器的“下一首”和“上一首”成为了完全一样的存在。 当然,这还是有办法解决的,比如说设计一个记录表,标记已经播放了的曲子,然后下次就不要选中了,同时记录也可以实现退回上一首歌曲的功能。但是这样就必须让播放器提供额外的空间来储存这些内容,这不得不说是一个不“美”的解决方案。
介于上面两个问题,iPod 使用的“洗牌”式的算法就解决的相对更完美些。我们无法看到算法的本体,所以也无法从传统意义上的时空效率来评价 iPod 的算法,但是单单就是解决了上面两个问题,就足以让用户体验提升不止一个档次。
真正的随机,其实并不讨人喜欢。人们喜欢的,是那种精心安排的偶遇。但是,苹果这种算法,做到了“可以追溯,可以回忆”,就像年华似水,可以溯游而上,倾心追忆,已经很好。毕竟,生活本身就不是把类似旋律的安排在一起,life is random.
写到这里突然想起一句话,越优秀的算法总是越贴近生活。而这种贴近生活的感觉,也许正是组成 iPod 所向披靡的魅力的成分吧。


9933_201101061116301y722.jpg
欢迎厂家入驻,推文!免费!微信:yinpinyingyong

3655

积分

2

听众

-90

音贝

音频应用新手发布

Rank: 3

积分
3655
发表于 2009-11-10 08:34:59 | 显示全部楼层
:victory::handshake
欢迎厂家入驻,推文!免费!微信:yinpinyingyong

339

积分

3

听众

30

音贝

音频应用

Rank: 1

积分
339
发表于 2009-12-3 07:33:55 | 显示全部楼层
:victory::victory:
欢迎厂家入驻,推文!免费!微信:yinpinyingyong
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

音频应用搜索

QQ|小黑屋|手机版|音频应用官网微博|音频应用 ( 鄂ICP备16002437号 )

GMT+8, 2025-5-30 10:43 , Processed in 0.026234 second(s), 6 queries , Redis On.

Powered by Audio app

快速回复 返回顶部 返回列表