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

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

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

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

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

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

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

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

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

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

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

    主要分析是建立在 pitch, volume, rhythm 三个标准上的,具体实现手段在paper里面都有写。
    但是最主要的问题依我看来应该是如何获得大量准确的 vocal sample(原唱)作为参照标准,这个就需要大量的人力或者财力来解决了。
    AmberBlack
    AmberBlack
    May 31, 2015
    34
    这个打分具体算法我不清楚,分数是后台服务器上设置随机的。 可以设置,你如果有雅兴 可以去测试下,如果k歌系统设置的高 你那怕不唱一个字 照样有高分。其实就是博人一笑的小把戏。
    AsaDong
    AsaDong
    OP
    Jun 1, 2015
    35
    @fortunezhang 哈哈哈
    GeniusBrother
    GeniusBrother
    Jun 27, 2017
    36
    唱吧里面的语言合成是怎么实现的有种鬼畜的感觉??
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1418 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 65ms · UTC 22:27 · PVG 06:27 · LAX 14:27 · JFK 17:27
    ♥ Do have faith in what you're doing.