云教练文档整合v2023.12.28

更新记录

 

云教练功能点

曲目详情页

转谱

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

 

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延迟值,计算出延迟值保存下来

 

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、请求参数说明

参数调用方描述
 H5开启摄像头,App收到后会检测摄像头相关权限,渲染摄像头捕捉画面

 

closeCamera

1、示例

2、请求参数说明

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

 

startCapture

1、示例

2、请求参数说明

参数调用方描述
 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
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、请求参数说明

参数调用方描述
status: 开始、结束跟音(start| end)H5跟音功能,开启调音器声音检测功能,接收到频率回调时,发送cloudFollowTime 将获取到的frequency 传给H5

 

cloudFollowTime

1、示例

2、请求参数说明

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

 


 

合成相关

openAdjustRecording

1、示例

2、请求参数说明

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

 

hideComplexButton

1、示例

2、请求参数说明

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

 

 

后端评测功能

时序图

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节奏分数

 

###