123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701 |
- <!doctype html>
- <html>
- <head>
- <meta charset='UTF-8'><meta name='viewport' content='width=device-width initial-scale=1'>
- <link href='https://fonts.loli.net/css?family=Open+Sans:400italic,700italic,700,400&subset=latin,latin-ext' rel='stylesheet' type='text/css' /><style type='text/css'>html {overflow-x: initial !important;}:root { --bg-color:#ffffff; --text-color:#333333; --select-text-bg-color:#B5D6FC; --select-text-font-color:auto; --monospace:"Lucida Console",Consolas,"Courier",monospace; --title-bar-height:20px; }
- .mac-os-11 { --title-bar-height:28px; }
- html { font-size: 14px; background-color: var(--bg-color); color: var(--text-color); font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; -webkit-font-smoothing: antialiased; }
- body { margin: 0px; padding: 0px; height: auto; inset: 0px; font-size: 1rem; line-height: 1.42857; overflow-x: hidden; background: inherit; tab-size: 4; }
- iframe { margin: auto; }
- a.url { word-break: break-all; }
- a:active, a:hover { outline: 0px; }
- .in-text-selection, ::selection { text-shadow: none; background: var(--select-text-bg-color); color: var(--select-text-font-color); }
- #write { margin: 0px auto; height: auto; width: inherit; word-break: normal; overflow-wrap: break-word; position: relative; white-space: normal; overflow-x: visible; padding-top: 36px; }
- #write.first-line-indent p { text-indent: 2em; }
- #write.first-line-indent li p, #write.first-line-indent p * { text-indent: 0px; }
- #write.first-line-indent li { margin-left: 2em; }
- .for-image #write { padding-left: 8px; padding-right: 8px; }
- body.typora-export { padding-left: 30px; padding-right: 30px; }
- .typora-export .footnote-line, .typora-export li, .typora-export p { white-space: pre-wrap; }
- .typora-export .task-list-item input { pointer-events: none; }
- @media screen and (max-width: 500px) {
- body.typora-export { padding-left: 0px; padding-right: 0px; }
- #write { padding-left: 20px; padding-right: 20px; }
- .CodeMirror-sizer { margin-left: 0px !important; }
- .CodeMirror-gutters { display: none !important; }
- }
- #write li > figure:last-child { margin-bottom: 0.5rem; }
- #write ol, #write ul { position: relative; }
- img { max-width: 100%; vertical-align: middle; image-orientation: from-image; }
- button, input, select, textarea { color: inherit; font: inherit; }
- input[type="checkbox"], input[type="radio"] { line-height: normal; padding: 0px; }
- *, ::after, ::before { box-sizing: border-box; }
- #write h1, #write h2, #write h3, #write h4, #write h5, #write h6, #write p, #write pre { width: inherit; }
- #write h1, #write h2, #write h3, #write h4, #write h5, #write h6, #write p { position: relative; }
- p { line-height: inherit; }
- h1, h2, h3, h4, h5, h6 { break-after: avoid-page; break-inside: avoid; orphans: 4; }
- p { orphans: 4; }
- h1 { font-size: 2rem; }
- h2 { font-size: 1.8rem; }
- h3 { font-size: 1.6rem; }
- h4 { font-size: 1.4rem; }
- h5 { font-size: 1.2rem; }
- h6 { font-size: 1rem; }
- .md-math-block, .md-rawblock, h1, h2, h3, h4, h5, h6, p { margin-top: 1rem; margin-bottom: 1rem; }
- .hidden { display: none; }
- .md-blockmeta { color: rgb(204, 204, 204); font-weight: 700; font-style: italic; }
- a { cursor: pointer; }
- sup.md-footnote { padding: 2px 4px; background-color: rgba(238, 238, 238, 0.7); color: rgb(85, 85, 85); border-radius: 4px; cursor: pointer; }
- sup.md-footnote a, sup.md-footnote a:hover { color: inherit; text-transform: inherit; text-decoration: inherit; }
- #write input[type="checkbox"] { cursor: pointer; width: inherit; height: inherit; }
- figure { overflow-x: auto; margin: 1.2em 0px; max-width: calc(100% + 16px); padding: 0px; }
- figure > table { margin: 0px; }
- tr { break-inside: avoid; break-after: auto; }
- thead { display: table-header-group; }
- table { border-collapse: collapse; border-spacing: 0px; width: 100%; overflow: auto; break-inside: auto; text-align: left; }
- table.md-table td { min-width: 32px; }
- .CodeMirror-gutters { border-right: 0px; background-color: inherit; }
- .CodeMirror-linenumber { user-select: none; }
- .CodeMirror { text-align: left; }
- .CodeMirror-placeholder { opacity: 0.3; }
- .CodeMirror pre { padding: 0px 4px; }
- .CodeMirror-lines { padding: 0px; }
- div.hr:focus { cursor: none; }
- #write pre { white-space: pre-wrap; }
- #write.fences-no-line-wrapping pre { white-space: pre; }
- #write pre.ty-contain-cm { white-space: normal; }
- .CodeMirror-gutters { margin-right: 4px; }
- .md-fences { font-size: 0.9rem; display: block; break-inside: avoid; text-align: left; overflow: visible; white-space: pre; background: inherit; position: relative !important; }
- .md-fences-adv-panel { width: 100%; margin-top: 10px; text-align: center; padding-top: 0px; padding-bottom: 8px; overflow-x: auto; }
- #write .md-fences.mock-cm { white-space: pre-wrap; }
- .md-fences.md-fences-with-lineno { padding-left: 0px; }
- #write.fences-no-line-wrapping .md-fences.mock-cm { white-space: pre; overflow-x: auto; }
- .md-fences.mock-cm.md-fences-with-lineno { padding-left: 8px; }
- .CodeMirror-line, twitterwidget { break-inside: avoid; }
- .footnotes { opacity: 0.8; font-size: 0.9rem; margin-top: 1em; margin-bottom: 1em; }
- .footnotes + .footnotes { margin-top: 0px; }
- .md-reset { margin: 0px; padding: 0px; border: 0px; outline: 0px; vertical-align: top; background: 0px 0px; text-decoration: none; text-shadow: none; float: none; position: static; width: auto; height: auto; white-space: nowrap; cursor: inherit; -webkit-tap-highlight-color: transparent; line-height: normal; font-weight: 400; text-align: left; box-sizing: content-box; direction: ltr; }
- li div { padding-top: 0px; }
- blockquote { margin: 1rem 0px; }
- li .mathjax-block, li p { margin: 0.5rem 0px; }
- li blockquote { margin: 1rem 0px; }
- li { margin: 0px; position: relative; }
- blockquote > :last-child { margin-bottom: 0px; }
- blockquote > :first-child, li > :first-child { margin-top: 0px; }
- .footnotes-area { color: rgb(136, 136, 136); margin-top: 0.714rem; padding-bottom: 0.143rem; white-space: normal; }
- #write .footnote-line { white-space: pre-wrap; }
- @media print {
- body, html { border: 1px solid transparent; height: 99%; break-after: avoid; break-before: avoid; font-variant-ligatures: no-common-ligatures; }
- #write { margin-top: 0px; padding-top: 0px; border-color: transparent !important; }
- .typora-export * { -webkit-print-color-adjust: exact; }
- .typora-export #write { break-after: avoid; }
- .typora-export #write::after { height: 0px; }
- .is-mac table { break-inside: avoid; }
- .typora-export-show-outline .typora-export-sidebar { display: none; }
- }
- .footnote-line { margin-top: 0.714em; font-size: 0.7em; }
- a img, img a { cursor: pointer; }
- pre.md-meta-block { font-size: 0.8rem; min-height: 0.8rem; white-space: pre-wrap; background: rgb(204, 204, 204); display: block; overflow-x: hidden; }
- p > .md-image:only-child:not(.md-img-error) img, p > img:only-child { display: block; margin: auto; }
- #write.first-line-indent p > .md-image:only-child:not(.md-img-error) img { left: -2em; position: relative; }
- p > .md-image:only-child { display: inline-block; width: 100%; }
- #write .MathJax_Display { margin: 0.8em 0px 0px; }
- .md-math-block { width: 100%; }
- .md-math-block:not(:empty)::after { display: none; }
- .MathJax_ref { fill: currentcolor; }
- [contenteditable="true"]:active, [contenteditable="true"]:focus, [contenteditable="false"]:active, [contenteditable="false"]:focus { outline: 0px; box-shadow: none; }
- .md-task-list-item { position: relative; list-style-type: none; }
- .task-list-item.md-task-list-item { padding-left: 0px; }
- .md-task-list-item > input { position: absolute; top: 0px; left: 0px; margin-left: -1.2em; margin-top: calc(1em - 10px); border: none; }
- .math { font-size: 1rem; }
- .md-toc { min-height: 3.58rem; position: relative; font-size: 0.9rem; border-radius: 10px; }
- .md-toc-content { position: relative; margin-left: 0px; }
- .md-toc-content::after, .md-toc::after { display: none; }
- .md-toc-item { display: block; color: rgb(65, 131, 196); }
- .md-toc-item a { text-decoration: none; }
- .md-toc-inner:hover { text-decoration: underline; }
- .md-toc-inner { display: inline-block; cursor: pointer; }
- .md-toc-h1 .md-toc-inner { margin-left: 0px; font-weight: 700; }
- .md-toc-h2 .md-toc-inner { margin-left: 2em; }
- .md-toc-h3 .md-toc-inner { margin-left: 4em; }
- .md-toc-h4 .md-toc-inner { margin-left: 6em; }
- .md-toc-h5 .md-toc-inner { margin-left: 8em; }
- .md-toc-h6 .md-toc-inner { margin-left: 10em; }
- @media screen and (max-width: 48em) {
- .md-toc-h3 .md-toc-inner { margin-left: 3.5em; }
- .md-toc-h4 .md-toc-inner { margin-left: 5em; }
- .md-toc-h5 .md-toc-inner { margin-left: 6.5em; }
- .md-toc-h6 .md-toc-inner { margin-left: 8em; }
- }
- a.md-toc-inner { font-size: inherit; font-style: inherit; font-weight: inherit; line-height: inherit; }
- .footnote-line a:not(.reversefootnote) { color: inherit; }
- .md-attr { display: none; }
- .md-fn-count::after { content: "."; }
- code, pre, samp, tt { font-family: var(--monospace); }
- kbd { margin: 0px 0.1em; padding: 0.1em 0.6em; font-size: 0.8em; color: rgb(36, 39, 41); background: rgb(255, 255, 255); border: 1px solid rgb(173, 179, 185); border-radius: 3px; box-shadow: rgba(12, 13, 14, 0.2) 0px 1px 0px, rgb(255, 255, 255) 0px 0px 0px 2px inset; white-space: nowrap; vertical-align: middle; }
- .md-comment { color: rgb(162, 127, 3); opacity: 0.6; font-family: var(--monospace); }
- code { text-align: left; vertical-align: initial; }
- a.md-print-anchor { white-space: pre !important; border-width: initial !important; border-style: none !important; border-color: initial !important; display: inline-block !important; position: absolute !important; width: 1px !important; right: 0px !important; outline: 0px !important; background: 0px 0px !important; text-decoration: initial !important; text-shadow: initial !important; }
- .os-windows.monocolor-emoji .md-emoji { font-family: "Segoe UI Symbol", sans-serif; }
- .md-diagram-panel > svg { max-width: 100%; }
- [lang="flow"] svg, [lang="mermaid"] svg { max-width: 100%; height: auto; }
- [lang="mermaid"] .node text { font-size: 1rem; }
- table tr th { border-bottom: 0px; }
- video { max-width: 100%; display: block; margin: 0px auto; }
- iframe { max-width: 100%; width: 100%; border: none; }
- .highlight td, .highlight tr { border: 0px; }
- mark { background: rgb(255, 255, 0); color: rgb(0, 0, 0); }
- .md-html-inline .md-plain, .md-html-inline strong, mark .md-inline-math, mark strong { color: inherit; }
- .md-expand mark .md-meta { opacity: 0.3 !important; }
- mark .md-meta { color: rgb(0, 0, 0); }
- @media print {
- .typora-export h1, .typora-export h2, .typora-export h3, .typora-export h4, .typora-export h5, .typora-export h6 { break-inside: avoid; }
- }
- .md-diagram-panel .messageText { stroke: none !important; }
- .md-diagram-panel .start-state { fill: var(--node-fill); }
- .md-diagram-panel .edgeLabel rect { opacity: 1 !important; }
- .md-fences.md-fences-math { font-size: 1em; }
- .md-fences-advanced:not(.md-focus) { padding: 0px; white-space: nowrap; border: 0px; }
- .md-fences-advanced:not(.md-focus) { background: inherit; }
- .typora-export-show-outline .typora-export-content { max-width: 1440px; margin: auto; display: flex; flex-direction: row; }
- .typora-export-sidebar { width: 300px; font-size: 0.8rem; margin-top: 80px; margin-right: 18px; }
- .typora-export-show-outline #write { --webkit-flex:2; flex: 2 1 0%; }
- .typora-export-sidebar .outline-content { position: fixed; top: 0px; max-height: 100%; overflow: hidden auto; padding-bottom: 30px; padding-top: 60px; width: 300px; }
- @media screen and (max-width: 1024px) {
- .typora-export-sidebar, .typora-export-sidebar .outline-content { width: 240px; }
- }
- @media screen and (max-width: 800px) {
- .typora-export-sidebar { display: none; }
- }
- .outline-content li, .outline-content ul { margin-left: 0px; margin-right: 0px; padding-left: 0px; padding-right: 0px; list-style: none; }
- .outline-content ul { margin-top: 0px; margin-bottom: 0px; }
- .outline-content strong { font-weight: 400; }
- .outline-expander { width: 1rem; height: 1.42857rem; position: relative; display: table-cell; vertical-align: middle; cursor: pointer; padding-left: 4px; }
- .outline-expander::before { content: ""; position: relative; font-family: Ionicons; display: inline-block; font-size: 8px; vertical-align: middle; }
- .outline-item { padding-top: 3px; padding-bottom: 3px; cursor: pointer; }
- .outline-expander:hover::before { content: ""; }
- .outline-h1 > .outline-item { padding-left: 0px; }
- .outline-h2 > .outline-item { padding-left: 1em; }
- .outline-h3 > .outline-item { padding-left: 2em; }
- .outline-h4 > .outline-item { padding-left: 3em; }
- .outline-h5 > .outline-item { padding-left: 4em; }
- .outline-h6 > .outline-item { padding-left: 5em; }
- .outline-label { cursor: pointer; display: table-cell; vertical-align: middle; text-decoration: none; color: inherit; }
- .outline-label:hover { text-decoration: underline; }
- .outline-item:hover { border-color: rgb(245, 245, 245); background-color: var(--item-hover-bg-color); }
- .outline-item:hover { margin-left: -28px; margin-right: -28px; border-left: 28px solid transparent; border-right: 28px solid transparent; }
- .outline-item-single .outline-expander::before, .outline-item-single .outline-expander:hover::before { display: none; }
- .outline-item-open > .outline-item > .outline-expander::before { content: ""; }
- .outline-children { display: none; }
- .info-panel-tab-wrapper { display: none; }
- .outline-item-open > .outline-children { display: block; }
- .typora-export .outline-item { padding-top: 1px; padding-bottom: 1px; }
- .typora-export .outline-item:hover { margin-right: -8px; border-right: 8px solid transparent; }
- .typora-export .outline-expander::before { content: "+"; font-family: inherit; top: -1px; }
- .typora-export .outline-expander:hover::before, .typora-export .outline-item-open > .outline-item > .outline-expander::before { content: "−"; }
- .typora-export-collapse-outline .outline-children { display: none; }
- .typora-export-collapse-outline .outline-item-open > .outline-children, .typora-export-no-collapse-outline .outline-children { display: block; }
- .typora-export-no-collapse-outline .outline-expander::before { content: "" !important; }
- .typora-export-show-outline .outline-item-active > .outline-item .outline-label { font-weight: 700; }
- .md-inline-math-container mjx-container { zoom: 0.95; }
- .CodeMirror { height: auto; }
- .CodeMirror.cm-s-inner { background: inherit; }
- .CodeMirror-scroll { overflow: auto hidden; z-index: 3; }
- .CodeMirror-gutter-filler, .CodeMirror-scrollbar-filler { background-color: rgb(255, 255, 255); }
- .CodeMirror-gutters { border-right: 1px solid rgb(221, 221, 221); background: inherit; white-space: nowrap; }
- .CodeMirror-linenumber { padding: 0px 3px 0px 5px; text-align: right; color: rgb(153, 153, 153); }
- .cm-s-inner .cm-keyword { color: rgb(119, 0, 136); }
- .cm-s-inner .cm-atom, .cm-s-inner.cm-atom { color: rgb(34, 17, 153); }
- .cm-s-inner .cm-number { color: rgb(17, 102, 68); }
- .cm-s-inner .cm-def { color: rgb(0, 0, 255); }
- .cm-s-inner .cm-variable { color: rgb(0, 0, 0); }
- .cm-s-inner .cm-variable-2 { color: rgb(0, 85, 170); }
- .cm-s-inner .cm-variable-3 { color: rgb(0, 136, 85); }
- .cm-s-inner .cm-string { color: rgb(170, 17, 17); }
- .cm-s-inner .cm-property { color: rgb(0, 0, 0); }
- .cm-s-inner .cm-operator { color: rgb(152, 26, 26); }
- .cm-s-inner .cm-comment, .cm-s-inner.cm-comment { color: rgb(170, 85, 0); }
- .cm-s-inner .cm-string-2 { color: rgb(255, 85, 0); }
- .cm-s-inner .cm-meta { color: rgb(85, 85, 85); }
- .cm-s-inner .cm-qualifier { color: rgb(85, 85, 85); }
- .cm-s-inner .cm-builtin { color: rgb(51, 0, 170); }
- .cm-s-inner .cm-bracket { color: rgb(153, 153, 119); }
- .cm-s-inner .cm-tag { color: rgb(17, 119, 0); }
- .cm-s-inner .cm-attribute { color: rgb(0, 0, 204); }
- .cm-s-inner .cm-header, .cm-s-inner.cm-header { color: rgb(0, 0, 255); }
- .cm-s-inner .cm-quote, .cm-s-inner.cm-quote { color: rgb(0, 153, 0); }
- .cm-s-inner .cm-hr, .cm-s-inner.cm-hr { color: rgb(153, 153, 153); }
- .cm-s-inner .cm-link, .cm-s-inner.cm-link { color: rgb(0, 0, 204); }
- .cm-negative { color: rgb(221, 68, 68); }
- .cm-positive { color: rgb(34, 153, 34); }
- .cm-header, .cm-strong { font-weight: 700; }
- .cm-del { text-decoration: line-through; }
- .cm-em { font-style: italic; }
- .cm-link { text-decoration: underline; }
- .cm-error { color: red; }
- .cm-invalidchar { color: red; }
- .cm-constant { color: rgb(38, 139, 210); }
- .cm-defined { color: rgb(181, 137, 0); }
- div.CodeMirror span.CodeMirror-matchingbracket { color: rgb(0, 255, 0); }
- div.CodeMirror span.CodeMirror-nonmatchingbracket { color: rgb(255, 34, 34); }
- .cm-s-inner .CodeMirror-activeline-background { background: inherit; }
- .CodeMirror { position: relative; overflow: hidden; }
- .CodeMirror-scroll { height: 100%; outline: 0px; position: relative; box-sizing: content-box; background: inherit; }
- .CodeMirror-sizer { position: relative; }
- .CodeMirror-gutter-filler, .CodeMirror-hscrollbar, .CodeMirror-scrollbar-filler, .CodeMirror-vscrollbar { position: absolute; z-index: 6; display: none; outline: 0px; }
- .CodeMirror-vscrollbar { right: 0px; top: 0px; overflow: hidden; }
- .CodeMirror-hscrollbar { bottom: 0px; left: 0px; overflow: auto hidden; }
- .CodeMirror-scrollbar-filler { right: 0px; bottom: 0px; }
- .CodeMirror-gutter-filler { left: 0px; bottom: 0px; }
- .CodeMirror-gutters { position: absolute; left: 0px; top: 0px; padding-bottom: 10px; z-index: 3; overflow-y: hidden; }
- .CodeMirror-gutter { white-space: normal; height: 100%; box-sizing: content-box; padding-bottom: 30px; margin-bottom: -32px; display: inline-block; }
- .CodeMirror-gutter-wrapper { position: absolute; z-index: 4; background: 0px 0px !important; border: none !important; }
- .CodeMirror-gutter-background { position: absolute; top: 0px; bottom: 0px; z-index: 4; }
- .CodeMirror-gutter-elt { position: absolute; cursor: default; z-index: 4; }
- .CodeMirror-lines { cursor: text; }
- .CodeMirror pre { border-radius: 0px; border-width: 0px; background: 0px 0px; font-family: inherit; font-size: inherit; margin: 0px; white-space: pre; overflow-wrap: normal; color: inherit; z-index: 2; position: relative; overflow: visible; }
- .CodeMirror-wrap pre { overflow-wrap: break-word; white-space: pre-wrap; word-break: normal; }
- .CodeMirror-code pre { border-right: 30px solid transparent; width: fit-content; }
- .CodeMirror-wrap .CodeMirror-code pre { border-right: none; width: auto; }
- .CodeMirror-linebackground { position: absolute; inset: 0px; z-index: 0; }
- .CodeMirror-linewidget { position: relative; z-index: 2; overflow: auto; }
- .CodeMirror-wrap .CodeMirror-scroll { overflow-x: hidden; }
- .CodeMirror-measure { position: absolute; width: 100%; height: 0px; overflow: hidden; visibility: hidden; }
- .CodeMirror-measure pre { position: static; }
- .CodeMirror div.CodeMirror-cursor { position: absolute; visibility: hidden; border-right: none; width: 0px; }
- .CodeMirror div.CodeMirror-cursor { visibility: hidden; }
- .CodeMirror-focused div.CodeMirror-cursor { visibility: inherit; }
- .cm-searching { background: rgba(255, 255, 0, 0.4); }
- span.cm-underlined { text-decoration: underline; }
- span.cm-strikethrough { text-decoration: line-through; }
- .cm-tw-syntaxerror { color: rgb(255, 255, 255); background-color: rgb(153, 0, 0); }
- .cm-tw-deleted { text-decoration: line-through; }
- .cm-tw-header5 { font-weight: 700; }
- .cm-tw-listitem:first-child { padding-left: 10px; }
- .cm-tw-box { border-style: solid; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-color: inherit; border-top-width: 0px !important; }
- .cm-tw-underline { text-decoration: underline; }
- @media print {
- .CodeMirror div.CodeMirror-cursor { visibility: hidden; }
- }
- :root {
- --side-bar-bg-color: #fafafa;
- --control-text-color: #777;
- }
- @include-when-export url(https://fonts.loli.net/css?family=Open+Sans:400italic,700italic,700,400&subset=latin,latin-ext);
- /* open-sans-regular - latin-ext_latin */
- /* open-sans-italic - latin-ext_latin */
- /* open-sans-700 - latin-ext_latin */
- /* open-sans-700italic - latin-ext_latin */
- html {
- font-size: 16px;
- -webkit-font-smoothing: antialiased;
- }
- body {
- font-family: "Open Sans","Clear Sans", "Helvetica Neue", Helvetica, Arial, 'Segoe UI Emoji', sans-serif;
- color: rgb(51, 51, 51);
- line-height: 1.6;
- }
- #write {
- max-width: 860px;
- margin: 0 auto;
- padding: 30px;
- padding-bottom: 100px;
- }
- @media only screen and (min-width: 1400px) {
- #write {
- max-width: 1024px;
- }
- }
- @media only screen and (min-width: 1800px) {
- #write {
- max-width: 1200px;
- }
- }
- #write > ul:first-child,
- #write > ol:first-child{
- margin-top: 30px;
- }
- a {
- color: #4183C4;
- }
- h1,
- h2,
- h3,
- h4,
- h5,
- h6 {
- position: relative;
- margin-top: 1rem;
- margin-bottom: 1rem;
- font-weight: bold;
- line-height: 1.4;
- cursor: text;
- }
- h1:hover a.anchor,
- h2:hover a.anchor,
- h3:hover a.anchor,
- h4:hover a.anchor,
- h5:hover a.anchor,
- h6:hover a.anchor {
- text-decoration: none;
- }
- h1 tt,
- h1 code {
- font-size: inherit;
- }
- h2 tt,
- h2 code {
- font-size: inherit;
- }
- h3 tt,
- h3 code {
- font-size: inherit;
- }
- h4 tt,
- h4 code {
- font-size: inherit;
- }
- h5 tt,
- h5 code {
- font-size: inherit;
- }
- h6 tt,
- h6 code {
- font-size: inherit;
- }
- h1 {
- font-size: 2.25em;
- line-height: 1.2;
- border-bottom: 1px solid #eee;
- }
- h2 {
- font-size: 1.75em;
- line-height: 1.225;
- border-bottom: 1px solid #eee;
- }
- /*@media print {
- .typora-export h1,
- .typora-export h2 {
- border-bottom: none;
- padding-bottom: initial;
- }
- .typora-export h1::after,
- .typora-export h2::after {
- content: "";
- display: block;
- height: 100px;
- margin-top: -96px;
- border-top: 1px solid #eee;
- }
- }*/
- h3 {
- font-size: 1.5em;
- line-height: 1.43;
- }
- h4 {
- font-size: 1.25em;
- }
- h5 {
- font-size: 1em;
- }
- h6 {
- font-size: 1em;
- color: #777;
- }
- p,
- blockquote,
- ul,
- ol,
- dl,
- table{
- margin: 0.8em 0;
- }
- li>ol,
- li>ul {
- margin: 0 0;
- }
- hr {
- height: 2px;
- padding: 0;
- margin: 16px 0;
- background-color: #e7e7e7;
- border: 0 none;
- overflow: hidden;
- box-sizing: content-box;
- }
- li p.first {
- display: inline-block;
- }
- ul,
- ol {
- padding-left: 30px;
- }
- ul:first-child,
- ol:first-child {
- margin-top: 0;
- }
- ul:last-child,
- ol:last-child {
- margin-bottom: 0;
- }
- blockquote {
- border-left: 4px solid #dfe2e5;
- padding: 0 15px;
- color: #777777;
- }
- blockquote blockquote {
- padding-right: 0;
- }
- table {
- padding: 0;
- word-break: initial;
- }
- table tr {
- border: 1px solid #dfe2e5;
- margin: 0;
- padding: 0;
- }
- table tr:nth-child(2n),
- thead {
- background-color: #f8f8f8;
- }
- table th {
- font-weight: bold;
- border: 1px solid #dfe2e5;
- border-bottom: 0;
- margin: 0;
- padding: 6px 13px;
- }
- table td {
- border: 1px solid #dfe2e5;
- margin: 0;
- padding: 6px 13px;
- }
- table th:first-child,
- table td:first-child {
- margin-top: 0;
- }
- table th:last-child,
- table td:last-child {
- margin-bottom: 0;
- }
- .CodeMirror-lines {
- padding-left: 4px;
- }
- .code-tooltip {
- box-shadow: 0 1px 1px 0 rgba(0,28,36,.3);
- border-top: 1px solid #eef2f2;
- }
- .md-fences,
- code,
- tt {
- border: 1px solid #e7eaed;
- background-color: #f8f8f8;
- border-radius: 3px;
- padding: 0;
- padding: 2px 4px 0px 4px;
- font-size: 0.9em;
- }
- code {
- background-color: #f3f4f4;
- padding: 0 2px 0 2px;
- }
- .md-fences {
- margin-bottom: 15px;
- margin-top: 15px;
- padding-top: 8px;
- padding-bottom: 6px;
- }
- .md-task-list-item > input {
- margin-left: -1.3em;
- }
- @media print {
- html {
- font-size: 13px;
- }
- table,
- pre {
- page-break-inside: avoid;
- }
- pre {
- word-wrap: break-word;
- }
- }
- .md-fences {
- background-color: #f8f8f8;
- }
- #write pre.md-meta-block {
- padding: 1rem;
- font-size: 85%;
- line-height: 1.45;
- background-color: #f7f7f7;
- border: 0;
- border-radius: 3px;
- color: #777777;
- margin-top: 0 !important;
- }
- .mathjax-block>.code-tooltip {
- bottom: .375rem;
- }
- .md-mathjax-midline {
- background: #fafafa;
- }
- #write>h3.md-focus:before{
- left: -1.5625rem;
- top: .375rem;
- }
- #write>h4.md-focus:before{
- left: -1.5625rem;
- top: .285714286rem;
- }
- #write>h5.md-focus:before{
- left: -1.5625rem;
- top: .285714286rem;
- }
- #write>h6.md-focus:before{
- left: -1.5625rem;
- top: .285714286rem;
- }
- .md-image>.md-meta {
- /*border: 1px solid #ddd;*/
- border-radius: 3px;
- padding: 2px 0px 0px 4px;
- font-size: 0.9em;
- color: inherit;
- }
- .md-tag {
- color: #a7a7a7;
- opacity: 1;
- }
- .md-toc {
- margin-top:20px;
- padding-bottom:20px;
- }
- .sidebar-tabs {
- border-bottom: none;
- }
- #typora-quick-open {
- border: 1px solid #ddd;
- background-color: #f8f8f8;
- }
- #typora-quick-open-item {
- background-color: #FAFAFA;
- border-color: #FEFEFE #e5e5e5 #e5e5e5 #eee;
- border-style: solid;
- border-width: 1px;
- }
- /** focus mode */
- .on-focus-mode blockquote {
- border-left-color: rgba(85, 85, 85, 0.12);
- }
- header, .context-menu, .megamenu-content, footer{
- font-family: "Segoe UI", "Arial", sans-serif;
- }
- .file-node-content:hover .file-node-icon,
- .file-node-content:hover .file-node-open-state{
- visibility: visible;
- }
- .mac-seamless-mode #typora-sidebar {
- background-color: #fafafa;
- background-color: var(--side-bar-bg-color);
- }
- .md-lang {
- color: #b4654d;
- }
- /*.html-for-mac {
- --item-hover-bg-color: #E6F0FE;
- }*/
- #md-notification .btn {
- border: 0;
- }
- .dropdown-menu .divider {
- border-color: #e5e5e5;
- opacity: 0.4;
- }
- .ty-preferences .window-content {
- background-color: #fafafa;
- }
- .ty-preferences .nav-group-item.active {
- color: white;
- background: #999;
- }
- .menu-item-container a.menu-style-btn {
- background-color: #f5f8fa;
- background-image: linear-gradient( 180deg , hsla(0, 0%, 100%, 0.8), hsla(0, 0%, 100%, 0));
- }
- </style><title>云教练文档整合v2023.12.28</title>
- </head>
- <body class='typora-export os-windows typora-export-show-outline typora-export-collapse-outline'><div class='typora-export-content'>
- <div class="typora-export-sidebar"><div class="outline-content"><li class="outline-item-wrapper outline-h1 outline-item-open"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#云教练文档整合v20231228">云教练文档整合v2023.12.28</a></div><ul class="outline-children"><li class="outline-item-wrapper outline-h2 outline-item-single"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#更新记录">更新记录</a></div><ul class="outline-children"></ul></li><li class="outline-item-wrapper outline-h2"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#云教练功能点">云教练功能点</a></div><ul class="outline-children"><li class="outline-item-wrapper outline-h3"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#曲目详情页">曲目详情页</a></div><ul class="outline-children"><li class="outline-item-wrapper outline-h4 outline-item-single"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#转谱-1">转谱</a></div><ul class="outline-children"></ul></li><li class="outline-item-wrapper outline-h4 outline-item-single"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#切换声轨-1">切换声轨</a></div><ul class="outline-children"></ul></li><li class="outline-item-wrapper outline-h4 outline-item-single"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#试听">试听</a></div><ul class="outline-children"></ul></li><li class="outline-item-wrapper outline-h4 outline-item-single"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#下载曲目">下载曲目</a></div><ul class="outline-children"></ul></li></ul></li><li class="outline-item-wrapper outline-h3"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#云教练通用功能">云教练通用功能</a></div><ul class="outline-children"><li class="outline-item-wrapper outline-h4 outline-item-single"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#模式切换">模式切换</a></div><ul class="outline-children"></ul></li><li class="outline-item-wrapper outline-h4 outline-item-single"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#转谱-2">转谱</a></div><ul class="outline-children"></ul></li><li class="outline-item-wrapper outline-h4 outline-item-single"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#切换声轨-2">切换声轨</a></div><ul class="outline-children"></ul></li><li class="outline-item-wrapper outline-h4 outline-item-single"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#指法开关">指法开关</a></div><ul class="outline-children"></ul></li><li class="outline-item-wrapper outline-h4 outline-item-single"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#指针模式调整">指针模式调整</a></div><ul class="outline-children"></ul></li><li class="outline-item-wrapper outline-h4 outline-item-single"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#节拍器开关">节拍器开关</a></div><ul class="outline-children"></ul></li><li class="outline-item-wrapper outline-h4 outline-item-single"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#节拍器音量">节拍器音量</a></div><ul class="outline-children"></ul></li><li class="outline-item-wrapper outline-h4 outline-item-single"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#循环播放">循环播放</a></div><ul class="outline-children"></ul></li><li class="outline-item-wrapper outline-h4 outline-item-single"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#护眼模式">护眼模式</a></div><ul class="outline-children"></ul></li><li class="outline-item-wrapper outline-h4 outline-item-single"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#投屏帮助">投屏帮助</a></div><ul class="outline-children"></ul></li></ul></li><li class="outline-item-wrapper outline-h3"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#练习模式">练习模式</a></div><ul class="outline-children"><li class="outline-item-wrapper outline-h4 outline-item-single"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#原声伴奏切换">原声伴奏切换</a></div><ul class="outline-children"></ul></li><li class="outline-item-wrapper outline-h4 outline-item-single"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#选段">选段</a></div><ul class="outline-children"></ul></li><li class="outline-item-wrapper outline-h4 outline-item-single"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#速度调整">速度调整</a></div><ul class="outline-children"></ul></li><li class="outline-item-wrapper outline-h4 outline-item-single"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#播放">播放</a></div><ul class="outline-children"></ul></li><li class="outline-item-wrapper outline-h4 outline-item-single"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#暂停">暂停</a></div><ul class="outline-children"></ul></li><li class="outline-item-wrapper outline-h4 outline-item-single"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#重播">重播</a></div><ul class="outline-children"></ul></li></ul></li><li class="outline-item-wrapper outline-h3"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#跟练模式">跟练模式</a></div><ul class="outline-children"><li class="outline-item-wrapper outline-h4 outline-item-single"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#开始演奏">开始演奏</a></div><ul class="outline-children"></ul></li><li class="outline-item-wrapper outline-h4 outline-item-single"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#结束演奏">结束演奏</a></div><ul class="outline-children"></ul></li></ul></li><li class="outline-item-wrapper outline-h3"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#评测模式">评测模式</a></div><ul class="outline-children"><li class="outline-item-wrapper outline-h4 outline-item-single"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#设备延迟检测">设备延迟检测</a></div><ul class="outline-children"></ul></li><li class="outline-item-wrapper outline-h4 outline-item-single"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#评测难度">评测难度</a></div><ul class="outline-children"></ul></li><li class="outline-item-wrapper outline-h4 outline-item-single"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#校音-1">校音</a></div><ul class="outline-children"></ul></li><li class="outline-item-wrapper outline-h4 outline-item-single"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#校音提醒">校音提醒</a></div><ul class="outline-children"></ul></li><li class="outline-item-wrapper outline-h4 outline-item-single"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#开启摄像头">开启摄像头</a></div><ul class="outline-children"></ul></li><li class="outline-item-wrapper outline-h4 outline-item-single"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#ui透明度调整">UI透明度调整</a></div><ul class="outline-children"></ul></li><li class="outline-item-wrapper outline-h4 outline-item-single"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#标准音高">标准音高</a></div><ul class="outline-children"></ul></li><li class="outline-item-wrapper outline-h4 outline-item-single"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#反应时间">反应时间</a></div><ul class="outline-children"></ul></li><li class="outline-item-wrapper outline-h4 outline-item-single"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#开始评测-1">开始评测</a></div><ul class="outline-children"></ul></li><li class="outline-item-wrapper outline-h4 outline-item-single"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#结束评测">结束评测</a></div><ul class="outline-children"></ul></li><li class="outline-item-wrapper outline-h4 outline-item-single"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#评测音频保存">评测音频保存</a></div><ul class="outline-children"></ul></li><li class="outline-item-wrapper outline-h4 outline-item-single"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#评测报告">评测报告</a></div><ul class="outline-children"></ul></li><li class="outline-item-wrapper outline-h4 outline-item-single"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#音频合成">音频合成</a></div><ul class="outline-children"></ul></li></ul></li></ul></li><li class="outline-item-wrapper outline-h2 outline-item-open"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#界面交互流程">界面交互流程</a></div><ul class="outline-children"><li class="outline-item-wrapper outline-h3 outline-item-single"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#曲目详情">曲目详情</a></div><ul class="outline-children"></ul></li><li class="outline-item-wrapper outline-h3 outline-item-single"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#选择模式">选择模式</a></div><ul class="outline-children"></ul></li></ul></li><li class="outline-item-wrapper outline-h2 outline-item-open"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#数据库表结构">数据库表结构</a></div><ul class="outline-children"><li class="outline-item-wrapper outline-h3 outline-item-single"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#曲谱表">曲谱表</a></div><ul class="outline-children"></ul></li><li class="outline-item-wrapper outline-h3 outline-item-single"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#曲谱伴奏表">曲谱伴奏表</a></div><ul class="outline-children"></ul></li><li class="outline-item-wrapper outline-h3 outline-item-single"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#曲谱赏析表">曲谱赏析表</a></div><ul class="outline-children"></ul></li><li class="outline-item-wrapper outline-h3 outline-item-single"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#曲谱分类">曲谱分类</a></div><ul class="outline-children"></ul></li><li class="outline-item-wrapper outline-h3 outline-item-single"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#曲谱原声表">曲谱原声表</a></div><ul class="outline-children"></ul></li><li class="outline-item-wrapper outline-h3 outline-item-single"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#曲谱乐器">曲谱乐器</a></div><ul class="outline-children"></ul></li></ul></li><li class="outline-item-wrapper outline-h2 outline-item-open"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#前端移动端交互">前端&移动端交互</a></div><ul class="outline-children"><li class="outline-item-wrapper outline-h3 outline-item-single"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#交互流程">交互流程</a></div><ul class="outline-children"></ul></li><li class="outline-item-wrapper outline-h3"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#api接口">API接口</a></div><ul class="outline-children"><li class="outline-item-wrapper outline-h4"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#延迟检测">延迟检测</a></div><ul class="outline-children"><li class="outline-item-wrapper outline-h5 outline-item-single"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#createmusicplayer">createMusicPlayer</a></div><ul class="outline-children"></ul></li><li class="outline-item-wrapper outline-h5 outline-item-single"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#starttune">startTune</a></div><ul class="outline-children"></ul></li><li class="outline-item-wrapper outline-h5 outline-item-single"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#endtune">endTune</a></div><ul class="outline-children"></ul></li><li class="outline-item-wrapper outline-h5 outline-item-single"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#finishtune">finishTune</a></div><ul class="outline-children"></ul></li><li class="outline-item-wrapper outline-h5 outline-item-single"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#getdevicedelay">getDeviceDelay</a></div><ul class="outline-children"></ul></li></ul></li><li class="outline-item-wrapper outline-h4"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#评测">评测</a></div><ul class="outline-children"><li class="outline-item-wrapper outline-h5 outline-item-single"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#startevaluating">startEvaluating</a></div><ul class="outline-children"></ul></li><li class="outline-item-wrapper outline-h5 outline-item-single"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#endevaluating">endEvaluating</a></div><ul class="outline-children"></ul></li><li class="outline-item-wrapper outline-h5 outline-item-single"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#cancelevaluating">cancelEvaluating</a></div><ul class="outline-children"></ul></li><li class="outline-item-wrapper outline-h5 outline-item-single"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#startrecording">startRecording</a></div><ul class="outline-children"></ul></li><li class="outline-item-wrapper outline-h5 outline-item-single"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#endrecording"><del>endRecording</del></a></div><ul class="outline-children"></ul></li><li class="outline-item-wrapper outline-h5 outline-item-single"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#playprogress">playProgress</a></div><ul class="outline-children"></ul></li><li class="outline-item-wrapper outline-h5 outline-item-single"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#pauserecording"><del>pauseRecording</del></a></div><ul class="outline-children"></ul></li><li class="outline-item-wrapper outline-h5 outline-item-single"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#resumerecording"><del>resumeRecording</del></a></div><ul class="outline-children"></ul></li><li class="outline-item-wrapper outline-h5 outline-item-single"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#suspendplay">suspendPlay</a></div><ul class="outline-children"></ul></li><li class="outline-item-wrapper outline-h5 outline-item-single"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#iswiredheadseton">isWiredHeadsetOn</a></div><ul class="outline-children"></ul></li><li class="outline-item-wrapper outline-h5 outline-item-single"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#listenerwiredstatus">listenerWiredStatus</a></div><ul class="outline-children"></ul></li><li class="outline-item-wrapper outline-h5 outline-item-single"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#proxymessage"><del>proxyMessage</del></a></div><ul class="outline-children"></ul></li><li class="outline-item-wrapper outline-h5 outline-item-single"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#proxyservicemessage">proxyServiceMessage</a></div><ul class="outline-children"></ul></li><li class="outline-item-wrapper outline-h5 outline-item-single"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#sendresult">sendResult</a></div><ul class="outline-children"></ul></li><li class="outline-item-wrapper outline-h5 outline-item-single"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#opencamera">openCamera</a></div><ul class="outline-children"></ul></li><li class="outline-item-wrapper outline-h5 outline-item-single"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#closecamera">closeCamera</a></div><ul class="outline-children"></ul></li><li class="outline-item-wrapper outline-h5 outline-item-single"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#startcapture">startCapture</a></div><ul class="outline-children"></ul></li><li class="outline-item-wrapper outline-h5 outline-item-single"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#endcapture">endCapture</a></div><ul class="outline-children"></ul></li><li class="outline-item-wrapper outline-h5 outline-item-single"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#setcapturemode">setCaptureMode</a></div><ul class="outline-children"></ul></li><li class="outline-item-wrapper outline-h5 outline-item-single"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#videoupdate">videoUpdate</a></div><ul class="outline-children"></ul></li></ul></li><li class="outline-item-wrapper outline-h4"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#校音-2">校音</a></div><ul class="outline-children"><li class="outline-item-wrapper outline-h5 outline-item-single"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#startsoundcheck">startSoundCheck</a></div><ul class="outline-children"></ul></li><li class="outline-item-wrapper outline-h5 outline-item-single"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#endsoundcheck">endSoundCheck</a></div><ul class="outline-children"></ul></li></ul></li><li class="outline-item-wrapper outline-h4"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#mid播放">Mid播放</a></div><ul class="outline-children"><li class="outline-item-wrapper outline-h5 outline-item-single"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#clouddetail">cloudDetail</a></div><ul class="outline-children"></ul></li><li class="outline-item-wrapper outline-h5 outline-item-single"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#cloudgetmediastatus">cloudGetMediaStatus</a></div><ul class="outline-children"></ul></li><li class="outline-item-wrapper outline-h5 outline-item-single"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#cloudplay">cloudPlay</a></div><ul class="outline-children"></ul></li><li class="outline-item-wrapper outline-h5 outline-item-single"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#cloudsuspend">cloudSuspend</a></div><ul class="outline-children"></ul></li><li class="outline-item-wrapper outline-h5 outline-item-single"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#cloudsetcurrenttime">cloudSetCurrentTime</a></div><ul class="outline-children"></ul></li><li class="outline-item-wrapper outline-h5 outline-item-single"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#cloudchangespeed">cloudChangeSpeed</a></div><ul class="outline-children"></ul></li><li class="outline-item-wrapper outline-h5 outline-item-single"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#cloudvolume">cloudVolume</a></div><ul class="outline-children"></ul></li><li class="outline-item-wrapper outline-h5 outline-item-single"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#cloudmetronome">cloudMetronome</a></div><ul class="outline-children"></ul></li><li class="outline-item-wrapper outline-h5 outline-item-single"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#clouddestroy">cloudDestroy</a></div><ul class="outline-children"></ul></li><li class="outline-item-wrapper outline-h5 outline-item-single"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#cloudtimeupdae">cloudTimeUpdae</a></div><ul class="outline-children"></ul></li><li class="outline-item-wrapper outline-h5 outline-item-single"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#cloudplayed">cloudplayed</a></div><ul class="outline-children"></ul></li></ul></li><li class="outline-item-wrapper outline-h4"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#跟音功能">跟音功能</a></div><ul class="outline-children"><li class="outline-item-wrapper outline-h5 outline-item-single"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#cloudtogglefollow">cloudToggleFollow</a></div><ul class="outline-children"></ul></li><li class="outline-item-wrapper outline-h5 outline-item-single"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#cloudfollowtime">cloudFollowTime</a></div><ul class="outline-children"></ul></li></ul></li><li class="outline-item-wrapper outline-h4"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#合成相关">合成相关</a></div><ul class="outline-children"><li class="outline-item-wrapper outline-h5 outline-item-single"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#openadjustrecording">openAdjustRecording</a></div><ul class="outline-children"></ul></li><li class="outline-item-wrapper outline-h5 outline-item-single"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#hidecomplexbutton">hideComplexButton</a></div><ul class="outline-children"></ul></li></ul></li></ul></li></ul></li><li class="outline-item-wrapper outline-h2 outline-item-open"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#后端评测功能">后端评测功能</a></div><ul class="outline-children"><li class="outline-item-wrapper outline-h3 outline-item-single"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#时序图">时序图</a></div><ul class="outline-children"></ul></li><li class="outline-item-wrapper outline-h3"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#流程说明">流程说明</a></div><ul class="outline-children"><li class="outline-item-wrapper outline-h4 outline-item-single"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#客户端点击开始评测"><strong>客户端点击开始评测</strong></a></div><ul class="outline-children"></ul></li><li class="outline-item-wrapper outline-h4 outline-item-single"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#开始评测-2"><strong>开始评测</strong></a></div><ul class="outline-children"></ul></li><li class="outline-item-wrapper outline-h4 outline-item-single"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#发送音频数据流">发送音频数据流</a></div><ul class="outline-children"></ul></li><li class="outline-item-wrapper outline-h4 outline-item-single"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#取消评测结束评测">取消评测/结束评测</a></div><ul class="outline-children"></ul></li></ul></li></ul></li></ul></li></div></div><div id='write' class=''><h1 id='云教练文档整合v20231228'><span>云教练文档整合v2023.12.28</span></h1><h2 id='更新记录'><span>更新记录</span></h2><ul><li><span>2023年12月28日,辜临轩,创建文档</span></li></ul><p> </p><h2 id='云教练功能点'><span>云教练功能点</span></h2><h3 id='曲目详情页'><span>曲目详情页</span></h3><h4 id='转谱-1'><span>转谱</span></h4><p><strong><span>1、功能描述</span></strong></p><p><span> 1)用户可使用该功能切换五线谱、固定调(简谱)、首调(简谱)显示</span></p><p><strong><span>2、业务规则</span></strong></p><p><span> 1)判断曲目是否为合奏曲目,合奏曲目不可转换简谱(含固定调、首调),声部曲目根据该声部设置的是否支持转简谱判断是否呈现</span></p><p><span> 2)声部曲目根据该声部后台设置是否支持转简谱判断。若该声部设置为不支持转简谱,则不显示该功能;若设置为支持转简谱,则显示该功能</span></p><p><span> 3)不支持转简谱的曲目默认显示五线谱,支持转简谱的声部根据后台设置的默认谱面判断默认显示五线谱、首调、固定调</span></p><p><strong><span>3、操作方式</span></strong></p><p><span> 1)点击转谱功能按钮</span></p><p><span> 2)选择需要切换的谱面类型</span></p><p><span> 3)页面显示的谱面切换为用户所选谱面</span></p><p> </p><h4 id='切换声轨-1'><span>切换声轨</span></h4><p><strong><span>1、功能描述</span></strong></p><p><span> 1)可使用该功能切换谱面显示那一条声轨</span></p><p><strong><span>2、业务规则</span></strong></p><p><span> 1)仅合奏曲目支持切换声轨</span></p><p><span> 2)可切换的声轨根据后台设置该曲目可切换的声轨显示</span></p><p><strong><span>3、操作方式</span></strong></p><p><span> 1)点击切换声轨功能按钮</span></p><p><span> 2)选择需要显示的声轨</span></p><p><span> 3)页面显示的谱面切换为用户所选声轨谱面</span></p><p> </p><h4 id='试听'><span>试听</span></h4><p><strong><span>1、功能描述</span></strong></p><p><span> 1)用户可使用该功能试听当前所选声轨的原声MP3</span></p><p><strong><span>2、业务规则</span></strong></p><p><span> 1)Mid播放的曲目不支持该功能</span></p><p><span> 2)根据用户所选声轨播放该声轨的MP3</span></p><p><strong><span>3、操作方式</span></strong></p><p><span> 1)点击播放按钮</span></p><p><span> 2)播放当前所选声轨播放该声轨的原声MP3</span></p><p> </p><h4 id='下载曲目'><span>下载曲目</span></h4><p><strong><span>1、功能描述</span></strong></p><p><span> 1)可使用该功能下载曲谱图片到设备相册</span></p><p><strong><span>2、业务规则</span></strong></p><p><span> 1)根据当前选择的谱面(五线谱、首调、固定调)和声轨下载对应谱面图片</span></p><p><strong><span>3、操作方式</span></strong></p><p><span> 1)点击下载按钮</span></p><p><span> 2)切换需要下载的谱面页码</span></p><p><span> 3)点击保存按钮</span></p><p><span> 4)图片保存到设备相册</span></p><p> </p><h3 id='云教练通用功能'><span>云教练通用功能</span></h3><h4 id='模式切换'><span>模式切换</span></h4><p><strong><span>1、功能描述</span></strong></p><p><span> 1)用户可使用该功能切换云教练的三种模式</span></p><p><span> 2)三种模式分别为:练习模式、跟练模式、评测模式</span></p><p><strong><span>2、业务规则</span></strong></p><p><span> 1)当该曲目后台没有上传伴奏时,不支持评测模式</span></p><p><strong><span>3、操作方式</span></strong></p><p><span> 1)点击模式按钮</span></p><p><span> 2)显示该曲目可支持的模式</span></p><p><span> 3)点击所需模式按钮</span></p><p><span> 4)进入对应模式界面</span></p><p> </p><h4 id='转谱-2'><span>转谱</span></h4><p><span>同【曲目详情页-切换声轨】</span></p><p> </p><h4 id='切换声轨-2'><span>切换声轨</span></h4><p><span>同【曲目详情页-切换声轨】</span></p><p> </p><h4 id='指法开关'><span>指法开关</span></h4><p><strong><span>1、功能描述</span></strong></p><p><span> 1)用户可使用该功能开启或关闭谱面指法显示</span></p><p><span> 2)默认状态为开始指法显示</span></p><p><span> 3)该功能仅练习模式、跟练模式可用</span></p><p><strong><span>2、业务规则</span></strong></p><p><span> 无</span></p><p><strong><span>3、操作方式</span></strong></p><p><span> 1)点击指法按钮</span></p><p><span> 2)根据用户所切换的开启/关闭状态显示/关闭指法</span></p><p> </p><h4 id='指针模式调整'><span>指针模式调整</span></h4><p><strong><span>1、功能描述</span></strong></p><p><span> 1)该功能用于调整谱面指针的播放方式,共分为三种:音符指针、节拍指针、关闭指针</span></p><p><span> 2)音符指针:播放曲目时,指针跟随音符走动,例:指针走到二分音符时停留两拍后再走到下一个音符</span></p><p><span> 3)节拍指针:播放曲目时,指针跟随节拍走动,例:指针走到二分音符时停留一拍,然后走到后面空白处停留一拍,再走到下一个音符</span></p><p><span> 4)关闭指针:播放曲目时,不显示指针,当前播放小节需高亮显示</span></p><p><span> 5)该功能仅练习模式、评测模式可用</span></p><p><span> 6)默认为音符指针</span></p><p><strong><span>2、业务规则</span></strong></p><p><span> 请自行学习乐理基础中音符、拍号、时值相关知识</span></p><p><strong><span>3、操作方式</span></strong></p><p><span> 1)用户每点击一次切换指针按钮时,依照音符指针、节拍指针、关闭指针顺序切换到下一个</span></p><p> </p><h4 id='节拍器开关'><span>节拍器开关</span></h4><p><strong><span>1、功能描述</span></strong></p><p><span> 1)用户可自行开启或关闭节拍器</span></p><p><span> 2)开启时,当用户使用播放功能,系统根据当前曲目拍号播放节拍声音</span></p><p><span> 3)该功能仅练习模式、跟练模式可用</span></p><p><strong><span>2、业务规则</span></strong></p><p><span> 无</span></p><p><strong><span>3、操作方式</span></strong></p><p><span> 无</span></p><p> </p><h4 id='节拍器音量'><span>节拍器音量</span></h4><p><strong><span>1、功能描述</span></strong></p><p><span> 1)该功能用于调整节拍器的播放音量</span></p><p><strong><span>2、业务规则</span></strong></p><p><span> 1)未开启节拍器时不显示该功能</span></p><p><span> 2)开始节拍器后显示该功能</span></p><p><strong><span>3、操作方式</span></strong></p><p><span> 无</span></p><p> </p><h4 id='循环播放'><span>循环播放</span></h4><p><strong><span>1、功能描述</span></strong></p><p><span> 1)用户可自行开启或关闭该功能</span></p><p><span> 2)功能开启时,用户播放曲目结束后,指针自动跳转第一个小节并自动再次播放</span></p><p><span> 3)当用户使用选段功能选择部分小节播放时,播放结束后跳转所选小节前一个小节开始自动再次播放</span></p><p><span> 4)循环播放时,当用户点击暂停按钮后停止播放</span></p><p><span> 5)关闭该功能时,无论用户是否选段播放,播放结束指针都不跳转并停止播放</span></p><p><strong><span>2、业务规则</span></strong></p><p><span> 1)开启时循环播放,直到用户点击暂停</span></p><p><span> 2)开启且未选段时,播放结束后跳转第一小节再次播放</span></p><p><span> 3)开启且选段时,播放结束后跳转所选小节的前一个小节再次播放</span></p><p><span> 4)关闭时,无论是否选段,播放结束后都不再重复播放</span></p><p><strong><span>3、操作方式</span></strong></p><p><span> 1)点击循环播放按钮,开启魂环播放</span></p><p><span> 2)开启后,当用户正常结束后,指针自动跳转第一小节,再次播放</span></p><p><span> 3)开启后,当用户选段播放结束后,指针自动跳转所选小节的迁移小节,再次播放(从所选小节的前一小节播放)</span></p><p> </p><h4 id='护眼模式'><span>护眼模式</span></h4><p><strong><span>1、功能描述</span></strong></p><p><span> 1)开启护眼模式可将谱面背景颜色改为护眼色</span></p><p><strong><span>2、业务规则</span></strong></p><p><span>无</span></p><p><strong><span>3、操作方式</span></strong></p><p><span> 1)点击护眼模式开关,开启护眼模式</span></p><p><span> 2)谱面背景颜色切换为护眼色</span></p><p> </p><h4 id='投屏帮助'><span>投屏帮助</span></h4><p><strong><span>1、功能描述</span></strong></p><p><span> 1)用户可使用该功能查看设备画面如何投屏到电视上观看</span></p><p><strong><span>2、业务规则</span></strong></p><p><span> 1)根据用户设备系统显示不同的帮助内容</span></p><p><strong><span>3、操作方式</span></strong></p><p><span> 1)点击投屏帮助按钮</span></p><p><span> 2)根据当前设备显示该设备的投屏帮助内容</span></p><p> </p><h3 id='练习模式'><span>练习模式</span></h3><h4 id='原声伴奏切换'><span>原声伴奏切换</span></h4><p><strong><span>1、功能描述</span></strong></p><p><span> 1)用户可使用该功能切换播放时播放的是原声或伴奏</span></p><p><strong><span>2、业务规则</span></strong></p><p><span> 1)该曲目是否上传伴奏,若上传则该功能可用;若未上传则该功能不可使用</span></p><p><strong><span>3、操作方式</span></strong></p><p><span> 1)点击原声/伴奏切换按钮</span></p><p><span> 2)点击播放按钮</span></p><p><span> 3)播放用户所选MP3</span></p><p> </p><h4 id='选段'><span>选段</span></h4><p><strong><span>1、功能描述</span></strong></p><p><span> 1)用户可使用该功能选择曲目中的部分小节反复播放练习</span></p><p><span> 2)选段后开始播放时,从用户所选小节的前一小节(预备小节)开始播放</span></p><p><strong><span>2、业务规则</span></strong></p><p><span> 无</span></p><p><strong><span>3、操作方式</span></strong></p><p><span> 1)点击选段按钮</span></p><p><span> 2)在谱面上选择开始小节</span></p><p><span> 3)在谱面上点击结束小节</span></p><p><span> 4)点击播放按钮</span></p><p><span> 5)从开始小节的前一小节开始播放</span></p><p> </p><h4 id='速度调整'><span>速度调整</span></h4><p><strong><span>1、功能描述</span></strong></p><p><span> 1)该功能用于显示和调整谱面小节速度</span></p><p><span> 2)谱面指针移动到哪个小节,显示哪个小节的速度</span></p><p><span> 3)默认速度显示优先级:小节标记速度 > 意大利文约定速度 > 框架默认速度(100)</span></p><p><span> 4)用户在某个小节调整速度时,其他小节按照该小节调整前与调整后的速度比同步调整,例:A小节谱面速度100,B小节谱面速度50,当用户在A小节将速度调整到50时,播放到B小节时,速度显示为25</span></p><p><span> 5)当其他小节速度按照调整后比例计算为小数时,系统按实际结算结果播放MP3及指针,但界面上显示速度为四舍五入取整后的数值</span></p><p><strong><span>2、业务规则</span></strong></p><p><span> 无</span></p><p><strong><span>3、操作方式</span></strong></p><p><span> 1)点击速度按钮</span></p><p><span> 2)拖动滑动条或点击【+号】【-号】速度目标速度</span></p><p><span> 3)点播播放按钮</span></p><p><span> 4)谱面指针、播放速度按照调整后速度播放</span></p><p><span> </span></p><h4 id='播放'><span>播放</span></h4><p><strong><span>1、功能描述</span></strong></p><p><span> 1)用户可使用该功能试听该曲目的原声、伴奏</span></p><p><span> 2)播放时指针、指法、速度、音频跟随播放进度实时显示</span></p><p><strong><span>2、业务规则</span></strong></p><p><span> 1)播放过程中可使用原声伴奏切换、指法显示功能</span></p><p><span> 2)若开启循环播放,播放结束时,指针跳转第一小节再次播放,如此循环直到用户操作暂停</span></p><p><span> 3)若用户选段播放,从所选段的前一小节(预备小节)开始播放</span></p><p><span> 4)若用户选段播放,所选段落播放结束时,指针跳转所选段前一小节(预备小节)再次播放,如此循环直到用户操作暂停</span></p><p><strong><span>3、操作方式</span></strong></p><p><span> 无</span></p><p> </p><h4 id='暂停'><span>暂停</span></h4><p><strong><span>1、功能描述</span></strong></p><p><span> 1)在播放的过程中用户可使用该功能暂停播放</span></p><p><span> 2)暂停后可使用播放功能继续播放</span></p><p><strong><span>2、业务规则</span></strong></p><p><span> 无</span></p><p><strong><span>3、操作方式</span></strong></p><p><span> 无</span></p><p> </p><h4 id='重播'><span>重播</span></h4><p><strong><span>1、功能描述</span></strong></p><p><span> 1)播放到一半暂停后,或点击谱面选择某个音符后,用户可使用该功能从头播放</span></p><p><strong><span>2、业务规则</span></strong></p><p><span> 1)未选段时,从曲目第一小节开始播放</span></p><p><span> 2)选段时,从所选段的前一小节(预备小节)开始播放</span></p><p><strong><span>3、操作方式</span></strong></p><p><span> 无</span></p><p> </p><h3 id='跟练模式'><span>跟练模式</span></h3><h4 id='开始演奏'><span>开始演奏</span></h4><p><strong><span>1、功能描述</span></strong></p><p><span> 1)该功能用于开始跟练,开始后,设备开始收音</span></p><p><span> 2)用户演奏频率与谱面指针所指音符一致时,指针跳转下一个音符,不一致时显示【高了】或【低了】</span></p><p><strong><span>2、业务规则</span></strong></p><p><span> 1)点击开始演奏后开始收音</span></p><p><span> 2)用户演奏频率与谱面指针所指音符一致时,指针跳转下一个音符</span></p><p><span> 3)用户演奏频率与谱面指针所指音符不一致时,若用户演奏频率比指针音符高,则界面提示【高了】</span></p><p><span> 4)用户演奏频率与谱面指针所指音符不一致时,若用户演奏频率比指针音符低,则界面提示【低了】</span></p><p><strong><span>3、操作方式</span></strong></p><p><span> 无</span></p><p> </p><h4 id='结束演奏'><span>结束演奏</span></h4><p><strong><span>1、功能描述</span></strong></p><p><span> 1)该功能用户停止跟练</span></p><p><span> 2)用户开始演奏之后才可使用该功能</span></p><p><span> 3)用户点击结束演奏后,设备停止收音</span></p><p><strong><span>2、业务规则</span></strong></p><p><span> 1)未开始演奏时,不显示该功能按钮</span></p><p><span> 2)开始演奏时,显示该功能按钮</span></p><p><strong><span>3、操作方式</span></strong></p><p><span> 无</span></p><p> </p><h3 id='评测模式'><span>评测模式</span></h3><h4 id='设备延迟检测'><span>设备延迟检测</span></h4><p><strong><span>1、功能描述</span></strong></p><p><span> 1)该功能用于检测设备播放音频到设备接收音频中的时间差,用于评测时值与音频合成的默认校准时间</span></p><p><strong><span>2、业务规则</span></strong></p><p><span> 1)进入评测模式时,校验本地是否储存该设备的延迟数据,若未储存则必须进行检测,若已存在延迟数据则不经过该流程</span></p><p><strong><span>3、操作方式</span></strong></p><p><span> 1)点击评测模式,系统校验是否存在延迟数据,若存在则直接进入评测模式,若不存在则进行下一步</span></p><p><span> 2)校验设备当前是否链接耳机,若已链接则提示用户断开耳机链接,若未链接则进行下一步</span></p><p><span> 3)提示用户为了评测更加准确,即将开始设备延迟检测,点击开始检测按钮,进行下一步</span></p><p><span> 4)校验用户手机音量是否≥75%,若小于75%则提示用户请将设备音量调整至75%,若≥75%则进行下一步</span></p><p><span> 5)系统播放检测音效,并开始收音,计算从播放到收到音量的时间差,并记录在本地</span></p><p><span> 6)记录数据后提示用户:检测完成,为了评测分数更加准确,请链接有线耳机后开始评测。用户点击开始评测按钮,进入评测模式。</span></p><p> </p><h4 id='评测难度'><span>评测难度</span></h4><p><strong><span>1、功能描述</span></strong></p><p><span> 1)该功能用于切换评测打分标准,共分为三种标准:入门级、进阶级、大师级</span></p><p><span> 2)默认为进阶级</span></p><p><span> 3)用户可自行切换打分标准</span></p><p><strong><span>2、业务规则</span></strong></p><p><span> 无</span></p><p><strong><span>3、操作方式</span></strong></p><p><span> 1)在评测模式下点击设置按钮</span></p><p><span> 2)切换到评测设置界面</span></p><p><span> 3)选择需要的打分标准</span></p><p><span> 4)点击确定按钮操作结束</span></p><p> </p><h4 id='校音-1'><span>校音</span></h4><p><strong><span>1、功能描述</span></strong></p><p><span> 1)该功能用于让用户校准乐器声音,保障评测分数客观准确</span></p><p><strong><span>2、业务规则</span></strong></p><p><span> 1)当用户开启校音提醒时,每次进入评测模式都需进行校音步骤</span></p><p><span> 2)当用户关闭校音提示时,每次进入评测模式都不进行该步骤</span></p><p><strong><span>3、操作方式</span></strong></p><p><span> 1)界面提示用户使用乐器演奏中央C</span></p><p><span> 2)设备开始收音</span></p><p><span> 3)使用收音频率与该声部中央C频率对比是否一致,不一致时,界面显示高了/低了,一致时显示准确,帮提示用户校音完成</span></p><p><span> 4)校音完成后进入评测模式界面</span></p><p> </p><h4 id='校音提醒'><span>校音提醒</span></h4><p><strong><span>1、功能描述</span></strong></p><p><span> 1)该功能用于开启/关闭每次评测前是否需要进行校音</span></p><p><strong><span>2、业务规则</span></strong></p><p><span> 无</span></p><p><strong><span>3、操作方式</span></strong></p><p><span> 无</span></p><p> </p><h4 id='开启摄像头'><span>开启摄像头</span></h4><p><strong><span>1、功能描述</span></strong></p><p><span> 1)该用能用于开启设备摄像头与相册权限</span></p><p><span> 2)开启后,评测时需通过设备前置摄像头录制评测画面</span></p><p><span> 3)默认为关闭状态</span></p><p><strong><span>2、业务规则</span></strong></p><p><span> 1)用户是否授权摄像头</span></p><p><span> 2)用户是否授权相册</span></p><p><span> 3)摄像头、相册都授权时,功能开关亮起,任何一个权限未授权则功能按钮置灰</span></p><p><strong><span>3、操作方式</span></strong></p><p><span> 1)点击开启摄像头功能,判断是否授权摄像头</span></p><p><span> 2)若未授权,则提示是否授权摄像头,选择否则流程结束,功能按钮置灰;选择是则进行下一步</span></p><p><span> 3)提示用户是否授权相册,若选择否则流程结束,功能按钮置灰,若选择是则功能按钮亮起,界面显示前置摄像头画面,界面UI变成75%半透明,流程结束</span></p><p> </p><h4 id='ui透明度调整'><span>UI透明度调整</span></h4><p><strong><span>1、功能描述</span></strong></p><p><span> 1)该功能用于在评测模式开启摄像头的情况下调整界面UI透明度</span></p><p><span> 2)仅调整UI背景透明度,谱面UI不受此影响</span></p><p><strong><span>2、业务规则</span></strong></p><p><span> 1)用户是否开启摄像头且APP已获取到摄像头、相册权限,都获取到时显示该功能,其中一个未获取或用户关闭开启摄像头功能时,不显UI透明度调整功能</span></p><p><strong><span>3、操作方式</span></strong></p><p><span> 无</span></p><p> </p><h4 id='标准音高'><span>标准音高</span></h4><p><strong><span>1、功能描述</span></strong></p><p><span> 1)该功能用于切换评测音高标准</span></p><p><strong><span>2、业务规则</span></strong></p><p><span> 1)可选项在后台乐器管理中配置</span></p><p><span> 2)默认选项在后台乐器管理配置</span></p><p><strong><span>3、操作方式</span></strong></p><p><span> 无</span></p><p> </p><h4 id='反应时间'><span>反应时间</span></h4><p><strong><span>1、功能描述</span></strong></p><p><span> 1)该功能用于设置评测打分时的校准延迟</span></p><p><span> 2)用户可根据自己的实际情况设置反应时间</span></p><p><strong><span>2、业务规则</span></strong></p><p><span> 无</span></p><p><strong><span>3、操作方式</span></strong></p><p><span> 无</span></p><p> </p><h4 id='开始评测-1'><span>开始评测</span></h4><p><strong><span>1、功能描述</span></strong></p><p><span> 1)该功能用于正式开开始评测,开始后,设备开始收音并传输到后台,后台计算每小节分数并返回前端显示小节评分</span></p><p><strong><span>2、业务规则</span></strong></p><p><span> 无</span></p><p><strong><span>3、操作方式</span></strong></p><p><span> 无</span></p><p> </p><h4 id='结束评测'><span>结束评测</span></h4><p><strong><span>1、功能描述</span></strong></p><p><span> 1)该功能用于在评测过程中终止评测</span></p><p><span> 2)终止评测后,显示本次评测的总体评分,并生成评测报告,保存评测音频</span></p><p><strong><span>2、业务规则</span></strong></p><p><span> 无</span></p><p><strong><span>3、操作方式</span></strong></p><p><span> 无</span></p><p> </p><h4 id='评测音频保存'><span>评测音频保存</span></h4><p><strong><span>1、功能描述</span></strong></p><p><span> 1)评测完成后系统自动保存本次评测的音频文件</span></p><p><span> 2)评测音频文件可在评测报告中的回放功能查看</span></p><p><strong><span>2、业务规则</span></strong></p><p><span> 1)本次评测结束时自动保存音频文件</span></p><p><span> 2)用户通过结束评测功能手动结束时保存音频文件</span></p><p><strong><span>3、操作方式</span></strong></p><p><span> 无</span></p><p> </p><h4 id='评测报告'><span>评测报告</span></h4><p><strong><span>1、功能描述</span></strong></p><p><span> 1)评测结束后,生成评测报告</span></p><p><span> 2)评测报告根据音准、节奏、完整性三个维度显示每个音符的用户演奏情况</span></p><p><span> 3)音准包括:高了、低了、准确</span></p><p><span> 4)节奏包括:快了、慢了、准确</span></p><p><span> 5)完整性包括:时值不足、时值准确</span></p><p><span> 6)三个维度具体结果样式请查看UI设计稿</span></p><p><strong><span>2、业务规则</span></strong></p><p><span> 1)根据用户所选评测难度确定打分误差区间</span></p><p><span> 2)音准、节奏、完整性具体评分规则请查看后台评测打分模块</span></p><p><strong><span>3、操作方式</span></strong></p><p><span> 无</span></p><p> </p><h4 id='音频合成'><span>音频合成</span></h4><p><strong><span>1、功能描述</span></strong></p><p><span> 1)评测完成后,用户可以通过该功能将演奏音频与曲目伴奏合成</span></p><p><span> 2)可调整演奏音频与曲目伴奏对齐参数</span></p><p><span> 3)以曲目伴奏时间走为标准,默认将设备延迟检测、反应时间相加,将演奏音频后移</span></p><p><span> 4)用户可更换封面图片,发布作品、保存草稿</span></p><p><span> 5)发布作评后,该音频/视频替换评测报告中的音频</span></p><p><span> 6)发布作评后草稿自动移除</span></p><p><span> 7)保存草稿后7填自动清理</span></p><p><strong><span>2、业务规则</span></strong></p><p><span> 1)设备延迟检测参数</span></p><p><span> 2)反应时间参数</span></p><p><span> 3)用户自行调整时间差</span></p><p><strong><span>3、操作方式</span></strong></p><p><span> 无</span></p><p> </p><h2 id='界面交互流程'><span>界面交互流程</span></h2><h3 id='曲目详情'><span>曲目详情</span></h3><p><img src="imgs/曲目详情页面流程图.jpg" referrerpolicy="no-referrer" alt="image"></p><h3 id='选择模式'><span>选择模式</span></h3><p><img src="imgs/选择模式流程图.jpg" referrerpolicy="no-referrer" alt="image"></p><p> </p><h2 id='数据库表结构'><span>数据库表结构</span></h2><h3 id='曲谱表'><span>曲谱表</span></h3><p><span>DROP TABLE IF EXISTS </span><code>music_sheet</code><span>;</span>
- <span>CREATE TABLE </span><code>music_sheet</code><span> (</span></p><ul><li><strong><code>id_</code></strong><span> bigint(20) NOT NULL AUTO_INCREMENT COMMENT </span><font color="#0000dd"><strong><span>’主键‘</span></strong></font></li><li><strong><code>music_category_id_</code></strong><span> bigint(20) NOT NULL COMMENT </span><font color="#0000dd"><strong><span>'曲谱分类ID'</span></strong></font></li><li><strong><code>music_cover_</code></strong><span> varchar(255) DEFAULT NULL COMMEN T </span><font color="#0000dd"><strong><span>'曲谱封面图'</span></strong></font></li><li><strong><code>name_</code></strong><span> varchar(255) NOT NULL COMMENT </span><font color="#0000dd"><strong><span>'曲谱名称'</span></strong></font></li><li><strong><code>musical_instrument_ids_</code></strong><span> varchar(255) DEFAULT NULL COMMENT </span><font color="#0000dd"><strong><span>'曲谱乐器(多个,用逗号分隔)'</span></strong></font></li><li><strong><code>composer_</code></strong><span> varchar(255) DEFAULT NULL COMMENT </span><font color="#0000dd"><strong><span>'作曲人'</span></strong></font></li><li><strong><code>music_sheet_type_</code></strong><span> varchar(100) DEFAULT 'SINGLE' COMMENT </span><font color="#0000dd"><strong><span>'曲谱类型(SINGLE:单曲 CONCERT:合奏)'</span></strong></font></li><li><strong><code>is_use_system_beat_</code></strong><span> tinyint(1) DEFAULT NULL COMMENT </span><font color="#0000dd"><strong><span>'是否使用系统节拍器(0:否;1:是)'</span></strong></font></li><li><strong><code>is_evaluated_</code></strong><span> tinyint(1) DEFAULT NULL COMMENT </span><font color="#0000dd"><strong><span>'是否可评测(0:否;1:是)'</span></strong></font></li><li><strong><code>is_convertible_score_</code></strong><span> tinyint(1) DEFAULT NULL COMMENT </span><font color="#0000dd"><strong><span>'是否可转谱(0:否; 1:是)'</span></strong></font></li><li><strong><code>is_show_fingering_</code></strong><span> tinyint(1) DEFAULT NULL COMMENT </span><font color="#0000dd"><strong><span>'是否展示指法(0:否;1:是)'</span></strong></font></li><li><strong><code>is_play_beat_</code></strong><span> tinyint(1) DEFAULT '1' COMMENT </span><font color="#0000dd"><strong><span>'是否播入节拍器(0: 否 1:是)'</span></strong></font></li><li><strong><code>multi_tracks_selection_</code></strong><span> text COMMENT </span><font color="#0000dd"><strong><span>'多声轨选择'</span></strong></font></li><li><strong><code>play_speed_</code></strong><span> int(4) DEFAULT NULL COMMENT </span><font color="#0000dd"><strong><span>'播放速度'</span></strong></font></li><li><strong><code>play_mode_</code></strong><span> varchar(50) DEFAULT NULL COMMENT </span><font color="#0000dd"><strong><span>'播放模式(MIDI;MP3)'</span></strong></font></li><li><strong><code>xml_file_url_</code></strong><span> varchar(255) DEFAULT NULL COMMENT </span><font color="#0000dd"><strong><span>'XML文件'</span></strong></font></li><li><strong><code>midi_file_url_</code></strong><span> varchar(255) DEFAULT NULL COMMENT </span><font color="#0000dd"><strong><span>'MIDI文件(保留字段)'</span></strong></font></li><li><strong><code>music_json_</code></strong><span> text COMMENT </span><font color="#0000dd"><strong><span>'曲谱JSON'</span></strong></font></li><li><strong><code>music_svg_json_</code></strong><span> text COMMENT </span><font color="#0000dd"><strong><span>'曲谱缓存JSON(后续使用)'</span></strong></font></li><li><strong><code>music_svg_</code></strong><span> varchar(255) DEFAULT NULL COMMENT </span><font color="#0000dd"><strong><span>'曲谱缓存'</span></strong></font></li><li><strong><code>music_jian_svg_</code></strong><span> varchar(255) DEFAULT NULL COMMENT </span><font color="#0000dd"><strong><span>'简谱缓存'</span></strong></font></li><li><strong><code>music_first_svg_</code></strong><span> varchar(255) DEFAULT NULL COMMENT </span><font color="#0000dd"><strong><span>'首调缓存'</span></strong></font></li><li><strong><code>music_img_json_</code></strong><span> longtext COMMENT </span><font color="#0000dd"><strong><span>'谱面图片JSON(后续使用)'</span></strong></font></li><li><strong><code>music_img_</code></strong><span> longtext COMMENT </span><font color="#0000dd"><strong><span>'五线谱图片'</span></strong></font></li><li><strong><code>music_first_img_</code></strong><span> longtext COMMENT </span><font color="#0000dd"><strong><span>'首调图片'</span></strong></font></li><li><strong><code>music_jian_img_</code></strong><span> longtext COMMENT </span><font color="#0000dd"><strong><span>'固定调图片'</span></strong></font></li><li><strong><code>ext_config_json_</code></strong><span> longtext COMMENT </span><font color="#0000dd"><strong><span>'谱面参数设置'</span></strong></font></li><li><strong><code>ext_style_config_json_</code></strong><span> longtext COMMENT </span><font color="#0000dd"><strong><span>'谱面样式参数设置'</span></strong></font></li><li><strong><code>available_type_</code></strong><span> varchar(255) DEFAULT NULL COMMENT </span><font color="#0000dd"><strong><span>'可用类型(PLATFORM: 平台; ORG: 机构; PERSON: 个人)'</span></strong></font></li><li><strong><code>source_type_</code></strong><span> varchar(255) DEFAULT NULL COMMENT </span><font color="#0000dd"><strong><span>'来源类型(PLATFORM: 平台; ORG: 机构; PERSON: 个人)'</span></strong></font></li><li><strong><code>audio_type_</code></strong><span> varchar(200) DEFAULT NULL COMMENT </span><font color="#0000dd"><strong><span>'音频类型(HOMEMODE: 自制 COMMON: 普通)'</span></strong></font></li><li><strong><code>status_</code></strong><span> tinyint(1) DEFAULT '1' COMMENT </span><font color="#0000dd"><strong><span>'曲目状态(0:停用,1:启用)'</span></strong></font></li><li><strong><code>reason_</code></strong><span> varchar(255) DEFAULT NULL COMMENT </span><font color="#0000dd"><strong><span>'停用原因'</span></strong></font></li><li><strong><code>remark_</code></strong><span> varchar(255) CHARACTER SET utf8 DEFAULT NULL COMMENT </span><font color="#0000dd"><strong><span>'备注'</span></strong></font></li><li><strong><code>del_flag_</code></strong><span> tinyint(1) DEFAULT '0' COMMENT </span><font color="#0000dd"><strong><span>'逻辑删除标识(0: 未删 1:已删)'</span></strong></font></li><li><strong><code>update_by_</code></strong><span> bigint(20) DEFAULT NULL COMMENT </span><font color="#0000dd"><strong><span>'更新人'</span></strong></font></li><li><strong><code>update_time_</code></strong><span> datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT </span><font color="#0000dd"><strong><span>'更新时间'</span></strong></font></li><li><strong><code>create_by_</code></strong><span> bigint(20) DEFAULT NULL COMMENT </span><font color="#0000dd"><strong><span>'创建人'</span></strong></font></li><li><strong><code>create_time_</code></strong><span> datetime DEFAULT CURRENT_TIMESTAMP COMMENT </span><font color="#0000dd"><strong><span>'创建时间'</span></strong></font>
- <span>PRIMARY KEY (</span><code>id_</code><span>) USING BTREE</span>
- <span>) ENGINE=InnoDB AUTO_INCREMENT=1711300065414127618 DEFAULT CHARSET=utf8mb4 COMMENT='曲谱表'</span></li></ul><p> </p><hr /><p> </p><h3 id='曲谱伴奏表'><span>曲谱伴奏表</span></h3><p><span>DROP TABLE IF EXISTS </span><code>music_sheet_accompaniment</code><span>;</span>
- <span>CREATE TABLE </span><code>music_sheet_accompaniment</code><span> (</span></p><ul><li><strong><code>id_</code></strong><span> bigint(20) NOT NULL AUTO_INCREMENT COMMENT </span><font color="#0000dd"><strong><span>'主键'</span></strong></font></li><li><strong><code>music_sheet_id_</code></strong><span> bigint(20) NOT NULL COMMENT </span><font color="#0000dd"><strong><span>'曲谱ID'</span></strong></font></li><li><strong><code>musical_instrument_id_</code></strong><span> varchar(200) DEFAULT NULL COMMENT </span><font color="#0000dd"><strong><span>'声轨乐器'</span></strong></font></li><li><strong><code>audio_file_url_</code></strong><span> varchar(256) NOT NULL COMMENT </span><font color="#0000dd"><strong><span>'音频文件'</span></strong></font></li><li><strong><code>track_</code></strong><span> varchar(255) DEFAULT NULL COMMENT </span><font color="#0000dd"><strong><span>'声轨名称'</span></strong></font></li><li><strong><code>sort_number_</code></strong><span> int(11) DEFAULT '0' COMMENT </span><font color="#0000dd"><strong><span>'排序号'</span></strong></font></li><li><strong><code>create_by_</code></strong><span> bigint(20) DEFAULT NULL COMMENT </span><font color="#0000dd"><strong><span>'创建人'</span></strong></font></li><li><strong><code>create_time_</code></strong><span> datetime DEFAULT CURRENT_TIMESTAMP COMMENT </span><font color="#0000dd"><strong><span>'创建时间'</span></strong></font>
- <span>PRIMARY KEY (</span><code>id_</code><span>) USING BTREE</span>
- <span>) ENGINE=InnoDB AUTO_INCREMENT=28066 DEFAULT CHARSET=utf8mb4 COMMENT='曲谱伴奏表';</span></li></ul><p> </p><hr /><p> </p><h3 id='曲谱赏析表'><span>曲谱赏析表</span></h3><p><span>DROP TABLE IF EXISTS </span><code>music_sheet_appreciation</code><span>;</span>
- <span>CREATE TABLE </span><code>music_sheet_appreciation</code><span> (</span></p><ul><li><strong><code>id_</code></strong><span> bigint(20) NOT NULL AUTO_INCREMENT COMMENT </span><font color="#0000dd"><strong><span>'主键'</span></strong></font></li><li><strong><code>music_sheet_id_</code></strong><span> bigint(20) NOT NULL COMMENT </span><font color="#0000dd"><strong><span>'曲谱ID'</span></strong></font></li><li><strong><code>name_</code></strong><span> varchar(255) NOT NULL COMMENT </span><font color="#0000dd"><strong><span>'名称'</span></strong></font></li><li><strong><code>audio_file_url_</code></strong><span> varchar(255) NOT NULL COMMENT </span><font color="#0000dd"><strong><span>'原音文件'</span></strong></font></li><li><strong><code>introduction_</code></strong><span> text COMMENT </span><font color="#0000dd"><strong><span>'简介说明'</span></strong></font></li><li><strong><code>sort_number_</code></strong><span> int(11) DEFAULT '0' COMMENT </span><font color="#0000dd"><strong><span>'排序号'</span></strong></font></li><li><strong><code>del_flag_</code></strong><span> tinyint(1) DEFAULT '0' COMMENT </span><font color="#0000dd"><strong><span>'删除标记'</span></strong></font></li><li><strong><code>create_by_</code></strong><span> bigint(20) DEFAULT NULL COMMENT </span><font color="#0000dd"><strong><span>'创建人'</span></strong></font></li><li><strong><code>create_time_</code></strong><span> datetime DEFAULT CURRENT_TIMESTAMP COMMENT </span><font color="#0000dd"><strong><span>'创建时间'</span></strong></font>
- <span>PRIMARY KEY (</span><code>id_</code><span>) USING BTREE</span>
- <span>) ENGINE=InnoDB AUTO_INCREMENT=14757 DEFAULT CHARSET=utf8mb4 COMMENT='曲谱赏析表';</span></li></ul><p> </p><hr /><p> </p><h3 id='曲谱分类'><span>曲谱分类</span></h3><p><span>DROP TABLE IF EXISTS </span><code>music_sheet_categories</code><span>;</span>
- <span>CREATE TABLE </span><code>music_sheet_categories</code><span> (</span></p><ul><li><strong><code>id_</code></strong><span> int(11) NOT NULL AUTO_INCREMENT COMMENT </span><font color="#0000dd"><strong><span>'主键ID'</span></strong></font></li><li><strong><code>parent_id_</code></strong><span> int(11) DEFAULT '0' COMMENT </span><font color="#0000dd"><strong><span>'父级ID'</span></strong></font></li><li><strong><code>name_</code></strong><span> varchar(50) DEFAULT NULL COMMENT </span><font color="#0000dd"><strong><span>'名称'</span></strong></font></li><li><strong><code>order_</code></strong><span> int(11) DEFAULT NULL COMMENT </span><font color="#0000dd"><strong><span>'排序编号'</span></strong></font></li><li><strong><code>enable_</code></strong><span> tinyint(4) DEFAULT '0' COMMENT </span><font color="#0000dd"><strong><span>'启用标记'</span></strong></font></li><li><strong><code>cover_img_</code></strong><span> varchar(250) DEFAULT NULL COMMENT </span><font color="#0000dd"><strong><span>'封面图片'</span></strong></font></li><li><strong><code>operator_id_</code></strong><span> bigint(11) DEFAULT NULL COMMENT </span><font color="#0000dd"><strong><span>'操作人'</span></strong></font></li><li><strong><code>music_sheet_num_</code></strong><span> int(11) DEFAULT '0' COMMENT </span><font color="#0000dd"><strong><span>'曲目数'</span></strong></font></li><li><strong><code>update_time_</code></strong><span> datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT </span><font color="#0000dd"><strong><span>'更新时间'</span></strong></font></li><li><strong><code>create_time_</code></strong><span> datetime DEFAULT CURRENT_TIMESTAMP COMMENT </span><font color="#0000dd"><strong><span>'创建时间'</span></strong></font>
- <span>PRIMARY KEY (</span><code>id_</code><span>) USING BTREE</span>
- <span>) ENGINE=InnoDB AUTO_INCREMENT=100001 DEFAULT CHARSET=utf8mb4 COMMENT='曲谱分类';</span></li></ul><p> </p><hr /><p> </p><h3 id='曲谱原声表'><span>曲谱原声表</span></h3><p><span>DROP TABLE IF EXISTS </span><code>music_sheet_sound</code><span>;</span>
- <span>CREATE TABLE </span><code>music_sheet_sound</code><span> (</span></p><ul><li><strong><code>id_</code></strong><span> bigint(20) NOT NULL AUTO_INCREMENT COMMENT </span><font color="#0000dd"><strong><span>'主键'</span></strong></font></li><li><strong><code>music_sheet_id_</code></strong><span> bigint(20) NOT NULL COMMENT </span><font color="#0000dd"><strong><span>'曲谱ID'</span></strong></font></li><li><strong><code>musical_instrument_id_</code></strong><span> varchar(32) DEFAULT NULL COMMENT </span><font color="#0000dd"><strong><span>'声轨乐器'</span></strong></font></li><li><strong><code>track_</code></strong><span> varchar(255) DEFAULT NULL COMMENT </span><font color="#0000dd"><strong><span>'声轨名称'</span></strong></font></li><li><strong><code>audio_file_url_</code></strong><span> varchar(255) NOT NULL COMMENT </span><font color="#0000dd"><strong><span>'原音文件'</span></strong></font></li><li><strong><code>sort_number_</code></strong><span> int(11) DEFAULT '0' COMMENT </span><font color="#0000dd"><strong><span>'排序号'</span></strong></font></li><li><strong><code>create_by_</code></strong><span> bigint(20) DEFAULT NULL COMMENT </span><font color="#0000dd"><strong><span>'创建人'</span></strong></font></li><li><strong><code>create_time_</code></strong><span> datetime DEFAULT CURRENT_TIMESTAMP COMMENT </span><font color="#0000dd"><strong><span>'创建时间'</span></strong></font>
- <span>PRIMARY KEY (</span><code>id_</code><span>) USING BTREE</span>
- <span>) ENGINE=InnoDB AUTO_INCREMENT=71072 DEFAULT CHARSET=utf8mb4 COMMENT='曲谱原声表';</span></li></ul><p> </p><hr /><p> </p><h3 id='曲谱乐器'><span>曲谱乐器</span></h3><p><span>DROP TABLE IF EXISTS </span><code>musical_instrument</code><span>;</span>
- <span>CREATE TABLE </span><code>musical_instrument</code><span> (</span></p><ul><li><strong><code>id_</code></strong><span> int(11) NOT NULL AUTO_INCREMENT COMMENT </span><font color="#0000dd"><strong><span>'主键'</span></strong></font></li><li><strong><code>name_</code></strong><span> varchar(45) CHARACTER SET utf8 NOT NULL COMMENT </span><font color="#0000dd"><strong><span>'名称'</span></strong></font></li><li><strong><code>code_</code></strong><span> varchar(45) CHARACTER SET utf8 DEFAULT NULL COMMENT </span><font color="#0000dd"><strong><span>'编码'</span></strong></font></li><li><strong><code>parent_id_</code></strong><span> int(11) DEFAULT '0' COMMENT </span><font color="#0000dd"><strong><span>'父级ID'</span></strong></font></li><li><strong><code>orientation_</code></strong><span> tinyint(1) DEFAULT NULL COMMENT </span><font color="#0000dd"><strong><span>'横竖屏:1:竖 0:横'</span></strong></font></li><li><strong><code>img_</code></strong><span> varchar(128) DEFAULT NULL COMMENT </span><font color="#0000dd"><strong><span>'图片'</span></strong></font></li><li><strong><code>logo_</code></strong><span> varchar(255) DEFAULT NULL COMMENT </span><font color="#0000dd"><strong><span>'乐器logo'</span></strong></font></li><li><strong><code>media_</code></strong><span> varchar(255) DEFAULT NULL COMMENT </span><font color="#0000dd"><strong><span>'音频'</span></strong></font></li><li><strong><code>del_flag_</code></strong><span> tinyint(3) DEFAULT '0' COMMENT </span><font color="#0000dd"><strong><span>'删除标识'</span></strong></font></li><li><strong><code>enable_flag_</code></strong><span> tinyint(3) NOT NULL DEFAULT '1' COMMENT </span><font color="#0000dd"><strong><span>'是否启用'</span></strong></font></li><li><strong><code>operator_</code></strong><span> bigint(20) DEFAULT NULL COMMENT </span><font color="#0000dd"><strong><span>'操作人'</span></strong></font></li><li><strong><code>default_score_</code></strong><span> varchar(50) DEFAULT NULL COMMENT </span><font color="#0000dd"><strong><span>'默认谱面(STAVE: 五线谱; JIAN: 固定调; FIRST: 首调)'</span></strong></font></li><li><strong><code>update_time_</code></strong><span> datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT </span><font color="#0000dd"><strong><span>'更新时间'</span></strong></font></li><li><strong><code>create_time_</code></strong><span> datetime DEFAULT CURRENT_TIMESTAMP COMMENT </span><font color="#0000dd"><strong><span>'创建时间'</span></strong></font>
- <span>PRIMARY KEY (</span><code>id_</code><span>) USING BTREE,</span>
- <span>KEY </span><code>code_</code><span> (</span><code>code_</code><span>) USING BTREE</span>
- <span>) ENGINE=InnoDB AUTO_INCREMENT=2121 DEFAULT CHARSET=utf8mb4 COMMENT='曲谱乐器';</span></li></ul><p><span>SET FOREIGN_KEY_CHECKS = 1;</span></p><p> </p><h2 id='前端移动端交互'><span>前端&移动端交互</span></h2><h3 id='交互流程'><span>交互流程</span></h3><p><img src="imgs/云教练前端移动端交互全流程.png" referrerpolicy="no-referrer" alt="image"></p><p> </p><h3 id='api接口'><span>API接口</span></h3><h4 id='延迟检测'><span>延迟检测</span></h4><h5 id='createmusicplayer'><span>createMusicPlayer</span></h5><p><strong><span>1、示例</span></strong></p><pre class="md-fences md-end-block ty-contain-cm modeLoaded" spellcheck="false" lang=""><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang=""><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.51562px; left: 8px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: 0px; width: 0px;"></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">{</span></pre></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "api" : "createMusicPlayer",</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "content" : {</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "tuneSrc" : "https:\/\/oss.dayaedu.com\/cloud-coach\/1686725501654check_music1_(1).mp3",</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "musicSrc" : "https:\/\/oss.dayaedu.com\/cloud-coach\/你的名字叫什么-伴奏.mp3",</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "uuid" : "1703560248534882202"</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> }</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">}</span></pre></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 184px;"></div><div class="CodeMirror-gutters" style="display: none; height: 184px;"></div></div></div></pre><p><strong><span>2、请求参数说明</span></strong></p><figure><table><thead><tr><th><span>参数</span></th><th><span>调用方</span></th><th><span>描述</span></th></tr></thead><tbody><tr><td><span>musicSrc 伴奏mp3</span><br><span>tuneSrc 延迟检测音频</span><br><font color="#dd0000"><span>tuneFrequence:检测频率(预留后续修改检测音频)</span></font></td><td><span>H5</span></td><td><span>告知App评测播放相关资源,App进行音频缓</span></td></tr></tbody></table></figure><p> </p><h5 id='starttune'><span>startTune</span></h5><p><strong><span>1、延迟测试开始,开启音频录制示例</span></strong></p><pre class="md-fences md-end-block ty-contain-cm modeLoaded" spellcheck="false" lang=""><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang=""><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.51562px; left: 8px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: 0px; width: 0px;"></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">{</span></pre></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "api" : "startTune",</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "content" : {</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "count" : "0",</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "uuid" : "1703560356247268367"</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> }</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">}</span></pre></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 161px;"></div><div class="CodeMirror-gutters" style="display: none; height: 161px;"></div></div></div></pre><p><strong><span>2、发送DELAY_CHECK 给服务端,携带当前检测声音hz示例</span></strong></p><pre class="md-fences md-end-block ty-contain-cm modeLoaded" spellcheck="false" lang=""><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang=""><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.51562px; left: 8px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: 0px; width: 0px;"></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">{</span></pre></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "body" : {</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "HZ" : 800</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> },</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "header" : {</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "commond" : "recordStart",</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "type" : "DELAY_CHECK",</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "status" : 200</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> }</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">}</span></pre></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 230px;"></div><div class="CodeMirror-gutters" style="display: none; height: 230px;"></div></div></div></pre><p><strong><span>3、发送DELAY_CHECK recordEnd 消息示例</span></strong></p><pre class="md-fences md-end-block ty-contain-cm modeLoaded" spellcheck="false" lang=""><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang=""><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.51562px; left: 8px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: 0px; width: 0px;"></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">{</span></pre></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "header" : {</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "commond" : "recordEnd",</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "type" : "DELAY_CHECK",</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "status" : 200</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> }</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">}</span></pre></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 161px;"></div><div class="CodeMirror-gutters" style="display: none; height: 161px;"></div></div></div></pre><p><strong><span>4、接收DELAY_CHECK延迟值,计算出延迟值保存下来示例</span></strong></p><pre class="md-fences md-end-block ty-contain-cm modeLoaded" spellcheck="false" lang=""><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang=""><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.51562px; left: 8px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: 0px; width: 0px;"></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">{</span></pre></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "header" : {</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "commond" : "recordEnd",</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "status" : 200,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "type" : "DELAY_CHECK"</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> },</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "body" : {</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "firstNoteDelayDuration" : 2275.5556335449219</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> }</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">}</span></pre></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 230px;"></div><div class="CodeMirror-gutters" style="display: none; height: 230px;"></div></div></div></pre><p><strong><span>5、请求参数说明</span></strong></p><figure><table><thead><tr><th><span>参数</span></th><th><span>调用方</span></th><th><span>描述</span></th></tr></thead><tbody><tr><td><span>count:第几次延迟检测,从0开始</span></td><td><span>H5</span></td><td><span>1.延迟测试开始,开启音频录制</span><br><span>2.音频录制开始回调时,播放延迟检测声音</span><br><span>3.监听播放器进度,记录播放器播放延迟</span><br><span>4.发送DELAY_CHECK 给服务端,携带当前检测声音hz</span><br><span>5.发送DELAY_CHECK recordEnd 消息</span><br><span>6.接收DELAY_CHECK延迟值,计算出延迟值保存下来</span></td></tr></tbody></table></figure><p> </p><h5 id='endtune'><span>endTune</span></h5><p><strong><span>1、示例</span></strong></p><pre class="md-fences md-end-block ty-contain-cm modeLoaded" spellcheck="false" lang=""><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang=""><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.51562px; left: 8px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: 0px; width: 0px;"></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">{</span></pre></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "api" : "endTune",</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "content" : {</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "uuid" : "1703560480159115435"</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> }</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">}</span></pre></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 138px;"></div><div class="CodeMirror-gutters" style="display: none; height: 138px;"></div></div></div></pre><p><strong><span>2、请求参数说明</span></strong></p><figure><table><thead><tr><th><span>参数</span></th><th><span>调用方</span></th><th><span>描述</span></th></tr></thead><tbody><tr><td> </td><td><span>H5</span></td><td><span>停止延迟检测,停止播放延迟检测声音,发送DELAY_CHECK recordEnd消息给服务端</span></td></tr></tbody></table></figure><p> </p><h5 id='finishtune'><span>finishTune</span></h5><p><strong><span>1、示例</span></strong></p><pre class="md-fences md-end-block ty-contain-cm modeLoaded" spellcheck="false" lang=""><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang=""><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.51562px; left: 8px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: 0px; width: 0px;"></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">{</span></pre></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "api" : "finishTune",</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "content" : {</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "uuid" : "170356059750712269"</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> }</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">}</span></pre></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 138px;"></div><div class="CodeMirror-gutters" style="display: none; height: 138px;"></div></div></div></pre><p><strong><span>2、请求参数说明</span></strong></p><figure><table><thead><tr><th><span>参数</span></th><th><span>调用方</span></th><th><span>描述</span></th></tr></thead><tbody><tr><td> </td><td><span>H5</span></td><td><span>结束延迟检测功能,App计算平均麦克风收音延迟值,存储下来</span></td></tr></tbody></table></figure><p> </p><h5 id='getdevicedelay'><span>getDeviceDelay</span></h5><p><strong><span>1、示例</span></strong></p><pre class="md-fences md-end-block ty-contain-cm modeLoaded" spellcheck="false" lang=""><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang=""><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.51562px; left: 8px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: 0px; width: 0px;"></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">{</span></pre></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "api" : "getDeviceDelay",</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "content" : {</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "value" : 123,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "uuid" : "170356059750712269"</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> }</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">}</span></pre></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 161px;"></div><div class="CodeMirror-gutters" style="display: none; height: 161px;"></div></div></div></pre><p><strong><span>2、请求参数说明</span></strong></p><figure><table><thead><tr><th><span>参数</span></th><th><span>描述</span></th><th><span>描述</span></th></tr></thead><tbody><tr><td><span>value:当前设备麦克风收音延迟值</span></td><td><span>H5</span></td><td><span>App获取当前设备记录的延迟值, 返回给H5</span></td></tr></tbody></table></figure><p> </p><hr /><p> </p><h4 id='评测'><span>评测</span></h4><h5 id='startevaluating'><span>startEvaluating</span></h5><p><strong><span>1、示例</span></strong></p><pre class="md-fences md-end-block ty-contain-cm modeLoaded" spellcheck="false" lang="" style="break-inside: unset;"><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang=""><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.51562px; left: 8px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: 0px; width: 0px;"></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">{</span></pre></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "api" : "startEvaluating",</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "content" : {</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "speed" : 100,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "beatLength" : 0,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "clientId" : "student",</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "uuid" : "1703561058076864652",</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "evaluationCriteria" : "frequency",</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "xmlUrl" : "https:\/\/oss.dayaedu.com\/cloud-coach\/你的名字叫什么.xml",</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "subjectId" : "2",</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "examSongId" : "1688446805041012737",</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "heardLevel" : "ADVANCED",</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "platform" : "IOS",</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "hertz" : 442,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "detailId" : "1688446805041012737",</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "partIndex" : 0,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "reactionTimeMs" : 0,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "musicXmlInfos" : [</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> {</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "prevFrequency" : -2,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "frequency" : -2,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureIndex" : 0,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureRenderIndex" : 0,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "denominator" : 4,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "isOrnament" : false,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "timeStamp" : 500,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "duration" : 500,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "musicalNotesIndex" : 0,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "nextFrequency" : -2</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> },</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> {</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "prevFrequency" : -2,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "frequency" : -2,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureIndex" : 0,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureRenderIndex" : 1,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "denominator" : 2,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "isOrnament" : false,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "timeStamp" : 1000,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "duration" : 1000,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "musicalNotesIndex" : 1,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "nextFrequency" : -2</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> },</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> {</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "prevFrequency" : -2,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "frequency" : -2,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureIndex" : 1,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureRenderIndex" : 2,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "denominator" : 2,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "isOrnament" : false,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "timeStamp" : 2000,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "duration" : 1000,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "musicalNotesIndex" : 2,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "nextFrequency" : -2</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> },</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> {</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "prevFrequency" : -2,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "frequency" : -2,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureIndex" : 2,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureRenderIndex" : 3,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "denominator" : 2,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "isOrnament" : false,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "timeStamp" : 3000,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "duration" : 1000,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "musicalNotesIndex" : 3,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "nextFrequency" : -2</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> },</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> {</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "prevFrequency" : -2,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "frequency" : -2,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureIndex" : 3,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureRenderIndex" : 4,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "denominator" : 2,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "isOrnament" : false,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "timeStamp" : 4000,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "duration" : 1000,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "musicalNotesIndex" : 4,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "nextFrequency" : -2</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> },</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> {</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "prevFrequency" : 743.35243108428358,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "frequency" : 787.55446683605999,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureIndex" : 4,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureRenderIndex" : 5,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "denominator" : 4,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "isOrnament" : false,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "timeStamp" : 5000,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "duration" : 500,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "musicalNotesIndex" : 5,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "nextFrequency" : 834.38489241061711</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> },</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> {</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "prevFrequency" : 884,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "frequency" : 936.56537541361718,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureIndex" : 4,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureRenderIndex" : 5,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "denominator" : 4,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "isOrnament" : false,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "timeStamp" : 5500,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "duration" : 500,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "musicalNotesIndex" : 6,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "nextFrequency" : 992.2564507054858</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> },</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> {</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "prevFrequency" : 743.35243108428358,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "frequency" : 787.55446683605999,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureIndex" : 5,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureRenderIndex" : 6,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "denominator" : 4,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "isOrnament" : false,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "timeStamp" : 6000,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "duration" : 500,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "musicalNotesIndex" : 7,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "nextFrequency" : 834.38489241061711</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> },</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> {</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "prevFrequency" : 884,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "frequency" : 936.56537541361718,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureIndex" : 5,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureRenderIndex" : 6,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "denominator" : 4,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "isOrnament" : false,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "timeStamp" : 6500,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "duration" : 500,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "musicalNotesIndex" : 8,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "nextFrequency" : 992.2564507054858</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> },</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> {</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "prevFrequency" : 589.99921554315517,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "frequency" : 625.08239456890794,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureIndex" : 6,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureRenderIndex" : 7,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "denominator" : 8,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "isOrnament" : false,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "timeStamp" : 7000,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "duration" : 750,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "musicalNotesIndex" : 9,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "nextFrequency" : 662.25172797949324</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> },</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> {</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "prevFrequency" : 662.25172797949324,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "frequency" : 701.63126496994425,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureIndex" : 6,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureRenderIndex" : 7,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "denominator" : 8,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "isOrnament" : false,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "timeStamp" : 7750,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "duration" : 250,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "musicalNotesIndex" : 10,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "nextFrequency" : 743.35243108428358</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> },</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> {</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "prevFrequency" : 743.35243108428358,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "frequency" : 787.55446683605999,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureIndex" : 7,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureRenderIndex" : 8,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "denominator" : 2,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "isOrnament" : false,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "timeStamp" : 8000,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "duration" : 1000,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "musicalNotesIndex" : 11,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "nextFrequency" : 834.38489241061711</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> },</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> {</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "prevFrequency" : 743.35243108428358,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "frequency" : 787.55446683605999,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureIndex" : 8,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureRenderIndex" : 9,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "denominator" : 4,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "isOrnament" : false,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "timeStamp" : 9000,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "duration" : 500,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "musicalNotesIndex" : 12,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "nextFrequency" : 834.38489241061711</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> },</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> {</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "prevFrequency" : 884,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "frequency" : 936.56537541361718,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureIndex" : 8,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureRenderIndex" : 9,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "denominator" : 4,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "isOrnament" : false,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "timeStamp" : 9500,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "duration" : 500,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "musicalNotesIndex" : 13,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "nextFrequency" : 992.2564507054858</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> },</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> {</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "prevFrequency" : 743.35243108428358,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "frequency" : 787.55446683605999,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureIndex" : 9,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureRenderIndex" : 10,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "denominator" : 4,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "isOrnament" : false,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "timeStamp" : 10000,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "duration" : 500,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "musicalNotesIndex" : 14,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "nextFrequency" : 834.38489241061711</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> },</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> {</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "prevFrequency" : 884,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "frequency" : 936.56537541361718,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureIndex" : 9,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureRenderIndex" : 10,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "denominator" : 4,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "isOrnament" : false,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "timeStamp" : 10500,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "duration" : 500,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "musicalNotesIndex" : 15,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "nextFrequency" : 992.2564507054858</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> },</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> {</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "prevFrequency" : 589.99921554315517,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "frequency" : 625.08239456890794,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureIndex" : 10,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureRenderIndex" : 11,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "denominator" : 8,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "isOrnament" : false,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "timeStamp" : 11000,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "duration" : 750,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "musicalNotesIndex" : 16,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "nextFrequency" : 662.25172797949324</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> },</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> {</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "prevFrequency" : 743.35243108428358,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "frequency" : 787.55446683605999,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureIndex" : 10,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureRenderIndex" : 11,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "denominator" : 8,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "isOrnament" : false,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "timeStamp" : 11750,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "duration" : 250,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "musicalNotesIndex" : 17,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "nextFrequency" : 834.38489241061711</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> },</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> {</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "prevFrequency" : 662.25172797949324,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "frequency" : 701.63126496994425,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureIndex" : 11,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureRenderIndex" : 12,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "denominator" : 2,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "isOrnament" : false,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "timeStamp" : 12000,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "duration" : 1000,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "musicalNotesIndex" : 18,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "nextFrequency" : 743.35243108428358</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> },</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> {</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "prevFrequency" : 589.99921554315517,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "frequency" : 625.08239456890794,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureIndex" : 12,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureRenderIndex" : 13,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "denominator" : 4,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "isOrnament" : false,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "timeStamp" : 13000,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "duration" : 500,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "musicalNotesIndex" : 19,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "nextFrequency" : 662.25172797949324</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> },</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> {</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "prevFrequency" : 884,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "frequency" : 936.56537541361718,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureIndex" : 12,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureRenderIndex" : 13,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "denominator" : 4,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "isOrnament" : false,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "timeStamp" : 13500,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "duration" : 500,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "musicalNotesIndex" : 20,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "nextFrequency" : 992.2564507054858</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> },</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> {</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "prevFrequency" : 884,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "frequency" : 936.56537541361718,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureIndex" : 13,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureRenderIndex" : 14,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "denominator" : 4,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "isOrnament" : false,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "timeStamp" : 14000,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "duration" : 500,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "musicalNotesIndex" : 21,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "nextFrequency" : 992.2564507054858</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> },</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> {</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "prevFrequency" : 884,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "frequency" : 936.56537541361718,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureIndex" : 13,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureRenderIndex" : 14,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "denominator" : 4,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "isOrnament" : false,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "timeStamp" : 14500,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "duration" : 500,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "musicalNotesIndex" : 22,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "nextFrequency" : 992.2564507054858</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> },</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> {</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "prevFrequency" : 743.35243108428358,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "frequency" : 787.55446683605999,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureIndex" : 14,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureRenderIndex" : 15,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "denominator" : 4,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "isOrnament" : false,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "timeStamp" : 15000,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "duration" : 500,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "musicalNotesIndex" : 23,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "nextFrequency" : 834.38489241061711</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> },</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> {</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "prevFrequency" : 884,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "frequency" : 936.56537541361718,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureIndex" : 14,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureRenderIndex" : 15,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "denominator" : 4,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "isOrnament" : false,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "timeStamp" : 15500,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "duration" : 500,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "musicalNotesIndex" : 24,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "nextFrequency" : 992.2564507054858</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> },</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> {</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "prevFrequency" : 884,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "frequency" : 936.56537541361718,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureIndex" : 15,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureRenderIndex" : 16,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "denominator" : 8,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "isOrnament" : false,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "timeStamp" : 16000,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "duration" : 250,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "musicalNotesIndex" : 25,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "nextFrequency" : 992.2564507054858</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> },</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> {</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "prevFrequency" : 884,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "frequency" : 936.56537541361718,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureIndex" : 15,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureRenderIndex" : 16,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "denominator" : 8,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "isOrnament" : false,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "timeStamp" : 16250,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "duration" : 250,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "musicalNotesIndex" : 26,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "nextFrequency" : 992.2564507054858</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> },</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> {</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "prevFrequency" : 884,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "frequency" : 936.56537541361718,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureIndex" : 15,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureRenderIndex" : 16,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "denominator" : 4,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "isOrnament" : false,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "timeStamp" : 16500,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "duration" : 500,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "musicalNotesIndex" : 27,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "nextFrequency" : 992.2564507054858</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> },</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> {</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "prevFrequency" : 884,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "frequency" : 936.56537541361718,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureIndex" : 16,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureRenderIndex" : 17,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "denominator" : 8,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "isOrnament" : false,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "timeStamp" : 17000,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "duration" : 750,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "musicalNotesIndex" : 28,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "nextFrequency" : 992.2564507054858</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> },</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> {</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "prevFrequency" : 992.2564507054858,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "frequency" : 1051.2590896624054,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureIndex" : 16,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureRenderIndex" : 17,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "denominator" : 8,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "isOrnament" : false,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "timeStamp" : 17750,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "duration" : 250,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "musicalNotesIndex" : 29,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "nextFrequency" : 1113.7702081070679</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> },</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> {</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "prevFrequency" : 884,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "frequency" : 936.56537541361718,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureIndex" : 17,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureRenderIndex" : 18,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "denominator" : 4,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "isOrnament" : false,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "timeStamp" : 18000,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "duration" : 500,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "musicalNotesIndex" : 30,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "nextFrequency" : 992.2564507054858</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> },</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> {</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "prevFrequency" : 743.35243108428358,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "frequency" : 787.55446683605999,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureIndex" : 17,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureRenderIndex" : 18,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "denominator" : 4,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "isOrnament" : false,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "timeStamp" : 18500,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "duration" : 500,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "musicalNotesIndex" : 31,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "nextFrequency" : 834.38489241061711</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> },</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> {</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "prevFrequency" : 662.25172797949324,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "frequency" : 701.63126496994425,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureIndex" : 18,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureRenderIndex" : 19,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "denominator" : 4,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "isOrnament" : false,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "timeStamp" : 19000,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "duration" : 500,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "musicalNotesIndex" : 32,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "nextFrequency" : 743.35243108428358</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> },</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> {</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "prevFrequency" : 662.25172797949324,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "frequency" : 701.63126496994425,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureIndex" : 18,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureRenderIndex" : 19,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "denominator" : 4,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "isOrnament" : false,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "timeStamp" : 19500,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "duration" : 500,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "musicalNotesIndex" : 33,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "nextFrequency" : 743.35243108428358</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> },</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> {</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "prevFrequency" : 589.99921554315517,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "frequency" : 625.08239456890794,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureIndex" : 19,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureRenderIndex" : 20,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "denominator" : 4,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "isOrnament" : false,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "timeStamp" : 20000,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "duration" : 500,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "musicalNotesIndex" : 34,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "nextFrequency" : 662.25172797949324</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> },</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> {</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "prevFrequency" : -2,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "frequency" : -2,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureIndex" : 19,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureRenderIndex" : 20,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "denominator" : 4,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "isOrnament" : false,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "timeStamp" : 20500,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "duration" : 500,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "musicalNotesIndex" : 35,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "nextFrequency" : -2</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> },</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> {</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "prevFrequency" : -2,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "frequency" : -2,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureIndex" : 20,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureRenderIndex" : 21,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "denominator" : 2,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "isOrnament" : false,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "timeStamp" : 21000,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "duration" : 1000,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "musicalNotesIndex" : 36,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "nextFrequency" : -2</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> },</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> {</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "prevFrequency" : -2,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "frequency" : -2,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureIndex" : 21,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureRenderIndex" : 22,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "denominator" : 2,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "isOrnament" : false,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "timeStamp" : 22000,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "duration" : 1000,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "musicalNotesIndex" : 37,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "nextFrequency" : -2</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> },</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> {</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "prevFrequency" : -2,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "frequency" : -2,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureIndex" : 22,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureRenderIndex" : 23,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "denominator" : 2,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "isOrnament" : false,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "timeStamp" : 23000,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "duration" : 1000,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "musicalNotesIndex" : 38,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "nextFrequency" : -2</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> },</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> {</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "prevFrequency" : -2,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "frequency" : -2,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureIndex" : 23,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureRenderIndex" : 24,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "denominator" : 2,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "isOrnament" : false,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "timeStamp" : 24000,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "duration" : 1000,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "musicalNotesIndex" : 39,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "nextFrequency" : -2</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> },</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> {</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "prevFrequency" : 743.35243108428358,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "frequency" : 787.55446683605999,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureIndex" : 24,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureRenderIndex" : 25,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "denominator" : 4,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "isOrnament" : false,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "timeStamp" : 25000,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "duration" : 500,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "musicalNotesIndex" : 40,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "nextFrequency" : 834.38489241061711</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> },</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> {</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "prevFrequency" : 884,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "frequency" : 936.56537541361718,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureIndex" : 24,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureRenderIndex" : 25,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "denominator" : 4,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "isOrnament" : false,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "timeStamp" : 25500,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "duration" : 500,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "musicalNotesIndex" : 41,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "nextFrequency" : 992.2564507054858</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> },</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> {</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "prevFrequency" : 743.35243108428358,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "frequency" : 787.55446683605999,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureIndex" : 25,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureRenderIndex" : 26,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "denominator" : 4,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "isOrnament" : false,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "timeStamp" : 26000,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "duration" : 500,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "musicalNotesIndex" : 42,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "nextFrequency" : 834.38489241061711</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> },</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> {</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "prevFrequency" : 884,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "frequency" : 936.56537541361718,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureIndex" : 25,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureRenderIndex" : 26,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "denominator" : 4,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "isOrnament" : false,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "timeStamp" : 26500,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "duration" : 500,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "musicalNotesIndex" : 43,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "nextFrequency" : 992.2564507054858</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> },</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> {</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "prevFrequency" : 589.99921554315517,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "frequency" : 625.08239456890794,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureIndex" : 26,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureRenderIndex" : 27,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "denominator" : 8,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "isOrnament" : false,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "timeStamp" : 27000,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "duration" : 750,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "musicalNotesIndex" : 44,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "nextFrequency" : 662.25172797949324</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> },</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> {</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "prevFrequency" : 662.25172797949324,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "frequency" : 701.63126496994425,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureIndex" : 26,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureRenderIndex" : 27,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "denominator" : 8,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "isOrnament" : false,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "timeStamp" : 27750,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "duration" : 250,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "musicalNotesIndex" : 45,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "nextFrequency" : 743.35243108428358</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> },</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> {</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "prevFrequency" : 743.35243108428358,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "frequency" : 787.55446683605999,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureIndex" : 27,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureRenderIndex" : 28,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "denominator" : 2,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "isOrnament" : false,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "timeStamp" : 28000,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "duration" : 1000,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "musicalNotesIndex" : 46,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "nextFrequency" : 834.38489241061711</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> },</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> {</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "prevFrequency" : 743.35243108428358,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "frequency" : 787.55446683605999,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureIndex" : 28,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureRenderIndex" : 29,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "denominator" : 4,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "isOrnament" : false,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "timeStamp" : 29000,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "duration" : 500,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "musicalNotesIndex" : 47,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "nextFrequency" : 834.38489241061711</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> },</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> {</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "prevFrequency" : 884,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "frequency" : 936.56537541361718,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureIndex" : 28,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureRenderIndex" : 29,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "denominator" : 4,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "isOrnament" : false,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "timeStamp" : 29500,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "duration" : 500,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "musicalNotesIndex" : 48,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "nextFrequency" : 992.2564507054858</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> },</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> {</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "prevFrequency" : 743.35243108428358,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "frequency" : 787.55446683605999,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureIndex" : 29,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureRenderIndex" : 30,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "denominator" : 4,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "isOrnament" : false,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "timeStamp" : 30000,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "duration" : 500,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "musicalNotesIndex" : 49,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "nextFrequency" : 834.38489241061711</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> },</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> {</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "prevFrequency" : 884,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "frequency" : 936.56537541361718,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureIndex" : 29,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureRenderIndex" : 30,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "denominator" : 4,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "isOrnament" : false,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "timeStamp" : 30500,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "duration" : 500,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "musicalNotesIndex" : 50,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "nextFrequency" : 992.2564507054858</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> },</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> {</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "prevFrequency" : 589.99921554315517,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "frequency" : 625.08239456890794,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureIndex" : 30,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureRenderIndex" : 31,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "denominator" : 8,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "isOrnament" : false,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "timeStamp" : 31000,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "duration" : 750,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "musicalNotesIndex" : 51,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "nextFrequency" : 662.25172797949324</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> },</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> {</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "prevFrequency" : 743.35243108428358,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "frequency" : 787.55446683605999,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureIndex" : 30,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureRenderIndex" : 31,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "denominator" : 8,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "isOrnament" : false,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "timeStamp" : 31750,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "duration" : 250,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "musicalNotesIndex" : 52,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "nextFrequency" : 834.38489241061711</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> },</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> {</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "prevFrequency" : 662.25172797949324,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "frequency" : 701.63126496994425,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureIndex" : 31,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureRenderIndex" : 32,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "denominator" : 2,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "isOrnament" : false,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "timeStamp" : 32000,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "duration" : 1000,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "musicalNotesIndex" : 53,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "nextFrequency" : 743.35243108428358</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> },</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> {</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "prevFrequency" : 589.99921554315517,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "frequency" : 625.08239456890794,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureIndex" : 32,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureRenderIndex" : 33,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "denominator" : 4,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "isOrnament" : false,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "timeStamp" : 33000,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "duration" : 500,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "musicalNotesIndex" : 54,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "nextFrequency" : 662.25172797949324</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> },</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> {</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "prevFrequency" : 884,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "frequency" : 936.56537541361718,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureIndex" : 32,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureRenderIndex" : 33,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "denominator" : 4,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "isOrnament" : false,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "timeStamp" : 33500,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "duration" : 500,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "musicalNotesIndex" : 55,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "nextFrequency" : 992.2564507054858</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> },</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> {</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "prevFrequency" : 884,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "frequency" : 936.56537541361718,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureIndex" : 33,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureRenderIndex" : 34,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "denominator" : 4,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "isOrnament" : false,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "timeStamp" : 34000,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "duration" : 500,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "musicalNotesIndex" : 56,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "nextFrequency" : 992.2564507054858</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> },</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> {</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "prevFrequency" : 884,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "frequency" : 936.56537541361718,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureIndex" : 33,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureRenderIndex" : 34,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "denominator" : 4,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "isOrnament" : false,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "timeStamp" : 34500,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "duration" : 500,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "musicalNotesIndex" : 57,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "nextFrequency" : 992.2564507054858</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> },</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> {</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "prevFrequency" : 743.35243108428358,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "frequency" : 787.55446683605999,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureIndex" : 34,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureRenderIndex" : 35,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "denominator" : 4,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "isOrnament" : false,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "timeStamp" : 35000,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "duration" : 500,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "musicalNotesIndex" : 58,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "nextFrequency" : 834.38489241061711</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> },</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> {</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "prevFrequency" : 884,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "frequency" : 936.56537541361718,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureIndex" : 34,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureRenderIndex" : 35,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "denominator" : 4,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "isOrnament" : false,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "timeStamp" : 35500,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "duration" : 500,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "musicalNotesIndex" : 59,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "nextFrequency" : 992.2564507054858</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> },</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> {</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "prevFrequency" : 884,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "frequency" : 936.56537541361718,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureIndex" : 35,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureRenderIndex" : 36,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "denominator" : 8,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "isOrnament" : false,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "timeStamp" : 36000,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "duration" : 250,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "musicalNotesIndex" : 60,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "nextFrequency" : 992.2564507054858</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> },</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> {</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "prevFrequency" : 884,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "frequency" : 936.56537541361718,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureIndex" : 35,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureRenderIndex" : 36,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "denominator" : 8,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "isOrnament" : false,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "timeStamp" : 36250,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "duration" : 250,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "musicalNotesIndex" : 61,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "nextFrequency" : 992.2564507054858</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> },</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> {</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "prevFrequency" : 884,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "frequency" : 936.56537541361718,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureIndex" : 35,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureRenderIndex" : 36,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "denominator" : 4,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "isOrnament" : false,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "timeStamp" : 36500,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "duration" : 500,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "musicalNotesIndex" : 62,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "nextFrequency" : 992.2564507054858</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> },</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> {</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "prevFrequency" : 884,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "frequency" : 936.56537541361718,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureIndex" : 36,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureRenderIndex" : 37,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "denominator" : 8,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "isOrnament" : false,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "timeStamp" : 37000,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "duration" : 750,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "musicalNotesIndex" : 63,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "nextFrequency" : 992.2564507054858</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> },</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> {</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "prevFrequency" : 992.2564507054858,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "frequency" : 1051.2590896624054,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureIndex" : 36,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureRenderIndex" : 37,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "denominator" : 8,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "isOrnament" : false,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "timeStamp" : 37750,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "duration" : 250,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "musicalNotesIndex" : 64,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "nextFrequency" : 1113.7702081070679</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> },</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> {</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "prevFrequency" : 884,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "frequency" : 936.56537541361718,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureIndex" : 37,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureRenderIndex" : 38,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "denominator" : 4,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "isOrnament" : false,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "timeStamp" : 38000,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "duration" : 500,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "musicalNotesIndex" : 65,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "nextFrequency" : 992.2564507054858</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> },</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> {</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "prevFrequency" : 743.35243108428358,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "frequency" : 787.55446683605999,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureIndex" : 37,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureRenderIndex" : 38,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "denominator" : 4,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "isOrnament" : false,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "timeStamp" : 38500,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "duration" : 500,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "musicalNotesIndex" : 66,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "nextFrequency" : 834.38489241061711</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> },</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> {</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "prevFrequency" : 662.25172797949324,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "frequency" : 701.63126496994425,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureIndex" : 38,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureRenderIndex" : 39,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "denominator" : 4,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "isOrnament" : false,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "timeStamp" : 39000,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "duration" : 500,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "musicalNotesIndex" : 67,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "nextFrequency" : 743.35243108428358</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> },</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> {</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "prevFrequency" : 662.25172797949324,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "frequency" : 701.63126496994425,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureIndex" : 38,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureRenderIndex" : 39,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "denominator" : 4,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "isOrnament" : false,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "timeStamp" : 39500,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "duration" : 500,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "musicalNotesIndex" : 68,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "nextFrequency" : 743.35243108428358</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> },</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> {</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "prevFrequency" : 589.99921554315517,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "frequency" : 625.08239456890794,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureIndex" : 39,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureRenderIndex" : 40,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "denominator" : 4,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "isOrnament" : false,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "timeStamp" : 40000,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "duration" : 500,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "musicalNotesIndex" : 69,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "nextFrequency" : 662.25172797949324</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> },</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> {</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "prevFrequency" : -2,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "frequency" : -2,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureIndex" : 39,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureRenderIndex" : 40,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "denominator" : 4,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "isOrnament" : false,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "timeStamp" : 40500,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "duration" : 500,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "musicalNotesIndex" : 70,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "nextFrequency" : -2</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> }</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> ]</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> }</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">}</span></pre></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 20106px;"></div><div class="CodeMirror-gutters" style="display: none; height: 20106px;"></div></div></div></pre><p><strong><span>2、请求参数说明</span></strong></p><figure><table><thead><tr><th><span>参数</span></th><th><span>调用方</span></th><th><span>描述</span></th></tr></thead><tbody><tr><td><span>musicXml 评测相关数据</span><br><span>beatLength:需要剔除多余检测录音文件时长,如果从第一小节,音频文件自带节拍器,该时长为节拍器时长,如果是中间选段,则时长为预备小节时长</span><br><span>speed:音频基准播放速度</span><br><span>evaluationCriteria:评测打分标准:frequency(默认-频率)、amplitude(声部打击乐-振幅)、decibels(节奏练习-分贝) </span><br><span>xmlUrl:曲子xml地址</span><br><span>subjectId:曲子声部ID</span><br><span>examSongId:曲子ID 同detailId</span><br><span>detailId:曲子ID</span><br><span>partIndex:曲子分轨索引</span><br><span>heardLevel:评测级别'入门 BEGINNER'</span><span>|</span><span>'进阶 ADVANCED'</span><span>|</span><span>'大师 PERFORMER'</span><br><span>platform:评测客户端平台:iOS、安卓</span><br><span>hertz:A4基准赫兹HZ(440</span><span>|</span><span>442)</span><br><span>reactionTimeMs:反应时间ms</span><br><span>musicXmlInfos:评测音符信息</span><br><span>{</span><br><span>prevFrequency:上一个音符的频率 休止符为-1</span><br><span>frequency:当前音符的频率</span><br><span>nextFrequency:下一个音符的频率</span><br><span>measureRenderIndex:评测小节索引(默认值0,同一个小节的音符索引相同)</span><br><span>measuerRenderIndex:实际渲染的小节索引,从渲染的谱面开始,代表当前小节再谱面实际的位置</span><br><span>musicalNotesIndex:当前实际评测音符索引,从0开始</span><br><span>denominator:多少分音符</span><br><span>isOrnament:是否装饰音</span><br><span>donEvaluating:是否打分的标记(Listen,纯率、如果是打击乐和节奏练习,连音线后面的音符都不打分,如果是普通吹奏,连音线后面的音符和前面的音符同音高都不打分)</span><br><span>timeStamp:当前音符开始的时间ms(参数评测第一个音符为0)</span><br><span>duration:当前音符持续时间ms</span><br><span>}</span></td><td><span>H5</span></td><td><span>开始评测,该API会判断是否连接scoket,如果连上,会发送SOUND_COMPARE 包含 musicXml信息给service同时回执信息给H5,如果没有连上,会建立连接,成功后发送SOUND_COMPARE 至服务端,同时回执信息给H5</span></td></tr></tbody></table></figure><p> </p><h5 id='endevaluating'><span>endEvaluating</span></h5><p><strong><span>1、示例</span></strong></p><pre class="md-fences md-end-block ty-contain-cm modeLoaded" spellcheck="false" lang=""><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang=""><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.51562px; left: 8px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: 0px; width: 0px;"></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">{</span></pre></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "api" : "endEvaluating",</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "content" : {</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "musicScoreId" : "1688446805041012737",</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "uuid" : "1703561228193776197"</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> }</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">}</span></pre></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 161px;"></div><div class="CodeMirror-gutters" style="display: none; height: 161px;"></div></div></div></pre><p><strong><span>2、请求参数说明</span></strong></p><figure><table><thead><tr><th><span>参数</span></th><th><span>调用方</span></th><th><span>描述</span></th></tr></thead><tbody><tr><td><span>musicScoreId:同startEvaluating examSongId表示 曲目ID</span></td><td><span>H5</span></td><td><span>接收到该消息,会发送SOUND_COMPARE recordEnd消息至服务端,同时回执给H5,同时停止mp3播放</span></td></tr></tbody></table></figure><p> </p><h5 id='cancelevaluating'><span>cancelEvaluating</span></h5><p><strong><span>1、示例</span></strong></p><pre class="md-fences md-end-block ty-contain-cm modeLoaded" spellcheck="false" lang=""><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang=""><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.51562px; left: 8px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: 0px; width: 0px;"></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">{</span></pre></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "api" : "cancelEvaluating",</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "content" : {</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "uuid" : "1703561228193776197"</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> }</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">}</span></pre></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 138px;"></div><div class="CodeMirror-gutters" style="display: none; height: 138px;"></div></div></div></pre><p><strong><span>2、请求参数说明</span></strong></p><figure><table><thead><tr><th><span>参数</span></th><th><span>调用方</span></th><th><span>描述</span></th></tr></thead><tbody><tr><td> </td><td><span>H5</span></td><td><span>取消评测,同endEvaluating,只是不发生SOUND_COMPARE recordEnd至服务端</span></td></tr></tbody></table></figure><p> </p><h5 id='startrecording'><span>startRecording</span></h5><p><strong><span>1、示例</span></strong></p><pre class="md-fences md-end-block ty-contain-cm modeLoaded" spellcheck="false" lang=""><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang=""><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.51562px; left: 8px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: 0px; width: 0px;"></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">{</span></pre></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "api" : "startRecording",</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "content" : {</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "firstNoteTime" : 2667,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "uuid" : "1703562044162971287",</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "accompanimentState" : 1</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> }</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">}</span></pre></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 184px;"></div><div class="CodeMirror-gutters" style="display: none; height: 184px;"></div></div></div></pre><p><strong><span>2、请求参数说明</span></strong></p><figure><table><thead><tr><th><span>参数</span></th><th><span>调用方</span></th><th><span>描述</span></th></tr></thead><tbody><tr><td><span>accompanimentState:是否静音评测</span><br><span>firstNoteTime:评测播放MP3开始时间(选段模式:firstNoteTime应该取预备小节的第一个音符的开始播放的时间,正常评测 取值为0)</span></td><td><span>H5</span></td><td><span>1.开始音频录制功能,同时判断accompanimentState是否静音播放mp3</span><br><span>2.在开始录制时,评测场景,如果是App播放mp3,这个时候App开启播放功能</span><br><span>3.录制开始接收到第一段音频时,会发送SOUND_COMPARE recordStart信息给服务端,同时回执recordStartTime至H5</span></td></tr></tbody></table></figure><p> </p><h5 id='endrecording'><font color="#dd0000"><del><span>endRecording</span></del></font></h5><p><strong><span>1、示例</span></strong></p><pre class="md-fences md-end-block ty-contain-cm modeLoaded" spellcheck="false" lang=""><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang=""><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.51562px; left: 8px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: 0px; width: 0px;"></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">{</span></pre></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "api" : "endRecording",</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "content" : {</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "uuid" : "1703561966859113931"</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> }</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">}</span></pre></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 138px;"></div><div class="CodeMirror-gutters" style="display: none; height: 138px;"></div></div></div></pre><p><strong><span>2、请求参数说明</span></strong></p><figure><table><thead><tr><th><span>参数</span></th><th><span>调用方</span></th><th><span>描述</span></th></tr></thead><tbody><tr><td><del><span>目前没有使用</span></del></td><td><span>H5</span></td><td><span>停止音频录制功能,回执endRecording给H5</span></td></tr></tbody></table></figure><p> </p><h5 id='playprogress'><span>playProgress</span></h5><p><strong><span>1、示例</span></strong></p><pre class="md-fences md-end-block ty-contain-cm modeLoaded" spellcheck="false" lang=""><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang=""><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.51562px; left: 8px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: 0px; width: 0px;"></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">{</span></pre></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "api" : "playProgress",</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "content" : {</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "totalDuration" : 6000,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "currentTime" : 10</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> }</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">}</span></pre></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 161px;"></div><div class="CodeMirror-gutters" style="display: none; height: 161px;"></div></div></div></pre><p><strong><span>2、请求参数说明</span></strong></p><figure><table><thead><tr><th><span>参数</span></th><th><span>调用方</span></th><th><span>描述</span></th></tr></thead><tbody><tr><td><span>Mp3播放器进度回调:</span><br><span>currentTime:当前播放进度(时间 ms)</span><br><span>totalDuration:全曲时长(ms)</span></td><td><span>APP</span></td><td><span>1.评测功能:原生mp3播放器进度回调给前端</span><br><span>2.在进度回调中,计算延迟值,发送SOUND_COMPARE audioPlayStart至服务端</span></td></tr></tbody></table></figure><p> </p><h5 id='pauserecording'><font color="#dd0000"><del><span>pauseRecording</span></del></font></h5><p><strong><span>1、示例</span></strong></p><p><span>无</span></p><p><strong><span>2、请求参数说明</span></strong></p><figure><table><thead><tr><th><span>参数</span></th><th><span>调用方</span></th><th><span>描述</span></th></tr></thead><tbody><tr><td><span>可能用不上</span></td><td><span>H5</span></td><td><span>暂停音频录制</span></td></tr></tbody></table></figure><p> </p><h5 id='resumerecording'><font color="#dd0000"><del><span>resumeRecording</span></del></font></h5><p><strong><span>1、描述</span></strong></p><p><span>无</span></p><p><strong><span>2、请求参数说明</span></strong></p><figure><table><thead><tr><th><span>参数</span></th><th><span>调用方</span></th><th><span>描述</span></th></tr></thead><tbody><tr><td><span>可能用不上</span></td><td><span>H5</span></td><td><span>恢复音频录制</span></td></tr></tbody></table></figure><p> </p><h5 id='suspendplay'><span>suspendPlay</span></h5><p><strong><span>1、示例</span></strong></p><pre class="md-fences md-end-block ty-contain-cm modeLoaded" spellcheck="false" lang=""><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang=""><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.51562px; left: 8px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation"><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: 0px; width: 0px;"></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">{</span></pre></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "api" : "suspendPlay"</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">}</span></pre></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 69px;"></div><div class="CodeMirror-gutters" style="display: none; height: 69px;"></div></div></div></pre><p><strong><span>2、请求参数说明</span></strong></p><figure><table><thead><tr><th><span>参数</span></th><th><span>调用方</span></th><th><span>描述</span></th></tr></thead><tbody><tr><td> </td><td><span>H5</span></td><td><span>App退到后台暂停播放,通知H5</span></td></tr></tbody></table></figure><p> </p><h5 id='iswiredheadseton'><span>isWiredHeadsetOn</span></h5><p><strong><span>1、示例</span></strong></p><pre class="md-fences md-end-block ty-contain-cm modeLoaded" spellcheck="false" lang=""><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang=""><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.51562px; left: 8px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: 0px; width: 0px;"></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">{</span></pre></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "api" : "isWiredHeadsetOn",</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "content" : {</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "checkIsWired" : true,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "type" : "蓝牙耳机",</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "uuid" : "1703561404357134809"</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> }</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">}</span></pre></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 184px;"></div><div class="CodeMirror-gutters" style="display: none; height: 184px;"></div></div></div></pre><p><strong><span>2、请求参数说明</span></strong></p><figure><table><thead><tr><th><span>参数</span></th><th><span>调用方</span></th><th><span>描述</span></th></tr></thead><tbody><tr><td><span>checkIsWired:是否带耳机 </span><br><span>type:耳机类型名称:蓝牙耳机、有线耳机</span></td><td><span>H5</span></td><td><span>获取输出是否未耳机</span><br><span>type:有线耳机、蓝牙耳机</span><br><span>checkIsWired(是否带耳机)</span></td></tr></tbody></table></figure><p> </p><h5 id='listenerwiredstatus'><span>listenerWiredStatus</span></h5><p><strong><span>1、示例</span></strong></p><pre class="md-fences md-end-block ty-contain-cm modeLoaded" spellcheck="false" lang=""><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang=""><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.51562px; left: 8px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: 0px; width: 0px;"></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">{</span></pre></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "api" : "listenerWiredStatus",</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "content" : {</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "checkIsWired" : true,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "type" : "蓝牙耳机",</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "uuid" : "1703561404357134809"</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> }</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">}</span></pre></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 184px;"></div><div class="CodeMirror-gutters" style="display: none; height: 184px;"></div></div></div></pre><p><strong><span>2、请求参数说明</span></strong></p><figure><table><thead><tr><th><span>参数</span></th><th><span>调用方</span></th><th><span>描述</span></th></tr></thead><tbody><tr><td><span>checkIsWired:是否带耳机 </span><br><span>type:耳机类型名称:蓝牙耳机、有线耳机</span></td><td><span>APP</span></td><td><span>App监听扬声器通道变化通知给H5</span></td></tr></tbody></table></figure><p> </p><h5 id='proxymessage'><font color="#dd0000"><del><span>proxyMessage</span></del></font></h5><p><strong><span>1、示例</span></strong></p><pre class="md-fences md-end-block ty-contain-cm modeLoaded" spellcheck="false" lang=""><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang=""><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.51562px; left: 8px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation"><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: 0px; width: 0px;"></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">已废弃</span></pre></div></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 23px;"></div><div class="CodeMirror-gutters" style="display: none; height: 23px;"></div></div></div></pre><p><strong><span>2、请求参数说明</span></strong></p><figure><table><thead><tr><th><span>参数</span></th><th><span>调用方</span></th><th><span>描述</span></th></tr></thead><tbody><tr><td> </td><td><span>H5</span></td><td><span>H5调用发送消息至服务端,将content放在body,header 设置proxyMessage,发送给服务等</span></td></tr></tbody></table></figure><p> </p><h5 id='proxyservicemessage'><font color="#dd0000"><span>proxyServiceMessage</span></font></h5><p><strong><span>1、示例</span></strong></p><pre class="md-fences md-end-block ty-contain-cm modeLoaded" spellcheck="false" lang=""><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang=""><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.51562px; left: 8px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: 0px; width: 0px;"></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">{</span></pre></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "api" : "proxyServiceMessage",</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "content" : {</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "header" : {</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "commond" : "recordCancel",</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "type" : "SOUND_COMPARE",</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "status" : 200</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> },</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "uuid" : "1703561640785920599"</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> }</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">}</span></pre></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 253px;"></div><div class="CodeMirror-gutters" style="display: none; height: 253px;"></div></div></div></pre><p><strong><span>2、请求参数说明</span></strong></p><figure><table><thead><tr><th><span>参数</span></th><th><span>调用方</span></th><th><span>描述</span></th></tr></thead><tbody><tr><td><span>通用接口</span><br><span>header:Object</span><br><span>commond:请求命令。目前支持的请求命令:musicXml(同步music xml信息),recordStart(开始评测),recordCancel(取消评测),recordEnd(结束评测)、videoUpload(上传 评测视频)</span><br><span>请求类型,目前支持的请求类型:SOUND_COMPARE(评测),DELAY_CHECK(延迟检查),PITCH_DETECTION(校音)</span><br><span>status:状态码,默认200</span></td><td><span>H5</span></td><td><span>H5调用发送消息至服务端,将content直接发送给服务等</span></td></tr></tbody></table></figure><p> </p><h5 id='sendresult'><font color="#dd0000"><span>sendResult</span></font></h5><p><strong><span>1、示例</span></strong></p><pre class="md-fences md-end-block ty-contain-cm modeLoaded" spellcheck="false" lang="" style="break-inside: unset;"><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang=""><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.51562px; left: 8px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><span><span></span>x</span></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: 0px; width: 0px;"></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">{</span></pre></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "api" : "sendResult",</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "content" : {</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "uuid" : "1703561640785920599",</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "body" : {</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "url" : "https:\/\/oss.dayaedu.com\/cloud-coach\/202401\/103732_2401021407268.wav",</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "score" : 0,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "playTime" : 0,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "integrity" : 0,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "intonation" : 0,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "scoreData" : {</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "musicalNotesPlayStats" : {</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "notesData" : [</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp="">
- </span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> ],</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "examSongId" : "1688446805041012737",</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "xmlUrl" : "https:\/\/oss.dayaedu.com\/cloud-coach\/你的名字叫什么.xml",</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "detailId" : "1688446805041012737"</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> },</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "userMeasureScore" : {</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp="">
- </span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> }</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> },</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "cadence" : 0</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> },</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "header" : {</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "commond" : "recordCancel",</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "type" : "SOUND_COMPARE",</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "status" : 200</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> }</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> }</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">}</span></pre></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 737px;"></div><div class="CodeMirror-gutters" style="display: none; height: 737px;"></div></div></div></pre><p><strong><span>2、请求参数说明</span></strong></p><figure><table><thead><tr><th><span>参数</span></th><th><span>调用方</span></th><th><span>描述</span></th></tr></thead><tbody><tr><td><span>通用接口</span><br><span>header:Object</span><br><span>commond:请求命令。目前支持的请求命令:musicXml(同步music xml信息),recordStart(开始评测),recordCancel(取消评测),recordEnd(结束评测)、videoUpload(上传 评测视频)</span><br><span>请求类型,目前支持的请求类型:SOUND_COMPARE(评测),DELAY_CHECK(延迟检查),PITCH_DETECTION(校音)</span><br><span>status:状态码,默认200</span><br><span>body:body内容更具返回内容不同,数据不同,如检测返回:{"body":{"firstNoteDelayDuration":185.7596435546875}</span><br><span>小节评分:{</span><br><span> "body": {</span><br><span> "score": 0,</span><br><span> "measureIndex": 5,</span><br><span> "measureRenderIndex": 5</span><br><span> },</span><br><span> "header": {</span><br><span> "commond": "measureScore",</span><br><span> "status": 200,</span><br><span> "type": "SOUND_COMPARE"</span><br><span> }</span><br><span>}</span><br><span>结束评测打分:</span></td><td><span>APP</span></td><td><span>App接收服务端消息传递给H5(传递服务端socket消息)</span></td></tr></tbody></table></figure><p> </p><h5 id='opencamera'><span>openCamera</span></h5><p><strong><span>1、示例</span></strong></p><pre class="md-fences md-end-block ty-contain-cm modeLoaded" spellcheck="false" lang=""><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang=""><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.51562px; left: 8px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: 0px; width: 0px;"></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">{</span></pre></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "api" : "openCamera",</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "content" : {</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "uuid" : "1703561966859113931"</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> }</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">}</span></pre></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 138px;"></div><div class="CodeMirror-gutters" style="display: none; height: 138px;"></div></div></div></pre><p><strong><span>2、请求参数说明</span></strong></p><figure><table><thead><tr><th><span>参数</span></th><th><span>调用方</span></th><th><span>描述</span></th></tr></thead><tbody><tr><td> </td><td><span>H5</span></td><td><span>开启摄像头,App收到后会检测摄像头相关权限,渲染摄像头捕捉画面</span></td></tr></tbody></table></figure><p> </p><h5 id='closecamera'><span>closeCamera</span></h5><p><strong><span>1、示例</span></strong></p><pre class="md-fences md-end-block ty-contain-cm modeLoaded" spellcheck="false" lang=""><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang=""><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.51562px; left: 8px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: 0px; width: 0px;"></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">{</span></pre></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "api" : "closeCamera",</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "content" : {</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "uuid" : "1703561996652345199"</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> }</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">}</span></pre></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 138px;"></div><div class="CodeMirror-gutters" style="display: none; height: 138px;"></div></div></div></pre><p><strong><span>2、请求参数说明</span></strong></p><figure><table><thead><tr><th><span>参数</span></th><th><span>调用方</span></th><th><span>描述</span></th></tr></thead><tbody><tr><td> </td><td><span>H5</span></td><td><span>关闭摄像头,停止渲染摄像头捕捉画面</span></td></tr></tbody></table></figure><p> </p><h5 id='startcapture'><span>startCapture</span></h5><p><strong><span>1、示例</span></strong></p><pre class="md-fences md-end-block ty-contain-cm modeLoaded" spellcheck="false" lang=""><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang=""><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.51562px; left: 8px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: 0px; width: 0px;"></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">{</span></pre></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "api" : "startCapture",</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "content" : {</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "uuid" : "1703562200341909531"</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> }</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">}</span></pre></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 138px;"></div><div class="CodeMirror-gutters" style="display: none; height: 138px;"></div></div></div></pre><p><strong><span>2、请求参数说明</span></strong></p><figure><table><thead><tr><th><span>参数</span></th><th><span>调用方</span></th><th><span>描述</span></th></tr></thead><tbody><tr><td> </td><td><span>H5</span></td><td><span>开启摄像头录制</span></td></tr></tbody></table></figure><p> </p><h5 id='endcapture'><span>endCapture</span></h5><p><strong><span>1、示例</span></strong></p><pre class="md-fences md-end-block ty-contain-cm modeLoaded" spellcheck="false" lang=""><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang=""><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.51562px; left: 8px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: 0px; width: 0px;"></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">{</span></pre></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "api" : "endCapture",</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "content" : {</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "uuid" : "1703562234983517772"</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> }</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">}</span></pre></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 138px;"></div><div class="CodeMirror-gutters" style="display: none; height: 138px;"></div></div></div></pre><p><strong><span>2、请求参数说明</span></strong></p><figure><table><thead><tr><th><span>参数</span></th><th><span>调用方</span></th><th><span>描述</span></th></tr></thead><tbody><tr><td> </td><td><span>H5</span></td><td><span>关闭摄像头录制</span></td></tr></tbody></table></figure><p> </p><h5 id='setcapturemode'><span>setCaptureMode</span></h5><p><strong><span>1、示例</span></strong></p><pre class="md-fences md-end-block ty-contain-cm modeLoaded" spellcheck="false" lang=""><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang=""><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.51562px; left: 8px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: 0px; width: 0px;"></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">{</span></pre></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "api" : "setCaptureMode",</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "content" : {</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "mode" : "evaluating",</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "uuid" : "1703561966859113931"</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> }</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">}</span></pre></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 161px;"></div><div class="CodeMirror-gutters" style="display: none; height: 161px;"></div></div></div></pre><p><strong><span>2、请求参数说明</span></strong></p><figure><table><thead><tr><th><span>参数</span></th><th><span>调用方</span></th><th><span>描述</span></th></tr></thead><tbody><tr><td><span>mode:播放(practice)还是评测(evaluating)</span></td><td><span>H5</span></td><td><span>iOS 使用该功能,modeString 如果是评测,录制视频时,不会采集麦克风声音(声音交给录音功能去实现)</span></td></tr></tbody></table></figure><p> </p><h5 id='videoupdate'><font color="#dd0000"><span>videoUpdate</span></font></h5><p><strong><span>1、示例</span></strong></p><pre class="md-fences md-end-block ty-contain-cm modeLoaded" spellcheck="false" lang=""><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang=""><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.51562px; left: 8px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: 0px; width: 0px;"></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">{</span></pre></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "api" : "videoUpdate",</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "content" : {</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "type" : "success",</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "message" : "上传成功",</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "filePath" : "https:\/\/www.cdn.dayaedu.com\/ssl.wav"</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> }</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">}</span></pre></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 184px;"></div><div class="CodeMirror-gutters" style="display: none; height: 184px;"></div></div></div></pre><p><strong><span>2、请求参数说明</span></strong></p><figure><table><thead><tr><th><span>参数</span></th><th><span>调用方</span></th><th><span>描述</span></th></tr></thead><tbody><tr><td><span>type:是否成功(success| error)</span><br><span>message:上传成功</span><br><span>filePath: 视频地址</span></td><td><span>H5</span></td><td><span>上传录制的视频,无合成功能的app中使用</span></td></tr></tbody></table></figure><p> </p><hr /><p> </p><h4 id='校音-2'><span>校音</span></h4><h5 id='startsoundcheck'><span>startSoundCheck</span></h5><p><strong><span>1、示例</span></strong></p><pre class="md-fences md-end-block ty-contain-cm modeLoaded" spellcheck="false" lang=""><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang=""><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.51562px; left: 8px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: 0px; width: 0px;"></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">{</span></pre></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "api" : "startSoundCheck",</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "content" : {</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "uuid" : "1703561966859113931"</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> }</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">}</span></pre></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 138px;"></div><div class="CodeMirror-gutters" style="display: none; height: 138px;"></div></div></div></pre><p><strong><span>2、请求参数说明</span></strong></p><figure><table><thead><tr><th><span>参数</span></th><th><span>调用方</span></th><th><span>描述</span></th></tr></thead><tbody><tr><td> </td><td><span>H5</span></td><td><span>开始校音,开始音频录制,录制第一段声音回调时,会发送PITCH_DETECTION recordStart消息给服务端</span></td></tr></tbody></table></figure><p> </p><h5 id='endsoundcheck'><span>endSoundCheck</span></h5><p><strong><span>1、示例</span></strong></p><pre class="md-fences md-end-block ty-contain-cm modeLoaded" spellcheck="false" lang=""><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang=""><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.51562px; left: 8px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: 0px; width: 0px;"></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">{</span></pre></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "api" : "endSoundCheck",</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "content" : {</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "uuid" : "1703561966859113931"</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> }</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">}</span></pre></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 138px;"></div><div class="CodeMirror-gutters" style="display: none; height: 138px;"></div></div></div></pre><p><strong><span>2、请求参数说明</span></strong></p><figure><table><thead><tr><th><span>参数</span></th><th><span>调用方</span></th><th><span>描述</span></th></tr></thead><tbody><tr><td> </td><td><span>描述</span></td><td><span>结束校音,停止音频录制</span></td></tr></tbody></table></figure><p> </p><hr /><p> </p><h4 id='mid播放'><span>Mid播放</span></h4><h5 id='clouddetail'><span>cloudDetail</span></h5><p><strong><span>1、示例</span></strong></p><pre class="md-fences md-end-block ty-contain-cm modeLoaded" spellcheck="false" lang=""><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang=""><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.51562px; left: 8px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: 0px; width: 0px;"></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">{</span></pre></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "api" : "cloudDetail",</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "content" : {</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "numerator" : 4,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "midi" : "",</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "interval" : 50,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "denominator" : 4,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "originalSpeed" : 90</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> }</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">}</span></pre></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 230px;"></div><div class="CodeMirror-gutters" style="display: none; height: 230px;"></div></div></div></pre><p><strong><span>2、请求参数说明</span></strong></p><figure><table><thead><tr><th><span>参数</span></th><th><span>调用方</span></th><th><span>描述</span></th></tr></thead><tbody><tr><td><span>midi :midi文件Url</span><br><span>originalSpeed :mid原始速度</span><br><span>denominator:多少分音符</span><br><span>numerator:小节拍数</span><br><span>interval:回调间隔ms</span></td><td><span>H5</span></td><td><span>1.获取mid相关播放信息,同时下载mid文件</span><br><span>2.初始化mid播放器成后回调播放总时长midiDuration回调给H5</span></td></tr></tbody></table></figure><p> </p><h5 id='cloudgetmediastatus'><span>cloudGetMediaStatus</span></h5><p><strong><span>1、示例</span></strong></p><pre class="md-fences md-end-block ty-contain-cm modeLoaded" spellcheck="false" lang=""><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang=""><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.51562px; left: 8px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: 0px; width: 0px;"></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">{</span></pre></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "api" : "cloudGetMediaStatus",</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "content" : {</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "status" : "suspend"</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> }</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">}</span></pre></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 138px;"></div><div class="CodeMirror-gutters" style="display: none; height: 138px;"></div></div></div></pre><p><strong><span>2、请求参数说明</span></strong></p><figure><table><thead><tr><th><span>参数</span></th><th><span>调用方</span></th><th><span>描述</span></th></tr></thead><tbody><tr><td><span>status: mid 播放器状态 'init' </span><span>|</span><span> ’play‘ </span><span>|</span><span> ’suspend‘</span></td><td><span>H5</span></td><td><span>获取mid播放器状态</span></td></tr></tbody></table></figure><p> </p><h5 id='cloudplay'><span>cloudPlay</span></h5><p><strong><span>1、示例</span></strong></p><pre class="md-fences md-end-block ty-contain-cm modeLoaded" spellcheck="false" lang=""><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang=""><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.51562px; left: 8px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: 0px; width: 0px;"></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">{</span></pre></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "api" : "cloudPlay",</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "content" : {</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "startTime" : 0,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "hertz" : 440,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "songID" : 0,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "speed" : 90,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "originalSpeed" : 90</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> }</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">}</span></pre></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 230px;"></div><div class="CodeMirror-gutters" style="display: none; height: 230px;"></div></div></div></pre><p><strong><span>2、请求参数说明</span></strong></p><figure><table><thead><tr><th><span>参数</span></th><th><span>调用方</span></th><th><span>描述</span></th></tr></thead><tbody><tr><td><span>songID: 当前曲目id</span><br><span>originalSpeed: xml整体原始速度</span><br><span>speed: 当前选择速度</span><br><span>startTime: 开始时间(ms)</span><br><span> hertz:播放频率</span></td><td><span>H5</span></td><td><span>mid播放器----播放、播放结束位置、跳转指定位置</span></td></tr></tbody></table></figure><p> </p><h5 id='cloudsuspend'><span>cloudSuspend</span></h5><p><strong><span>1、示例</span></strong></p><pre class="md-fences md-end-block ty-contain-cm modeLoaded" spellcheck="false" lang=""><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang=""><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.51562px; left: 8px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: 0px; width: 0px;"></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">{</span></pre></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "api" : "cloudSuspend",</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "content" : {</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "songID" : 0</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> }</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">}</span></pre></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 138px;"></div><div class="CodeMirror-gutters" style="display: none; height: 138px;"></div></div></div></pre><p><strong><span>2、请求参数说明</span></strong></p><figure><table><thead><tr><th><span>参数</span></th><th><span>调用方</span></th><th><span>描述</span></th></tr></thead><tbody><tr><td><span>songID:当前曲目id</span></td><td><span>H5</span></td><td><span>暂停mid播放</span></td></tr></tbody></table></figure><p> </p><h5 id='cloudsetcurrenttime'><span>cloudSetCurrentTime</span></h5><p><strong><span>1、示例</span></strong></p><pre class="md-fences md-end-block ty-contain-cm modeLoaded" spellcheck="false" lang=""><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang=""><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.51562px; left: 8px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: 0px; width: 0px;"></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">{</span></pre></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "api" : "cloudSetCurrentTime",</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "content" : {</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "songID" : 0,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "currentTime" : 0</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> }</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">}</span></pre></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 161px;"></div><div class="CodeMirror-gutters" style="display: none; height: 161px;"></div></div></div></pre><p><strong><span>2、请求参数说明</span></strong></p><figure><table><thead><tr><th><span>参数</span></th><th><span>调用方</span></th><th><span>描述</span></th></tr></thead><tbody><tr><td><span>songID:当前曲目id</span><br><span>currentTime:播放进度</span></td><td><span>H5</span></td><td><span>跳转指定位置</span></td></tr></tbody></table></figure><p> </p><h5 id='cloudchangespeed'><span>cloudChangeSpeed</span></h5><p><strong><span>1、示例</span></strong></p><pre class="md-fences md-end-block ty-contain-cm modeLoaded" spellcheck="false" lang=""><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang=""><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.51562px; left: 8px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: 0px; width: 0px;"></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">{</span></pre></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "api" : "cloudChangeSpeed",</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "content" : {</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "speed" : 90,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "songID" : 0,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "originalSpeed" : 120</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> }</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">}</span></pre></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 184px;"></div><div class="CodeMirror-gutters" style="display: none; height: 184px;"></div></div></div></pre><p><strong><span>2、请求参数说明</span></strong></p><figure><table><thead><tr><th><span>参数</span></th><th><span>调用方</span></th><th><span>描述</span></th></tr></thead><tbody><tr><td><span>songID:当前曲目id</span><br><span>speed:调整速度</span><br><span>originalSpeed:曲子原速</span></td><td><span>H5</span></td><td><span>mid播放调速</span></td></tr></tbody></table></figure><p> </p><h5 id='cloudvolume'><span>cloudVolume</span></h5><p><strong><span>1、示例</span></strong></p><pre class="md-fences md-end-block ty-contain-cm modeLoaded" spellcheck="false" lang=""><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang=""><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.51562px; left: 8px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: 0px; width: 0px;"></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">{</span></pre></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "api" : "cloudVolume",</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "content" : {</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">"activeMidiId":"12",</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">"activeMidiVolume":100</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "parts" : [</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> {</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "name" : "长笛",</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "volume" : 90</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> }</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> ]</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> }</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">} </span></pre></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 299px;"></div><div class="CodeMirror-gutters" style="display: none; height: 299px;"></div></div></div></pre><p><strong><span>2、请求参数说明</span></strong></p><figure><table><thead><tr><th><span>参数</span></th><th><span>调用方</span></th><th><span>描述</span></th></tr></thead><tbody><tr><td><span>activeMidiId:轨道ID</span><br><span>activeMidiVolume:播放音了</span><br><font color="#dd0000"><span>parts:所有轨道音量参数:(暂未使用)</span></font><br><font color="#dd0000"><span>name:声轨名称</span></font><br><font color="#dd0000"><span>volume:音量(0~100)</span></font></td><td><span>H5</span></td><td><span>设置每个轨道音量</span></td></tr></tbody></table></figure><p> </p><h5 id='cloudmetronome'><span>cloudMetronome</span></h5><p><strong><span>1、示例</span></strong></p><pre class="md-fences md-end-block ty-contain-cm modeLoaded" spellcheck="false" lang=""><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang=""><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.51562px; left: 8px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: 0px; width: 0px;"></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">{</span></pre></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "api" : "cloudDetail",</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "content" : {</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "numerator" : 4,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "supplement" : 0,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "denominator" : 4,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "repeat" : 1</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> }</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">}</span></pre></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 207px;"></div><div class="CodeMirror-gutters" style="display: none; height: 207px;"></div></div></div></pre><p><strong><span>2、请求参数说明</span></strong></p><figure><table><thead><tr><th><span>参数</span></th><th><span>调用方</span></th><th><span>描述</span></th></tr></thead><tbody><tr><td><span>supplement:补拍</span><br><span>repeat:重复节拍次数</span><br><span>denominator:多少分音符</span><br><span>numerator:小节拍数</span></td><td><span>H5</span></td><td><span>1.节拍器播放功能,获取播放节拍,速度</span><br><span>2.播放回调,cancel finish的回调</span></td></tr></tbody></table></figure><p> </p><h5 id='clouddestroy'><span>cloudDestroy</span></h5><p><strong><span>1、示例</span></strong></p><pre class="md-fences md-end-block ty-contain-cm modeLoaded" spellcheck="false" lang=""><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang=""><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.51562px; left: 8px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: 0px; width: 0px;"></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">{</span></pre></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "api" : "cloudDestroy",</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "content" : {</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> }</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">}</span></pre></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 115px;"></div><div class="CodeMirror-gutters" style="display: none; height: 115px;"></div></div></div></pre><p><strong><span>2、请求参数说明</span></strong></p><figure><table><thead><tr><th><span>参数</span></th><th><span>调用方</span></th><th><span>描述</span></th></tr></thead><tbody><tr><td> </td><td><span>H5</span></td><td><span>销毁mid播放器</span></td></tr></tbody></table></figure><p> </p><h5 id='cloudtimeupdae'><span>cloudTimeUpdae</span></h5><p><strong><span>1、示例</span></strong></p><pre class="md-fences md-end-block ty-contain-cm modeLoaded" spellcheck="false" lang=""><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang=""><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.51562px; left: 8px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: 0px; width: 0px;"></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">{</span></pre></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "api" : "cloudTimeUpdae",</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "content" : {</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "songID" : 0,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "currentTime" : 0</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> }</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">}</span></pre></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 161px;"></div><div class="CodeMirror-gutters" style="display: none; height: 161px;"></div></div></div></pre><p><strong><span>2、请求参数说明</span></strong></p><figure><table><thead><tr><th><span>参数</span></th><th><span>调用方</span></th><th><span>描述</span></th></tr></thead><tbody><tr><td><span>songID:曲目ID</span><br><span>currentTime:当前播放进度ms</span></td><td><span>H5</span></td><td><span>mid播放器进度回调给H5</span></td></tr></tbody></table></figure><p> </p><h5 id='cloudplayed'><span>cloudplayed</span></h5><p><strong><span>1、示例</span></strong></p><pre class="md-fences md-end-block ty-contain-cm modeLoaded" spellcheck="false" lang=""><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang=""><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.51562px; left: 8px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: 0px; width: 0px;"></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">{</span></pre></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "api" : "cloudplayed",</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "content" : {</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "songID" : 0</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> }</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">}</span></pre></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 138px;"></div><div class="CodeMirror-gutters" style="display: none; height: 138px;"></div></div></div></pre><p><strong><span>2、请求参数说明</span></strong></p><figure><table><thead><tr><th><span>参数</span></th><th><span>调用方</span></th><th><span>描述</span></th></tr></thead><tbody><tr><td><span>songID:曲目id</span></td><td><span>App</span></td><td><span>mid播放结束回调给H5</span></td></tr></tbody></table></figure><p> </p><hr /><p> </p><h4 id='跟音功能'><span>跟音功能</span></h4><h5 id='cloudtogglefollow'><span>cloudToggleFollow</span></h5><p><strong><span>1、示例</span></strong></p><pre class="md-fences md-end-block ty-contain-cm modeLoaded" spellcheck="false" lang=""><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang=""><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.51562px; left: 8px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: 0px; width: 0px;"></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">{</span></pre></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "api" : "cloudToggleFollow",</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "content" : {</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "state" : "start",</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> }</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">}</span></pre></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 138px;"></div><div class="CodeMirror-gutters" style="display: none; height: 138px;"></div></div></div></pre><p><strong><span>2、请求参数说明</span></strong></p><figure><table><thead><tr><th><span>参数</span></th><th><span>调用方</span></th><th><span>描述</span></th></tr></thead><tbody><tr><td><span>status: 开始、结束跟音(start| end)</span></td><td><span>H5</span></td><td><span>跟音功能,开启调音器声音检测功能,接收到频率回调时,发送cloudFollowTime 将获取到的frequency 传给H5</span></td></tr></tbody></table></figure><p> </p><h5 id='cloudfollowtime'><span>cloudFollowTime</span></h5><p><strong><span>1、示例</span></strong></p><pre class="md-fences md-end-block ty-contain-cm modeLoaded" spellcheck="false" lang=""><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang=""><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.51562px; left: 8px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: 0px; width: 0px;"></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">{</span></pre></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "api" : "cloudFollowTime",</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "content" : {</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "frequency" : 587.31,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> }</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">}</span></pre></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 138px;"></div><div class="CodeMirror-gutters" style="display: none; height: 138px;"></div></div></div></pre><p><strong><span>2、请求参数说明</span></strong></p><figure><table><thead><tr><th><span>参数</span></th><th><span>调用方</span></th><th><span>描述</span></th></tr></thead><tbody><tr><td><span>frequency:录音音频频率</span></td><td><span>App</span></td><td><span>App回调跟音录制频率回调给H5</span></td></tr></tbody></table></figure><p> </p><hr /><p> </p><h4 id='合成相关'><span>合成相关</span></h4><h5 id='openadjustrecording'><span>openAdjustRecording</span></h5><p><strong><span>1、示例</span></strong></p><pre class="md-fences md-end-block ty-contain-cm modeLoaded" spellcheck="false" lang=""><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang=""><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.51562px; left: 8px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: 0px; width: 0px;"></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">{</span></pre></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "api" : "openAdjustRecording",</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "content" : {</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "title" : "欢乐颂",</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "coverImg" : "https:\/\/www.cdn.dayaedu.com\/sdfsfs.png",</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "recordId" : "1231312313213123",</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "uuid" : "1703561966859113931"</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> }</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">}</span></pre></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 207px;"></div><div class="CodeMirror-gutters" style="display: none; height: 207px;"></div></div></div></pre><p><strong><span>2、请求参数说明</span></strong></p><figure><table><thead><tr><th><span>参数</span></th><th><span>调用方</span></th><th><span>描述</span></th></tr></thead><tbody><tr><td><span>recordId : 评测记录id title: 曲目名 coverImg : 曲目封面</span></td><td><span>H5</span></td><td><span>App进入合成功能页面</span></td></tr></tbody></table></figure><p> </p><h5 id='hidecomplexbutton'><span>hideComplexButton</span></h5><p><strong><span>1、示例</span></strong></p><pre class="md-fences md-end-block ty-contain-cm modeLoaded" spellcheck="false" lang=""><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang=""><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.51562px; left: 8px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: 0px; width: 0px;"></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">{</span></pre></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "api" : "hideComplexButton",</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "content" : {</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> </span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> }</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">}</span></pre></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 138px;"></div><div class="CodeMirror-gutters" style="display: none; height: 138px;"></div></div></div></pre><p><strong><span>2、请求参数说明</span></strong></p><figure><table><thead><tr><th><span>参数</span></th><th><span>调用方</span></th><th><span>描述</span></th></tr></thead><tbody><tr><td> </td><td><span>APP</span></td><td><span>合成发布作品成功后App回调,H5隐藏保存演奏按钮</span></td></tr></tbody></table></figure><p> </p><p> </p><h2 id='后端评测功能'><span>后端评测功能</span></h2><h3 id='时序图'><span>时序图</span></h3><p><img src="imgs/评测时序图.png" referrerpolicy="no-referrer" alt="image"></p><p> </p><hr /><p> </p><h3 id='流程说明'><span>流程说明</span></h3><h4 id='客户端点击开始评测'><strong><span>客户端点击开始评测</span></strong></h4><p><strong><span>1、功能说明:</span></strong></p><p><span> 1)Websocket客户端发送曲目XML文件信息到服务端</span></p><p><span> 2)开始评测前,前端传入需要评测的曲目相关数据和延迟时间,由后端保存,没有返回数据。</span></p><p> </p><p><strong><span>2、请求参数示例:</span></strong></p><pre class="md-fences md-end-block ty-contain-cm modeLoaded" spellcheck="false" lang="" style="break-inside: unset;"><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang=""><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.51562px; left: 8px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: 0px; width: 0px;"></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">{</span></pre></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "header": {</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "commond": "musicXml",</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "type": "SOUND_COMPARE",</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "status": 200</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> },</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "body": {</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "musicXmlInfos": [</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> {</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "timeStamp": 0,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "duration": 2400,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "frequency": 175.40781624248606,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "nextFrequency": 185.83810777107092,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "prevFrequency": 165.5629319948733,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureIndex": 0,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureRenderIndex": 0,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "dontEvaluating": false,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "musicalNotesIndex": 0,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "denominator": 1</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> },</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> {</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "timeStamp": 2400,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "duration": 2400,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "frequency": 196.88861670901497,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "nextFrequency": 208.59622310265428,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "prevFrequency": 185.83810777107092,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureIndex": 1,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureRenderIndex": 1,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "dontEvaluating": false,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "musicalNotesIndex": 1,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "denominator": 1</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> },</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> {</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "timeStamp": 36000,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "duration": 2400,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "frequency": 350.8156324849721,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "nextFrequency": 371.67621554214185,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "prevFrequency": 331.1258639897466,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureIndex": 15,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureRenderIndex": 15,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "dontEvaluating": false,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "musicalNotesIndex": 15,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "denominator": 1</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> }</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> ],</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "firstNoteTime": 0,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "id": "1113",</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "subjectId": 4,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "detailId": 1103,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "examSongId": 1113,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "xmlUrl": "https:\/\/oss.dayaedu.com\/daya\/202108\/SfYmJZ2.xml",</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "partIndex": 0,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "behaviorId": "1703729242379352905",</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "tenantId": 1,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "platform": "ANDROID",</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "clientId": "student",</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "speed": 100,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "heardLevel": "ADVANCED",</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "beatLength": 2480,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "evaluationCriteria": "frequency",</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "uuid": "1703730337571345881"</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> }</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">}</span></pre></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 1451px;"></div><div class="CodeMirror-gutters" style="display: none; height: 1451px;"></div></div></div></pre><p> </p><p><strong><span>3、请求参数说明:</span></strong></p><figure><table><thead><tr><th><span>参数</span></th><th><span>类型</span></th><th><span>说明</span></th></tr></thead><tbody><tr><td><span>header</span></td><td><span>Object</span></td><td><span>请求信息</span></td></tr><tr><td><span>commond</span></td><td><span>String</span></td><td><span>请求命令。目前支持的请求命令:musicXml(同步music xml信息),recordStart(开始评测),recordCancel(取消评测),recordEnd(结束评测)</span></td></tr><tr><td><span>type</span></td><td><span>String</span></td><td><span>请求类型,目前支持的请求类型:SOUND_COMPARE(评测),DELAY_CHECK(延迟检查),PITCH_DETECTION(校音)</span></td></tr><tr><td><span>status</span></td><td><span>Integer</span></td><td><span>固定值200</span></td></tr><tr><td><span>body</span></td><td><span>Object</span></td><td><span>曲目信息</span></td></tr><tr><td><span>musicXmlInfos</span></td><td><span>Array</span></td><td><span>曲目音符信息</span></td></tr><tr><td><span>timeStamp</span></td><td><span>double</span></td><td><span>音符起始时间戳,单位:ms(第一个音符是0ms)</span></td></tr><tr><td><span>duration</span></td><td><span>double</span></td><td><span>当前音符持续的播放时间(ms)</span></td></tr><tr><td><span>frequency</span></td><td><span>float</span></td><td><span>当前音符的频率</span></td></tr><tr><td><span>nextFrequency</span></td><td><span>float</span></td><td><span>下一个音的频率(不是乐谱中下一个音符的频率),当前音符加上100音分</span></td></tr><tr><td><span>prevFrequency</span></td><td><span>float</span></td><td><span>上一个音的频率(不是乐谱中上一个音符的频率),当前音符减去100音分</span></td></tr><tr><td><span>measureIndex</span></td><td><span>Integer</span></td><td><span>当前音符所在的小节下标(从0开始)</span></td></tr><tr><td><span>dontEvaluating</span></td><td><span>boolean</span></td><td><span>当前音符是否需要评测</span></td></tr><tr><td><span>musicalNotesIndex</span></td><td><span>Integer</span></td><td><span>当前音符在整个曲谱中的下标(从0开始)</span></td></tr><tr><td><span>denominator</span></td><td><span>Integer</span></td><td><span>多少分音符</span></td></tr><tr><td><span>measureRenderIndex</span></td><td><span>Integer</span></td><td> </td></tr><tr><td><span>firstNoteTime</span></td><td><span>Integer</span></td><td><span>第一个音符开始时间</span></td></tr><tr><td><span>id</span></td><td><span>String</span></td><td><span>曲目ID</span></td></tr><tr><td><span>subjectId</span></td><td><span>Integer</span></td><td><span>声部ID</span></td></tr><tr><td><span>detailId</span></td><td><span>Integer</span></td><td><span>曲目伴奏ID</span></td></tr><tr><td><span>examSongId</span></td><td><span>Integer</span></td><td><span>曲目ID</span></td></tr><tr><td><span>xmlUrl</span></td><td><span>String</span></td><td><span>曲目xml的url路径</span></td></tr><tr><td><span>partIndex</span></td><td><span>String</span></td><td> </td></tr><tr><td><span>behaviorId</span></td><td><span>String</span></td><td><span>行为编号,同一编号为一次</span></td></tr><tr><td><span>tenantId</span></td><td><span>Integer</span></td><td><span>机构ID</span></td></tr><tr><td><span>platform</span></td><td><span>String</span></td><td><span>请求来源(设备类型)ANDROID,IOS</span></td></tr><tr><td><span>clientId</span></td><td><span>String</span></td><td><span>客户端类型(student,teacher)</span></td></tr><tr><td><span>speed</span></td><td><span>Integer</span></td><td><span>曲目评测速度</span></td></tr><tr><td><span>heardLevel</span></td><td><span>String</span></td><td><span>曲目评测难度(BEGINNER:入门级,ADVANCED:进阶级,PERFORMER:大师级)</span></td></tr><tr><td><span>beatLength</span></td><td><span>Integer</span></td><td><span>节拍延迟时间</span></td></tr><tr><td><span>evaluationCriteria</span></td><td><span>String</span></td><td><span>曲目评估标准:AMPLITUDE("振幅"),FREQUENCY("频率"),DECIBELS("分贝")</span></td></tr><tr><td><span>uuid</span></td><td><span>String</span></td><td><span>请求唯一ID</span></td></tr></tbody></table></figure><p> </p><p><strong><span>4、应答返回</span></strong></p><p><span> 无</span></p><p> </p><h4 id='开始评测-2'><strong><span>开始评测</span></strong></h4><p><strong><span>1、功能说明:</span></strong></p><p><span> 1)Websocket客户端发送曲目XML文件信息到服务端</span></p><p><span> 2)开始评测,前端传入评测开的的命令信息,没有返回数据。</span></p><p> </p><p><strong><span>2、请求参数示例:</span></strong></p><pre class="md-fences md-end-block ty-contain-cm modeLoaded" spellcheck="false" lang=""><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang=""><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.51562px; left: 8px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: 0px; width: 0px;"></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">{</span></pre></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "header": {</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "commond": "recordStart",</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "type": "SOUND_COMPARE",</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "status": 200</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> }</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">}</span></pre></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 161px;"></div><div class="CodeMirror-gutters" style="display: none; height: 161px;"></div></div></div></pre><p> </p><p><strong><span>3、参数请求说明</span></strong><span>:</span></p><figure><table><thead><tr><th><span>参数</span></th><th><span>类型</span></th><th><span>说明</span></th></tr></thead><tbody><tr><td><span>header</span></td><td><span>Object</span></td><td><span>请求信息</span></td></tr><tr><td><span>commond</span></td><td><span>String</span></td><td><span>请求命令。目前支持的请求命令:musicXml(同步music xml信息),recordStart(开始评测),recordCancel(取消评测),recordEnd(结束评测)</span></td></tr><tr><td><span>type</span></td><td><span>String</span></td><td><span>请求类型,目前支持的请求类型:SOUND_COMPARE(评测),DELAY_CHECK(延迟检查),PITCH_DETECTION(校音)</span></td></tr><tr><td><span>status</span></td><td><span>Integer</span></td><td><span>固定值200</span></td></tr></tbody></table></figure><p> </p><p><strong><span>4、应答返回</span></strong></p><p><span> 无</span></p><p> </p><h4 id='发送音频数据流'><span>发送音频数据流</span></h4><p><strong><span>1、功能说明:</span></strong></p><p><span> 1)Websocket客户端发送曲目XML文件信息到服务端</span></p><p><span> 2)评测开始后,前端将录制的音频数据流通过Websockt发送到服务端。服务端解析数据流,当数据流满足一个小节长度后,返回当前小节的分数。</span></p><p> </p><p><strong><span>2、请求参数示例:</span></strong></p><p><span> 无</span></p><p> </p><p><strong><span>3、应答返回:</span></strong></p><p><span>当数据流满足一个小节长度后,返回当前小节的分数:</span></p><pre class="md-fences md-end-block ty-contain-cm modeLoaded" spellcheck="false" lang=""><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang=""><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.51562px; left: 8px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: 0px; width: 0px;"></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">{</span></pre></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "body": {</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "score": 0,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureIndex": 5,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "measureRenderIndex": 5</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> },</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "header": {</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "commond": "measureScore",</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "status": 200,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "type": "SOUND_COMPARE"</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> }</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">}</span></pre></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 276px;"></div><div class="CodeMirror-gutters" style="display: none; height: 276px;"></div></div></div></pre><p> </p><p><strong><span>4、返回参数说明</span></strong><span>:</span></p><figure><table><thead><tr><th><span>参数</span></th><th><span>类型</span></th><th><span>说明</span></th></tr></thead><tbody><tr><td><span>header</span></td><td><span>Object</span></td><td><span>请求信息</span></td></tr><tr><td><span>commond</span></td><td><span>String</span></td><td><span>固定值measureScore</span></td></tr><tr><td><span>type</span></td><td><span>String</span></td><td><span>请求类型,目前支持的请求类型:SOUND_COMPARE(评测),DELAY_CHECK(延迟检查),PITCH_DETECTION(校音)</span></td></tr><tr><td><span>status</span></td><td><span>Integer</span></td><td><span>固定值200</span></td></tr><tr><td><span>body</span></td><td><span>Object</span></td><td><span>返回小节分数信息</span></td></tr><tr><td><span>score</span></td><td><span>Integer</span></td><td><span>小节分数</span></td></tr><tr><td><span>measureIndex</span></td><td><span>Integer</span></td><td><span>第几小节</span></td></tr><tr><td><span>measureRenderIndex</span></td><td><span>Integer</span></td><td><span>第几小节</span></td></tr></tbody></table></figure><p> </p><h4 id='取消评测结束评测'><span>取消评测/结束评测</span></h4><p><strong><span>1、功能说明:</span></strong></p><p><span> 1)Websocket客户端发送取消评测/结束评测命令信息到服务端</span></p><p><span> 2)前端发送取消评测/结束评测命令给后端,后端接收到命令后生成评测报告和录音文件、并保存到数据库中。返回评测结果给客户端。</span></p><p> </p><p><strong><span>2、请求参数示例:</span></strong></p><p><strong><span>结束评测</span></strong></p><pre class="md-fences md-end-block ty-contain-cm modeLoaded" spellcheck="false" lang=""><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang=""><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.51562px; left: 8px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: 0px; width: 0px;"></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">{</span></pre></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "header": {</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "commond": "recordEnd",</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "type": "SOUND_COMPARE",</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "status": 200</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> }</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">}</span></pre></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 161px;"></div><div class="CodeMirror-gutters" style="display: none; height: 161px;"></div></div></div></pre><p> </p><p><strong><span>取消评测</span></strong></p><pre class="md-fences md-end-block ty-contain-cm modeLoaded" spellcheck="false" lang=""><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang=""><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.51562px; left: 8px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: 0px; width: 0px;"></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">{</span></pre></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "header": {</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "commond": "recordCancel",</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "type": "SOUND_COMPARE",</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "status": 200</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> }</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">}</span></pre></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 161px;"></div><div class="CodeMirror-gutters" style="display: none; height: 161px;"></div></div></div></pre><p> </p><p><strong><span>3、请求参数说明:</span></strong></p><figure><table><thead><tr><th><span>参数</span></th><th><span>类型</span></th><th><span>说明</span></th></tr></thead><tbody><tr><td><span>header</span></td><td><span>Object</span></td><td><span>请求信息</span></td></tr><tr><td><span>commond</span></td><td><span>String</span></td><td><span>请求命令。目前支持的请求命令:musicXml(同步music xml信息),recordStart(开始评测),recordCancel(取消评测),recordEnd(结束评测)</span></td></tr><tr><td><span>type</span></td><td><span>String</span></td><td><span>请求类型,目前支持的请求类型:SOUND_COMPARE(评测),DELAY_CHECK(延迟检查),PITCH_DETECTION(校音)</span></td></tr><tr><td><span>status</span></td><td><span>Integer</span></td><td><span>固定值200</span></td></tr></tbody></table></figure><p> </p><p><strong><span>4、应答返回:</span></strong></p><pre class="md-fences md-end-block ty-contain-cm modeLoaded" spellcheck="false" lang=""><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang=""><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.51562px; left: 8px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: 0px; width: 0px;"></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">{</span></pre></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "recordId": 9248,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "score": 0,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "intonation": 0,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "integrity": 0,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "totalPlayTimeOfCurrentDate": 42,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "playTime": 4800,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> "cadence": 0</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">}</span></pre></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 207px;"></div><div class="CodeMirror-gutters" style="display: none; height: 207px;"></div></div></div></pre><p> </p><p><strong><span>5、应答参数说明:</span></strong></p><figure><table><thead><tr><th><span>参数</span></th><th><span>类型</span></th><th><span>说明</span></th></tr></thead><tbody><tr><td><span>recordId</span></td><td><span>Integer</span></td><td><span>评测记录ID</span></td></tr><tr><td><span>score</span></td><td><span>Integer</span></td><td><span>评测总分</span></td></tr><tr><td><span>intonation</span></td><td><span>String</span></td><td><span>音准分数</span></td></tr><tr><td><span>integrity</span></td><td><span>Integer</span></td><td><span>完成度分数</span></td></tr><tr><td><span>totalPlayTimeOfCurrentDate</span></td><td><span>Object</span></td><td><span>总演奏时长</span></td></tr><tr><td><span>playTime</span></td><td><span>Integer</span></td><td><span>演奏时长(ms)</span></td></tr><tr><td><span>cadence</span></td><td><span>Integer</span></td><td><span>节奏分数</span></td></tr></tbody></table></figure><p> </p><p><span>### </span></p><p> </p><p> </p><p> </p><p> </p></div></div>
- <script>(function(){var e=document.body.parentElement,t=[],n=null,i=document.body.classList.contains("typora-export-collapse-outline"),r=function(e,t,n){document.addEventListener(e,function(e){if(!e.defaultPrevented)for(var i=e.target;i&&i!=this;i=i.parentNode)if(i.matches(t)){!1===n.call(i,e)&&(e.preventDefault(),e.stopPropagation());break}},!1)};function o(){return e.scrollTop}r("click",".outline-expander",function(e){var t=this.closest(".outline-item-wrapper").classList;return t.contains("outline-item-open")?t.remove("outline-item-open"):t.add("outline-item-open"),d(),!1}),r("click",".outline-item",function(e){var t=this.querySelector(".outline-label");if(location.hash="#"+t.getAttribute("href"),i){var n=this.closest(".outline-item-wrapper").classList;n.contains("outline-item-open")||n.add("outline-item-open"),c(),n.add("outline-item-active")}});var a,s,l=function(){var e=o();n=null;for(var i=0;i<t.length&&t[i][1]-e<60;i++)n=t[i]},c=function(){document.querySelectorAll(".outline-item-active").forEach(e=>e.classList.remove("outline-item-active")),document.querySelectorAll(".outline-item-single.outline-item-open").forEach(e=>e.classList.remove("outline-item-open"))},d=function(){if(n){c();var e=document.querySelector('.outline-label[href="#'+(CSS.escape?CSS.escape(n[0]):n[0])+'"]');if(e)if(i){var t=e.closest(".outline-item-open>ul>.outline-item-wrapper");if(t)t.classList.add("outline-item-active");else{for(var r=(e=e.closest(".outline-item-wrapper")).parentElement.closest(".outline-item-wrapper");r;)r=(e=r).parentElement.closest(".outline-item-wrapper");e.classList.add("outline-item-active")}}else e.closest(".outline-item-wrapper").classList.add("outline-item-active")}};window.addEventListener("scroll",function(e){a&&clearTimeout(a),a=setTimeout(function(){l(),d()},300)});var u=function(){s=setTimeout(function(){!function(){t=[];var e=o();document.querySelector("#write").querySelectorAll("h1, h2, h3, h4, h5, h6").forEach(n=>{var i=n.getAttribute("id");t.push([i,e+n.getBoundingClientRect().y])})}(),l(),d()},300)};window.addEventListener("resize",function(e){s&&clearTimeout(s),u()}),u()})();</script></body>
- </html>
|