我在德尔菲创造了一个类似Winamp的音乐播放器。当然,没那么复杂。只是一个简单的例子。
但是现在我想添加一个更复杂的特性:库中的歌曲应该根据用户的收听习惯自动评分。
这意味着:如果用户喜欢或不喜欢一首歌,应用程序应该“理解”。不仅是他/她是否喜欢,还包括他/她有多喜欢它。
到目前为止,我的方法(可以使用的数据):
你能帮我解决这个问题吗?我只是想有一些想法。我不需要在Delphi中实现。
发布于 2010-05-19 18:39:06
测量一首歌的平均播放时间(分钟)。
我不认为这是一个很好的衡量标准,因为一首长歌比一首短歌获得了不公平的优势。你应该用一个百分比来代替:
平均播放时间/总歌曲长度
发布于 2010-05-19 19:58:06
我将在一个中央数据库中跟踪所有用户的听力习惯,这样您也可以根据其他人喜欢的内容(“喜欢这首歌的人,也喜欢其他歌曲的人”)提出建议。
需要考虑的其他一些衡量标准:
此外:
监听用户的麦克风。他们一起唱歌吗?
他们播放这首歌的音量是多少?他们把它扭起来了吗?
加入一个“向朋友推荐这首歌”的按钮(电子邮件、歌曲标题给朋友什么的)。他们推荐的歌曲,他们可能喜欢。
您可能需要对音频流进行一些特征提取,并找到类似的歌曲。这很难,但你可以在这里读到更多关于它的内容:
“音频数据分类的自动特征提取”链接
“基于时间统计的穷举特征生成的音乐集合的可理解模型”http://portal.acm.org/citation.cfm?id=1150523
“音乐收藏组织分布式系统中特征的协同使用”http://www.idea-group.com/Bookstore/Chapter.aspx?TitleId=24432
发布于 2010-05-30 19:53:37
随着时间的推移,请让你的威望下降。如果你在过去的n天里经常听到它们,你似乎会更喜欢它们,而旧的歌曲应该只会被随意提及,因为你喜欢它们,但可能听得太多了。
最起码,但不是最后,你可以添加节拍检测(也许是频谱)来寻找相似的歌曲,这可以为你提供更多的数据,比用户输入的听歌。
我也会去分组歌曲有相同的MP3-Id标签在这里,因为这也提供了一个提示,用户目前是什么。如果你想提供一些自动播放功能,它也会有帮助。听了一首伟大的果阿歌,转到朋克是很奇怪的,即使我喜欢这两个世界的歌曲。
https://stackoverflow.com/questions/2868272
复制相似问题