File size: 9,376 Bytes
25e54ad
 
 
 
 
 
b7f3d13
25e54ad
30da9d2
 
 
7f6d9b2
b7f3d13
25e54ad
 
e317d49
25e54ad
cc1344b
630b39f
cc1344b
25e54ad
b7f3d13
 
30da9d2
 
 
b7f3d13
 
 
25e54ad
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
86c6d7d
25e54ad
 
 
 
 
30da9d2
 
16a5354
fc410a5
30da9d2
 
86c6d7d
30da9d2
 
 
 
 
 
 
 
 
 
b7f3d13
 
462497d
 
 
 
 
 
ef3ea30
 
 
 
 
 
462497d
b7f3d13
462497d
0b6de1d
 
16a5354
 
 
 
 
 
0b6de1d
30da9d2
462497d
b7f3d13
462497d
ef3ea30
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
462497d
b7f3d13
462497d
 
 
 
 
 
 
 
 
 
25e54ad
86c6d7d
 
25e54ad
 
7f6d9b2
 
 
25e54ad
d53850b
7f6d9b2
25e54ad
b7f3d13
25e54ad
b7f3d13
25e54ad
b7f3d13
25e54ad
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
<section class="ms-root" data-state="idle" aria-label="MuScriptor transcription studio">
  <header class="ms-topbar">
    <div class="ms-heading">
      <p class="ms-eyebrow"><span class="ms-state-dot" aria-hidden="true"></span><span data-field="state">Ready for audio</span></p>
      <h2 data-field="audio-name">Your transcription</h2>
      <p class="ms-subtitle"><span data-field="status">Upload a recording to reveal its notes and instruments.</span><b data-field="summary"></b></p>
    </div>
    <div class="ms-quick-downloads" aria-label="Quick exports">
      <a data-download="midi" aria-label="Download full MIDI" aria-disabled="true"><svg viewBox="0 0 20 20" aria-hidden="true"><path d="M10 3.5v8m0 0 3-3m-3 3-3-3M4.5 15.5h11"/></svg><span>MIDI</span></a>
      <a data-download="musicxml" aria-label="Download MusicXML" aria-disabled="true"><svg viewBox="0 0 20 20" aria-hidden="true"><path d="M6 2.8h5l3 3v11.4H6zM11 2.8v3h3M8 10h4m-4 3h4"/></svg><span>MusicXML</span></a>
      <a data-download="pdf" aria-label="Download score PDF" aria-disabled="true"><svg viewBox="0 0 20 20" aria-hidden="true"><path d="M6 2.8h5l3 3v11.4H6zM11 2.8v3h3M8 10h4m-4 3h4"/></svg><span>Score PDF</span></a>
      <a data-download="bundle" aria-label="Download all score exports" aria-disabled="true"><svg viewBox="0 0 20 20" aria-hidden="true"><path d="M4 5.5h12v10H4zM6.5 3.5h7M10 8v5m0 0 2-2m-2 2-2-2"/></svg><span>All exports</span></a>
    </div>
  </header>

  <div class="ms-progress" role="status" aria-live="polite" hidden>
    <div><span data-field="progress-label">Preparing inference…</span><b data-field="progress-value">0%</b></div>
    <i role="progressbar" aria-label="Transcription progress" aria-valuemin="0" aria-valuemax="100" aria-valuenow="0">
      <span class="ms-progress-segments" data-field="progress-bar" aria-hidden="true"></span>
    </i>
  </div>

  <section class="ms-empty">
    <div class="ms-empty-icon" aria-hidden="true"><svg viewBox="0 0 24 24"><path d="M4 16h3v3H4zm5-6h4v3H9zm6-4h5v3h-5zm0 8h3v3h-3z"/></svg></div>
    <h3>Your transcription will appear here</h3>
    <p>MuScriptor converts decoded notes into color-coded instrument tracks. Review the result before exporting MIDI or engraving a score.</p>
  </section>

  <section class="ms-workspace" hidden>
    <div class="ms-stats" aria-label="Transcription statistics">
      <div><span>Duration</span><strong data-field="info-duration"></strong></div>
      <div><span>Notes</span><strong data-field="note-count"></strong></div>
      <div><span>Tracks</span><strong data-field="info-tracks"></strong></div>
      <div><span>Elapsed</span><strong data-field="elapsed"></strong></div>
    </div>

    <div class="ms-transport" aria-label="Playback controls">
      <div class="ms-transport-main">
        <button type="button" data-action="play" class="ms-play" aria-label="Play" disabled></button>
        <button type="button" data-action="stop" class="ms-stop" aria-label="Return to start" disabled></button>
        <span data-field="clock">0:00.0</span>
        <input data-action="seek" class="ms-seek" type="range" min="0" max="1" step="0.01" value="0" aria-label="Playback position">
        <span data-field="duration">0:00.0</span>
      </div>
      <div class="ms-transport-options">
        <span class="ms-option-label" title="Compare original audio and MIDI">Source balance</span>
        <div class="ms-source-mix" title="Blend the original recording and MIDI transcription">
          <button type="button" data-source="original">Original</button>
          <input data-action="source-mix" type="range" min="0" max="1" step="0.01" value="0.5" aria-label="Original to MIDI mix">
          <button type="button" data-source="midi">MIDI</button>
        </div>
        <label class="ms-stereo-toggle" title="Original on the left, MIDI on the right"><span aria-hidden="true"></span><input data-action="stereo" type="checkbox"> Split L/R</label>
        <label class="ms-volume"><span aria-hidden="true"></span> Volume <input data-action="volume" type="range" min="0" max="1" step="0.01" value="0.72"></label>
        <span data-field="synth-state" class="ms-synth-state" data-kind="loading">Loading MuseScore instruments…</span>
      </div>
      <div class="ms-loop-strip" aria-label="Loop playback controls">
        <div class="ms-loop-actions" role="group" aria-label="Loop and region controls">
          <button type="button" data-action="loop" aria-pressed="false" aria-label="Enable loop" disabled><span class="ms-loop-glyph" aria-hidden="true"></span><span data-field="loop-button-label">Loop off</span></button>
          <button type="button" data-action="select-region" aria-pressed="false" disabled>Select region</button>
          <button type="button" data-action="loop-in" title="Set loop start at the playhead" disabled>In</button>
          <button type="button" data-action="loop-out" title="Set loop end at the playhead" disabled>Out</button>
          <button type="button" data-action="clear-region" title="Use the complete available range" disabled>Clear</button>
        </div>
        <div class="ms-loop-readout" aria-live="polite">
          <span data-field="loop-mode">Loop off</span>
          <output data-field="loop-range">Full range</output>
        </div>
      </div>
    </div>

    <div class="ms-studio-grid">
      <section class="ms-view-shell">
        <nav class="ms-tabs" aria-label="Visualization">
          <button type="button" data-tab="roll" aria-selected="true">Piano roll</button>
          <button type="button" data-tab="score" aria-selected="false">Score</button>
          <span data-field="pitch-range">Waiting for notes</span>
          <div class="ms-roll-zoom" aria-label="Piano roll zoom">
            <button type="button" data-action="zoom-out" aria-label="Zoom out"></button>
            <input data-action="zoom" type="range" min="0.5" max="12" step="0.25" value="1" aria-label="Piano roll zoom level">
            <button type="button" data-action="zoom-in" aria-label="Zoom in">+</button>
            <output data-field="zoom-value"></output>
          </div>
        </nav>

        <div data-view="roll" class="ms-roll-view">
          <div class="ms-roll-surface">
            <canvas data-canvas="keys" class="ms-piano-keys" height="460" aria-label="Piano keyboard"></canvas>
            <div data-region="roll-scroll" class="ms-roll-scroll" tabindex="0" aria-label="Scrollable piano roll">
              <div data-region="roll-stage" class="ms-roll-stage">
                <canvas data-canvas="roll" class="ms-roll-canvas" height="460" aria-label="Color-coded multitrack piano roll"></canvas>
                <canvas data-canvas="cursor" class="ms-cursor-canvas" height="460" aria-hidden="true"></canvas>
              </div>
            </div>
          </div>
          <p><span data-field="roll-help">Click to seek · Shift-click sets In · Alt/Option-click sets Out.</span></p>
        </div>

        <div data-view="score" class="ms-score-view" hidden>
          <header data-region="score-toolbar" class="ms-score-toolbar" hidden>
            <label>
              <span>Score document</span>
              <select data-action="score-document" aria-label="Choose full score or instrument part"></select>
            </label>
            <span data-field="score-document-meta">Full score</span>
            <div>
              <a data-action="open-score" target="_blank" rel="noreferrer" aria-disabled="true">Open PDF</a>
              <a data-action="download-score" aria-disabled="true">Download</a>
            </div>
          </header>
          <div class="ms-score-stage">
            <div data-region="score-empty" class="ms-score-empty">
              <span aria-hidden="true"></span>
              <strong data-field="score-empty-title">No score generated yet</strong>
              <p data-field="score-empty-copy">Use the Score controls above the studio to generate the full PDF and instrument parts.</p>
            </div>
            <div data-region="score" class="ms-score-document" hidden></div>
          </div>
        </div>
      </section>

      <aside class="ms-mixer" aria-label="Track mixer">
        <div class="ms-tracks-heading">
          <div><span class="ms-kicker">Track mixer</span><strong data-field="track-count">No tracks yet</strong></div>
          <button type="button" data-action="reset-mix">Reset</button>
        </div>
        <div data-region="tracks" class="ms-track-list" aria-label="Instrument tracks"></div>
      </aside>
    </div>

    <div class="ms-notation-info" aria-label="Generated score summary" hidden>
      <div class="ms-notation-heading"><span>Score summary</span><small>Engraving output</small></div>
      <dl>
        <div><dt>Tempo</dt><dd data-field="tempo"></dd></div>
        <div><dt>Meter</dt><dd data-field="meter"></dd></div>
        <div><dt>Concert key</dt><dd data-field="key"></dd></div>
        <div><dt>Pickup</dt><dd data-field="pickup"></dd></div>
        <div><dt>Grid</dt><dd data-field="quantization"></dd></div>
        <div><dt>Parts</dt><dd data-field="parts"></dd></div>
        <div><dt>Review</dt><dd data-field="review"></dd></div>
      </dl>
    </div>

  </section>

  <div class="ms-announcer" aria-live="polite"></div>
</section>