V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
AsaDong
V2EX  ›  程序员

K 歌的打分系统是怎么实现的

  •  
  •   AsaDong · 2015-05-29 17:18:42 +08:00 · 8303 次点击
    这是一个创建于 3496 天前的主题,其中的信息可能已经有所发展或是发生改变。

    要做一款app 要实现像唱吧app那种打分功能。

    有什么好的实现方案么,请各位帮忙说下。

    36 条回复    2017-06-27 16:25:13 +08:00
    staticor
        1
    staticor  
       2015-05-29 17:21:32 +08:00
    我就随便猜测一下.

    声音的频率分析 计算单位时间内和目标频率的距离 距离越远打分越低. 然后加总求总分/p
    AsaDong
        2
    AsaDong  
    OP
       2015-05-29 17:30:53 +08:00
    @staticor 不知道频率分析从哪里着手
    loading
        3
    loading  
       2015-05-29 17:41:06 +08:00
    不就图个乐子吗?
    我告诉你吧,就是 随机数。
    21grams
        4
    21grams  
       2015-05-29 17:41:22 +08:00
    不要想的太复杂,忽悠一下就行了。
    mcone
        5
    mcone  
       2015-05-29 17:48:27 +08:00
    之前见过随机数的路过

    app有分享功能,估计可能还需要好好做一下(估计也就是一个音调比对吧),我在某KTV里面见到的绝对是随机数的打分,70~100随机……
    billlee
        6
    billlee  
       2015-05-29 17:52:05 +08:00
    @AsaDong 傅里叶变换
    AsaDong
        7
    AsaDong  
    OP
       2015-05-29 18:33:37 +08:00
    @billlee 感觉好厉害的样子 快去研究下
    cst4you
        8
    cst4you  
       2015-05-29 18:37:37 +08:00
    分析音高, 音长, 稳定性. 没有做音乐游戏经验的建议不要来混这趟水了, 各种乐理的东西烦死你.
    rwalle
        9
    rwalle  
       2015-05-29 18:38:05 +08:00
    为什么我想到了唐骏?
    imn1
        10
    imn1  
       2015-05-29 19:05:22 +08:00
    试一下一句不唱
    再试一下只在mic上打拍子
    看看得多少分就知道了
    zts1993
        11
    zts1993  
       2015-05-29 22:27:11 +08:00
    @21grams 说对了~
    zts1993
        12
    zts1993  
       2015-05-29 22:27:31 +08:00
    @rwalle 我也觉得。
    WindSays
        13
    WindSays  
       2015-05-29 22:34:27 +08:00
    @21grams 互联网思维233333
    tobyxdd
        14
    tobyxdd  
       2015-05-29 22:45:39 +08:00
    能有频率判断已经很好了
    zonghua
        15
    zonghua  
       2015-05-29 23:06:39 +08:00 via iPhone
    random.next(101)
    Daddy
        16
    Daddy  
       2015-05-29 23:16:21 +08:00
    吼得最大声给最高分,声音小的给低分,一般情况给个75~95的随机分就是了
    zhaohui318
        17
    zhaohui318  
       2015-05-30 00:41:57 +08:00
    每句都跟着唱得就给高分
    so898
        18
    so898  
       2015-05-30 02:45:44 +08:00
    并不能说太多了
    给楼主一个关键词吧:Pitch
    geeti
        19
    geeti  
       2015-05-30 04:06:38 +08:00
    @AsaDong 离散傅里叶?
    ffffwh
        20
    ffffwh  
       2015-05-30 09:24:34 +08:00
    当然,你还要准备原曲人声部分的音高时长(如MIDI)。再和用户唱的对比。
    应该有现成的轮子,把用户唱的声音变成MIDI形式
    pheyer
        21
    pheyer  
       2015-05-30 09:52:06 +08:00
    简单啊,逆向唱吧app自己看
    book1925
        22
    book1925  
       2015-05-30 09:55:55 +08:00 via Android
    应该是类似实时音高修正软件吧,ZYNAPTIQ好像有一个。只不过打分系统是不修正只是检测比对。。
    当然我也觉得KTV那种实际上是忽悠人的,对大多数客人根本用不上8L说的那些。。不用唱吧不评论。
    F32
        23
    F32  
       2015-05-30 10:02:28 +08:00   ❤️ 1
    关键字:DFT (离散傅里叶变换)、FFT (快速傅里叶变换)。其实一直想抽空学习一下的,但是一直没时间
    vinsony
        24
    vinsony  
       2015-05-30 11:02:59 +08:00
    我一直觉得是随机的
    acros
        25
    acros  
       2015-05-30 11:04:40 +08:00
    不了解算法。但是上面的评论们好像打了某位大佬的脸,啪啪响。
    AsaDong
        26
    AsaDong  
    OP
       2015-05-30 11:17:33 +08:00
    @acros 打了谁的啊
    AsaDong
        27
    AsaDong  
    OP
       2015-05-30 11:17:58 +08:00
    先感谢一下以上各位同学的回复
    acros
        28
    acros  
       2015-05-30 11:32:08 +08:00
    fortunezhang
        29
    fortunezhang  
       2015-05-30 11:35:20 +08:00
    以前 唐骏 做出来过一套,卡拉ok的评分系统。在《我的成功可以复制》里面说,只要大声点就分高一点。
    cool4zbl
        30
    cool4zbl  
       2015-05-30 12:59:01 +08:00
    一入傅里叶变换 深似海
    ETiV
        31
    ETiV  
       2015-05-30 13:08:53 +08:00 via iPhone   ❤️ 2
    想做有技术性一点儿的,就麻烦些。

    前期准备:你得有人做原声谱子,作为评分的标准答案。每首歌做一个谱……

    然后App里:录音进来、傅立叶转频率、频率转音高、音高对比该时刻的标准(或者带升降key的)音高,评分系统就在这里做。
    wizardoz
        32
    wizardoz  
       2015-05-30 16:46:49 +08:00   ❤️ 1
    从音高的角度将还是可以做到很科学的。弹吉他的知道,有电子定音器可以根据mic输入的声音分析出是哪个音高。用来调弦还是比较准的(最准的是通过震动而不是mic输入)。
    K歌评分系统应该可以使用同样的算法。
    tsaoyu
        33
    tsaoyu  
       2015-05-30 19:06:22 +08:00   ❤️ 1
    AN AUTOMATED SINGING EVALUATION METHOD FOR KARAOKE SYSTEMS

    http://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=5946974

    主要分析是建立在 pitch, volume, rhythm 三个标准上的,具体实现手段在paper里面都有写。
    但是最主要的问题依我看来应该是如何获得大量准确的 vocal sample(原唱)作为参照标准,这个就需要大量的人力或者财力来解决了。
    AmberBlack
        34
    AmberBlack  
       2015-05-31 08:30:12 +08:00
    这个打分具体算法我不清楚,分数是后台服务器上设置随机的。 可以设置,你如果有雅兴 可以去测试下,如果k歌系统设置的高 你那怕不唱一个字 照样有高分。其实就是博人一笑的小把戏。
    AsaDong
        35
    AsaDong  
    OP
       2015-06-01 20:15:00 +08:00
    @fortunezhang 哈哈哈
    GeniusBrother
        36
    GeniusBrother  
       2017-06-27 16:25:13 +08:00
    唱吧里面的语言合成是怎么实现的有种鬼畜的感觉??
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3460 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 11:01 · PVG 19:01 · LAX 03:01 · JFK 06:01
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.