1.图中上面部分是原始音符的频谱,也就是标准音
2.图中下面部分,黄色渐变的线条,则对应频谱中标准音做发出的声音(哆( Do )、来( Re )、咪( Mi )、发( Fa )、嗦( Sol )、啦( La )、西( Ti )、哆( Do ))
3.图中下面部分,蓝色线条,则代表的是实时录制的人声
4.x 轴代表的是时间,y 轴代表的是音符 hz
1.音高:假设目前人声发出的声音赫兹是 200 赫兹,而标准音符的赫兹为 100hz ,则不得分(在对应时间段内,人声所发出的赫兹数越接近标准赫兹数,得分越高。同时已考虑上下加减 50 范围)
2.唱名:人声所发出的声音是否符合标准声,比如在第 3 秒人声发出的是 咪( Mi ),而标准音发出的是西( Ti )则不得分 [该部分目前没有找到合适的评分工具,用的阿里的声音汉字识别,识别的也不准]
4.节奏:假设标准音的 第一秒是 哆( Do )且持续两秒,第三秒是 来( Re ),且持续三秒。也就是两个标准音一个持续了两秒,一个持续了三秒。一共五秒。需要判断人声是否是在第二秒结束,第三秒开始,进行了正确的音符切换(越接近切换的标准时间,得分越高,同时已考虑前后加减 1000 毫秒) [目前没有找到好的方案,采用的是对应时间内音频赫兹来匹配是否符合对应时间内的音频]
1.音高,唱名,节奏的评分计算规则,是否有成熟的算法。或者付费 api 。
可在话题下追问、讨论,在此提前感谢各位佬!