类似全民 K 歌里,用户唱完后会打出一个分数。有没有音视频相关的大佬,有没有什么 sdk 或开源库推荐呢?多谢!
之前听说有个 ACRCloud,是否有其他方案呢?
1
oott123 2019-03-24 11:56:07 +08:00 via Android 12
生成一个 90~100 的随机数→_→
|
2
shiji 2019-03-24 12:01:24 +08:00 via iPad
我猜的
人声 - 音调 - mod 12 个半音(每个八度) 然后比较 |
3
sobigfish 2019-03-24 12:12:40 +08:00
音高 节拍 的比对?
|
4
winterbells 2019-03-24 12:13:18 +08:00 via Android
比较波形?
|
5
sobigfish 2019-03-24 12:15:30 +08:00 1
|
6
honeycomb 2019-03-24 13:14:43 +08:00 via Android
日本有个唱卡拉 OK 的节目,其中的打分差不多就是靠判断音准,检测一下颤音这些依据来实现的
|
7
so898 2019-03-24 14:08:34 +08:00
早年做 KTV 点歌系统的时候搞过这个功能
记得当时看了快一个月各种论文…… 现在完全回忆不起来是咋做的了…… |
8
mamahaha 2019-03-24 14:18:35 +08:00
原理应该不复杂,无非就是比对波形上的采样点,不过就算你知道原理也很难做出来。
|
10
KevZhi 2019-03-24 14:39:19 +08:00 via iPhone
然而并没有,可以找一个音高识别的模块,将用户声音识别为音高,然后音高与每首歌的预置数据比较
之前写了个作业,比较简单和这个相关的。你可以参考一下 https://github.com/KevZhi/SingScoring |
11
KevZhi 2019-03-24 14:42:32 +08:00 via iPhone
音高识别原理就是 FFT 而已,没多神秘,只是做好做精确很难
|
12
hakono 2019-03-24 14:46:25 +08:00 via Android
关于随机生成分数这点,可以同时开发个点赞或者好友评价系统
结合好友评价点赞数量大致判断唱歌者的水平,然后随机生成 60 到 100 不同区间的随机数。。。。。。。。。。。 |
13
cshlxm 2019-03-24 20:19:48 +08:00
把音频数据转到频域去分析
|
14
reticentfat 2019-03-24 20:38:35 +08:00 via iPhone
和基准计算方差?
|
15
murmur 2019-03-25 08:07:10 +08:00
想多了 这绝对不是一个程序员搞得定的
首先是曲库的打谱,这个你就做不出来,而且现在越来越多的歌有男女对唱、还有说唱部分,日本的 ktv 就是把所有的歌都做成 midi,然后说唱部分单独标注出来不计分 然后这是个娱乐功能,娱乐功能就是及格容易刷分难,你怎么设计个评分标准呢 最后,识别音高容易,但是能做到绝对音准的人不多,很多人都是相对音准,一首 F 调的歌,你完整的用 C 调唱下来,也不应该算有问题,按很多人理解的算法这整首歌都是跑调,但实际上整首歌都是降调唱法 所以问题就来了,别人张嘴开唱了,你识别出他唱的什么调需要多久? |
16
richieboy 2019-03-25 09:19:53 +08:00
又不是清唱,调当然跟着伴奏走啊,你任性降调就是不在调上,哪怕你在线下比赛也是这样,要不怎么歌手要和乐队说起 key 呢
|
17
darknoll 2019-03-25 12:47:01 +08:00
机器打分多不靠谱
|
18
weixiangzhe 2019-03-25 13:01:25 +08:00 via iPhone
原来家里 dvd 喉的声音越大分越高,
|
19
kowen 2019-06-21 10:05:30 +08:00
github 发现一个安卓的 k 歌打分 demo,感觉打分效果还不错,可以参考一下,github 项目名是 SingRate
|
20
kowen 2019-06-21 10:13:32 +08:00
发现一个 k 歌评分 sdk,www_traaax_com,把 _ 换成 . 才能访问。V2EX 评论不让发 url,奇了个怪
|