• 云教练文档整合v2024.1.12

    更新记录

    更新内容更新人更新时间
    创建文档辜临轩2024年12月28日
    新增前端&移动端交互-通用接口,评测相关suspendPlay接口不再使用辜临轩2024年1月11日
    新增【后台功能点】相关文档辜临轩2023年1月12日
    新增【乐器编码】内容辜临轩2024年1月19日
    1、前端&移动端交互API更新
    相关接口:checkPlayEnd、openCamera、startCapture、cloudDetail、cloudToggleFollow、checkSocketStatus
    2、更新【交互流程】图
    3、新增【声部和乐器编码】、【乐器分轨对应的中文名称】
    辜临轩2024年1月30日
    新增前端&移动端交互-Mid交互流程图辜临轩2024年3月18日
    新增乐器降E单簧管Clarinet in E♭辜临轩2024年5月30日
    更新【声部和乐器编码】辜临轩2024年6月11日
    更新【声部和乐器编码】新增打击乐(小鼓)、打击乐(键盘+小鼓)、打击乐(键盘)乐器辜临轩2024年7月17日
    更新【声部和乐器编码】修改德式竖笛、英式竖笛、高音陶笛、中音陶笛乐器编码辜临轩204年7月25日

     

    后台功能点

    曲目管理

    曲目列表

    1、功能描述

    1)该页面用于查看内容管理平台中所有已上传曲目信息

    2)支持搜索、添加曲目、批量停用、批量启用、适用项目配置、预览、查看、修改、停用、启用、生成图片、删除功能

    2、业务规则

    1)添加曲目后,曲目在内容管理平台默认状态为【停用】

    2)内容管理平台【停用】曲目,在各业务系统中也不可使用

    3)列表根据更新时间倒序排序

    3、输入项

    字段名称是否必填交互方式输入限制默认值字符上限备注
    关键字文本输入汉字、字母、数字--10支持查询曲目编号、曲目名称、音乐人
    曲目类型下拉单选独奏/合奏------
    声部下拉单选------可选择系统中设备的所有声部,无论启用停用
    作者属性下拉单选平台/机构/个人------
    项目下拉单选------可选择系统中配置项目名称
    所属人文本搜索汉字、字母、数字--101、与【项目】级联搜索
    2、输入后模糊搜索【项目】中的用户名称,并反显,用户名称单选
    适用项目下拉单选------可选择系统中配置项目名称
    审核版本下拉单选是/否------
    状态下拉单选启用/停用------
    查询按钮------点击后根据所输入或选择的所有条件查询满足条件的曲目数据
    重置按钮------点击后所有搜索条件置空,列表显示所有数据
    添加曲目按钮------点击后弹出【添加曲目】弹窗
    批量停用按钮------点击后将所有复选框选中的曲目停用,曲目停用后各项目客户端都不再显示该曲目
    批量启用按钮------点击后将所有复选框选中的曲目启用,曲目启用后各项目客户端根据个项目中的启用停用状态判断是否显示
    复选框复选框--------
    适用项目按钮------点击后弹出【适用项目】配置弹窗
    预览按钮------点击后弹出【预览】弹窗,可使用云教练所有功能,并支持调整谱面元素
    查看按钮------点击后弹出【查看】弹窗,可查看曲目详细配置信息
    修改按钮------点击后弹出【修改】弹窗,可修改曲目配置信息
    启用按钮------仅【停用】状态曲目可用,点击后启用该曲目,曲目启用后各项目客户端根据个项目中的启用停用状态判断是否显示
    停用按钮------仅【启用】状态曲目可用,点击后停用该曲目,各项目客户端不显示该曲目
    生成图片按钮------1、点击后渲染该曲目图片
    2、根据乐器上配置的【是否支持简谱】判断渲染哪些谱面图片,不支持简谱则仅渲染五线谱图片;支持简谱则渲染五线谱、首调、固定调三套图片
    删除按钮------1、仅停用曲目可用
    2、删除时校验该曲目是否存在【适用项目】,若不存在则可删除

    4、输出项

    字段名称输出限制备注
    曲目编号数字曲目唯一编号,不可重复
    曲目名称----
    封面图图片可点击放大预览
    音乐人----
    曲目类型独奏/合奏--
    作者属性平台/机构/个人--
    所属人----
    上传人--最后一次更新上传该曲目信息的内容管理平台账号名称
    更新时间yyyy-MM-dd HH:mm最后一次更新上传该曲目信息的时间
    审核版本是/否1、是,则移动端开启审核的版本显示该数据
    2、否,则移动端非审核版本显示该数据
    适用项目可选择系统中配置项目名称显示该曲目已配置的项目名称
    状态启用/停用 

     

    新增曲目

    1、功能描述

    1)该功能用于在内容管理平台添加云教练曲目

    2、业务规则

    1)新添加的曲目默认为【停用】状态

    2)新添加的曲目默认无【适用项目】

    3)停用状态下支持预览、查看、修改、启用、生成图片、删除操作

    3、输入项

    字段名称是否必填交互方式输入限制默认值字符上线备注
    曲目名称文本输入汉字、字母、数字、符号--40曲目名称允许重复
    音乐人文本输入汉字、字母、数字、符号--14音乐人允许重复
    曲目描述文本输入汉字、字母、数字、符号--140--
    曲目封面图片上传、裁切jpg、png、gif,1m以内---- 
    曲目类型下拉单选独奏/合奏独奏--1、选择【独奏】时须配置【页面渲染声轨】
    2、选择【合奏】时须配置【可切换声轨】
    作者属性下拉单选平台/机构/个人平台--1、与【所属人】级联选择,该字段为父级
    2、输入【平台】时,不显示【所属人】字段,所属人默认为当前用户
    3、输入【机构】时,显示【所属人】字段,根据应用选择对应应用下的用户
    4、输入【个人】时,显示【所属人】字段,根据应用选择对应应用下的用户
    所属人按钮------点击后弹出【所属人】弹窗
    审核版本单选框是/否--1、选择【是】时,各项目APP【审核版本】显示该数据
    2、选择【否】时,各项目APP【审核版本】显示该数据
    曲目分类下拉单选------可选择曲目分类中已配置的分类
    评分标准单选标准评测/打击乐(振幅)/节奏(分贝)标准评测--1、标准评测:该曲目支持评测音准、节奏、完整性得分
    2、打击乐(振幅):该曲目通过振幅评测,评测分数仅有节奏得分
    3、节奏(分贝):该曲目通过分贝评测,评测分数仅有节奏得分
    是否重复节拍是时长单选重复/不重复不重复--用于判断该曲目节拍器是否重复播放
    播放模式单选MP3/MidMP3--1、用于判断该曲目用那种方式播放,不同的播放模式需上传不同的文件
    2、MP3:显示【伴奏】【原声】字段
    3、Mid:显示【上传Mid】字段
    伴奏类型单选自制伴奏/普通伴奏自制伴奏-- 
    上传Xml上传按钮XML、XMXL---- 
    上传伴奏上传按钮MP3----【播放模式】为【MP3】时显示
    上传Mid上传按钮Mid----【播放模式】为【Mid】时显示
    可用乐器下拉多选乐器设置中配置的乐器名称根据上传的XMl文件解析声轨名称,与系统中乐器设置中的【乐器编码】字段匹配,匹配结果默认反显--反显结果支持修改
    可用声部下拉多选声部设置中配置的声部名称根据上传的XML文件解析声轨名称,与系统中乐器设置中的【乐器编码】字段匹配,再根据乐器与声部的关联关系判断该XML文件支持哪些声部,关联结果默认反显--反显结果支持修改
    页面渲染声轨多选乐器设置中配置的乐器名称根据上传的XMl文件解析声轨名称,与系统中乐器设置中的【乐器编码】字段匹配,匹配结果为可选项,并默认全选--1、【曲目类型】为【独奏】时显示该字段
    2、该字段用于控制客户端谱面渲染哪些声轨
    可切换声轨多选乐器设置中配置的乐器名称根据上传的XMl文件解析声轨名称,与系统中乐器设置中的【乐器编码】字段匹配,匹配结果为可选项,并默认全选 1、【曲目类型】为【合奏】时显示该字段
    2、该字段用于控制客户端切换声轨功能可选选择的声轨
    节拍器单选播放/不播放不播放--用于控制该曲目从头播放时是否播放节拍器
    播放方式单选系统节拍器/MP3节拍器MP3节拍器--1、【节拍器】字段选择【播放】时显示
    2、用于控制是否播放系统节拍器
    原声上传按钮MP3根据【页面渲染声部】或【可切换声轨】字段所勾选的乐器显示,每个乐器一条,都需要上传该乐器的原声MP3文件--【播放模式】为【MP3】时显示
    确认按钮------1、点击确认时,校验校验必填项是否规范填写
    2、校验通过后渲染谱面图片,所有图片渲染成功后保存完成
    3、根据【可用声部】是否支持转简谱判断需要渲染哪些谱面
    取消按钮------关闭该弹窗,不保存已填写信息

    4、输出项

     

    预览曲目

    1、功能描述

    1)该功能用于预览谱面信息

    2)支持调整谱面元素

    2、业务规则

    3、输入项

    字段名称是否必填交互方式输入限制默认值备注
    谱面--------
    删除元素按钮----选中谱面元素后点击该按钮则将谱面中选中的元素删除
    重置数据按钮----点击后重置谱面为初始状态
    保存数据按钮----点击后保存已操作的所有内容,客户端根据最新保存的结果显示谱面
    小节调整单选固定小节/自定义小节固定小节1、固定小节:谱面每一行的小节数量统一配置
    2、自定义小节:可自由设置每一行的小节数量
    每行小节数文本数字41、【小节调整】字段为【固定小节】时显示
    2、根据输入参数渲染谱面,每一行的小结束相同
    末尾行是否与上一行合并单选是/否该字段用于设置最后一行不足【每行小节数】时最后一行是否要与倒数第二行合并为一行
    第n行小节数文本数字4单独设置每一行的小节数

    4、输出项

     

    修改曲目

    1、功能描述

    1)该功能用于修改曲目信息

    2、业务规则

    1)无论曲目是否停用,都支持修改

    3、输入项

    同【新增曲目】

    4、输出项

    同【新增曲目】

     

    曲目分类

    分类列表

    1、功能描述

    1)该页面用于查看内容管理平台已设置的曲目分类

    2)支持添加、删除、修改、添加子分类

    2、业务规则

    1)未被曲目关联的分类支持删除

    2)分类不限制层级

    3、输入项

    字段名称是否必填交互方式输入限制默认值备注
    添加分类按钮----点击后弹出【新增分类】弹窗
    删除按钮----点击后校验还分类是否关联曲目,若未关联则将所选分类删除,若又关联则提示【该分类已关联曲目,无可删除】
    修改按钮----点击后弹出【修改分类】弹窗
    添加子分类按钮----点击后弹出【添加子分类】弹窗

    4、输出项

    字段名称输出限制备注
    分类名称-- 
    曲目数量数字该分类及下级分类关联曲目数量总和
    最后更新时间yyyy-MM-dd HH:mm最后修改该分类信息的时间
    更新人--最后修改该分类信息后台用户名称

     

    新增分类

    1、功能描述

    1)该功能用于添加内容管理平台中的曲目分类

    2、业务规则

    1)分类不限制层级,支持添加多级分类

    2)同一分类下同一层级的分类名称不可重复

    3)不同分类下统一层级的分类名称可重复

    4)子分类名称不能与所有父级分类名称重复

    3、输入项

    字段名称是否必填交互方式输入限制默认值备注
    分类名称文本输入10字符----
    取消按钮------
    确认按钮------

    4、输出项

    字段名称输出限制备注
    父级分类----

     

    修改分类

    1、功能描述

    1)该功能用于修改分类名称

    2、业务规则

    1)同一分类下同一层级的分类名称不可重复

    2)不同分类下统一层级的分类名称可重复

    3)子分类名称不能与所有父级分类名称重复

    3、输入项

    同【新增分类】

    4、输出项

     

    添加子分类

    1、功能描述

    1)该功能用于添加子分类

    2、业务规则

    1)分类不限制层级,支持添加多级分类

    2)同一分类下同一层级的分类名称不可重复

    3)不同分类下统一层级的分类名称可重复

    4)子分类名称不能与所有父级分类名称重复

    3、输入项

    同【新增分类】

    4、输出项

     

    声部管理

    声部列表

    1、功能描述

    1)该页面用于查询内容管理平台已配置的声部信息

    2)支持添加声部、修改、停用

    2、业务规则

    3、输入项

    字段名称是否必填交互方式输入限制默认值备注
    关键词文本输入----支持查询声部编号、声部名称
    声部分类下拉单选【声部分类】中配置的分类----
    关联乐器下拉单选【乐器分类】中配置的乐器名称----
    操作人下拉单选------
    操作时间日期时间段选择yyyy-MM-dd ~ yyyy-MM-dd----
    查询按钮----点击后根据已输入的所有搜索条件查询数据
    重置按钮----点击后将所有搜索条件置空,并更新列表数据
    添加按钮----点击后弹出【添加声部】弹窗
    修改按钮----点击后弹出【修改声部】弹窗
    停用按钮----1、点击后停用该声部
    2、停用声部后,已关联数据不受影响,新增曲目时不可选择该声部

    4、输出项

    字段名称输出限制备注
    编号数字声部唯一编号
    声部名称----
    声部分类--该声部配置的分类
    声部图片jpg、png点击可放大预览
    关联乐器--该声部关联的所有乐器名称
    操作人--最后一次更新该声部信息的内容管理平台账号名称
    更新时间yyyy-MM-dd HH:mm最后一次更新该声部信息的时间

     

    添加声部

    1、功能描述

    1)该功能用于添加声部

    2、业务规则

    1)声部名称不可重复

    2)多个声部可关联同一【声部分类】

    3)一个声部可关联多个【乐器】

    3、输入项

    字段名称是否必填交互方式输入限制默认值备注
    声部分类下拉单选【声部分类】中配置的分类----
    声部名称文本输入汉字、字母,10字符--声部名称不可重复
    声部图片图片上传、裁切jpg、png 1m以内----
    关联乐器下拉多选,关联字搜索------
    取消按钮------
    重置按钮------
    创建按钮------

    4、输出项

     

    修改声部

    1、功能描述

    1)该功能用于修改声部信息

    2、业务规则

    同【添加声部】

    3、输入项

    同【添加声部】

    4、输出项

     

    声部分类

    1、功能描述

    1)用于查看、新增、修改声部分类

    2、业务规则

    1)分类仅支持一级

    3、输入项

    字段名称是否必填交互方式输入限制默认值备注
    添加按钮----点击后弹出【添加分类】弹窗
    修改按钮----点击后弹出【修改分类】弹窗

    4、输出项

    字段名称输出限制备注
    分类编号数字声部分类唯一编号
    分类名称汉字--
    操作人--最后一次更新该分类的内容管理平台账号姓名
    更新时间yyyy-MM-dd HH:mm:ss最后一次更新该分类的时间

     

    添加分类

    1、功能描述

    1)该功能用于添加声部分类

    2、业务规则

    1)声部分类名称、编号不可重复

    3、输入项

    字段名称是否必填交互方式输入限制默认值备注
    分类名称文本输入10字符--不可重复
    取消按钮------
    确认按钮------

    4、输出项

     

    修改分类

    1、功能描述

    1)功能功能用于修改分类名称

    2、业务规则

    1)分类名称不可重复

    3、输入项

    同【添加分类】

    4、输出项

     

    乐器管理

    乐器管理

    1、功能描述

    1)用于查看、添加、修改、停用乐器信息

    2)创建乐器与声部的关联关系

    2、业务规则

    1)乐器名称不可重复

    2)乐器编码不可重复

    3)多个乐器可关联同一个声部

    4)停用的乐器不可在云教练中选择对应声轨

    3、输入项

    字段名称是否必填交互方式输入限制默认值备注
    关键词文本输入----支持乐器编号、乐器名称、乐器编码搜索
    默认谱面下拉单选五线谱/首调/固定调----
    操作人文本输入------
    操作时间时间选择器yyyy-MM-dd ~ yyyy-MM-dd----
    查询按钮------
    重置按钮------
    修改按钮----点击后弹出【修改乐器】弹窗
    停用按钮------
    启用按钮------

    4、输出项

    字段名称输出限制备注
    编号数字--
    乐器名称----
    乐器编码----
    声部【声部设置】中配置的声部名称,无论是否停用--
    默认篇五线谱/首调/固定调--
    操作人----
    操作时间yyyy-MM-dd HH:mm:ss--

     

    添加乐器

    1、功能描述

    1)该功能用于添加乐器,配置乐器参数

    2、业务规则

    1)乐器名称不可重复

    2)【是否支持转简谱】设置为【是】时,须选择默认谱面;设置为【否】时,无需设置默认谱面,谱面默认为【五线谱】

    3)【乐器编码】用于添加曲目时,与上传的XML文件中声轨名称匹配,匹配上后,显示对应乐器名称

    3、输入项

    字段名称是否必填交互方式输入限制默认值备注
    乐器名称文本输入汉字,10字符--乐器名称不可重复
    是否支持转简谱下拉单选是/否选择【是】时,显示【默认谱面】字段
    默认谱面下拉单选五线谱/首调/固定调首调1、【是否支持转简谱】选择【是】时显示
    2、【是否支持转简谱】选择【是】时不显示,默认保存为【五线谱】
    乐器编码文本输入英文、符号--乐器编码不可重复

    4、输出项

     

    云教练功能点

    曲目详情页

    转谱

    1、功能描述

    1)用户可使用该功能切换五线谱、固定调(简谱)、首调(简谱)显示

    2、业务规则

    1)判断曲目是否为合奏曲目,合奏曲目不可转换简谱(含固定调、首调),声部曲目根据该声部设置的是否支持转简谱判断是否呈现

    2)声部曲目根据该声部后台【乐器设置】是否支持转简谱判断。若该乐器设置为不支持转简谱,则不显示该功能;若设置为支持转简谱,则显示该功能

    3)不支持转简谱的曲目默认显示五线谱,支持转简谱的声部根据后台设置的默认谱面判断默认显示五线谱、首调、固定调

    3、操作方式

    1)点击转谱功能按钮

    2)选择需要切换的谱面类型

    3)页面显示的谱面切换为用户所选谱面

     

    切换声轨

    1、功能描述

    1)可使用该功能切换合奏曲目谱面显示那一条声轨

    2、业务规则

    1)仅合奏曲目支持切换声轨

    2)可切换的声轨根据后台设置该曲目可切换的声轨显示

    3、操作方式

    1)点击切换声轨功能按钮

    2)选择需要显示的声轨

    3)页面显示的谱面切换为用户所选声轨谱面

     

    试听

    1、功能描述

    1)用户可使用该功能试听当前所选声轨的原声MP3

    2、业务规则

    1)Mid播放的曲目不支持该功能

    2)根据用户所选声轨播放该声轨的MP3

    3、操作方式

    1)点击播放按钮

    2)播放当前所选声轨播放该声轨的原声MP3

     

    下载曲目

    1、功能描述

    1)可使用该功能下载曲谱图片到设备相册

    2、业务规则

    1)根据当前选择的谱面(五线谱、首调、固定调)和声轨下载对应谱面图片

    3、操作方式

    1)点击下载按钮

    2)切换需要下载的谱面页码

    3)点击保存按钮

    4)图片保存到设备相册

     

    云教练通用功能

    模式切换

    1、功能描述

    1)用户可使用该功能切换云教练的三种模式

    2)三种模式分别为:练习模式、跟练模式、评测模式

    2、业务规则

    1)当该曲目后台没有上传伴奏时,不支持评测模式

    3、操作方式

    1)点击模式按钮

    2)显示该曲目可支持的模式

    3)点击所需模式按钮

    4)进入对应模式界面

     

    转谱

    同【曲目详情页-切换声轨】

     

    切换声轨

    同【曲目详情页-切换声轨】

     

    指法开关

    1、功能描述

    1)用户可使用该功能开启或关闭谱面指法显示

    2)默认状态为开始指法显示

    3)该功能仅练习模式、跟练模式可用

    2、业务规则

    3、操作方式

    1)点击指法按钮

    2)根据用户所切换的开启/关闭状态显示/关闭指法

     

    指针模式调整

    1、功能描述

    1)该功能用于调整谱面指针的播放方式,共分为三种:音符指针、节拍指针、关闭指针

    2)音符指针:播放曲目时,指针跟随音符走动,例:指针走到二分音符时停留两拍后再走到下一个音符

    3)节拍指针:播放曲目时,指针跟随节拍走动,例:指针走到二分音符时停留一拍,然后走到后面空白处停留一拍,再走到下一个音符

    4)关闭指针:播放曲目时,不显示指针,当前播放小节需高亮显示

    5)该功能仅练习模式、评测模式可用

    6)默认为音符指针

    2、业务规则

    请自行学习乐理基础中音符、拍号、时值相关知识

    3、操作方式

    1)用户每点击一次切换指针按钮时,依照音符指针、节拍指针、关闭指针顺序切换到下一个

     

    节拍器开关

    1、功能描述

    1)用户可自行开启或关闭节拍器

    2)开启时,当用户使用播放功能,系统根据当前曲目拍号播放节拍声音

    3)该功能仅练习模式、跟练模式可用

    2、业务规则

    3、操作方式

     

    节拍器音量

    1、功能描述

    1)该功能用于调整节拍器的播放音量

    2、业务规则

    1)未开启节拍器时不显示该功能

    2)开启节拍器后显示该功能

    3、操作方式

     

    循环播放

    1、功能描述

    1)用户可自行开启或关闭该功能

    2)功能开启时,用户播放曲目结束后,指针自动跳转第一个小节并自动再次播放

    3)当用户使用选段功能选择部分小节播放时,播放结束后跳转所选小节前一个小节开始自动再次播放

    4)循环播放时,当用户点击暂停按钮后停止播放

    5)关闭该功能时,无论用户是否选段播放,播放结束指针都不跳转并停止播放

    2、业务规则

    1)开启时循环播放,直到用户点击暂停

    2)开启且未选段时,播放结束后跳转第一小节再次播放

    3)开启且选段时,播放结束后跳转所选小节的前一个小节再次播放

    4)关闭时,无论是否选段,播放结束后都不再重复播放

    3、操作方式

    1)点击循环播放按钮,开启循环播放

    2)开启后,当用户正常结束后,指针自动跳转第一小节,再次播放

    3)开启后,当用户选段播放结束后,指针自动跳转所选小节的迁移小节,再次播放(从所选小节的前一小节播放)

     

    护眼模式

    1、功能描述

    1)开启护眼模式可将谱面背景颜色改为护眼色

    2、业务规则

    3、操作方式

    1)点击护眼模式开关,开启护眼模式

    2)谱面背景颜色切换为护眼色

     

    投屏帮助

    1、功能描述

    1)用户可使用该功能查看设备画面如何投屏到电视上观看

    2、业务规则

    1)根据用户设备系统显示不同的帮助内容

    3、操作方式

    1)点击投屏帮助按钮

    2)根据当前设备显示该设备的投屏帮助内容

     

    练习模式

    原声伴奏切换

    1、功能描述

    1)用户可使用该功能切换播放时播放的是原声或伴奏

    2、业务规则

    1)该曲目是否上传伴奏,若上传则该功能可用;若未上传则该功能不可使用

    3、操作方式

    1)点击原声/伴奏切换按钮

    2)点击播放按钮

    3)播放用户所选MP3

     

    选段

    1、功能描述

    1)用户可使用该功能选择曲目中的部分小节反复播放练习

    2)选段后开始播放时,从用户所选小节的前一小节(预备小节)开始播放

    2、业务规则

    3、操作方式

    1)点击选段按钮

    2)在谱面上选择开始小节

    3)在谱面上点击结束小节

    4)点击播放按钮

    5)从开始小节的前一小节开始播放

     

    速度调整

    1、功能描述

    1)该功能用于显示和调整谱面小节速度

    2)谱面指针移动到哪个小节,显示哪个小节的速度

    3)默认速度显示优先级:小节标记速度 > 意大利文约定速度 > 框架默认速度(100)

    4)用户在某个小节调整速度时,其他小节按照该小节调整前与调整后的速度比同步调整,例:A小节谱面速度100,B小节谱面速度50,当用户在A小节将速度调整到50时,播放到B小节时,速度显示为25

    5)当其他小节速度按照调整后比例计算为小数时,系统按实际结算结果播放MP3及指针,但界面上显示速度为四舍五入取整后的数值

    2、业务规则

    3、操作方式

    1)点击速度按钮

    2)拖动滑动条或点击【+号】【-号】速度目标速度

    3)点播播放按钮

    4)谱面指针、播放速度按照调整后速度播放

    播放

    1、功能描述

    1)用户可使用该功能试听该曲目的原声、伴奏

    2)播放时指针、指法、速度、音频跟随播放进度实时显示

    2、业务规则

    1)播放过程中可使用原声伴奏切换、指法显示功能

    2)若开启循环播放,播放结束时,指针跳转第一小节再次播放,如此循环直到用户操作暂停

    3)若用户选段播放,从所选段的前一小节(预备小节)开始播放

    4)若用户选段播放,所选段落播放结束时,指针跳转所选段前一小节(预备小节)再次播放,如此循环直到用户操作暂停

    3、操作方式

     

    暂停

    1、功能描述

    1)在播放的过程中用户可使用该功能暂停播放

    2)暂停后可使用播放功能继续播放

    2、业务规则

    3、操作方式

     

    重播

    1、功能描述

    1)播放到一半暂停后,或点击谱面选择某个音符后,用户可使用该功能从头播放

    2、业务规则

    1)未选段时,从曲目第一小节开始播放

    2)选段时,从所选段的前一小节(预备小节)开始播放

    3、操作方式

     

    跟练模式

    开始演奏

    1、功能描述

    1)该功能用于开始跟练,开始后,设备开始收音

    2)用户演奏频率与谱面指针所指音符一致时,指针跳转下一个音符,不一致时显示【高了】或【低了】

    2、业务规则

    1)点击开始演奏后开始收音

    2)用户演奏频率与谱面指针所指音符一致时,指针跳转下一个音符

    3)用户演奏频率与谱面指针所指音符不一致时,若用户演奏频率比指针音符高,则界面提示【高了】

    4)用户演奏频率与谱面指针所指音符不一致时,若用户演奏频率比指针音符低,则界面提示【低了】

    3、操作方式

     

    结束演奏

    1、功能描述

    1)该功能用户停止跟练

    2)用户开始演奏之后才可使用该功能

    3)用户点击结束演奏后,设备停止收音

    2、业务规则

    1)未开始演奏时,不显示该功能按钮

    2)开始演奏时,显示该功能按钮

    3、操作方式

     

    评测模式

    设备延迟检测

    1、功能描述

    1)该功能用于检测设备播放音频到设备接收音频中的时间差,用于评测时值与音频合成的默认校准时间

    2、业务规则

    1)进入评测模式时,校验本地是否储存该设备的延迟数据,若未储存则必须进行检测,若已存在延迟数据则不经过该流程

    3、操作方式

    1)点击评测模式,系统校验是否存在延迟数据,若存在则直接进入评测模式,若不存在则进行下一步

    2)校验设备当前是否链接耳机,若已链接则提示用户断开耳机链接,若未链接则进行下一步

    3)提示用户为了评测更加准确,即将开始设备延迟检测,点击开始检测按钮,进行下一步

    4)校验用户手机音量是否≥75%,若小于75%则提示用户请将设备音量调整至75%,若≥75%则进行下一步

    5)系统播放检测音效,并开始收音,计算从播放到收到音量的时间差,并记录在本地

    6)记录数据后提示用户:检测完成,为了评测分数更加准确,请链接有线耳机后开始评测。用户点击开始评测按钮,进入评测模式。

     

    评测难度

    1、功能描述

    1)该功能用于切换评测打分标准,共分为三种标准:入门级、进阶级、大师级

    2)默认为进阶级

    3)用户可自行切换打分标准

    2、业务规则

    3、操作方式

    1)在评测模式下点击设置按钮

    2)切换到评测设置界面

    3)选择需要的打分标准

    4)点击确定按钮操作结束

     

    校音

    1、功能描述

    1)该功能用于让用户校准乐器声音,保障评测分数客观准确

    2、业务规则

    1)当用户开启校音提醒时,每次进入评测模式都需进行校音步骤

    2)当用户关闭校音提示时,每次进入评测模式都不进行该步骤

    3、操作方式

    1)界面提示用户使用乐器演奏中央C

    2)设备开始收音

    3)使用收音频率与该声部中央C频率对比是否一致,不一致时,界面显示高了/低了,一致时显示准确,帮提示用户校音完成

    4)校音完成后进入评测模式界面

     

    校音提醒

    1、功能描述

    1)该功能用于开启/关闭每次评测前是否需要进行校音

    2、业务规则

    3、操作方式

     

    开启摄像头

    1、功能描述

    1)该用能用于开启设备摄像头与相册权限

    2)开启后,评测时需通过设备前置摄像头录制评测画面

    3)默认为关闭状态

    2、业务规则

    1)用户是否授权摄像头

    2)用户是否授权相册

    3)摄像头、相册都授权时,功能开关亮起,任何一个权限未授权则功能按钮置灰

    3、操作方式

    1)点击开启摄像头功能,判断是否授权摄像头

    2)若未授权,则提示是否授权摄像头,选择否则流程结束,功能按钮置灰;选择是则进行下一步

    3)提示用户是否授权相册,若选择否则流程结束,功能按钮置灰,若选择是则功能按钮亮起,界面显示前置摄像头画面,界面UI变成75%半透明,流程结束

     

    UI透明度调整

    1、功能描述

    1)该功能用于在评测模式开启摄像头的情况下调整界面UI透明度

    2)仅调整UI背景透明度,谱面UI不受此影响

    2、业务规则

    1)用户是否开启摄像头且APP已获取到摄像头、相册权限,都获取到时显示该功能,其中一个未获取或用户关闭开启摄像头功能时,不显UI透明度调整功能

    3、操作方式

     

    标准音高

    1、功能描述

    1)该功能用于切换评测音高标准

    2、业务规则

    1)默认值为后台参数中设备的每个项目的标准音高

    2)用户可手动输入修改标准音高

    3、操作方式

     

    反应时间

    1、功能描述

    1)该功能用于设置评测打分时的校准延迟

    2)用户可根据自己的实际情况设置反应时间

    2、业务规则

    3、操作方式

     

    开始评测

    1、功能描述

    1)该功能用于正式开开始评测,开始后,设备开始收音并传输到后台,后台计算每小节分数并返回前端显示小节评分

    2、业务规则

    3、操作方式

     

    结束评测

    1、功能描述

    1)该功能用于在评测过程中终止评测

    2)终止评测后,显示本次评测的总体评分,并生成评测报告,保存评测音频

    2、业务规则

    3、操作方式

     

    评测音频保存

    1、功能描述

    1)评测完成后系统自动保存本次评测的音频文件

    2)评测音频文件可在评测报告中的回放功能查看

    2、业务规则

    1)本次评测结束时自动保存音频文件

    2)用户通过结束评测功能手动结束时保存音频文件

    3、操作方式

     

    评测报告

    1、功能描述

    1)评测结束后,生成评测报告

    2)评测报告根据音准、节奏、完整性三个维度显示每个音符的用户演奏情况

    3)音准包括:高了、低了、准确

    4)节奏包括:快了、慢了、准确

    5)完整性包括:时值不足、时值准确

    6)三个维度具体结果样式请查看UI设计稿

    2、业务规则

    1)根据用户所选评测难度确定打分误差区间

    2)音准、节奏、完整性具体评分规则请查看后台评测打分模块

    3、操作方式

     

    音频合成

    1、功能描述

    1)评测完成后,用户可以通过该功能将演奏音频与曲目伴奏合成

    2)可调整演奏音频与曲目伴奏对齐参数

    3)以曲目伴奏时间走为标准,默认将设备延迟检测、反应时间相加,将演奏音频后移

    4)用户可更换封面图片,发布作品、保存草稿

    5)发布作品后,该音频/视频替换评测报告中的音频

    6)发布作品后草稿自动移除

    7)保存草稿后7天自动清理

    2、业务规则

    1)设备延迟检测参数

    2)反应时间参数

    3)用户自行调整时间差

    3、操作方式

     

    界面交互流程

    曲目详情

    image

    选择模式

    image

     

    数据库表结构

    曲谱表

    DROP TABLE IF EXISTS music_sheet; CREATE TABLE music_sheet (

     


     

    曲谱伴奏表

    DROP TABLE IF EXISTS music_sheet_accompaniment; CREATE TABLE music_sheet_accompaniment (

     


     

    曲谱赏析表

    DROP TABLE IF EXISTS music_sheet_appreciation; CREATE TABLE music_sheet_appreciation (

     


     

    曲谱分类

    DROP TABLE IF EXISTS music_sheet_categories; CREATE TABLE music_sheet_categories (

     


     

    曲谱原声表

    DROP TABLE IF EXISTS music_sheet_sound; CREATE TABLE music_sheet_sound (

     


     

    曲谱乐器

    DROP TABLE IF EXISTS musical_instrument; CREATE TABLE musical_instrument (

    SET FOREIGN_KEY_CHECKS = 1;

     

    前端&移动端交互

    交互流程

    image

     

    Mid评测流程图

    image

    API接口

    延迟检测

    createMusicPlayer

    1、示例

    2、请求参数说明

    参数调用方描述
    musicSrc 伴奏mp3
    tuneSrc 延迟检测音频
    tuneFrequence:检测频率(预留后续修改检测音频)
    H5告知App评测播放相关资源,App进行音频缓

     

    startTune

    1、延迟测试开始,开启音频录制示例

    2、发送DELAY_CHECK 给服务端,携带当前检测声音hz示例

    3、发送DELAY_CHECK recordEnd 消息示例

    4、接收DELAY_CHECK延迟值,计算出延迟值保存下来示例

    5、请求参数说明

    参数调用方描述
    count:第几次延迟检测,从0开始H51.延迟测试开始,开启音频录制
    2.音频录制开始回调时,播放延迟检测声音
    3.监听播放器进度,记录播放器播放延迟
    4.发送DELAY_CHECK 给服务端,携带当前检测声音hz
    5.发送DELAY_CHECK recordEnd 消息
    6.接收DELAY_CHECK延迟值,计算出延迟值保存下来

     

    checkPlayEnd

    1、延迟测试开始,开启音频录制

    2、音频录制开始回调时,播放延迟检测声音

    3、监听播放器进度,记录播放器播放延迟

    4、发送DELAY_CHECK 给服务端,携带当前检测声音hz

    5、发送DELAY_CHECK recordEnd 消息

    6、接收DELAY_CHECK延迟值,计算出延迟值保存下来

    7、请求参数说明

    参数调用方描述
    count:第几次延迟检测
    从0开始reson:没有硬件权限的枚举值(micUnable,cameraUnable,storageUnable)
    des:没有权限的描述字段(没有麦克风权限,没有摄像头权限,没有存储权限)
    H51.延迟测试开始,开启音频录制
    2.音频录制开始回调时,播放延迟检测声音
    3.监听播放器进度,记录播放器播放延迟
    4.发送DELAY_CHECK 给服务端,携带当前检测声音hz
    5.发送DELAY_CHECK recordEnd 消息
    6.接收DELAY_CHECK延迟值,计算出延迟值保存下来

     

    endTune

    1、示例

    2、请求参数说明

    参数调用方描述
     H5停止延迟检测,停止播放延迟检测声音,发送DELAY_CHECK recordEnd消息给服务端

     

    finishTune

    1、示例

    2、请求参数说明

    参数调用方描述
     H5结束延迟检测功能,App计算平均麦克风收音延迟值,存储下来

     

    getDeviceDelay

    1、示例

    2、请求参数说明

    参数描述描述
    value:当前设备麦克风收音延迟值H5App获取当前设备记录的延迟值, 返回给H5

     


     

    评测

    startEvaluating

    1、示例

    2、请求参数说明

    参数调用方描述
    musicXml 评测相关数据
    beatLength:需要剔除多余检测录音文件时长,如果从第一小节,音频文件自带节拍器,该时长为节拍器时长,如果是中间选段,则时长为预备小节时长
    speed:音频基准播放速度
    evaluationCriteria:评测打分标准:frequency(默认-频率)、amplitude(声部打击乐-振幅)、decibels(节奏练习-分贝)
    xmlUrl:曲子xml地址
    subjectId:曲子声部ID
    examSongId:曲子ID 同detailId
    detailId:曲子ID
    partIndex:曲子分轨索引
    heardLevel:评测级别'入门 BEGINNER'|'进阶 ADVANCED'|'大师 PERFORMER'
    platform:评测客户端平台:iOS、安卓
    hertz:A4基准赫兹HZ(440|442)
    reactionTimeMs:反应时间ms
    musicXmlInfos:评测音符信息
    {
    prevFrequency:上一个音符的频率 休止符为-1
    frequency:当前音符的频率
    nextFrequency:下一个音符的频率
    measureRenderIndex:评测小节索引(默认值0,同一个小节的音符索引相同)
    measuerRenderIndex:实际渲染的小节索引,从渲染的谱面开始,代表当前小节再谱面实际的位置
    musicalNotesIndex:当前实际评测音符索引,从0开始
    denominator:多少分音符
    isOrnament:是否装饰音
    donEvaluating:是否打分的标记(Listen,纯率、如果是打击乐和节奏练习,连音线后面的音符都不打分,如果是普通吹奏,连音线后面的音符和前面的音符同音高都不打分)
    timeStamp:当前音符开始的时间ms(参数评测第一个音符为0)
    duration:当前音符持续时间ms
    }
    H5开始评测,该API会判断是否连接scoket,如果连上,会发送SOUND_COMPARE 包含 musicXml信息给service同时回执信息给H5,如果没有连上,会建立连接,成功后发送SOUND_COMPARE 至服务端,同时回执信息给H5

     

    endEvaluating

    1、示例

    2、请求参数说明

    参数调用方描述
    musicScoreId:同startEvaluating examSongId表示 曲目IDH5接收到该消息,会发送SOUND_COMPARE recordEnd消息至服务端,同时回执给H5,同时停止mp3播放

     

    cancelEvaluating

    1、示例

    2、请求参数说明

    参数调用方描述
     H5取消评测,同endEvaluating,只是不发生SOUND_COMPARE recordEnd至服务端

     

    startRecording

    1、示例

    2、请求参数说明

    参数调用方描述
    accompanimentState:是否静音评测
    firstNoteTime:评测播放MP3开始时间(选段模式:firstNoteTime应该取预备小节的第一个音符的开始播放的时间,正常评测 取值为0)
    H51.开始音频录制功能,同时判断accompanimentState是否静音播放mp3
    2.在开始录制时,评测场景,如果是App播放mp3,这个时候App开启播放功能
    3.录制开始接收到第一段音频时,会发送SOUND_COMPARE recordStart信息给服务端,同时回执recordStartTime至H5

     

    endRecording

    1、示例

    2、请求参数说明

    参数调用方描述
    目前没有使用H5停止音频录制功能,回执endRecording给H5

     

    playProgress

    1、示例

    2、请求参数说明

    参数调用方描述
    Mp3播放器进度回调:
    currentTime:当前播放进度(时间 ms)
    totalDuration:全曲时长(ms)
    APP1.评测功能:原生mp3播放器进度回调给前端
    2.在进度回调中,计算延迟值,发送SOUND_COMPARE audioPlayStart至服务端

     

    pauseRecording

    1、示例

    2、请求参数说明

    参数调用方描述
    可能用不上H5暂停音频录制

     

    resumeRecording

    1、描述

    2、请求参数说明

    参数调用方描述
    可能用不上H5恢复音频录制

     

    suspendPlay

    1、示例

    2、请求参数说明

    参数调用方描述
     H5App退到后台暂停播放,通知H5

     

    isWiredHeadsetOn

    1、示例

    2、请求参数说明

    参数调用方描述
    checkIsWired:是否带耳机
    type:耳机类型名称:蓝牙耳机、有线耳机
    H5获取输出是否未耳机
    type:有线耳机、蓝牙耳机
    checkIsWired(是否带耳机)

     

    listenerWiredStatus

    1、示例

    2、请求参数说明

    参数调用方描述
    checkIsWired:是否带耳机
    type:耳机类型名称:蓝牙耳机、有线耳机
    APPApp监听扬声器通道变化通知给H5

     

    proxyMessage

    1、示例

    2、请求参数说明

    参数调用方描述
     H5H5调用发送消息至服务端,将content放在body,header 设置proxyMessage,发送给服务等

     

    proxyServiceMessage

    1、示例

    2、请求参数说明

    参数调用方描述
    通用接口
    header:Object
    commond:请求命令。目前支持的请求命令:musicXml(同步music xml信息),recordStart(开始评测),recordCancel(取消评测),recordEnd(结束评测)、videoUpload(上传 评测视频)
    请求类型,目前支持的请求类型:SOUND_COMPARE(评测),DELAY_CHECK(延迟检查),PITCH_DETECTION(校音)
    status:状态码,默认200
    H5H5调用发送消息至服务端,将content直接发送给服务等

     

    sendResult

    1、示例

    2、请求参数说明

    参数调用方描述
    通用接口
    header:Object
    commond:请求命令。目前支持的请求命令:musicXml(同步music xml信息),recordStart(开始评测),recordCancel(取消评测),recordEnd(结束评测)、videoUpload(上传 评测视频)
    请求类型,目前支持的请求类型:SOUND_COMPARE(评测),DELAY_CHECK(延迟检查),PITCH_DETECTION(校音)
    status:状态码,默认200
    body:body内容更具返回内容不同,数据不同,如检测返回:{"body":{"firstNoteDelayDuration":185.7596435546875}
    小节评分:{
    "body": {
    "score": 0,
    "measureIndex": 5,
    "measureRenderIndex": 5
    },
    "header": {
    "commond": "measureScore",
    "status": 200,
    "type": "SOUND_COMPARE"
    }
    }
    结束评测打分:
    APPApp接收服务端消息传递给H5(传递服务端socket消息)

     

    openCamera

    1、示例

    2、请求参数说明

    参数调用方描述
    reson:没有硬件权限的枚举值(micUnable,cameraUnable,storageUnable)
    des:没有权限的描述字段(没有麦克风权限,没有摄像头权限,没有存储权限)
    H5开启摄像头,App收到后会检测摄像头相关权限,渲染摄像头捕捉画面

     

    closeCamera

    1、示例

    2、请求参数说明

    参数调用方描述
     H5关闭摄像头,停止渲染摄像头捕捉画面

     

    startCapture

    1、示例

    2、请求参数说明

    参数调用方描述
    reson:没有硬件权限的枚举值(micUnable,cameraUnable,storageUnable)
    des:没有权限的描述字段(没有麦克风权限,没有摄像头权限,没有存储权限)
    H5开启摄像头录制

     

    endCapture

    1、示例

    2、请求参数说明

    参数调用方描述
     H5关闭摄像头录制

     

    setCaptureMode

    1、示例

    2、请求参数说明

    参数调用方描述
    mode:播放(practice)还是评测(evaluating)H5iOS 使用该功能,modeString 如果是评测,录制视频时,不会采集麦克风声音(声音交给录音功能去实现)

     

    videoUpdate

    1、示例

    2、请求参数说明

    参数调用方描述
    type:是否成功(success| error)
    message:上传成功
    filePath: 视频地址
    H5上传录制的视频,无合成功能的app中使用

     


     

    校音

    startSoundCheck

    1、示例

    2、请求参数说明

    参数调用方描述
     H5开始校音,开始音频录制,录制第一段声音回调时,会发送PITCH_DETECTION recordStart消息给服务端

     

    endSoundCheck

    1、示例

    2、请求参数说明

    参数调用方描述
     描述结束校音,停止音频录制

     


     

    Mid播放

    cloudDetail

    1、示例

    2、请求参数说明

    参数调用方描述
    midi :midi文件Url
    originalSpeed :mid原始速度
    denominator:多少分音符
    numerator:小节拍数
    interval:回调间隔ms
    duration:整体播放时长
    reson:没有硬件权限的枚举值(micUnable,cameraUnable,storageUnable)
    des:没有权限的描述字段(没有麦克风权限,没有摄像头权限,没有存储权限)
    H51.获取mid相关播放信息,同时下载mid文件
    2.初始化mid播放器成后回调播放总时长midiDuration回调给H5

     

    cloudGetMediaStatus

    1、示例

    2、请求参数说明

    参数调用方描述
    status: mid 播放器状态 'init' | ’play‘ | ’suspend‘H5获取mid播放器状态

     

    cloudPlay

    1、示例

    2、请求参数说明

    参数调用方描述
    songID: 当前曲目id
    originalSpeed: xml整体原始速度
    speed: 当前选择速度
    startTime: 开始时间(ms)
    hertz:播放频率
    H5mid播放器----播放、播放结束位置、跳转指定位置

     

    cloudSuspend

    1、示例

    2、请求参数说明

    参数调用方描述
    songID:当前曲目idH5暂停mid播放

     

    cloudSetCurrentTime

    1、示例

    2、请求参数说明

    参数调用方描述
    songID:当前曲目id
    currentTime:播放进度
    H5跳转指定位置

     

    cloudChangeSpeed

    1、示例

    2、请求参数说明

    参数调用方描述
    songID:当前曲目id
    speed:调整速度
    originalSpeed:曲子原速
    H5mid播放调速

     

    cloudVolume

    1、示例

    2、请求参数说明

    参数调用方描述
    activeMidiId:轨道ID
    activeMidiVolume:播放音了
    parts:所有轨道音量参数:(暂未使用)
    name:声轨名称
    volume:音量(0~100)
    H5设置每个轨道音量

     

    cloudMetronome

    1、示例

    2、请求参数说明

    参数调用方描述
    supplement:补拍
    repeat:重复节拍次数
    denominator:多少分音符
    numerator:小节拍数
    H51.节拍器播放功能,获取播放节拍,速度
    2.播放回调,cancel finish的回调

     

    cloudDestroy

    1、示例

    2、请求参数说明

    参数调用方描述
     H5销毁mid播放器

     

    cloudTimeUpdae

    1、示例

    2、请求参数说明

    参数调用方描述
    songID:曲目ID
    currentTime:当前播放进度ms
    H5mid播放器进度回调给H5

     

    cloudplayed

    1、示例

    2、请求参数说明

    参数调用方描述
    songID:曲目idAppmid播放结束回调给H5

     


     

    跟音功能

    cloudToggleFollow

    1、示例

    2、请求参数说明

    参数调用方描述
    state: 开始、结束跟音(start| end)
    reson:没有硬件权限的枚举值(micUnable,cameraUnable,storageUnable)
    des:没有权限的描述字段(没有麦克风权限,没有摄像头权限,没有存储权限)
    H5跟音功能,开启调音器声音检测功能,接收到频率回调时,发送cloudFollowTime 将获取到的frequency 传给H5

     

    cloudFollowTime

    1、示例

    2、请求参数说明

    参数调用方描述
    frequency:录音音频频率AppApp回调跟音录制频率回调给H5

     


     

    合成相关

    openAdjustRecording

    1、示例

    2、请求参数说明

    参数调用方描述
    recordId : 评测记录id title: 曲目名 coverImg : 曲目封面H5App进入合成功能页面

     

    hideComplexButton

    1、示例

    2、请求参数说明

    参数调用方描述
     APP合成发布作品成功后App回调,H5隐藏保存演奏按钮

     

    通用接口

    accompanyError

    1、示例

    2、请求参数说明

    参数调用方描述
    type:异常类型
    playError:播放出现异常中断
    enterBackground:App退到后台
    socketError:socket连接断开
    micUnable、cameraUnable:无相关硬件权限)
    storageUnable:iOS相册权限,安卓存储权限
    reson:异常描述,针对不同情况描述不同
    AppApp出现异常调用相关API

     

    checkSocketStatus

    1、示例

    2、请求参数说明

    参数调用方描述
    status:连接状态
    connected:已连接
    closed:未连接
    H5检测socket连接状态,如果没有连接web socket,则会建立连接,成功后回调socketConnectSuccessReport通知H5

     

    connectSocket

    1、示例

    2、请求参数说明

    参数调用方描述
     H5连接webSocket

     

    disconnectSocket

    1、示例

    2、请求参数说明

    参数调用方描述
     H5断开socket连接

     

    socketConnectSuccessReport

    1、示例

    2、请求参数说明

    参数调用方描述
    status:connected(已连接){ "api" : "socketConnectReport", "content" : { "status" : "connected" } }连接成功状态回调

     

    后端评测功能

    时序图

    image

     


     

    流程说明

    客户端点击开始评测

    1、功能说明:

    1)Websocket客户端发送曲目XML文件信息到服务端

    2)开始评测前,前端传入需要评测的曲目相关数据和延迟时间,由后端保存,没有返回数据。

     

    2、请求参数示例:

     

    3、请求参数说明:

    参数类型说明
    headerObject请求信息
    commondString请求命令。目前支持的请求命令:musicXml(同步music xml信息),recordStart(开始评测),recordCancel(取消评测),recordEnd(结束评测)
    typeString请求类型,目前支持的请求类型:SOUND_COMPARE(评测),DELAY_CHECK(延迟检查),PITCH_DETECTION(校音)
    statusInteger固定值200
    bodyObject曲目信息
    musicXmlInfosArray曲目音符信息
    timeStampdouble音符起始时间戳,单位:ms(第一个音符是0ms)
    durationdouble当前音符持续的播放时间(ms)
    frequencyfloat当前音符的频率
    nextFrequencyfloat下一个音的频率(不是乐谱中下一个音符的频率),当前音符加上100音分
    prevFrequencyfloat上一个音的频率(不是乐谱中上一个音符的频率),当前音符减去100音分
    measureIndexInteger当前音符所在的小节下标(从0开始)
    dontEvaluatingboolean当前音符是否需要评测
    musicalNotesIndexInteger当前音符在整个曲谱中的下标(从0开始)
    denominatorInteger多少分音符
    measureRenderIndexInteger 
    firstNoteTimeInteger第一个音符开始时间
    idString曲目ID
    subjectIdInteger声部ID
    detailIdInteger曲目伴奏ID
    examSongIdInteger曲目ID
    xmlUrlString曲目xml的url路径
    partIndexString 
    behaviorIdString行为编号,同一编号为一次
    tenantIdInteger机构ID
    platformString请求来源(设备类型)ANDROID,IOS
    clientIdString客户端类型(student,teacher)
    speedInteger曲目评测速度
    heardLevelString曲目评测难度(BEGINNER:入门级,ADVANCED:进阶级,PERFORMER:大师级)
    beatLengthInteger节拍延迟时间
    evaluationCriteriaString曲目评估标准:AMPLITUDE("振幅"),FREQUENCY("频率"),DECIBELS("分贝")
    uuidString请求唯一ID

     

    4、应答返回

     

    开始评测

    1、功能说明:

    1)Websocket客户端发送曲目XML文件信息到服务端

    2)开始评测,前端传入评测开的的命令信息,没有返回数据。

     

    2、请求参数示例:

     

    3、参数请求说明

    参数类型说明
    headerObject请求信息
    commondString请求命令。目前支持的请求命令:musicXml(同步music xml信息),recordStart(开始评测),recordCancel(取消评测),recordEnd(结束评测)
    typeString请求类型,目前支持的请求类型:SOUND_COMPARE(评测),DELAY_CHECK(延迟检查),PITCH_DETECTION(校音)
    statusInteger固定值200

     

    4、应答返回

     

    发送音频数据流

    1、功能说明:

    1)Websocket客户端发送曲目XML文件信息到服务端

    2)评测开始后,前端将录制的音频数据流通过Websockt发送到服务端。服务端解析数据流,当数据流满足一个小节长度后,返回当前小节的分数。

     

    2、请求参数示例:

     

    3、应答返回:

    当数据流满足一个小节长度后,返回当前小节的分数:

     

    4、返回参数说明

    参数类型说明
    headerObject请求信息
    commondString固定值measureScore
    typeString请求类型,目前支持的请求类型:SOUND_COMPARE(评测),DELAY_CHECK(延迟检查),PITCH_DETECTION(校音)
    statusInteger固定值200
    bodyObject返回小节分数信息
    scoreInteger小节分数
    measureIndexInteger第几小节
    measureRenderIndexInteger第几小节

     

    取消评测/结束评测

    1、功能说明:

    1)Websocket客户端发送取消评测/结束评测命令信息到服务端

    2)前端发送取消评测/结束评测命令给后端,后端接收到命令后生成评测报告和录音文件、并保存到数据库中。返回评测结果给客户端。

     

    2、请求参数示例:

    结束评测

     

    取消评测

     

    3、请求参数说明:

    参数类型说明
    headerObject请求信息
    commondString请求命令。目前支持的请求命令:musicXml(同步music xml信息),recordStart(开始评测),recordCancel(取消评测),recordEnd(结束评测)
    typeString请求类型,目前支持的请求类型:SOUND_COMPARE(评测),DELAY_CHECK(延迟检查),PITCH_DETECTION(校音)
    statusInteger固定值200

     

    4、应答返回:

     

    5、应答参数说明:

    参数类型说明
    recordIdInteger评测记录ID
    scoreInteger评测总分
    intonationString音准分数
    integrityInteger完成度分数
    totalPlayTimeOfCurrentDateObject总演奏时长
    playTimeInteger演奏时长(ms)
    cadenceInteger节奏分数

     

    声部和乐器编码

    声部乐器编码乐器中文名称
    长笛Flute长笛
    短笛Piccolo短笛
    竖笛Recorder竖笛
    竖笛Soprano Recorder高音竖笛
    竖笛German Recorder德式竖笛
    竖笛Baroque Recorder英式竖笛
    单簧管Clarinet单簧管
    单簧管Bass Clarinet低音单簧管
    单簧管Alto Clarinet中音单簧管
    单簧管Bass Clarinet低音单簧管
    单簧管Clarinet in E♭降E单簧管
    萨克斯Alto Saxophone中音萨克斯
    萨克斯Alto Sax中音萨克斯管
    萨克斯Tenor Saxophone次中音萨克斯
    萨克斯Tenor Sax次中音萨克斯管
    萨克斯Soprano Saxophone高音萨克斯
    萨克斯Soprano Sax高音萨克斯管
    萨克斯Baritone Saxophone上低音萨克斯
    萨克斯Baritone Sax低音萨克斯管
    双簧管Oboe双簧管
    双簧管English Horn英国管
    大管Bassoon大管
    大管Bassoon巴松
    小号Trumpet小号
    小号Muted Trumpet加弱音器小号
    短号Cornet短号
    圆号Horn圆号
    圆号French Horn法国号
    圆号Horn in F圆号
    长号Trombone长号
    上低音号Baritone上低音号
    上低音号Euphonium上低音号
    上低音号Euphonium次中音号
    大号Tuba大号
    铜管组Brass Section铜管组
    钢琴Piano钢琴
    钢琴Electronical Piano电钢琴
    钢琴Glockenspiel钢片琴
    钢琴Acoustic Grand Piano大钢琴
    钢琴Bright Acoustic Piano明亮的钢琴
    钢琴Electric Grand Piano电钢琴
    钢琴Rhodes Piano柔和的电钢琴
    钢琴Chorused Piano加合唱效果的电钢琴
    钢琴Harpsichord羽管键琴
    风琴Hammond Organ击杆风琴
    风琴Percussive Organ打击式风琴
    风琴Rock Organ摇滚风琴
    风琴Church Organ教堂风琴
    风琴Reed Organ簧管风琴
    手风琴Accordian手风琴
    手风琴Tango Accordian探戈手风琴
    口琴Harmonica口琴
    拨弦琴类Clavichord科拉维科特琴
    拨弦琴类Sitar西塔尔
    拨弦琴类Banjo班卓琴
    拨弦琴类Shamisen三昧线
    拨弦琴类Koto十三弦筝
    拨弦琴类Kalimba卡林巴
    竖琴Orchestral Harp竖琴
    小提琴Violin小提琴
    中提琴Viola中提琴
    大提琴Violoncello大提琴
    低音提琴Contrabass低音提琴
    排箫Panpipes排箫
    陶笛Ocarina陶笛
    陶笛Soprano Ocarina高音陶笛
    陶笛Alto Ocarina中音陶笛
    葫芦丝Hulusi葫芦丝
    葫芦丝Hulusi葫芦丝
    口风琴Melodica口风琴
    口风琴Melodica口风琴
    有音高打击乐Marimba马林巴
    有音高打击乐Vibraphone颤音琴
    有音高打击乐Chimes钟琴
    有音高打击乐Mallets打击乐(键盘)
    有音高打击乐Xylophone打击乐(键盘)
    有音高打击乐Tubular Bells管钟
    有音高打击乐Chimes管钟
    有音高打击乐Timpani定音鼓
    有音高打击乐Mallets打击乐(键盘+小鼓)
    有音高打击乐Snare Durm打击乐(键盘+小鼓)
    有音高打击乐Celesta钢片琴
    有音高打击乐Glockenspiel钢片琴
    有音高打击乐Vibraphone颤音琴
    有音高打击乐Vibrato颤音琴
    大扬琴Dulcimer大扬琴
    八音盒Music box八音盒
    无音高打击乐Drum Set爵士鼓(架子鼓)
    无音高打击乐Drum Set架子鼓
    无音高打击乐Drums set架子鼓
    无音高打击乐Melodic Toms嗵嗵鼓
    无音高打击乐Tom-Toms嗵嗵鼓
    无音高打击乐concert tom音乐会嗵嗵鼓
    无音高打击乐Concert Toms音乐会嗵嗵鼓
    无音高打击乐Quad-Toms筒鼓
    无音高打击乐Quads筒鼓
    无音高打击乐Snare Drum打击乐(小鼓)
    无音高打击乐Snare Drum小军鼓
    无音高打击乐Acoustic Snare小鼓
    无音高打击乐Electric Snare小鼓
    无音高打击乐Side Drum小鼓鼓边
    无音高打击乐Field Drum军鼓
    无音高打击乐Bass Drum大鼓
    无音高打击乐Acoustic Bass Drum大鼓
    无音高打击乐Hand Claps拍手
    无音高打击乐Slap Bass掌击
    无音高打击乐Orchestra Hit管弦乐敲击齐奏
    无音高打击乐Tinkle Bell叮当铃
    无音高打击乐Agogos阿戈戈铃
    无音高打击乐Agogo Bells阿戈戈铃
    无音高打击乐Steel Drums钢鼓
    无音高打击乐Taiko Drum太鼓
    无音高打击乐Reverse Cymbals反向镲
    无音高打击乐Bongos邦戈鼓
    无音高打击乐Bongo Bell邦戈铃
    无音高打击乐Congas康加鼓
    无音高打击乐Guiro刮壶
    无音高打击乐Low Floor Tom低音嗵鼓
    无音高打击乐Closed Hi-Hat闭合踩镲
    无音高打击乐High Floor Tom高音落地嗵鼓
    无音高打击乐Pedal Hi-Hat脚踏踩镲
    无音高打击乐Low Tom低音嗵鼓
    无音高打击乐Open Hi-Hat开音踩镲
    无音高打击乐Low-Mid Tom中低音嗵鼓
    无音高打击乐Hi Mid Tom高音鼓
    无音高打击乐Cymbal
    无音高打击乐Cymbals
    无音高打击乐Suspend Cymbals吊镲
    无音高打击乐Suspended Cymbals吊镲
    无音高打击乐Hi-Hat踩镲
    无音高打击乐Crash Cymbals对镲
    无音高打击乐ride cymbal叮叮镲
    无音高打击乐High Tom高音嗵鼓
    无音高打击乐Ride Cymbals叮叮镲
    无音高打击乐Chinese Cymbals中国镲
    无音高打击乐Ride Bell圆铃
    无音高打击乐Tambourine铃鼓
    无音高打击乐Splash Cymbal溅音镲
    无音高打击乐Cowbell牛铃
    无音高打击乐Crash Cymbal强音钹
    无音高打击乐Vibra-Slap颤音器
    无音高打击乐Ride Cymbal打点钹
    无音高打击乐Hi Bongo高音邦戈鼓
    无音高打击乐Low Bongo低音邦戈鼓
    无音高打击乐Mute Hi Conga弱音高音康加鼓
    无音高打击乐Open Hi Conga强音高音康加鼓
    无音高打击乐Low Conga低音康加鼓
    无音高打击乐Timbales天巴鼓
    无音高打击乐High Timbale高音天巴鼓
    无音高打击乐Low Timbale低音天巴鼓
    无音高打击乐High Agogo高音阿戈戈铃
    无音高打击乐Low Agogo低音阿戈戈铃
    无音高打击乐Cabasa卡巴萨
    无音高打击乐Maracas沙锤
    无音高打击乐Short Guiro短刮壶
    无音高打击乐Long Guiro长刮壶
    无音高打击乐Claves响棒
    无音高打击乐Hi Wood Block高音木鱼
    无音高打击乐Low Wood Block低音木鱼
    无音高打击乐Mute Triangle弱音三角铁
    无音高打击乐Open Triangle强音三角铁
    无音高打击乐Triangle三角铁
    无音高打击乐Bell铃铛
    无音高打击乐Bells铃铛
    无音高打击乐Castanets响板
    无音高打击乐Shaker沙锤
    无音高打击乐Mark tree音树
    无音高打击乐Sleigh Bells雪橇铃
    无音高打击乐Flexatone弹音器
    无音高打击乐Brake drum闸鼓
    无音高打击乐Gong
    无音高打击乐brake drum车轮鼓
    无音高打击乐finger cymbal指钹
    无音高打击乐Vibraslap弹音器
    无音高打击乐Wood Blocks木鱼
    无音高打击乐Temple Blocks木鱼
    无音高打击乐Wood Block木鱼
    无音高打击乐High Bongo邦戈
    吉他Acoustic Guitar钢弦吉他
    吉他Electric Guitar闷音电吉他
    吉他Overdriven Guitar加驱动效果的电吉他
    吉他Distortion Guitar加失真效果的电吉他
    吉他Guitar Harmonics吉他和音
    吉他Guitar Fret Noise吉他换把杂音
    贝司Acoustic Bass大贝司
    贝司Electric Bass电贝司
    贝司Fretless Bass无品贝司
    合成器Synth Bass电子合成
    合成器String Ensemble弦乐合奏音色
    合成器Synth Strings合成弦乐合奏音色
    合成器Synth Voice合成人声
    合成器Synth Brass合成铜管音色
    合成器Lead合成主音
    合成器Lead lead合成主音
    合成器Pad age合成音色
    合成器Pad合成音色
    合成器FX合成效果 科幻
    合成器Synth Drums合成鼓
    弦乐群Tremolo Strings弦乐群颤音音色
    弦乐群Pizzicato Strings弦乐群拨弦音色
    人声Voice Oohs人声
    人声Choir Aahs人声合唱
    排箫Pan Flute排箫
    民族笛类Bottle Blow瓶木管
    民族笛类Bagpipe风笛
    民族笛类Shanai山奈
    民族提琴Fiddle民族提琴
    自然声(音效)Breath Noise呼吸声
    自然声(音效)Seashore海浪声
    自然声(音效)Bird Tweet鸟鸣
    自然声(音效)Telephone Ring电话铃
    自然声(音效)Helicopter直升机
    自然声(音效)Applause鼓掌声
    自然声(音效)Gunshot枪声
    自然声(音效)Short Whistle短口哨
    自然声(音效)Long Whistle长口哨
    自然声(音效)Whistle口哨声