咨询下大佬们,如何实现用户唱歌后打分的功能呢?

2019-03-24 11:37:17 +08:00
 alifri

类似全民 K 歌里,用户唱完后会打出一个分数。有没有音视频相关的大佬,有没有什么 sdk 或开源库推荐呢?多谢!

之前听说有个 ACRCloud,是否有其他方案呢?

5640 次点击
所在节点    程序员
20 条回复
oott123
2019-03-24 11:56:07 +08:00
生成一个 90~100 的随机数→_→
shiji
2019-03-24 12:01:24 +08:00
我猜的
人声 - 音调 - mod 12 个半音(每个八度) 然后比较
sobigfish
2019-03-24 12:12:40 +08:00
音高 节拍 的比对?
winterbells
2019-03-24 12:13:18 +08:00
比较波形?
sobigfish
2019-03-24 12:15:30 +08:00
honeycomb
2019-03-24 13:14:43 +08:00
日本有个唱卡拉 OK 的节目,其中的打分差不多就是靠判断音准,检测一下颤音这些依据来实现的
so898
2019-03-24 14:08:34 +08:00
早年做 KTV 点歌系统的时候搞过这个功能
记得当时看了快一个月各种论文……
现在完全回忆不起来是咋做的了……
mamahaha
2019-03-24 14:18:35 +08:00
原理应该不复杂,无非就是比对波形上的采样点,不过就算你知道原理也很难做出来。
alifri
2019-03-24 14:22:41 +08:00
@sobigfish 谢谢大佬。

谢谢各位回复,我是希望能找到现成能用的 sdk 或者开源库哈~
KevZhi
2019-03-24 14:39:19 +08:00
然而并没有,可以找一个音高识别的模块,将用户声音识别为音高,然后音高与每首歌的预置数据比较
之前写了个作业,比较简单和这个相关的。你可以参考一下
https://github.com/KevZhi/SingScoring
KevZhi
2019-03-24 14:42:32 +08:00
音高识别原理就是 FFT 而已,没多神秘,只是做好做精确很难
hakono
2019-03-24 14:46:25 +08:00
关于随机生成分数这点,可以同时开发个点赞或者好友评价系统
结合好友评价点赞数量大致判断唱歌者的水平,然后随机生成 60 到 100 不同区间的随机数。。。。。。。。。。。
cshlxm
2019-03-24 20:19:48 +08:00
把音频数据转到频域去分析
reticentfat
2019-03-24 20:38:35 +08:00
和基准计算方差?
murmur
2019-03-25 08:07:10 +08:00
想多了 这绝对不是一个程序员搞得定的
首先是曲库的打谱,这个你就做不出来,而且现在越来越多的歌有男女对唱、还有说唱部分,日本的 ktv 就是把所有的歌都做成 midi,然后说唱部分单独标注出来不计分

然后这是个娱乐功能,娱乐功能就是及格容易刷分难,你怎么设计个评分标准呢

最后,识别音高容易,但是能做到绝对音准的人不多,很多人都是相对音准,一首 F 调的歌,你完整的用 C 调唱下来,也不应该算有问题,按很多人理解的算法这整首歌都是跑调,但实际上整首歌都是降调唱法

所以问题就来了,别人张嘴开唱了,你识别出他唱的什么调需要多久?
richieboy
2019-03-25 09:19:53 +08:00
又不是清唱,调当然跟着伴奏走啊,你任性降调就是不在调上,哪怕你在线下比赛也是这样,要不怎么歌手要和乐队说起 key 呢
darknoll
2019-03-25 12:47:01 +08:00
机器打分多不靠谱
weixiangzhe
2019-03-25 13:01:25 +08:00
原来家里 dvd 喉的声音越大分越高,
kowen
2019-06-21 10:05:30 +08:00
github 发现一个安卓的 k 歌打分 demo,感觉打分效果还不错,可以参考一下,github 项目名是 SingRate
kowen
2019-06-21 10:13:32 +08:00
发现一个 k 歌评分 sdk,www_traaax_com,把 _ 换成 . 才能访问。V2EX 评论不让发 url,奇了个怪

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

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

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

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

© 2021 V2EX