类似全民 K 歌里,用户唱完后会打出一个分数。有没有音视频相关的大神,有没有什么 sdk 或开源库推荐呢?多谢!
之前听说有个 k 歌云 traaax.com ,是否还有其他方案呢?
1
annoy1309 2019-06-24 12:28:36 +08:00
如果你是搞学术,等楼下回复
如果是搞产品,根据人气加权,根据礼物加权,加点新用户权重啊,加点实名用户权重啊,简单判断唱了没,然后返回一个 90-99 的伪随机结果就行了,肯定比用 sdk 强 客户唱的不行,你返回个 40 分,你这产品用户就全流失了 |
2
lzj307077687 2019-06-24 13:49:55 +08:00
@annoy1309 #1 这个我认为看使用场景
像卡拉 OK 这种同一批用户在同一段时间内重复使用该功能的情况下 很容易就能察觉到返回的是随机数 这个功能我觉得要有出现低分的情况 不过可以人为的控制下限 如果像是那种刷脸测相似度的小游戏,一般只会玩一次图个乐的话倒是可以给随机数 |
3
jiejiss 2019-06-24 13:58:22 +08:00
傅里叶
|
4
moodasmood 2019-06-24 14:00:53 +08:00 1
卧槽,我觉得一楼很有道理
|
5
opengps 2019-06-24 16:36:58 +08:00
我也觉得是随机数
|
7
jinliming2 2019-06-24 16:54:15 +08:00 via iPhone
@annoy1309 如果全程都没唱,或者唱了一半累了后面一半没唱,你还给打高分的话,那肯定就是有问题了
|
8
janxin 2019-06-24 16:58:35 +08:00
1. 通过所述麦克采 集用户声音模拟信号;
2. 将所述用户声音模拟信号转换成用户声音数字信号; 3. 计算所述用户声音数字信号和原唱声音数字信号的差值; 4. 根据所述差值计算分数; |
9
shawndev 2019-06-24 16:59:15 +08:00 1
李永乐有一期短视频讲傅立叶变换。从时域转换为频域,然后比较重合的百分比。
|
10
niubee1 2019-06-24 17:10:41 +08:00 1
两个维度, 一个是音准,一个是节奏。 你唱的部分作为输入,通过一定的采样率获取声音的频率(音高)。歌曲根据曲谱按照同样的采样率生成基准数据。然后把两组数据一对比就能计算分数了, 比如按照每 500ms 采样一次,0 表示停顿(就是不唱),基准数据是 0000CCCCGGGGAAAAGGGG, 输入数据是 00CCCCGGGGAAA-A-GGGG, 那么一对比就发现, 抢拍了一秒, 然后有个音唱低了半度跑调了。那么简单的话, 只需要对比两组数字的相似率就行了,80%的相似率就是 80 分。复杂一点的算法就是分段后,进行对齐, 如果需要对齐就是抢拍了, 按照一个规则规定抢拍的或者拖拍的扣多少分一次, 然后再每一段算音准的相似度。
|
11
annoy1309 2019-06-24 18:55:24 +08:00
@jinliming2 你肯定没看仔细,我有一句 [简单判断用户是否唱歌了] 当然我这些都是嘴上说说,具体要看产品经理怎么要求了
|
12
gaobh 2019-06-24 19:00:36 +08:00
商业产品和 1 楼差不多,学术就参考 10 楼
|
14
ETiV 2019-06-24 19:17:26 +08:00 via iPhone
#10 +1
我们当时组里有懂音乐的扒谱,把人声扒出来 然后就是麦克风输入跟乐谱 notes 对比了 |
17
niubee1 2019-06-24 20:43:49 +08:00
@gaobh 我是唱吧和全民 K 歌深度用户, 本身唱功也还 OK,属于业余麦霸级别,根据我的使用体验这两基本是符合我对算法的描述的, 因为唱功还行, 所以有的擅长的歌可以非常贴近原唱,能看到实时的音高和基准音高的对比, 节奏和基准的对比,甚至可以故意调整唱的习惯去贴近基准去拿高分。 因为不是专业的所以状态不稳定, 所以录的时候经常出状况, 这种时候 20,30 都有可能, 比如有的时候伴唱的基准数据不对, 你唱得和原唱很贴近也拿不到高分。 这个是能观察出来的, 并非是来个随机值解决问题的。
|
18
murmur 2019-06-24 21:11:22 +08:00
你是要严格打分还是要放水打分?
首先你得有所有的谱子 然后你要能识别用户的升降调 升降 key 唱歌是允许的 最后要在正确范围内放水 一个新用户一唱就五六十分你就是垃圾算法 |
19
murmur 2019-06-24 21:12:01 +08:00
可以试试任天堂的 joysound 他是 midi 歌曲 精确扒谱
|
20
akira 2019-06-24 21:48:52 +08:00
接受到唱歌的音频模拟信号,
转换成数字信号, 有数字了以后无非就是怎么和 标准 数字 做比较了呗 |
21
996icu 2019-06-25 08:57:43 +08:00
商业化的话分数就随机好了,客户大部分都是图个高兴,你识别完给人搞个 1 分,那不心态崩了
|
22
MikeFeng 2019-06-25 09:42:57 +08:00
唱歌还行的朋友肯定知道,KTV 的评分并不是随机数
|