• 请不要在回答技术问题时复制粘贴 AI 生成的内容
AsaDong
V2EX  ›  程序员

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

  •  
  •   AsaDong · May 29, 2015 · 8994 views
    This topic created in 4003 days ago, the information mentioned may be changed or developed.

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

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

    36 replies    2017-06-27 16:25:13 +08:00
    staticor
        1
    staticor  
       May 29, 2015
    我就随便猜测一下.

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

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

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

    然后App里:录音进来、傅立叶转频率、频率转音高、音高对比该时刻的标准(或者带升降key的)音高,评分系统就在这里做。
    wizardoz
        32
    wizardoz  
       May 30, 2015   ❤️ 1
    从音高的角度将还是可以做到很科学的。弹吉他的知道,有电子定音器可以根据mic输入的声音分析出是哪个音高。用来调弦还是比较准的(最准的是通过震动而不是mic输入)。
    K歌评分系统应该可以使用同样的算法。
    tsaoyu
        33
    tsaoyu  
       May 30, 2015   ❤️ 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  
       May 31, 2015
    这个打分具体算法我不清楚,分数是后台服务器上设置随机的。 可以设置,你如果有雅兴 可以去测试下,如果k歌系统设置的高 你那怕不唱一个字 照样有高分。其实就是博人一笑的小把戏。
    AsaDong
        35
    AsaDong  
    OP
       Jun 1, 2015
    @fortunezhang 哈哈哈
    GeniusBrother
        36
    GeniusBrother  
       Jun 27, 2017
    唱吧里面的语言合成是怎么实现的有种鬼畜的感觉??
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2196 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 86ms · UTC 00:01 · PVG 08:01 · LAX 17:01 · JFK 20:01
    ♥ Do have faith in what you're doing.