diff --git a/README.md b/README.md index c5d20de..27c806b 100644 --- a/README.md +++ b/README.md @@ -85,15 +85,15 @@ Artifacts are published to the khodo generic package registry. Uncompressed MusicXML 3.1/4.0 scores exported from MuseScore live in `data/`. Generated score JSON is not committed. To inspect generated assets without building the full package, run: ```sh -python3 -m generator --data-dir data --output-dir /tmp/product-vamp-generated --static-assets-dir package/assets --clean --check +python3 -m generator --data-dir data --output-dir /tmp/product-vamp-generated --static-assets-dir package/assets --check ``` The `--check` path compares generation invariants against `data/expected/performance_summary.json`. The pinned build-only dependencies are in `generator/requirements.txt`. Configure/build automatically refresh the project build image when this file changes; direct builds must install it in their Python environment. -The build-time pipeline is MuseScore -> `.xml` -> musical model -> automatic arranger/transposer -> schema-v3 JSON, engraved PNG pages, and generated-tone audio assets. The Pi displays pages without interpreting notation. Performance sources produce acoustic, electric, and vocal parts; melody and chord exercises produce twelve tonic variants relative to their authored key. Independent voices and exact pitch/rhythm remain in the semantic JSON. Chord practice preserves the authored voicings, shifting the entire exercise by an octave only when needed for guitar. Chord practice and generated guitar voicings use standard tuning, frets 0-15 inclusive, and a maximum four-fret span excluding open strings. +The build-time pipeline is MuseScore -> `.xml` -> musical model -> automatic arranger/transposer -> schema-v3 JSON, engraved PNG pages, and generated-tone audio assets. The Pi displays pages without interpreting notation. Sources in `data/songs/` produce acoustic, electric, and vocal parts in the authored musical key, with no song-key selection. Numbered practice sources `data/001.xml` through `data/366.xml` produce twelve tonic variants each relative to the MusicXML key. Their current C-major placeholders are included; identical titles or contents never merge exercises. Independent voices and exact pitch/rhythm remain in the semantic JSON. Practice preserves the authored voicings, shifting the entire exercise by an octave only when needed for guitar. Practice and generated guitar voicings use standard tuning, frets 0-20 inclusive, and a maximum four-fret span excluding open strings. -Practice notation supports repeat bars and numbered endings. Python expands the performed order for playback and before automatic performance arrangement. The main menu's **Playback** toggle plays the selected key variant or performance part at the menu BPM, suppresses the metronome, and returns to its selection menu after natural completion. Manual page turns do not seek or restart audio. Playback is off by default. Python generates shared PCM tones and exact beat timelines; C++/Sonus only loads, schedules, and mixes them. No SoundFonts or runtime synthesizer are required. The practice category layout is unchanged. +Practice notation supports repeat bars and numbered endings. Python expands the performed order for playback and before automatic performance arrangement. The main menu's **Playback** toggle plays the selected key variant or performance part at the menu BPM, suppresses the metronome, and returns to its selection menu after natural completion. Manual page turns do not seek or restart audio. Playback is off by default. Python generates shared PCM tones and exact beat timelines; C++/Sonus only loads, schedules, and mixes them. No SoundFonts or runtime synthesizer are required. Practice opens the numbered exercise list directly, followed by key selection and score view. There are no chord/melody categories or lesson menus. Each exercise retains its filename number alongside an authored title when present. Code style is managed by Modulus. Run `./modulus.py format` to format C++ and Python, or `./modulus.py format --check` to check formatting and prohibited aliases. The project-local Neovim integration routes Conform formatting through the same container tools, including format on save and existing LazyVim toggles. Run configure first when the image or exported tooling needs updating. Use `tooling.editor.clang_format` for C++ overrides and `tooling.format.exclude` for project-relative exclusion globs; do not edit generated `.clang-format` files. diff --git a/TECHNICAL_GUIDE.md b/TECHNICAL_GUIDE.md index 19b18aa..c978d82 100644 --- a/TECHNICAL_GUIDE.md +++ b/TECHNICAL_GUIDE.md @@ -31,11 +31,11 @@ The AP setup pins NetworkManager to 2.4 GHz channel 6 with WPA2/RSN and CCMP cip On Raspberry Pi OS Lite, the installed display service owns `tty1`, conflicts with `getty@tty1.service`, and starts the Zero container through `product-vamp-start-zero`. The wrapper switches to the display VT when `chvt` is available and runs `vamp-zero` inside the container through `setsid --wait --ctty` with `/dev/tty1` as stdin, giving raylib's DRM backend a real virtual terminal while keeping Docker attached to the long-running display process. SSH remains the normal admin path and `tty2` is enabled as the fallback local console. -At startup the Zero validates the packaged `catalogue.db` application identifier and schema version, opens it read-only through Noto, and loads menu metadata. It never creates or migrates a database, scans score JSON, or repairs metadata. Runtime navigation and rendering use that loaded Noto-backed state instead of rescanning asset folders. The UI supports a top-level mode menu, Performance song/part/score menus, and Practice type/lesson/exercise/key/score menus. Melody and chord practice both offer key selection by choosing a pre-generated score variant. The score view displays build-time engraved PNG pages. Musical interpretation, spacing, beaming, ties, accidentals, and pagination happen on the build host, not on the Pi. The view retains at most two page textures. +At startup the Zero validates the packaged `catalogue.db` application identifier and schema version, opens it read-only through Noto, and loads menu metadata. It never creates or migrates a database, scans score JSON, or repairs metadata. Runtime navigation and rendering use that loaded Noto-backed state instead of rescanning asset folders. The UI supports a top-level mode menu, Performance song/part/score menus, and Practice exercise/key/score menus. Every practice exercise offers twelve pre-generated key variants; performance songs have no key-selection menu. The score view displays build-time engraved PNG pages. Musical interpretation, spacing, beaming, ties, accidentals, and pagination happen on the build host, not on the Pi. The view retains at most two page textures. -Runtime catalogues contain immutable metadata shared by navigation, the HTTP service, and the UI. Song groups and practice lessons reference canonical records by index. SQLite retains complete bundles, while cached measure/page counts let menu queries avoid reading musical JSON. Python constructs the complete database before deployment; metadata and embedded JSON are published together. There are no custom rows, runtime imports, metadata-repair triggers, or persisted page-state tables. Selecting a score loads only that bundle asynchronously, discarding stale results after navigation; the view keeps at most two page textures. +Runtime catalogues contain immutable metadata shared by navigation, the HTTP service, and the UI. Song groups reference canonical records by index; practice is a flat, numerically ordered exercise list. SQLite retains complete bundles, while cached measure/page counts let menu queries avoid reading musical JSON. Python constructs the complete database before deployment; metadata and embedded JSON are published together. There are no custom rows, runtime imports, metadata-repair triggers, or persisted page-state tables. Selecting a score loads only that bundle asynchronously, discarding stale results after navigation; the view keeps at most two page textures. -Practice IDs retain their existing hyphen-joined format. Generation and catalogue compilation reject distinct paths that produce the same exercise or variant ID, reporting both paths before publishing the generated bundle. For example, `chord/one-two/three/c.json` and `chord/one/two-three/c.json` cannot coexist; rename one lesson or exercise to give it a distinct ID. +Practice exercise IDs are the three-digit positive source stems, such as `001`. Variant IDs append the canonical key stem, such as `001-db`. Duplicate titles and identical placeholder music remain independent exercises. Catalogue schema 2 has no practice-type or lesson-group columns, and control responses expose one flat exercise list without nested type/lesson copies. Older catalogues must be rebuilt or reinstalled, not migrated. `--once` (also `runtime.exit_after_startup`) is a headless readiness check: it checks database integrity and validates the catalogue and referenced page assets, checks runtime-directory writes and the configured server bind, and exits without opening audio/display devices or publishing a readiness heartbeat. Page checks include containment, checksums, CPU-only PNG decoding, and exact 976x484 dimensions. The configured heartbeat destination must be absent or a regular file, never a directory, symlink, or special file. Runtime writes and readiness probes use exclusive sibling temporary files; readiness leaves an existing heartbeat unchanged and removes its probes. `--health-check` instead probes the running service's read-only `/api/health` endpoint using the configured timeout. A stopped/unresponsive service or an invalid response fails the check; it does not create or repair files. `--check-config` remains configuration-only. @@ -45,9 +45,9 @@ Zero and Pico share one gesture state machine: a second release within 220 ms of ## Score Generation -The build runs `python3 -m generator` against `data/` and writes build-only assets under the CMake binary tree. Performance source songs become acoustic, electric, and vocal arrangements. Melody and chord practice sources are emitted in all 12 keys at build time. Generated JSON keeps notation metadata while removing generator-only optional chord markers. The catalogue produces three bundles per song and twelve per practice exercise; source counts are discovered, not fixed in code. +The build runs `python3 -m generator` against `data/` and writes build-only assets under the CMake binary tree. Performance source songs become acoustic, electric, and vocal arrangements. Numbered practice sources are emitted in all 12 keys at build time. Generated JSON keeps notation metadata while removing generator-only optional chord markers. The catalogue produces three bundles per song and twelve per practice exercise; source counts are discovered, not fixed in code. -Practice sources live at `data/practice///.xml`. For example, `chord/001_three_note_shell_voicings/001-cycles.xml` generates `practice/chord/001_three_note_shell_voicings/001-cycles/{c,db,d,eb,e,f,gb,g,ab,a,bb,b}.json` and corresponding page directories. Keep numeric prefixes zero-padded to the same width for menu ordering. Lesson folders determine lesson labels; MusicXML work/movement titles determine exercise labels, falling back to the filename stem when absent. Repeated titles do not merge exercises: identity includes the practice type, lesson folder, and normalized filename stem. Invalid nesting, unknown practice types, and colliding normalized filenames fail generation. Adding or renaming a source needs no registry edit; the next build discovers it, replaces obsolete generated paths, and builds a fresh database containing only the current sources. +Practice sources live directly under `data/` with positive three-digit filenames, currently `001.xml` through `366.xml`. For example, `data/001.xml` generates `practice/001/{c,db,d,eb,e,f,gb,g,ab,a,bb,b}.json` and corresponding page directories. Performance sources stay in `data/songs/`. The filename number determines identity and ordering; MusicXML work/movement titles determine labels, falling back to the number when absent. Other root XML names and nested practice sources are rejected. Adding, renaming, or removing a numbered source requires no registry edit; the next build replaces obsolete generated assets and rebuilds the database. The current catalogue has 366 exercises, 4,392 practice variants, and six performance parts. The pipeline is MuseScore -> uncompressed `.xml` -> musical model -> automatic arranger/transposer -> semantic JSON plus engraved pages. Export MusicXML 3.1 or 4.0, `score-partwise`, with one part and one staff. Independent rhythmic voices remain separate; simultaneous chord tones retain their own spelling, written duration, and tie links. The packaged music describes each transformed part or practice variant, not an archival copy of the source XML. @@ -83,7 +83,7 @@ In MuseScore's score properties, set `vamp:style` to a supported player style. I ``` -The default is Medium Swing; `Med.`, `Med. Swing`, and `Medium` remain aliases. A keyless melody or chord exercise needs `vamp:tonic` (for example, `C`) as its transposition reference. Modes and local key changes are preserved when generating practice variants. Keyless variants remain unkeyed in the music and show their selected transposition reference in menus, for example `D (no key)`. +The default is Medium Swing; `Med.`, `Med. Swing`, and `Medium` remain aliases. A keyless exercise needs `vamp:tonic` (for example, `C`) as its transposition reference. Modes and local key changes are preserved when generating practice variants. Keyless variants remain unkeyed in the music and show their selected transposition reference in menus, for example `D (no key)`. Place staff text `vamp:optional-chord` at the same onset as exactly one harmony to mark a turnaround omitted from the final arrangement section. The text may be hidden. Parenthesizing an ordinary chord does not make it optional. Orphaned/duplicate markers and unknown `vamp:` properties are errors; consumed directives never enter runtime JSON. @@ -108,19 +108,19 @@ Practice metadata includes optional `authored_key_signature`, captured before tr Measure durations, event onsets/durations, harmony offsets, span times, and pitch alterations use `{ "numerator": N, "denominator": D }`. Times are in quarter-note units and alterations in semitones. There is no tick grid, display-duration surrogate, or runtime flattening into one voice. Written note types, dots, and time modifications remain distinct from metric duration. Every event owns a voice; every chord tone has its own ID, written duration, duration, and reciprocal tie links. Tuplets reference events and belong to one voice. -The arranger normalizes instrument transposition to concert pitch and preserves all source voices in source-copy sections. Generated guitar rhythms occupy one lane. The seven-section form, optional turnaround handling, and twelve melody/chord practice keys remain automatic. Generated guitar voicings and chord-practice validation share standard six-string tuning (E2 A2 D3 G3 B3 E4), frets 0-15 inclusive, and a maximum four-fret difference between fretted positions; open strings do not count toward that span. The arranger searches all candidates in that range and retains its existing deterministic scoring and voicing policy. Unplayable performance harmonies still produce a warned rhythmic-slash fallback without changing the structured chord meaning or quantizing microtones. +The arranger normalizes instrument transposition to concert pitch and preserves all source voices in source-copy sections. Generated guitar rhythms occupy one lane. The seven-section form, optional turnaround handling, and twelve practice keys remain automatic. Generated guitar voicings and practice validation share standard six-string tuning (E2 A2 D3 G3 B3 E4), frets 0-20 inclusive, and a maximum four-fret difference between fretted positions; open strings do not count toward that span. The arranger searches all candidates in that range and retains its existing deterministic scoring and voicing policy. Unplayable performance harmonies still produce a warned rhythmic-slash fallback without changing the structured chord meaning or quantizing microtones. -Chord practice transposes from the source key, not from its first chord: the current C-key cycle begins with G7, so selecting D produces an opening A7. It preserves every authored tone, interval, inversion, rhythmic voice, tie, and tuplet. The closest transposition is tried first, followed by whole-exercise octave alternatives ordered by absolute displacement, with upward movement preferred on ties. Register adjustment does not change harmony symbols or key signatures. Sustained and tied tones keep their strings as other voices enter. This is a fretboard feasibility check, not a guarantee of comfortable fingering, and does not apply the performance arranger's chord-tone omissions or revoicing. +Practice transposes from the declared source key, not from its first chord. Sources currently declare C major, but the importer does not force C or discard modes and local key changes. For example, a C-key exercise beginning with G7 produces A7 when D is selected. It preserves every authored tone, interval, inversion, rhythmic voice, tie, and tuplet. The closest transposition is tried first, followed by whole-exercise octave alternatives ordered by absolute displacement, with upward movement preferred on ties. Register adjustment does not change harmony symbols or key signatures. Sustained and tied tones keep their strings as other voices enter. This is a fretboard feasibility check, not a guarantee of comfortable fingering, and does not apply the performance arranger's chord-tone omissions or revoicing. -For the fretboard check, ordinary unmarked treble notation uses the project's written-guitar convention (one octave above sounding pitch). An explicit MusicXML instrument transposition is applied instead, once, including an explicit zero interval; the importer records this distinction with `transpose.explicit`. Octave-clef and TAB pitches do not receive the implicit octave subtraction. Nonstandard tunings, capo configurations, microtonal frets, or exercises that cannot retain their voicings in every key fail explicitly. Errors identify the source, target key, and failing passage; existing generated assets are preserved. The current G cycle variant needs a whole-exercise octave increase to stay above the guitar's lowest note. +For the fretboard check, ordinary unmarked treble notation uses the project's written-guitar convention (one octave above sounding pitch). An explicit MusicXML instrument transposition is applied instead, once, including an explicit zero interval; the importer records this distinction with `transpose.explicit`. Octave-clef and TAB pitches do not receive the implicit octave subtraction. Nonstandard tunings, capo configurations, microtonal frets, or exercises that cannot retain their voicings in every key fail explicitly. Errors identify the source, target key, and failing passage; existing generated assets are preserved. No notes are omitted or revoiced to make a key fit. -Automatic performance arrangements require a pitched, non-TAB lead. Percussion and tablature remain available in the model and melody-practice pipeline, but conversion into guitar/vocal parts fails explicitly rather than reinterpreting percussion positions or fret numbers as ordinary treble-staff notation. Chord practice requires pitched guitar notation. Practice transposition retains authored TAB strings and never invents a new fingering; chord practice additionally checks that the resulting exact integer frets lie within 0-15. Melody practice retains its existing nonnegative-fret behavior. +Automatic performance arrangements require a pitched, non-TAB lead. Percussion and tablature remain supported in the musical model and engraver, but performance conversion rejects them rather than reinterpreting their pitches. All practice exercises now require pitched, standard-tuning guitar material. Transposition preserves authored TAB strings and validates the resulting exact integer frets against 0-20; it never invents new TAB. The old unchecked melody-practice path is removed. ### Playback Boundary All musical compilation and tone synthesis run in Python (`generator/playback.py`). Each transformed score receives a sorted timeline of independent tone events with rational quarter-note `onset` and `end` positions. Ties become one continuous attack. Rests and spacers remain silence, including trailing silence. Harmony labels are not auto-accompaniment: only pitches actually present in the selected arrangement or exercise sound. Cue notes are silent, hidden pitched notes sound, and pitchless rhythm slashes are silent. -The `soft-struck-1` profile generates shared mono 48 kHz PCM16 WAVs with a short attack/decay and a seamless sustain loop, plus a shared 50 ms release envelope. Exact sounding pitches, including supported microtones, determine samples. Explicit instrument transposition is applied once; chord practice and generated guitar parts use the existing written-guitar convention. Samples are shared across all scores and voices by content identity, not duplicated per complete performance. There are no SoundFonts, instrument sample bundles, oscillators, or MusicXML parsing at runtime. +The `soft-struck-1` profile generates shared mono 48 kHz PCM16 WAVs with a short attack/decay and a seamless sustain loop, plus a shared 50 ms release envelope. Exact sounding pitches, including supported microtones, determine samples. Explicit instrument transposition is applied once; all practice and generated guitar parts use the existing written-guitar convention. Samples are shared across all scores and voices by content identity, not duplicated per complete performance. There are no SoundFonts, instrument sample bundles, oscillators, or MusicXML parsing at runtime. Grace groups honor explicit steal-time-previous/following or make-time; unspecified groups share 25 percent of the following event. Conflicting grace modes, trailing grace groups, unsupported unpitched sound, tied measured tremolo, and incompatible paired tremolo make playback explicitly unavailable while retaining the notation. Measured tremolo uses written subdivision and tuplet ratios. The tone range is 20-18,000 Hz. Asset validation checks containment, SHA-256, PCM format/length, loop endpoints, envelope shape, event ordering, references, and rational timing. Generation remains transactional if validation fails. @@ -146,7 +146,7 @@ Pages are 976x484 pixels with 12-pixel staff spacing, 28-pixel horizontal margin ### Validation And Migration -Generation validates sources and complete staged output before replacing the previous asset directory. Replacement is always complete, including when the compatibility `--clean` flag is omitted; deleted sources cannot leave stale JSON, pages, or audio. CMake tracks the input list as well as file contents, so additions and removals regenerate the catalogue. Runtime packages contain `catalogue.db` with embedded semantic JSON, PNG pages, generated PCM WAVs, and the OTF UI text font, not MusicXML, MuseScore, or Python dependencies. Python test discovery runs model/import/export tests; the normal asset build additionally qualifies and audits every catalogue score. +Generation validates sources and complete staged output before replacing the previous asset directory. Replacement is always complete; deleted sources cannot leave stale JSON, pages, or audio. CMake tracks the input list as well as file contents, so additions and removals regenerate the catalogue. Runtime packages contain `catalogue.db` with embedded semantic JSON, PNG pages, generated PCM WAVs, and the OTF UI text font, not MusicXML, MuseScore, or Python dependencies. Python test discovery runs model/import/export tests; the normal asset build additionally qualifies and audits every catalogue score. Diagnostics identify the file, part, measure, and unsupported element or invalid relationship. Examples include `part P1, measure 4: unsupported musical element `, `tie stop has no contiguous matching start`, and `optional-chord marker must identify exactly one harmony`. @@ -192,7 +192,7 @@ Building the full package requires Docker/buildx, the ARM embedded GCC toolchain Generated score assets are created during CMake build/package and copied into the Zero image context. Static font assets remain tracked under `package/assets/fonts`. -`generator/catalogue.py` uses Python's standard-library SQLite module to construct `catalogue.db` after musical, playback, and engraving validation. The database carries application ID `0x56414D50` and catalogue schema version 1, with complete score bundles and menu metadata. Sorted insertion and the absence of wall-clock timestamps make repeated builds reproducible with the same toolchain. It is closed and integrity-checked before publication, without journal/WAL sidecars. Individual JSON files remain available in the build tree for inspection, but both CMake installation and Docker image assembly exclude them. +`generator/catalogue.py` uses Python's standard-library SQLite module to construct `catalogue.db` after musical, playback, and engraving validation. The database carries application ID `0x56414D50` and catalogue schema version 2, with complete score bundles and menu metadata. Sorted insertion and the absence of wall-clock timestamps make repeated builds reproducible with the same toolchain. It is closed and integrity-checked before publication, without journal/WAL sidecars. Individual JSON files remain available in the build tree for inspection, but both CMake installation and Docker image assembly exclude them. The default `database.path` is `/usr/share/product-vamp/catalogue.db`; development configuration points at the native generated-assets database. Stored source paths are logical, asset-relative locations, not build-host filenames. Runtime resolves them against `runtime.assets_path` and rejects traversal and escaping symlinks. The JSON file itself need not exist: its parent identifies the score's page directory. Normal startup checks catalogue compatibility; `--once` additionally runs SQLite's integrity probe and checks all page/audio files. Missing, corrupt, or incompatible catalogues fail rather than creating an empty library. `--ensure-database` is no longer a supported command. @@ -217,4 +217,3 @@ python3 modulus.py lsp ``` The `tooling.lsp` section in `modulus.json` owns the Pico CMake configure. It unsets host compiler variables before configuring the Pico SDK project so clangd sees the embedded ARM toolchain. When running directly outside the generated Modulus Docker image, set `PICO_SDK_PATH` before refreshing the Pico database. - diff --git a/cmake/zero.cmake b/cmake/zero.cmake index cd1707d..bc1522d 100644 --- a/cmake/zero.cmake +++ b/cmake/zero.cmake @@ -133,7 +133,6 @@ add_custom_command( --data-dir ${CMAKE_CURRENT_SOURCE_DIR}/data --output-dir ${VAMP_GENERATED_ASSETS_DIR} --static-assets-dir ${CMAKE_CURRENT_SOURCE_DIR}/package/assets - --clean --check COMMAND ${CMAKE_COMMAND} -E touch ${VAMP_GENERATED_ASSETS_STAMP} WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} diff --git a/data/practice/chord/001_three_note_shell_voicings/001-cycles.xml b/data/practice/chord/001_three_note_shell_voicings/001-cycles.xml deleted file mode 100644 index 30d6ca8..0000000 --- a/data/practice/chord/001_three_note_shell_voicings/001-cycles.xml +++ /dev/null @@ -1,543 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-16 - - - - - Vocal - - - - - - 4 - - 0 - major - - - - G - 2 - - - - - G - - dominant - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - C - - dominant - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - - E - 5 - - 4 - quarter - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - - E - 5 - - 4 - quarter - - - - - - F - - dominant - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - flat - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - - - - B - -1 - - dominant - - - - B - -1 - 3 - - 4 - quarter - flat - - - - - A - -1 - 4 - - 4 - quarter - flat - - - - - D - 5 - - 4 - quarter - - - - B - -1 - 3 - - 4 - quarter - - - - - A - -1 - 4 - - 4 - quarter - - - - - D - 5 - - 4 - quarter - - - - - - E - -1 - - dominant - - - - E - -1 - 4 - - 4 - quarter - flat - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - flat - - - - E - -1 - 4 - - 4 - quarter - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - - - - A - -1 - - dominant - - - - A - -1 - 3 - - 4 - quarter - flat - - - - - G - -1 - 4 - - 4 - quarter - flat - - - - - C - 5 - - 4 - quarter - - - - A - -1 - 3 - - 4 - quarter - - - - - G - -1 - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - - - D - -1 - - major-seventh - - - - D - -1 - 4 - - 4 - quarter - flat - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - - major-sixth - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - diff --git a/data/practice/chord/001_three_note_shell_voicings/002-cycles.xml b/data/practice/chord/001_three_note_shell_voicings/002-cycles.xml deleted file mode 100644 index 40daab8..0000000 --- a/data/practice/chord/001_three_note_shell_voicings/002-cycles.xml +++ /dev/null @@ -1,365 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-16 - - - - - Vocal - - - - - - 4 - - 0 - major - - - - G - 2 - - - - - G - - dominant - - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - D - -1 - - dominant - - - - D - -1 - 4 - - 4 - quarter - flat - - - - - C - -1 - 5 - - 4 - quarter - flat - - - - - F - 5 - - 4 - quarter - - - - C - - dominant - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - - E - 5 - - 4 - quarter - - - - G - -1 - - dominant - - - - G - -1 - 4 - - 4 - quarter - flat - - - - - B - -1 - 4 - - 4 - quarter - - - - - F - -1 - 5 - - 4 - quarter - flat - - - - - - F - - dominant - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - flat - - - - B - - dominant - - - - B - 3 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - D - 1 - 5 - - 4 - quarter - sharp - - - - B - -1 - - dominant - - - - B - -1 - 3 - - 4 - quarter - flat - - - - - A - -1 - 4 - - 4 - quarter - flat - - - - - D - 5 - - 4 - quarter - natural - - - - E - - dominant - - - - E - 4 - - 4 - quarter - - - - - G - 1 - 4 - - 4 - quarter - sharp - - - - - D - 5 - - 4 - quarter - - - - - - E - -1 - - dominant - - - - E - -1 - 4 - - 4 - quarter - flat - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - flat - - - - 12 - half - - - - - diff --git a/data/practice/chord/001_three_note_shell_voicings/003-cycles.xml b/data/practice/chord/001_three_note_shell_voicings/003-cycles.xml deleted file mode 100644 index 0932831..0000000 --- a/data/practice/chord/001_three_note_shell_voicings/003-cycles.xml +++ /dev/null @@ -1,543 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-17 - - - - - Vocal - - - - - - 4 - - 0 - major - - - - G - 2 - - - - - G - - dominant - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - C - - dominant - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - - E - 5 - - 4 - quarter - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - - E - 5 - - 4 - quarter - - - - - - F - - dominant - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - flat - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - - - - B - -1 - - dominant - - - - B - -1 - 3 - - 4 - quarter - flat - - - - - A - -1 - 4 - - 4 - quarter - flat - - - - - D - 5 - - 4 - quarter - - - - B - -1 - 3 - - 4 - quarter - - - - - A - -1 - 4 - - 4 - quarter - - - - - D - 5 - - 4 - quarter - - - - - - E - -1 - - dominant - - - - E - -1 - 4 - - 4 - quarter - flat - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - flat - - - - E - -1 - 4 - - 4 - quarter - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - - - - A - -1 - - dominant - - - - A - -1 - 3 - - 4 - quarter - flat - - - - - G - -1 - 4 - - 4 - quarter - flat - - - - - C - 5 - - 4 - quarter - - - - A - -1 - 3 - - 4 - quarter - - - - - G - -1 - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - - - D - -1 - - major-seventh - - - - D - -1 - 4 - - 4 - quarter - flat - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - - major-sixth - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - diff --git a/data/practice/chord/001_three_note_shell_voicings/004-cycles.xml b/data/practice/chord/001_three_note_shell_voicings/004-cycles.xml deleted file mode 100644 index 191078f..0000000 --- a/data/practice/chord/001_three_note_shell_voicings/004-cycles.xml +++ /dev/null @@ -1,243 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-17 - - - - - Vocal - - - - - - 4 - - 0 - major - - - - G - 2 - - - - - G - - dominant - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - C - - dominant - - - - B - -1 - 4 - - 4 - quarter - flat - - - - - E - 5 - - 4 - quarter - - - - B - -1 - 4 - - 4 - quarter - - - - - E - 5 - - 4 - quarter - - - - - - F - - dominant - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - flat - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - - - - B - -1 - - dominant - - - - A - -1 - 4 - - 4 - quarter - flat - - - - - D - 5 - - 4 - quarter - - - - A - -1 - 4 - - 4 - quarter - - - - - D - 5 - - 4 - quarter - - - - - - E - -1 - - dominant - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - flat - - - - 12 - half - - - - - diff --git a/data/practice/chord/001_three_note_shell_voicings/005-cycles.xml b/data/practice/chord/001_three_note_shell_voicings/005-cycles.xml deleted file mode 100644 index e0fd6ef..0000000 --- a/data/practice/chord/001_three_note_shell_voicings/005-cycles.xml +++ /dev/null @@ -1,185 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-17 - - - - - Vocal - - - - - - 4 - - 0 - major - - - - G - 2 - - - - - G - - dominant - - - - - G - 4 - - 4 - quarter - - - - D - -1 - - dominant - - - - D - -1 - 4 - - 4 - quarter - flat - - - - C - - dominant - - - - C - 4 - - 4 - quarter - - - - G - -1 - - dominant - - - - G - -1 - 4 - - 4 - quarter - flat - - - - - - F - - dominant - - - - F - 4 - - 4 - quarter - - - - B - - dominant - - - - B - 3 - - 4 - quarter - - - - B - -1 - - dominant - - - - B - -1 - 3 - - 4 - quarter - flat - - - - E - - dominant - - - - E - 4 - - 4 - quarter - - - - - - E - -1 - - dominant - - - - E - -1 - 4 - - 4 - quarter - flat - - - - 12 - half - - - - - diff --git a/data/practice/chord/001_three_note_shell_voicings/006-cycles.xml b/data/practice/chord/001_three_note_shell_voicings/006-cycles.xml deleted file mode 100644 index 613539a..0000000 --- a/data/practice/chord/001_three_note_shell_voicings/006-cycles.xml +++ /dev/null @@ -1,245 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-17 - - - - - Vocal - - - - - - 1 - - 0 - major - - - - G - 2 - - - - - G - - major-seventh - - - - C - - dominant - 2 - - - - - B - 4 - - 4 - whole - - - - - F - 1 - 5 - - 4 - whole - sharp - - - - C - - major-seventh - - - - B - 4 - - 4 - whole - - - - - E - 5 - - 4 - whole - - - - F - - major-seventh - - - - A - 4 - - 4 - whole - - - - - E - 5 - - 4 - whole - - - - B - -1 - - major-seventh - - - - A - 4 - - 4 - whole - - - - - D - 5 - - 4 - whole - - - - - - G - - minor-seventh - - - - B - -1 - 4 - - 4 - whole - flat - - - - - F - 5 - - 4 - whole - - - - C - - minor-seventh - - - - B - -1 - 4 - - 4 - whole - - - - - E - -1 - 5 - - 4 - whole - flat - - - - F - - minor-seventh - - - - A - -1 - 4 - - 4 - whole - flat - - - - - E - -1 - 5 - - 4 - whole - - - - B - -1 - - minor-seventh - - - - A - -1 - 4 - - 4 - whole - - - - - D - -1 - 5 - - 4 - whole - flat - - - - diff --git a/data/practice/chord/001_three_note_shell_voicings/007-cycles.xml b/data/practice/chord/001_three_note_shell_voicings/007-cycles.xml deleted file mode 100644 index d1206a6..0000000 --- a/data/practice/chord/001_three_note_shell_voicings/007-cycles.xml +++ /dev/null @@ -1,537 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-17 - - - - - Vocal - - - - - - 4 - - 0 - major - - - - G - 2 - - - - - G - - major-seventh - - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 1 - 5 - - 4 - quarter - sharp - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 1 - 5 - - 4 - quarter - - - - C - - major-seventh - - - - C - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - E - 5 - - 4 - quarter - - - - C - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - E - 5 - - 4 - quarter - - - - - - F - - major-seventh - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - 5 - - 4 - quarter - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - 5 - - 4 - quarter - - - - B - -1 - - major-seventh - - - - B - -1 - 3 - - 4 - quarter - flat - - - - - A - 4 - - 4 - quarter - - - - - D - 5 - - 4 - quarter - - - - B - -1 - 3 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - D - 5 - - 4 - quarter - - - - - - G - - minor-seventh - - - - G - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - - F - 5 - - 4 - quarter - - - - G - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - C - - minor-seventh - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - flat - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - - - - - - F - - minor-seventh - - - - F - 4 - - 4 - quarter - - - - - A - -1 - 4 - - 4 - quarter - flat - - - - - E - -1 - 5 - - 4 - quarter - flat - - - - F - 4 - - 4 - quarter - - - - - A - -1 - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - - - - B - -1 - - minor-seventh - - - - B - -1 - 3 - - 4 - quarter - flat - - - - - A - -1 - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - flat - - - - B - -1 - 3 - - 4 - quarter - - - - - A - -1 - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - - - - diff --git a/data/practice/chord/001_three_note_shell_voicings/008-ii-v-i-progressions.xml b/data/practice/chord/001_three_note_shell_voicings/008-ii-v-i-progressions.xml deleted file mode 100644 index 0ded341..0000000 --- a/data/practice/chord/001_three_note_shell_voicings/008-ii-v-i-progressions.xml +++ /dev/null @@ -1,132 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-17 - - - - - Vocal - - - - - - 1 - - 0 - major - - - - G - 2 - - - - - G - - minor-seventh - - - - - B - -1 - 4 - - 4 - whole - flat - - - - - F - 5 - - 4 - whole - - - - C - - dominant - - - - B - -1 - 4 - - 4 - whole - - - - - E - 5 - - 4 - whole - - - - F - - major-seventh - - - - A - 4 - - 4 - whole - - - - - E - 5 - - 4 - whole - - - - F - - major-sixth - - - - A - 4 - - 4 - whole - - - - - D - 5 - - 4 - whole - - - - diff --git a/data/practice/chord/001_three_note_shell_voicings/009-ii-v-i-progressions.xml b/data/practice/chord/001_three_note_shell_voicings/009-ii-v-i-progressions.xml deleted file mode 100644 index e345dea..0000000 --- a/data/practice/chord/001_three_note_shell_voicings/009-ii-v-i-progressions.xml +++ /dev/null @@ -1,169 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-17 - - - - - Vocal - - - - - - 2 - - -1 - major - - - - G - 2 - - - - - G - - minor-seventh - - - - - G - 4 - - 4 - half - - - - - B - -1 - 4 - - 4 - half - - - - - F - 5 - - 4 - half - - - - C - - dominant - - - - C - 4 - - 4 - half - - - - - B - -1 - 4 - - 4 - half - - - - - E - 5 - - 4 - half - - - - - - F - - major-seventh - - - - F - 4 - - 4 - half - - - - - A - 4 - - 4 - half - - - - - E - 5 - - 4 - half - - - - F - - major-sixth - - - - F - 4 - - 4 - half - - - - - A - 4 - - 4 - half - - - - - D - 5 - - 4 - half - - - - diff --git a/data/practice/chord/001_three_note_shell_voicings/010-ii-v-i-progressions.xml b/data/practice/chord/001_three_note_shell_voicings/010-ii-v-i-progressions.xml deleted file mode 100644 index 5f6d1b5..0000000 --- a/data/practice/chord/001_three_note_shell_voicings/010-ii-v-i-progressions.xml +++ /dev/null @@ -1,174 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-17 - - - - - Vocal - - - - - - 2 - - -2 - major - - - - G - 2 - - - - - C - - minor-seventh - - - - - C - 4 - - 4 - half - - - - - B - -1 - 4 - - 4 - half - - - - - E - -1 - 5 - - 4 - half - - - - F - - dominant - - - - F - 4 - - 4 - half - - - - - A - 4 - - 4 - half - - - - - E - -1 - 5 - - 4 - half - - - - - - B - -1 - - major-seventh - - - - B - -1 - 3 - - 4 - half - - - - - A - 4 - - 4 - half - - - - - D - 5 - - 4 - half - - - - B - -1 - - major-sixth - - - - B - -1 - 3 - - 4 - half - - - - - G - 4 - - 4 - half - - - - - D - 5 - - 4 - half - - - - diff --git a/data/practice/chord/001_three_note_shell_voicings/011-ii-v-i-progressions.xml b/data/practice/chord/001_three_note_shell_voicings/011-ii-v-i-progressions.xml deleted file mode 100644 index 17791d9..0000000 --- a/data/practice/chord/001_three_note_shell_voicings/011-ii-v-i-progressions.xml +++ /dev/null @@ -1,193 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-17 - - - - - Vocal - - - - - - 4 - - -4 - major - - - - G - 2 - - - - - G - - half-diminished - - - - - G - 4 - - 8 - 1 - half - - - - - B - -1 - 4 - - 8 - 1 - half - - - - C - - dominant - - - - C - 4 - - 8 - 1 - half - - - - - B - -1 - 4 - - 8 - 1 - half - - - - - E - 5 - - 8 - 1 - half - natural - - - 16 - - - - - D - -1 - 5 - - 4 - 2 - quarter - - - - F - 5 - - 4 - 2 - quarter - - - - - - F - - major-minor - - - - F - 4 - - 8 - half - - - - - A - -1 - 4 - - 8 - half - - - - - E - 5 - - 8 - half - natural - - - - F - - minor-sixth - - - - F - 4 - - 8 - half - - - - - A - -1 - 4 - - 8 - half - - - - - D - 5 - - 8 - half - natural - - - - diff --git a/data/practice/chord/001_three_note_shell_voicings/012-ii-v-i-progressions.xml b/data/practice/chord/001_three_note_shell_voicings/012-ii-v-i-progressions.xml deleted file mode 100644 index 5097868..0000000 --- a/data/practice/chord/001_three_note_shell_voicings/012-ii-v-i-progressions.xml +++ /dev/null @@ -1,198 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-17 - - - - - Vocal - - - - - - 4 - - -5 - major - - - - G - 2 - - - - - C - - half-diminished - - - - - C - 4 - - 8 - 1 - half - - - - - E - -1 - 5 - - 8 - 1 - half - - - - F - - dominant - - - - F - 4 - - 8 - 1 - half - - - - - A - 4 - - 8 - 1 - half - natural - - - - - E - -1 - 5 - - 8 - 1 - half - - - 16 - - - - - G - -1 - 4 - - 4 - 2 - quarter - - - - B - -1 - 4 - - 4 - 2 - quarter - - - - - - B - -1 - - major-minor - - - - B - -1 - 3 - - 8 - half - - - - - A - 4 - - 8 - half - natural - - - - - D - -1 - 5 - - 8 - half - - - - B - -1 - - minor-sixth - - - - B - -1 - 3 - - 8 - half - - - - - G - 4 - - 8 - half - natural - - - - - D - -1 - 5 - - 8 - half - - - - diff --git a/data/practice/chord/001_three_note_shell_voicings/013-adding-notes-to-shell-voicings.xml b/data/practice/chord/001_three_note_shell_voicings/013-adding-notes-to-shell-voicings.xml deleted file mode 100644 index 30d6ca8..0000000 --- a/data/practice/chord/001_three_note_shell_voicings/013-adding-notes-to-shell-voicings.xml +++ /dev/null @@ -1,543 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-16 - - - - - Vocal - - - - - - 4 - - 0 - major - - - - G - 2 - - - - - G - - dominant - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - C - - dominant - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - - E - 5 - - 4 - quarter - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - - E - 5 - - 4 - quarter - - - - - - F - - dominant - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - flat - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - - - - B - -1 - - dominant - - - - B - -1 - 3 - - 4 - quarter - flat - - - - - A - -1 - 4 - - 4 - quarter - flat - - - - - D - 5 - - 4 - quarter - - - - B - -1 - 3 - - 4 - quarter - - - - - A - -1 - 4 - - 4 - quarter - - - - - D - 5 - - 4 - quarter - - - - - - E - -1 - - dominant - - - - E - -1 - 4 - - 4 - quarter - flat - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - flat - - - - E - -1 - 4 - - 4 - quarter - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - - - - A - -1 - - dominant - - - - A - -1 - 3 - - 4 - quarter - flat - - - - - G - -1 - 4 - - 4 - quarter - flat - - - - - C - 5 - - 4 - quarter - - - - A - -1 - 3 - - 4 - quarter - - - - - G - -1 - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - - - D - -1 - - major-seventh - - - - D - -1 - 4 - - 4 - quarter - flat - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - - major-sixth - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - diff --git a/data/practice/chord/001_three_note_shell_voicings/014-adding-notes-to-shell-voicings.xml b/data/practice/chord/001_three_note_shell_voicings/014-adding-notes-to-shell-voicings.xml deleted file mode 100644 index 30d6ca8..0000000 --- a/data/practice/chord/001_three_note_shell_voicings/014-adding-notes-to-shell-voicings.xml +++ /dev/null @@ -1,543 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-16 - - - - - Vocal - - - - - - 4 - - 0 - major - - - - G - 2 - - - - - G - - dominant - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - C - - dominant - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - - E - 5 - - 4 - quarter - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - - E - 5 - - 4 - quarter - - - - - - F - - dominant - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - flat - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - - - - B - -1 - - dominant - - - - B - -1 - 3 - - 4 - quarter - flat - - - - - A - -1 - 4 - - 4 - quarter - flat - - - - - D - 5 - - 4 - quarter - - - - B - -1 - 3 - - 4 - quarter - - - - - A - -1 - 4 - - 4 - quarter - - - - - D - 5 - - 4 - quarter - - - - - - E - -1 - - dominant - - - - E - -1 - 4 - - 4 - quarter - flat - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - flat - - - - E - -1 - 4 - - 4 - quarter - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - - - - A - -1 - - dominant - - - - A - -1 - 3 - - 4 - quarter - flat - - - - - G - -1 - 4 - - 4 - quarter - flat - - - - - C - 5 - - 4 - quarter - - - - A - -1 - 3 - - 4 - quarter - - - - - G - -1 - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - - - D - -1 - - major-seventh - - - - D - -1 - 4 - - 4 - quarter - flat - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - - major-sixth - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - diff --git a/data/practice/chord/001_three_note_shell_voicings/015-adding-notes-to-shell-voicings.xml b/data/practice/chord/001_three_note_shell_voicings/015-adding-notes-to-shell-voicings.xml deleted file mode 100644 index 30d6ca8..0000000 --- a/data/practice/chord/001_three_note_shell_voicings/015-adding-notes-to-shell-voicings.xml +++ /dev/null @@ -1,543 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-16 - - - - - Vocal - - - - - - 4 - - 0 - major - - - - G - 2 - - - - - G - - dominant - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - C - - dominant - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - - E - 5 - - 4 - quarter - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - - E - 5 - - 4 - quarter - - - - - - F - - dominant - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - flat - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - - - - B - -1 - - dominant - - - - B - -1 - 3 - - 4 - quarter - flat - - - - - A - -1 - 4 - - 4 - quarter - flat - - - - - D - 5 - - 4 - quarter - - - - B - -1 - 3 - - 4 - quarter - - - - - A - -1 - 4 - - 4 - quarter - - - - - D - 5 - - 4 - quarter - - - - - - E - -1 - - dominant - - - - E - -1 - 4 - - 4 - quarter - flat - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - flat - - - - E - -1 - 4 - - 4 - quarter - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - - - - A - -1 - - dominant - - - - A - -1 - 3 - - 4 - quarter - flat - - - - - G - -1 - 4 - - 4 - quarter - flat - - - - - C - 5 - - 4 - quarter - - - - A - -1 - 3 - - 4 - quarter - - - - - G - -1 - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - - - D - -1 - - major-seventh - - - - D - -1 - 4 - - 4 - quarter - flat - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - - major-sixth - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - diff --git a/data/practice/chord/001_three_note_shell_voicings/016-adding-notes-to-shell-voicings.xml b/data/practice/chord/001_three_note_shell_voicings/016-adding-notes-to-shell-voicings.xml deleted file mode 100644 index 30d6ca8..0000000 --- a/data/practice/chord/001_three_note_shell_voicings/016-adding-notes-to-shell-voicings.xml +++ /dev/null @@ -1,543 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-16 - - - - - Vocal - - - - - - 4 - - 0 - major - - - - G - 2 - - - - - G - - dominant - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - C - - dominant - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - - E - 5 - - 4 - quarter - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - - E - 5 - - 4 - quarter - - - - - - F - - dominant - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - flat - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - - - - B - -1 - - dominant - - - - B - -1 - 3 - - 4 - quarter - flat - - - - - A - -1 - 4 - - 4 - quarter - flat - - - - - D - 5 - - 4 - quarter - - - - B - -1 - 3 - - 4 - quarter - - - - - A - -1 - 4 - - 4 - quarter - - - - - D - 5 - - 4 - quarter - - - - - - E - -1 - - dominant - - - - E - -1 - 4 - - 4 - quarter - flat - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - flat - - - - E - -1 - 4 - - 4 - quarter - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - - - - A - -1 - - dominant - - - - A - -1 - 3 - - 4 - quarter - flat - - - - - G - -1 - 4 - - 4 - quarter - flat - - - - - C - 5 - - 4 - quarter - - - - A - -1 - 3 - - 4 - quarter - - - - - G - -1 - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - - - D - -1 - - major-seventh - - - - D - -1 - 4 - - 4 - quarter - flat - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - - major-sixth - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - diff --git a/data/practice/chord/001_three_note_shell_voicings/017-adding-notes-to-shell-voicings.xml b/data/practice/chord/001_three_note_shell_voicings/017-adding-notes-to-shell-voicings.xml deleted file mode 100644 index 30d6ca8..0000000 --- a/data/practice/chord/001_three_note_shell_voicings/017-adding-notes-to-shell-voicings.xml +++ /dev/null @@ -1,543 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-16 - - - - - Vocal - - - - - - 4 - - 0 - major - - - - G - 2 - - - - - G - - dominant - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - C - - dominant - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - - E - 5 - - 4 - quarter - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - - E - 5 - - 4 - quarter - - - - - - F - - dominant - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - flat - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - - - - B - -1 - - dominant - - - - B - -1 - 3 - - 4 - quarter - flat - - - - - A - -1 - 4 - - 4 - quarter - flat - - - - - D - 5 - - 4 - quarter - - - - B - -1 - 3 - - 4 - quarter - - - - - A - -1 - 4 - - 4 - quarter - - - - - D - 5 - - 4 - quarter - - - - - - E - -1 - - dominant - - - - E - -1 - 4 - - 4 - quarter - flat - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - flat - - - - E - -1 - 4 - - 4 - quarter - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - - - - A - -1 - - dominant - - - - A - -1 - 3 - - 4 - quarter - flat - - - - - G - -1 - 4 - - 4 - quarter - flat - - - - - C - 5 - - 4 - quarter - - - - A - -1 - 3 - - 4 - quarter - - - - - G - -1 - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - - - D - -1 - - major-seventh - - - - D - -1 - 4 - - 4 - quarter - flat - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - - major-sixth - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - diff --git a/data/practice/chord/001_three_note_shell_voicings/018-adding-notes-to-shell-voicings.xml b/data/practice/chord/001_three_note_shell_voicings/018-adding-notes-to-shell-voicings.xml deleted file mode 100644 index 30d6ca8..0000000 --- a/data/practice/chord/001_three_note_shell_voicings/018-adding-notes-to-shell-voicings.xml +++ /dev/null @@ -1,543 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-16 - - - - - Vocal - - - - - - 4 - - 0 - major - - - - G - 2 - - - - - G - - dominant - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - C - - dominant - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - - E - 5 - - 4 - quarter - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - - E - 5 - - 4 - quarter - - - - - - F - - dominant - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - flat - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - - - - B - -1 - - dominant - - - - B - -1 - 3 - - 4 - quarter - flat - - - - - A - -1 - 4 - - 4 - quarter - flat - - - - - D - 5 - - 4 - quarter - - - - B - -1 - 3 - - 4 - quarter - - - - - A - -1 - 4 - - 4 - quarter - - - - - D - 5 - - 4 - quarter - - - - - - E - -1 - - dominant - - - - E - -1 - 4 - - 4 - quarter - flat - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - flat - - - - E - -1 - 4 - - 4 - quarter - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - - - - A - -1 - - dominant - - - - A - -1 - 3 - - 4 - quarter - flat - - - - - G - -1 - 4 - - 4 - quarter - flat - - - - - C - 5 - - 4 - quarter - - - - A - -1 - 3 - - 4 - quarter - - - - - G - -1 - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - - - D - -1 - - major-seventh - - - - D - -1 - 4 - - 4 - quarter - flat - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - - major-sixth - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - diff --git a/data/practice/chord/001_three_note_shell_voicings/019-modified-shell-voicings.xml b/data/practice/chord/001_three_note_shell_voicings/019-modified-shell-voicings.xml deleted file mode 100644 index 30d6ca8..0000000 --- a/data/practice/chord/001_three_note_shell_voicings/019-modified-shell-voicings.xml +++ /dev/null @@ -1,543 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-16 - - - - - Vocal - - - - - - 4 - - 0 - major - - - - G - 2 - - - - - G - - dominant - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - C - - dominant - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - - E - 5 - - 4 - quarter - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - - E - 5 - - 4 - quarter - - - - - - F - - dominant - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - flat - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - - - - B - -1 - - dominant - - - - B - -1 - 3 - - 4 - quarter - flat - - - - - A - -1 - 4 - - 4 - quarter - flat - - - - - D - 5 - - 4 - quarter - - - - B - -1 - 3 - - 4 - quarter - - - - - A - -1 - 4 - - 4 - quarter - - - - - D - 5 - - 4 - quarter - - - - - - E - -1 - - dominant - - - - E - -1 - 4 - - 4 - quarter - flat - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - flat - - - - E - -1 - 4 - - 4 - quarter - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - - - - A - -1 - - dominant - - - - A - -1 - 3 - - 4 - quarter - flat - - - - - G - -1 - 4 - - 4 - quarter - flat - - - - - C - 5 - - 4 - quarter - - - - A - -1 - 3 - - 4 - quarter - - - - - G - -1 - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - - - D - -1 - - major-seventh - - - - D - -1 - 4 - - 4 - quarter - flat - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - - major-sixth - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - diff --git a/data/practice/chord/001_three_note_shell_voicings/020-modified-shell-voicings.xml b/data/practice/chord/001_three_note_shell_voicings/020-modified-shell-voicings.xml deleted file mode 100644 index 30d6ca8..0000000 --- a/data/practice/chord/001_three_note_shell_voicings/020-modified-shell-voicings.xml +++ /dev/null @@ -1,543 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-16 - - - - - Vocal - - - - - - 4 - - 0 - major - - - - G - 2 - - - - - G - - dominant - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - C - - dominant - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - - E - 5 - - 4 - quarter - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - - E - 5 - - 4 - quarter - - - - - - F - - dominant - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - flat - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - - - - B - -1 - - dominant - - - - B - -1 - 3 - - 4 - quarter - flat - - - - - A - -1 - 4 - - 4 - quarter - flat - - - - - D - 5 - - 4 - quarter - - - - B - -1 - 3 - - 4 - quarter - - - - - A - -1 - 4 - - 4 - quarter - - - - - D - 5 - - 4 - quarter - - - - - - E - -1 - - dominant - - - - E - -1 - 4 - - 4 - quarter - flat - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - flat - - - - E - -1 - 4 - - 4 - quarter - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - - - - A - -1 - - dominant - - - - A - -1 - 3 - - 4 - quarter - flat - - - - - G - -1 - 4 - - 4 - quarter - flat - - - - - C - 5 - - 4 - quarter - - - - A - -1 - 3 - - 4 - quarter - - - - - G - -1 - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - - - D - -1 - - major-seventh - - - - D - -1 - 4 - - 4 - quarter - flat - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - - major-sixth - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - diff --git a/data/practice/chord/001_three_note_shell_voicings/021-modified-shell-voicings.xml b/data/practice/chord/001_three_note_shell_voicings/021-modified-shell-voicings.xml deleted file mode 100644 index 30d6ca8..0000000 --- a/data/practice/chord/001_three_note_shell_voicings/021-modified-shell-voicings.xml +++ /dev/null @@ -1,543 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-16 - - - - - Vocal - - - - - - 4 - - 0 - major - - - - G - 2 - - - - - G - - dominant - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - C - - dominant - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - - E - 5 - - 4 - quarter - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - - E - 5 - - 4 - quarter - - - - - - F - - dominant - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - flat - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - - - - B - -1 - - dominant - - - - B - -1 - 3 - - 4 - quarter - flat - - - - - A - -1 - 4 - - 4 - quarter - flat - - - - - D - 5 - - 4 - quarter - - - - B - -1 - 3 - - 4 - quarter - - - - - A - -1 - 4 - - 4 - quarter - - - - - D - 5 - - 4 - quarter - - - - - - E - -1 - - dominant - - - - E - -1 - 4 - - 4 - quarter - flat - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - flat - - - - E - -1 - 4 - - 4 - quarter - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - - - - A - -1 - - dominant - - - - A - -1 - 3 - - 4 - quarter - flat - - - - - G - -1 - 4 - - 4 - quarter - flat - - - - - C - 5 - - 4 - quarter - - - - A - -1 - 3 - - 4 - quarter - - - - - G - -1 - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - - - D - -1 - - major-seventh - - - - D - -1 - 4 - - 4 - quarter - flat - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - - major-sixth - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - diff --git a/data/practice/chord/001_three_note_shell_voicings/022-modified-shell-voicings.xml b/data/practice/chord/001_three_note_shell_voicings/022-modified-shell-voicings.xml deleted file mode 100644 index 30d6ca8..0000000 --- a/data/practice/chord/001_three_note_shell_voicings/022-modified-shell-voicings.xml +++ /dev/null @@ -1,543 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-16 - - - - - Vocal - - - - - - 4 - - 0 - major - - - - G - 2 - - - - - G - - dominant - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - C - - dominant - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - - E - 5 - - 4 - quarter - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - - E - 5 - - 4 - quarter - - - - - - F - - dominant - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - flat - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - - - - B - -1 - - dominant - - - - B - -1 - 3 - - 4 - quarter - flat - - - - - A - -1 - 4 - - 4 - quarter - flat - - - - - D - 5 - - 4 - quarter - - - - B - -1 - 3 - - 4 - quarter - - - - - A - -1 - 4 - - 4 - quarter - - - - - D - 5 - - 4 - quarter - - - - - - E - -1 - - dominant - - - - E - -1 - 4 - - 4 - quarter - flat - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - flat - - - - E - -1 - 4 - - 4 - quarter - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - - - - A - -1 - - dominant - - - - A - -1 - 3 - - 4 - quarter - flat - - - - - G - -1 - 4 - - 4 - quarter - flat - - - - - C - 5 - - 4 - quarter - - - - A - -1 - 3 - - 4 - quarter - - - - - G - -1 - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - - - D - -1 - - major-seventh - - - - D - -1 - 4 - - 4 - quarter - flat - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - - major-sixth - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - diff --git a/data/practice/chord/001_three_note_shell_voicings/023-modified-shell-voicings.xml b/data/practice/chord/001_three_note_shell_voicings/023-modified-shell-voicings.xml deleted file mode 100644 index 30d6ca8..0000000 --- a/data/practice/chord/001_three_note_shell_voicings/023-modified-shell-voicings.xml +++ /dev/null @@ -1,543 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-16 - - - - - Vocal - - - - - - 4 - - 0 - major - - - - G - 2 - - - - - G - - dominant - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - C - - dominant - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - - E - 5 - - 4 - quarter - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - - E - 5 - - 4 - quarter - - - - - - F - - dominant - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - flat - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - - - - B - -1 - - dominant - - - - B - -1 - 3 - - 4 - quarter - flat - - - - - A - -1 - 4 - - 4 - quarter - flat - - - - - D - 5 - - 4 - quarter - - - - B - -1 - 3 - - 4 - quarter - - - - - A - -1 - 4 - - 4 - quarter - - - - - D - 5 - - 4 - quarter - - - - - - E - -1 - - dominant - - - - E - -1 - 4 - - 4 - quarter - flat - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - flat - - - - E - -1 - 4 - - 4 - quarter - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - - - - A - -1 - - dominant - - - - A - -1 - 3 - - 4 - quarter - flat - - - - - G - -1 - 4 - - 4 - quarter - flat - - - - - C - 5 - - 4 - quarter - - - - A - -1 - 3 - - 4 - quarter - - - - - G - -1 - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - - - D - -1 - - major-seventh - - - - D - -1 - 4 - - 4 - quarter - flat - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - - major-sixth - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - diff --git a/data/practice/chord/001_three_note_shell_voicings/024-modified-shell-voicings.xml b/data/practice/chord/001_three_note_shell_voicings/024-modified-shell-voicings.xml deleted file mode 100644 index 30d6ca8..0000000 --- a/data/practice/chord/001_three_note_shell_voicings/024-modified-shell-voicings.xml +++ /dev/null @@ -1,543 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-16 - - - - - Vocal - - - - - - 4 - - 0 - major - - - - G - 2 - - - - - G - - dominant - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - C - - dominant - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - - E - 5 - - 4 - quarter - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - - E - 5 - - 4 - quarter - - - - - - F - - dominant - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - flat - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - - - - B - -1 - - dominant - - - - B - -1 - 3 - - 4 - quarter - flat - - - - - A - -1 - 4 - - 4 - quarter - flat - - - - - D - 5 - - 4 - quarter - - - - B - -1 - 3 - - 4 - quarter - - - - - A - -1 - 4 - - 4 - quarter - - - - - D - 5 - - 4 - quarter - - - - - - E - -1 - - dominant - - - - E - -1 - 4 - - 4 - quarter - flat - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - flat - - - - E - -1 - 4 - - 4 - quarter - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - - - - A - -1 - - dominant - - - - A - -1 - 3 - - 4 - quarter - flat - - - - - G - -1 - 4 - - 4 - quarter - flat - - - - - C - 5 - - 4 - quarter - - - - A - -1 - 3 - - 4 - quarter - - - - - G - -1 - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - - - D - -1 - - major-seventh - - - - D - -1 - 4 - - 4 - quarter - flat - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - - major-sixth - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - diff --git a/data/practice/chord/002_three_note_comping_derived_from_shells/001-cycles.xml b/data/practice/chord/002_three_note_comping_derived_from_shells/001-cycles.xml deleted file mode 100644 index 30d6ca8..0000000 --- a/data/practice/chord/002_three_note_comping_derived_from_shells/001-cycles.xml +++ /dev/null @@ -1,543 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-16 - - - - - Vocal - - - - - - 4 - - 0 - major - - - - G - 2 - - - - - G - - dominant - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - C - - dominant - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - - E - 5 - - 4 - quarter - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - - E - 5 - - 4 - quarter - - - - - - F - - dominant - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - flat - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - - - - B - -1 - - dominant - - - - B - -1 - 3 - - 4 - quarter - flat - - - - - A - -1 - 4 - - 4 - quarter - flat - - - - - D - 5 - - 4 - quarter - - - - B - -1 - 3 - - 4 - quarter - - - - - A - -1 - 4 - - 4 - quarter - - - - - D - 5 - - 4 - quarter - - - - - - E - -1 - - dominant - - - - E - -1 - 4 - - 4 - quarter - flat - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - flat - - - - E - -1 - 4 - - 4 - quarter - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - - - - A - -1 - - dominant - - - - A - -1 - 3 - - 4 - quarter - flat - - - - - G - -1 - 4 - - 4 - quarter - flat - - - - - C - 5 - - 4 - quarter - - - - A - -1 - 3 - - 4 - quarter - - - - - G - -1 - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - - - D - -1 - - major-seventh - - - - D - -1 - 4 - - 4 - quarter - flat - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - - major-sixth - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - diff --git a/data/practice/chord/002_three_note_comping_derived_from_shells/002-cycles.xml b/data/practice/chord/002_three_note_comping_derived_from_shells/002-cycles.xml deleted file mode 100644 index 30d6ca8..0000000 --- a/data/practice/chord/002_three_note_comping_derived_from_shells/002-cycles.xml +++ /dev/null @@ -1,543 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-16 - - - - - Vocal - - - - - - 4 - - 0 - major - - - - G - 2 - - - - - G - - dominant - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - C - - dominant - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - - E - 5 - - 4 - quarter - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - - E - 5 - - 4 - quarter - - - - - - F - - dominant - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - flat - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - - - - B - -1 - - dominant - - - - B - -1 - 3 - - 4 - quarter - flat - - - - - A - -1 - 4 - - 4 - quarter - flat - - - - - D - 5 - - 4 - quarter - - - - B - -1 - 3 - - 4 - quarter - - - - - A - -1 - 4 - - 4 - quarter - - - - - D - 5 - - 4 - quarter - - - - - - E - -1 - - dominant - - - - E - -1 - 4 - - 4 - quarter - flat - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - flat - - - - E - -1 - 4 - - 4 - quarter - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - - - - A - -1 - - dominant - - - - A - -1 - 3 - - 4 - quarter - flat - - - - - G - -1 - 4 - - 4 - quarter - flat - - - - - C - 5 - - 4 - quarter - - - - A - -1 - 3 - - 4 - quarter - - - - - G - -1 - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - - - D - -1 - - major-seventh - - - - D - -1 - 4 - - 4 - quarter - flat - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - - major-sixth - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - diff --git a/data/practice/chord/002_three_note_comping_derived_from_shells/003-cycles.xml b/data/practice/chord/002_three_note_comping_derived_from_shells/003-cycles.xml deleted file mode 100644 index 30d6ca8..0000000 --- a/data/practice/chord/002_three_note_comping_derived_from_shells/003-cycles.xml +++ /dev/null @@ -1,543 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-16 - - - - - Vocal - - - - - - 4 - - 0 - major - - - - G - 2 - - - - - G - - dominant - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - C - - dominant - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - - E - 5 - - 4 - quarter - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - - E - 5 - - 4 - quarter - - - - - - F - - dominant - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - flat - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - - - - B - -1 - - dominant - - - - B - -1 - 3 - - 4 - quarter - flat - - - - - A - -1 - 4 - - 4 - quarter - flat - - - - - D - 5 - - 4 - quarter - - - - B - -1 - 3 - - 4 - quarter - - - - - A - -1 - 4 - - 4 - quarter - - - - - D - 5 - - 4 - quarter - - - - - - E - -1 - - dominant - - - - E - -1 - 4 - - 4 - quarter - flat - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - flat - - - - E - -1 - 4 - - 4 - quarter - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - - - - A - -1 - - dominant - - - - A - -1 - 3 - - 4 - quarter - flat - - - - - G - -1 - 4 - - 4 - quarter - flat - - - - - C - 5 - - 4 - quarter - - - - A - -1 - 3 - - 4 - quarter - - - - - G - -1 - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - - - D - -1 - - major-seventh - - - - D - -1 - 4 - - 4 - quarter - flat - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - - major-sixth - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - diff --git a/data/practice/chord/002_three_note_comping_derived_from_shells/004-cycles.xml b/data/practice/chord/002_three_note_comping_derived_from_shells/004-cycles.xml deleted file mode 100644 index 30d6ca8..0000000 --- a/data/practice/chord/002_three_note_comping_derived_from_shells/004-cycles.xml +++ /dev/null @@ -1,543 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-16 - - - - - Vocal - - - - - - 4 - - 0 - major - - - - G - 2 - - - - - G - - dominant - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - C - - dominant - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - - E - 5 - - 4 - quarter - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - - E - 5 - - 4 - quarter - - - - - - F - - dominant - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - flat - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - - - - B - -1 - - dominant - - - - B - -1 - 3 - - 4 - quarter - flat - - - - - A - -1 - 4 - - 4 - quarter - flat - - - - - D - 5 - - 4 - quarter - - - - B - -1 - 3 - - 4 - quarter - - - - - A - -1 - 4 - - 4 - quarter - - - - - D - 5 - - 4 - quarter - - - - - - E - -1 - - dominant - - - - E - -1 - 4 - - 4 - quarter - flat - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - flat - - - - E - -1 - 4 - - 4 - quarter - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - - - - A - -1 - - dominant - - - - A - -1 - 3 - - 4 - quarter - flat - - - - - G - -1 - 4 - - 4 - quarter - flat - - - - - C - 5 - - 4 - quarter - - - - A - -1 - 3 - - 4 - quarter - - - - - G - -1 - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - - - D - -1 - - major-seventh - - - - D - -1 - 4 - - 4 - quarter - flat - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - - major-sixth - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - diff --git a/data/practice/chord/002_three_note_comping_derived_from_shells/005-cycles.xml b/data/practice/chord/002_three_note_comping_derived_from_shells/005-cycles.xml deleted file mode 100644 index 30d6ca8..0000000 --- a/data/practice/chord/002_three_note_comping_derived_from_shells/005-cycles.xml +++ /dev/null @@ -1,543 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-16 - - - - - Vocal - - - - - - 4 - - 0 - major - - - - G - 2 - - - - - G - - dominant - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - C - - dominant - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - - E - 5 - - 4 - quarter - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - - E - 5 - - 4 - quarter - - - - - - F - - dominant - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - flat - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - - - - B - -1 - - dominant - - - - B - -1 - 3 - - 4 - quarter - flat - - - - - A - -1 - 4 - - 4 - quarter - flat - - - - - D - 5 - - 4 - quarter - - - - B - -1 - 3 - - 4 - quarter - - - - - A - -1 - 4 - - 4 - quarter - - - - - D - 5 - - 4 - quarter - - - - - - E - -1 - - dominant - - - - E - -1 - 4 - - 4 - quarter - flat - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - flat - - - - E - -1 - 4 - - 4 - quarter - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - - - - A - -1 - - dominant - - - - A - -1 - 3 - - 4 - quarter - flat - - - - - G - -1 - 4 - - 4 - quarter - flat - - - - - C - 5 - - 4 - quarter - - - - A - -1 - 3 - - 4 - quarter - - - - - G - -1 - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - - - D - -1 - - major-seventh - - - - D - -1 - 4 - - 4 - quarter - flat - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - - major-sixth - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - diff --git a/data/practice/chord/002_three_note_comping_derived_from_shells/006-cycles.xml b/data/practice/chord/002_three_note_comping_derived_from_shells/006-cycles.xml deleted file mode 100644 index 30d6ca8..0000000 --- a/data/practice/chord/002_three_note_comping_derived_from_shells/006-cycles.xml +++ /dev/null @@ -1,543 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-16 - - - - - Vocal - - - - - - 4 - - 0 - major - - - - G - 2 - - - - - G - - dominant - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - C - - dominant - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - - E - 5 - - 4 - quarter - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - - E - 5 - - 4 - quarter - - - - - - F - - dominant - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - flat - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - - - - B - -1 - - dominant - - - - B - -1 - 3 - - 4 - quarter - flat - - - - - A - -1 - 4 - - 4 - quarter - flat - - - - - D - 5 - - 4 - quarter - - - - B - -1 - 3 - - 4 - quarter - - - - - A - -1 - 4 - - 4 - quarter - - - - - D - 5 - - 4 - quarter - - - - - - E - -1 - - dominant - - - - E - -1 - 4 - - 4 - quarter - flat - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - flat - - - - E - -1 - 4 - - 4 - quarter - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - - - - A - -1 - - dominant - - - - A - -1 - 3 - - 4 - quarter - flat - - - - - G - -1 - 4 - - 4 - quarter - flat - - - - - C - 5 - - 4 - quarter - - - - A - -1 - 3 - - 4 - quarter - - - - - G - -1 - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - - - D - -1 - - major-seventh - - - - D - -1 - 4 - - 4 - quarter - flat - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - - major-sixth - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - diff --git a/data/practice/chord/002_three_note_comping_derived_from_shells/007-cycles.xml b/data/practice/chord/002_three_note_comping_derived_from_shells/007-cycles.xml deleted file mode 100644 index 30d6ca8..0000000 --- a/data/practice/chord/002_three_note_comping_derived_from_shells/007-cycles.xml +++ /dev/null @@ -1,543 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-16 - - - - - Vocal - - - - - - 4 - - 0 - major - - - - G - 2 - - - - - G - - dominant - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - C - - dominant - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - - E - 5 - - 4 - quarter - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - - E - 5 - - 4 - quarter - - - - - - F - - dominant - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - flat - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - - - - B - -1 - - dominant - - - - B - -1 - 3 - - 4 - quarter - flat - - - - - A - -1 - 4 - - 4 - quarter - flat - - - - - D - 5 - - 4 - quarter - - - - B - -1 - 3 - - 4 - quarter - - - - - A - -1 - 4 - - 4 - quarter - - - - - D - 5 - - 4 - quarter - - - - - - E - -1 - - dominant - - - - E - -1 - 4 - - 4 - quarter - flat - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - flat - - - - E - -1 - 4 - - 4 - quarter - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - - - - A - -1 - - dominant - - - - A - -1 - 3 - - 4 - quarter - flat - - - - - G - -1 - 4 - - 4 - quarter - flat - - - - - C - 5 - - 4 - quarter - - - - A - -1 - 3 - - 4 - quarter - - - - - G - -1 - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - - - D - -1 - - major-seventh - - - - D - -1 - 4 - - 4 - quarter - flat - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - - major-sixth - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - diff --git a/data/practice/chord/002_three_note_comping_derived_from_shells/008-ii-v-i-progressions-part-a.xml b/data/practice/chord/002_three_note_comping_derived_from_shells/008-ii-v-i-progressions-part-a.xml deleted file mode 100644 index 30d6ca8..0000000 --- a/data/practice/chord/002_three_note_comping_derived_from_shells/008-ii-v-i-progressions-part-a.xml +++ /dev/null @@ -1,543 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-16 - - - - - Vocal - - - - - - 4 - - 0 - major - - - - G - 2 - - - - - G - - dominant - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - C - - dominant - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - - E - 5 - - 4 - quarter - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - - E - 5 - - 4 - quarter - - - - - - F - - dominant - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - flat - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - - - - B - -1 - - dominant - - - - B - -1 - 3 - - 4 - quarter - flat - - - - - A - -1 - 4 - - 4 - quarter - flat - - - - - D - 5 - - 4 - quarter - - - - B - -1 - 3 - - 4 - quarter - - - - - A - -1 - 4 - - 4 - quarter - - - - - D - 5 - - 4 - quarter - - - - - - E - -1 - - dominant - - - - E - -1 - 4 - - 4 - quarter - flat - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - flat - - - - E - -1 - 4 - - 4 - quarter - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - - - - A - -1 - - dominant - - - - A - -1 - 3 - - 4 - quarter - flat - - - - - G - -1 - 4 - - 4 - quarter - flat - - - - - C - 5 - - 4 - quarter - - - - A - -1 - 3 - - 4 - quarter - - - - - G - -1 - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - - - D - -1 - - major-seventh - - - - D - -1 - 4 - - 4 - quarter - flat - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - - major-sixth - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - diff --git a/data/practice/chord/002_three_note_comping_derived_from_shells/009-ii-v-i-progressions-part-a.xml b/data/practice/chord/002_three_note_comping_derived_from_shells/009-ii-v-i-progressions-part-a.xml deleted file mode 100644 index 30d6ca8..0000000 --- a/data/practice/chord/002_three_note_comping_derived_from_shells/009-ii-v-i-progressions-part-a.xml +++ /dev/null @@ -1,543 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-16 - - - - - Vocal - - - - - - 4 - - 0 - major - - - - G - 2 - - - - - G - - dominant - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - C - - dominant - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - - E - 5 - - 4 - quarter - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - - E - 5 - - 4 - quarter - - - - - - F - - dominant - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - flat - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - - - - B - -1 - - dominant - - - - B - -1 - 3 - - 4 - quarter - flat - - - - - A - -1 - 4 - - 4 - quarter - flat - - - - - D - 5 - - 4 - quarter - - - - B - -1 - 3 - - 4 - quarter - - - - - A - -1 - 4 - - 4 - quarter - - - - - D - 5 - - 4 - quarter - - - - - - E - -1 - - dominant - - - - E - -1 - 4 - - 4 - quarter - flat - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - flat - - - - E - -1 - 4 - - 4 - quarter - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - - - - A - -1 - - dominant - - - - A - -1 - 3 - - 4 - quarter - flat - - - - - G - -1 - 4 - - 4 - quarter - flat - - - - - C - 5 - - 4 - quarter - - - - A - -1 - 3 - - 4 - quarter - - - - - G - -1 - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - - - D - -1 - - major-seventh - - - - D - -1 - 4 - - 4 - quarter - flat - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - - major-sixth - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - diff --git a/data/practice/chord/002_three_note_comping_derived_from_shells/010-ii-v-i-progressions-part-a.xml b/data/practice/chord/002_three_note_comping_derived_from_shells/010-ii-v-i-progressions-part-a.xml deleted file mode 100644 index 30d6ca8..0000000 --- a/data/practice/chord/002_three_note_comping_derived_from_shells/010-ii-v-i-progressions-part-a.xml +++ /dev/null @@ -1,543 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-16 - - - - - Vocal - - - - - - 4 - - 0 - major - - - - G - 2 - - - - - G - - dominant - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - C - - dominant - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - - E - 5 - - 4 - quarter - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - - E - 5 - - 4 - quarter - - - - - - F - - dominant - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - flat - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - - - - B - -1 - - dominant - - - - B - -1 - 3 - - 4 - quarter - flat - - - - - A - -1 - 4 - - 4 - quarter - flat - - - - - D - 5 - - 4 - quarter - - - - B - -1 - 3 - - 4 - quarter - - - - - A - -1 - 4 - - 4 - quarter - - - - - D - 5 - - 4 - quarter - - - - - - E - -1 - - dominant - - - - E - -1 - 4 - - 4 - quarter - flat - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - flat - - - - E - -1 - 4 - - 4 - quarter - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - - - - A - -1 - - dominant - - - - A - -1 - 3 - - 4 - quarter - flat - - - - - G - -1 - 4 - - 4 - quarter - flat - - - - - C - 5 - - 4 - quarter - - - - A - -1 - 3 - - 4 - quarter - - - - - G - -1 - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - - - D - -1 - - major-seventh - - - - D - -1 - 4 - - 4 - quarter - flat - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - - major-sixth - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - diff --git a/data/practice/chord/002_three_note_comping_derived_from_shells/011-ii-v-i-progressions-part-a.xml b/data/practice/chord/002_three_note_comping_derived_from_shells/011-ii-v-i-progressions-part-a.xml deleted file mode 100644 index 30d6ca8..0000000 --- a/data/practice/chord/002_three_note_comping_derived_from_shells/011-ii-v-i-progressions-part-a.xml +++ /dev/null @@ -1,543 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-16 - - - - - Vocal - - - - - - 4 - - 0 - major - - - - G - 2 - - - - - G - - dominant - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - C - - dominant - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - - E - 5 - - 4 - quarter - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - - E - 5 - - 4 - quarter - - - - - - F - - dominant - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - flat - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - - - - B - -1 - - dominant - - - - B - -1 - 3 - - 4 - quarter - flat - - - - - A - -1 - 4 - - 4 - quarter - flat - - - - - D - 5 - - 4 - quarter - - - - B - -1 - 3 - - 4 - quarter - - - - - A - -1 - 4 - - 4 - quarter - - - - - D - 5 - - 4 - quarter - - - - - - E - -1 - - dominant - - - - E - -1 - 4 - - 4 - quarter - flat - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - flat - - - - E - -1 - 4 - - 4 - quarter - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - - - - A - -1 - - dominant - - - - A - -1 - 3 - - 4 - quarter - flat - - - - - G - -1 - 4 - - 4 - quarter - flat - - - - - C - 5 - - 4 - quarter - - - - A - -1 - 3 - - 4 - quarter - - - - - G - -1 - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - - - D - -1 - - major-seventh - - - - D - -1 - 4 - - 4 - quarter - flat - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - - major-sixth - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - diff --git a/data/practice/chord/002_three_note_comping_derived_from_shells/012-ii-v-i-progressions-part-a.xml b/data/practice/chord/002_three_note_comping_derived_from_shells/012-ii-v-i-progressions-part-a.xml deleted file mode 100644 index 30d6ca8..0000000 --- a/data/practice/chord/002_three_note_comping_derived_from_shells/012-ii-v-i-progressions-part-a.xml +++ /dev/null @@ -1,543 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-16 - - - - - Vocal - - - - - - 4 - - 0 - major - - - - G - 2 - - - - - G - - dominant - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - C - - dominant - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - - E - 5 - - 4 - quarter - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - - E - 5 - - 4 - quarter - - - - - - F - - dominant - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - flat - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - - - - B - -1 - - dominant - - - - B - -1 - 3 - - 4 - quarter - flat - - - - - A - -1 - 4 - - 4 - quarter - flat - - - - - D - 5 - - 4 - quarter - - - - B - -1 - 3 - - 4 - quarter - - - - - A - -1 - 4 - - 4 - quarter - - - - - D - 5 - - 4 - quarter - - - - - - E - -1 - - dominant - - - - E - -1 - 4 - - 4 - quarter - flat - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - flat - - - - E - -1 - 4 - - 4 - quarter - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - - - - A - -1 - - dominant - - - - A - -1 - 3 - - 4 - quarter - flat - - - - - G - -1 - 4 - - 4 - quarter - flat - - - - - C - 5 - - 4 - quarter - - - - A - -1 - 3 - - 4 - quarter - - - - - G - -1 - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - - - D - -1 - - major-seventh - - - - D - -1 - 4 - - 4 - quarter - flat - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - - major-sixth - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - diff --git a/data/practice/chord/002_three_note_comping_derived_from_shells/013-ii-v-i-progressions-part-a.xml b/data/practice/chord/002_three_note_comping_derived_from_shells/013-ii-v-i-progressions-part-a.xml deleted file mode 100644 index 30d6ca8..0000000 --- a/data/practice/chord/002_three_note_comping_derived_from_shells/013-ii-v-i-progressions-part-a.xml +++ /dev/null @@ -1,543 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-16 - - - - - Vocal - - - - - - 4 - - 0 - major - - - - G - 2 - - - - - G - - dominant - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - C - - dominant - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - - E - 5 - - 4 - quarter - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - - E - 5 - - 4 - quarter - - - - - - F - - dominant - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - flat - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - - - - B - -1 - - dominant - - - - B - -1 - 3 - - 4 - quarter - flat - - - - - A - -1 - 4 - - 4 - quarter - flat - - - - - D - 5 - - 4 - quarter - - - - B - -1 - 3 - - 4 - quarter - - - - - A - -1 - 4 - - 4 - quarter - - - - - D - 5 - - 4 - quarter - - - - - - E - -1 - - dominant - - - - E - -1 - 4 - - 4 - quarter - flat - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - flat - - - - E - -1 - 4 - - 4 - quarter - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - - - - A - -1 - - dominant - - - - A - -1 - 3 - - 4 - quarter - flat - - - - - G - -1 - 4 - - 4 - quarter - flat - - - - - C - 5 - - 4 - quarter - - - - A - -1 - 3 - - 4 - quarter - - - - - G - -1 - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - - - D - -1 - - major-seventh - - - - D - -1 - 4 - - 4 - quarter - flat - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - - major-sixth - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - diff --git a/data/practice/chord/002_three_note_comping_derived_from_shells/014-ii-v-i-progressions-part-a.xml b/data/practice/chord/002_three_note_comping_derived_from_shells/014-ii-v-i-progressions-part-a.xml deleted file mode 100644 index 30d6ca8..0000000 --- a/data/practice/chord/002_three_note_comping_derived_from_shells/014-ii-v-i-progressions-part-a.xml +++ /dev/null @@ -1,543 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-16 - - - - - Vocal - - - - - - 4 - - 0 - major - - - - G - 2 - - - - - G - - dominant - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - C - - dominant - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - - E - 5 - - 4 - quarter - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - - E - 5 - - 4 - quarter - - - - - - F - - dominant - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - flat - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - - - - B - -1 - - dominant - - - - B - -1 - 3 - - 4 - quarter - flat - - - - - A - -1 - 4 - - 4 - quarter - flat - - - - - D - 5 - - 4 - quarter - - - - B - -1 - 3 - - 4 - quarter - - - - - A - -1 - 4 - - 4 - quarter - - - - - D - 5 - - 4 - quarter - - - - - - E - -1 - - dominant - - - - E - -1 - 4 - - 4 - quarter - flat - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - flat - - - - E - -1 - 4 - - 4 - quarter - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - - - - A - -1 - - dominant - - - - A - -1 - 3 - - 4 - quarter - flat - - - - - G - -1 - 4 - - 4 - quarter - flat - - - - - C - 5 - - 4 - quarter - - - - A - -1 - 3 - - 4 - quarter - - - - - G - -1 - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - - - D - -1 - - major-seventh - - - - D - -1 - 4 - - 4 - quarter - flat - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - - major-sixth - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - diff --git a/data/practice/chord/002_three_note_comping_derived_from_shells/015-ii-v-i-progressions-part-a.xml b/data/practice/chord/002_three_note_comping_derived_from_shells/015-ii-v-i-progressions-part-a.xml deleted file mode 100644 index 30d6ca8..0000000 --- a/data/practice/chord/002_three_note_comping_derived_from_shells/015-ii-v-i-progressions-part-a.xml +++ /dev/null @@ -1,543 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-16 - - - - - Vocal - - - - - - 4 - - 0 - major - - - - G - 2 - - - - - G - - dominant - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - C - - dominant - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - - E - 5 - - 4 - quarter - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - - E - 5 - - 4 - quarter - - - - - - F - - dominant - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - flat - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - - - - B - -1 - - dominant - - - - B - -1 - 3 - - 4 - quarter - flat - - - - - A - -1 - 4 - - 4 - quarter - flat - - - - - D - 5 - - 4 - quarter - - - - B - -1 - 3 - - 4 - quarter - - - - - A - -1 - 4 - - 4 - quarter - - - - - D - 5 - - 4 - quarter - - - - - - E - -1 - - dominant - - - - E - -1 - 4 - - 4 - quarter - flat - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - flat - - - - E - -1 - 4 - - 4 - quarter - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - - - - A - -1 - - dominant - - - - A - -1 - 3 - - 4 - quarter - flat - - - - - G - -1 - 4 - - 4 - quarter - flat - - - - - C - 5 - - 4 - quarter - - - - A - -1 - 3 - - 4 - quarter - - - - - G - -1 - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - - - D - -1 - - major-seventh - - - - D - -1 - 4 - - 4 - quarter - flat - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - - major-sixth - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - diff --git a/data/practice/chord/002_three_note_comping_derived_from_shells/016-ii-v-i-progressions-part-a.xml b/data/practice/chord/002_three_note_comping_derived_from_shells/016-ii-v-i-progressions-part-a.xml deleted file mode 100644 index 30d6ca8..0000000 --- a/data/practice/chord/002_three_note_comping_derived_from_shells/016-ii-v-i-progressions-part-a.xml +++ /dev/null @@ -1,543 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-16 - - - - - Vocal - - - - - - 4 - - 0 - major - - - - G - 2 - - - - - G - - dominant - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - C - - dominant - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - - E - 5 - - 4 - quarter - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - - E - 5 - - 4 - quarter - - - - - - F - - dominant - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - flat - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - - - - B - -1 - - dominant - - - - B - -1 - 3 - - 4 - quarter - flat - - - - - A - -1 - 4 - - 4 - quarter - flat - - - - - D - 5 - - 4 - quarter - - - - B - -1 - 3 - - 4 - quarter - - - - - A - -1 - 4 - - 4 - quarter - - - - - D - 5 - - 4 - quarter - - - - - - E - -1 - - dominant - - - - E - -1 - 4 - - 4 - quarter - flat - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - flat - - - - E - -1 - 4 - - 4 - quarter - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - - - - A - -1 - - dominant - - - - A - -1 - 3 - - 4 - quarter - flat - - - - - G - -1 - 4 - - 4 - quarter - flat - - - - - C - 5 - - 4 - quarter - - - - A - -1 - 3 - - 4 - quarter - - - - - G - -1 - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - - - D - -1 - - major-seventh - - - - D - -1 - 4 - - 4 - quarter - flat - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - - major-sixth - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - diff --git a/data/practice/chord/002_three_note_comping_derived_from_shells/017-ii-v-i-progressions-part-a.xml b/data/practice/chord/002_three_note_comping_derived_from_shells/017-ii-v-i-progressions-part-a.xml deleted file mode 100644 index 30d6ca8..0000000 --- a/data/practice/chord/002_three_note_comping_derived_from_shells/017-ii-v-i-progressions-part-a.xml +++ /dev/null @@ -1,543 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-16 - - - - - Vocal - - - - - - 4 - - 0 - major - - - - G - 2 - - - - - G - - dominant - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - C - - dominant - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - - E - 5 - - 4 - quarter - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - - E - 5 - - 4 - quarter - - - - - - F - - dominant - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - flat - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - - - - B - -1 - - dominant - - - - B - -1 - 3 - - 4 - quarter - flat - - - - - A - -1 - 4 - - 4 - quarter - flat - - - - - D - 5 - - 4 - quarter - - - - B - -1 - 3 - - 4 - quarter - - - - - A - -1 - 4 - - 4 - quarter - - - - - D - 5 - - 4 - quarter - - - - - - E - -1 - - dominant - - - - E - -1 - 4 - - 4 - quarter - flat - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - flat - - - - E - -1 - 4 - - 4 - quarter - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - - - - A - -1 - - dominant - - - - A - -1 - 3 - - 4 - quarter - flat - - - - - G - -1 - 4 - - 4 - quarter - flat - - - - - C - 5 - - 4 - quarter - - - - A - -1 - 3 - - 4 - quarter - - - - - G - -1 - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - - - D - -1 - - major-seventh - - - - D - -1 - 4 - - 4 - quarter - flat - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - - major-sixth - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - diff --git a/data/practice/chord/002_three_note_comping_derived_from_shells/018-ii-v-i-progressions-part-a.xml b/data/practice/chord/002_three_note_comping_derived_from_shells/018-ii-v-i-progressions-part-a.xml deleted file mode 100644 index 30d6ca8..0000000 --- a/data/practice/chord/002_three_note_comping_derived_from_shells/018-ii-v-i-progressions-part-a.xml +++ /dev/null @@ -1,543 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-16 - - - - - Vocal - - - - - - 4 - - 0 - major - - - - G - 2 - - - - - G - - dominant - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - C - - dominant - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - - E - 5 - - 4 - quarter - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - - E - 5 - - 4 - quarter - - - - - - F - - dominant - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - flat - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - - - - B - -1 - - dominant - - - - B - -1 - 3 - - 4 - quarter - flat - - - - - A - -1 - 4 - - 4 - quarter - flat - - - - - D - 5 - - 4 - quarter - - - - B - -1 - 3 - - 4 - quarter - - - - - A - -1 - 4 - - 4 - quarter - - - - - D - 5 - - 4 - quarter - - - - - - E - -1 - - dominant - - - - E - -1 - 4 - - 4 - quarter - flat - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - flat - - - - E - -1 - 4 - - 4 - quarter - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - - - - A - -1 - - dominant - - - - A - -1 - 3 - - 4 - quarter - flat - - - - - G - -1 - 4 - - 4 - quarter - flat - - - - - C - 5 - - 4 - quarter - - - - A - -1 - 3 - - 4 - quarter - - - - - G - -1 - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - - - D - -1 - - major-seventh - - - - D - -1 - 4 - - 4 - quarter - flat - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - - major-sixth - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - diff --git a/data/practice/chord/002_three_note_comping_derived_from_shells/019-ii-v-i-progressions-part-a.xml b/data/practice/chord/002_three_note_comping_derived_from_shells/019-ii-v-i-progressions-part-a.xml deleted file mode 100644 index 30d6ca8..0000000 --- a/data/practice/chord/002_three_note_comping_derived_from_shells/019-ii-v-i-progressions-part-a.xml +++ /dev/null @@ -1,543 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-16 - - - - - Vocal - - - - - - 4 - - 0 - major - - - - G - 2 - - - - - G - - dominant - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - C - - dominant - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - - E - 5 - - 4 - quarter - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - - E - 5 - - 4 - quarter - - - - - - F - - dominant - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - flat - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - - - - B - -1 - - dominant - - - - B - -1 - 3 - - 4 - quarter - flat - - - - - A - -1 - 4 - - 4 - quarter - flat - - - - - D - 5 - - 4 - quarter - - - - B - -1 - 3 - - 4 - quarter - - - - - A - -1 - 4 - - 4 - quarter - - - - - D - 5 - - 4 - quarter - - - - - - E - -1 - - dominant - - - - E - -1 - 4 - - 4 - quarter - flat - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - flat - - - - E - -1 - 4 - - 4 - quarter - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - - - - A - -1 - - dominant - - - - A - -1 - 3 - - 4 - quarter - flat - - - - - G - -1 - 4 - - 4 - quarter - flat - - - - - C - 5 - - 4 - quarter - - - - A - -1 - 3 - - 4 - quarter - - - - - G - -1 - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - - - D - -1 - - major-seventh - - - - D - -1 - 4 - - 4 - quarter - flat - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - - major-sixth - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - diff --git a/data/practice/chord/002_three_note_comping_derived_from_shells/020-ii-v-i-progressions-part-a.xml b/data/practice/chord/002_three_note_comping_derived_from_shells/020-ii-v-i-progressions-part-a.xml deleted file mode 100644 index 30d6ca8..0000000 --- a/data/practice/chord/002_three_note_comping_derived_from_shells/020-ii-v-i-progressions-part-a.xml +++ /dev/null @@ -1,543 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-16 - - - - - Vocal - - - - - - 4 - - 0 - major - - - - G - 2 - - - - - G - - dominant - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - C - - dominant - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - - E - 5 - - 4 - quarter - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - - E - 5 - - 4 - quarter - - - - - - F - - dominant - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - flat - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - - - - B - -1 - - dominant - - - - B - -1 - 3 - - 4 - quarter - flat - - - - - A - -1 - 4 - - 4 - quarter - flat - - - - - D - 5 - - 4 - quarter - - - - B - -1 - 3 - - 4 - quarter - - - - - A - -1 - 4 - - 4 - quarter - - - - - D - 5 - - 4 - quarter - - - - - - E - -1 - - dominant - - - - E - -1 - 4 - - 4 - quarter - flat - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - flat - - - - E - -1 - 4 - - 4 - quarter - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - - - - A - -1 - - dominant - - - - A - -1 - 3 - - 4 - quarter - flat - - - - - G - -1 - 4 - - 4 - quarter - flat - - - - - C - 5 - - 4 - quarter - - - - A - -1 - 3 - - 4 - quarter - - - - - G - -1 - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - - - D - -1 - - major-seventh - - - - D - -1 - 4 - - 4 - quarter - flat - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - - major-sixth - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - diff --git a/data/practice/chord/002_three_note_comping_derived_from_shells/021-ii-v-i-progressions-part-a.xml b/data/practice/chord/002_three_note_comping_derived_from_shells/021-ii-v-i-progressions-part-a.xml deleted file mode 100644 index 30d6ca8..0000000 --- a/data/practice/chord/002_three_note_comping_derived_from_shells/021-ii-v-i-progressions-part-a.xml +++ /dev/null @@ -1,543 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-16 - - - - - Vocal - - - - - - 4 - - 0 - major - - - - G - 2 - - - - - G - - dominant - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - C - - dominant - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - - E - 5 - - 4 - quarter - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - - E - 5 - - 4 - quarter - - - - - - F - - dominant - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - flat - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - - - - B - -1 - - dominant - - - - B - -1 - 3 - - 4 - quarter - flat - - - - - A - -1 - 4 - - 4 - quarter - flat - - - - - D - 5 - - 4 - quarter - - - - B - -1 - 3 - - 4 - quarter - - - - - A - -1 - 4 - - 4 - quarter - - - - - D - 5 - - 4 - quarter - - - - - - E - -1 - - dominant - - - - E - -1 - 4 - - 4 - quarter - flat - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - flat - - - - E - -1 - 4 - - 4 - quarter - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - - - - A - -1 - - dominant - - - - A - -1 - 3 - - 4 - quarter - flat - - - - - G - -1 - 4 - - 4 - quarter - flat - - - - - C - 5 - - 4 - quarter - - - - A - -1 - 3 - - 4 - quarter - - - - - G - -1 - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - - - D - -1 - - major-seventh - - - - D - -1 - 4 - - 4 - quarter - flat - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - - major-sixth - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - diff --git a/data/practice/chord/002_three_note_comping_derived_from_shells/022-ii-v-i-progressions-part-a.xml b/data/practice/chord/002_three_note_comping_derived_from_shells/022-ii-v-i-progressions-part-a.xml deleted file mode 100644 index 30d6ca8..0000000 --- a/data/practice/chord/002_three_note_comping_derived_from_shells/022-ii-v-i-progressions-part-a.xml +++ /dev/null @@ -1,543 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-16 - - - - - Vocal - - - - - - 4 - - 0 - major - - - - G - 2 - - - - - G - - dominant - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - C - - dominant - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - - E - 5 - - 4 - quarter - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - - E - 5 - - 4 - quarter - - - - - - F - - dominant - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - flat - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - - - - B - -1 - - dominant - - - - B - -1 - 3 - - 4 - quarter - flat - - - - - A - -1 - 4 - - 4 - quarter - flat - - - - - D - 5 - - 4 - quarter - - - - B - -1 - 3 - - 4 - quarter - - - - - A - -1 - 4 - - 4 - quarter - - - - - D - 5 - - 4 - quarter - - - - - - E - -1 - - dominant - - - - E - -1 - 4 - - 4 - quarter - flat - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - flat - - - - E - -1 - 4 - - 4 - quarter - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - - - - A - -1 - - dominant - - - - A - -1 - 3 - - 4 - quarter - flat - - - - - G - -1 - 4 - - 4 - quarter - flat - - - - - C - 5 - - 4 - quarter - - - - A - -1 - 3 - - 4 - quarter - - - - - G - -1 - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - - - D - -1 - - major-seventh - - - - D - -1 - 4 - - 4 - quarter - flat - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - - major-sixth - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - diff --git a/data/practice/chord/002_three_note_comping_derived_from_shells/023-ii-v-i-progressions-part-a.xml b/data/practice/chord/002_three_note_comping_derived_from_shells/023-ii-v-i-progressions-part-a.xml deleted file mode 100644 index 30d6ca8..0000000 --- a/data/practice/chord/002_three_note_comping_derived_from_shells/023-ii-v-i-progressions-part-a.xml +++ /dev/null @@ -1,543 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-16 - - - - - Vocal - - - - - - 4 - - 0 - major - - - - G - 2 - - - - - G - - dominant - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - C - - dominant - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - - E - 5 - - 4 - quarter - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - - E - 5 - - 4 - quarter - - - - - - F - - dominant - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - flat - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - - - - B - -1 - - dominant - - - - B - -1 - 3 - - 4 - quarter - flat - - - - - A - -1 - 4 - - 4 - quarter - flat - - - - - D - 5 - - 4 - quarter - - - - B - -1 - 3 - - 4 - quarter - - - - - A - -1 - 4 - - 4 - quarter - - - - - D - 5 - - 4 - quarter - - - - - - E - -1 - - dominant - - - - E - -1 - 4 - - 4 - quarter - flat - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - flat - - - - E - -1 - 4 - - 4 - quarter - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - - - - A - -1 - - dominant - - - - A - -1 - 3 - - 4 - quarter - flat - - - - - G - -1 - 4 - - 4 - quarter - flat - - - - - C - 5 - - 4 - quarter - - - - A - -1 - 3 - - 4 - quarter - - - - - G - -1 - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - - - D - -1 - - major-seventh - - - - D - -1 - 4 - - 4 - quarter - flat - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - - major-sixth - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - diff --git a/data/practice/chord/002_three_note_comping_derived_from_shells/024-ii-v-i-progressions-part-a.xml b/data/practice/chord/002_three_note_comping_derived_from_shells/024-ii-v-i-progressions-part-a.xml deleted file mode 100644 index 30d6ca8..0000000 --- a/data/practice/chord/002_three_note_comping_derived_from_shells/024-ii-v-i-progressions-part-a.xml +++ /dev/null @@ -1,543 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-16 - - - - - Vocal - - - - - - 4 - - 0 - major - - - - G - 2 - - - - - G - - dominant - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - C - - dominant - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - - E - 5 - - 4 - quarter - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - - E - 5 - - 4 - quarter - - - - - - F - - dominant - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - flat - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - - - - B - -1 - - dominant - - - - B - -1 - 3 - - 4 - quarter - flat - - - - - A - -1 - 4 - - 4 - quarter - flat - - - - - D - 5 - - 4 - quarter - - - - B - -1 - 3 - - 4 - quarter - - - - - A - -1 - 4 - - 4 - quarter - - - - - D - 5 - - 4 - quarter - - - - - - E - -1 - - dominant - - - - E - -1 - 4 - - 4 - quarter - flat - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - flat - - - - E - -1 - 4 - - 4 - quarter - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - - - - A - -1 - - dominant - - - - A - -1 - 3 - - 4 - quarter - flat - - - - - G - -1 - 4 - - 4 - quarter - flat - - - - - C - 5 - - 4 - quarter - - - - A - -1 - 3 - - 4 - quarter - - - - - G - -1 - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - - - D - -1 - - major-seventh - - - - D - -1 - 4 - - 4 - quarter - flat - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - - major-sixth - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - diff --git a/data/practice/chord/002_three_note_comping_derived_from_shells/025-ii-v-i-progressions-part-a.xml b/data/practice/chord/002_three_note_comping_derived_from_shells/025-ii-v-i-progressions-part-a.xml deleted file mode 100644 index 30d6ca8..0000000 --- a/data/practice/chord/002_three_note_comping_derived_from_shells/025-ii-v-i-progressions-part-a.xml +++ /dev/null @@ -1,543 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-16 - - - - - Vocal - - - - - - 4 - - 0 - major - - - - G - 2 - - - - - G - - dominant - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - C - - dominant - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - - E - 5 - - 4 - quarter - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - - E - 5 - - 4 - quarter - - - - - - F - - dominant - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - flat - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - - - - B - -1 - - dominant - - - - B - -1 - 3 - - 4 - quarter - flat - - - - - A - -1 - 4 - - 4 - quarter - flat - - - - - D - 5 - - 4 - quarter - - - - B - -1 - 3 - - 4 - quarter - - - - - A - -1 - 4 - - 4 - quarter - - - - - D - 5 - - 4 - quarter - - - - - - E - -1 - - dominant - - - - E - -1 - 4 - - 4 - quarter - flat - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - flat - - - - E - -1 - 4 - - 4 - quarter - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - - - - A - -1 - - dominant - - - - A - -1 - 3 - - 4 - quarter - flat - - - - - G - -1 - 4 - - 4 - quarter - flat - - - - - C - 5 - - 4 - quarter - - - - A - -1 - 3 - - 4 - quarter - - - - - G - -1 - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - - - D - -1 - - major-seventh - - - - D - -1 - 4 - - 4 - quarter - flat - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - - major-sixth - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - diff --git a/data/practice/chord/002_three_note_comping_derived_from_shells/026-ii-v-i-progressions-part-a.xml b/data/practice/chord/002_three_note_comping_derived_from_shells/026-ii-v-i-progressions-part-a.xml deleted file mode 100644 index 30d6ca8..0000000 --- a/data/practice/chord/002_three_note_comping_derived_from_shells/026-ii-v-i-progressions-part-a.xml +++ /dev/null @@ -1,543 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-16 - - - - - Vocal - - - - - - 4 - - 0 - major - - - - G - 2 - - - - - G - - dominant - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - C - - dominant - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - - E - 5 - - 4 - quarter - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - - E - 5 - - 4 - quarter - - - - - - F - - dominant - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - flat - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - - - - B - -1 - - dominant - - - - B - -1 - 3 - - 4 - quarter - flat - - - - - A - -1 - 4 - - 4 - quarter - flat - - - - - D - 5 - - 4 - quarter - - - - B - -1 - 3 - - 4 - quarter - - - - - A - -1 - 4 - - 4 - quarter - - - - - D - 5 - - 4 - quarter - - - - - - E - -1 - - dominant - - - - E - -1 - 4 - - 4 - quarter - flat - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - flat - - - - E - -1 - 4 - - 4 - quarter - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - - - - A - -1 - - dominant - - - - A - -1 - 3 - - 4 - quarter - flat - - - - - G - -1 - 4 - - 4 - quarter - flat - - - - - C - 5 - - 4 - quarter - - - - A - -1 - 3 - - 4 - quarter - - - - - G - -1 - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - - - D - -1 - - major-seventh - - - - D - -1 - 4 - - 4 - quarter - flat - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - - major-sixth - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - diff --git a/data/practice/chord/002_three_note_comping_derived_from_shells/027-ii-v-i-progressions-part-a.xml b/data/practice/chord/002_three_note_comping_derived_from_shells/027-ii-v-i-progressions-part-a.xml deleted file mode 100644 index 30d6ca8..0000000 --- a/data/practice/chord/002_three_note_comping_derived_from_shells/027-ii-v-i-progressions-part-a.xml +++ /dev/null @@ -1,543 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-16 - - - - - Vocal - - - - - - 4 - - 0 - major - - - - G - 2 - - - - - G - - dominant - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - C - - dominant - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - - E - 5 - - 4 - quarter - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - - E - 5 - - 4 - quarter - - - - - - F - - dominant - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - flat - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - - - - B - -1 - - dominant - - - - B - -1 - 3 - - 4 - quarter - flat - - - - - A - -1 - 4 - - 4 - quarter - flat - - - - - D - 5 - - 4 - quarter - - - - B - -1 - 3 - - 4 - quarter - - - - - A - -1 - 4 - - 4 - quarter - - - - - D - 5 - - 4 - quarter - - - - - - E - -1 - - dominant - - - - E - -1 - 4 - - 4 - quarter - flat - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - flat - - - - E - -1 - 4 - - 4 - quarter - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - - - - A - -1 - - dominant - - - - A - -1 - 3 - - 4 - quarter - flat - - - - - G - -1 - 4 - - 4 - quarter - flat - - - - - C - 5 - - 4 - quarter - - - - A - -1 - 3 - - 4 - quarter - - - - - G - -1 - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - - - D - -1 - - major-seventh - - - - D - -1 - 4 - - 4 - quarter - flat - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - - major-sixth - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - diff --git a/data/practice/chord/002_three_note_comping_derived_from_shells/028-ii-v-i-progressions-part-a.xml b/data/practice/chord/002_three_note_comping_derived_from_shells/028-ii-v-i-progressions-part-a.xml deleted file mode 100644 index 30d6ca8..0000000 --- a/data/practice/chord/002_three_note_comping_derived_from_shells/028-ii-v-i-progressions-part-a.xml +++ /dev/null @@ -1,543 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-16 - - - - - Vocal - - - - - - 4 - - 0 - major - - - - G - 2 - - - - - G - - dominant - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - C - - dominant - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - - E - 5 - - 4 - quarter - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - - E - 5 - - 4 - quarter - - - - - - F - - dominant - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - flat - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - - - - B - -1 - - dominant - - - - B - -1 - 3 - - 4 - quarter - flat - - - - - A - -1 - 4 - - 4 - quarter - flat - - - - - D - 5 - - 4 - quarter - - - - B - -1 - 3 - - 4 - quarter - - - - - A - -1 - 4 - - 4 - quarter - - - - - D - 5 - - 4 - quarter - - - - - - E - -1 - - dominant - - - - E - -1 - 4 - - 4 - quarter - flat - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - flat - - - - E - -1 - 4 - - 4 - quarter - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - - - - A - -1 - - dominant - - - - A - -1 - 3 - - 4 - quarter - flat - - - - - G - -1 - 4 - - 4 - quarter - flat - - - - - C - 5 - - 4 - quarter - - - - A - -1 - 3 - - 4 - quarter - - - - - G - -1 - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - - - D - -1 - - major-seventh - - - - D - -1 - 4 - - 4 - quarter - flat - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - - major-sixth - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - diff --git a/data/practice/chord/002_three_note_comping_derived_from_shells/029-ii-v-i-progressions-part-a.xml b/data/practice/chord/002_three_note_comping_derived_from_shells/029-ii-v-i-progressions-part-a.xml deleted file mode 100644 index 30d6ca8..0000000 --- a/data/practice/chord/002_three_note_comping_derived_from_shells/029-ii-v-i-progressions-part-a.xml +++ /dev/null @@ -1,543 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-16 - - - - - Vocal - - - - - - 4 - - 0 - major - - - - G - 2 - - - - - G - - dominant - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - C - - dominant - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - - E - 5 - - 4 - quarter - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - - E - 5 - - 4 - quarter - - - - - - F - - dominant - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - flat - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - - - - B - -1 - - dominant - - - - B - -1 - 3 - - 4 - quarter - flat - - - - - A - -1 - 4 - - 4 - quarter - flat - - - - - D - 5 - - 4 - quarter - - - - B - -1 - 3 - - 4 - quarter - - - - - A - -1 - 4 - - 4 - quarter - - - - - D - 5 - - 4 - quarter - - - - - - E - -1 - - dominant - - - - E - -1 - 4 - - 4 - quarter - flat - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - flat - - - - E - -1 - 4 - - 4 - quarter - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - - - - A - -1 - - dominant - - - - A - -1 - 3 - - 4 - quarter - flat - - - - - G - -1 - 4 - - 4 - quarter - flat - - - - - C - 5 - - 4 - quarter - - - - A - -1 - 3 - - 4 - quarter - - - - - G - -1 - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - - - D - -1 - - major-seventh - - - - D - -1 - 4 - - 4 - quarter - flat - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - - major-sixth - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - diff --git a/data/practice/chord/002_three_note_comping_derived_from_shells/030-ii-v-i-progressions-part-a.xml b/data/practice/chord/002_three_note_comping_derived_from_shells/030-ii-v-i-progressions-part-a.xml deleted file mode 100644 index 30d6ca8..0000000 --- a/data/practice/chord/002_three_note_comping_derived_from_shells/030-ii-v-i-progressions-part-a.xml +++ /dev/null @@ -1,543 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-16 - - - - - Vocal - - - - - - 4 - - 0 - major - - - - G - 2 - - - - - G - - dominant - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - C - - dominant - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - - E - 5 - - 4 - quarter - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - - E - 5 - - 4 - quarter - - - - - - F - - dominant - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - flat - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - - - - B - -1 - - dominant - - - - B - -1 - 3 - - 4 - quarter - flat - - - - - A - -1 - 4 - - 4 - quarter - flat - - - - - D - 5 - - 4 - quarter - - - - B - -1 - 3 - - 4 - quarter - - - - - A - -1 - 4 - - 4 - quarter - - - - - D - 5 - - 4 - quarter - - - - - - E - -1 - - dominant - - - - E - -1 - 4 - - 4 - quarter - flat - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - flat - - - - E - -1 - 4 - - 4 - quarter - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - - - - A - -1 - - dominant - - - - A - -1 - 3 - - 4 - quarter - flat - - - - - G - -1 - 4 - - 4 - quarter - flat - - - - - C - 5 - - 4 - quarter - - - - A - -1 - 3 - - 4 - quarter - - - - - G - -1 - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - - - D - -1 - - major-seventh - - - - D - -1 - 4 - - 4 - quarter - flat - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - - major-sixth - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - diff --git a/data/practice/chord/002_three_note_comping_derived_from_shells/031-ii-v-i-progressions-part-a.xml b/data/practice/chord/002_three_note_comping_derived_from_shells/031-ii-v-i-progressions-part-a.xml deleted file mode 100644 index 30d6ca8..0000000 --- a/data/practice/chord/002_three_note_comping_derived_from_shells/031-ii-v-i-progressions-part-a.xml +++ /dev/null @@ -1,543 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-16 - - - - - Vocal - - - - - - 4 - - 0 - major - - - - G - 2 - - - - - G - - dominant - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - C - - dominant - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - - E - 5 - - 4 - quarter - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - - E - 5 - - 4 - quarter - - - - - - F - - dominant - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - flat - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - - - - B - -1 - - dominant - - - - B - -1 - 3 - - 4 - quarter - flat - - - - - A - -1 - 4 - - 4 - quarter - flat - - - - - D - 5 - - 4 - quarter - - - - B - -1 - 3 - - 4 - quarter - - - - - A - -1 - 4 - - 4 - quarter - - - - - D - 5 - - 4 - quarter - - - - - - E - -1 - - dominant - - - - E - -1 - 4 - - 4 - quarter - flat - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - flat - - - - E - -1 - 4 - - 4 - quarter - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - - - - A - -1 - - dominant - - - - A - -1 - 3 - - 4 - quarter - flat - - - - - G - -1 - 4 - - 4 - quarter - flat - - - - - C - 5 - - 4 - quarter - - - - A - -1 - 3 - - 4 - quarter - - - - - G - -1 - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - - - D - -1 - - major-seventh - - - - D - -1 - 4 - - 4 - quarter - flat - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - - major-sixth - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - diff --git a/data/practice/chord/002_three_note_comping_derived_from_shells/032-ii-v-i-progressions-part-a.xml b/data/practice/chord/002_three_note_comping_derived_from_shells/032-ii-v-i-progressions-part-a.xml deleted file mode 100644 index 30d6ca8..0000000 --- a/data/practice/chord/002_three_note_comping_derived_from_shells/032-ii-v-i-progressions-part-a.xml +++ /dev/null @@ -1,543 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-16 - - - - - Vocal - - - - - - 4 - - 0 - major - - - - G - 2 - - - - - G - - dominant - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - C - - dominant - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - - E - 5 - - 4 - quarter - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - - E - 5 - - 4 - quarter - - - - - - F - - dominant - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - flat - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - - - - B - -1 - - dominant - - - - B - -1 - 3 - - 4 - quarter - flat - - - - - A - -1 - 4 - - 4 - quarter - flat - - - - - D - 5 - - 4 - quarter - - - - B - -1 - 3 - - 4 - quarter - - - - - A - -1 - 4 - - 4 - quarter - - - - - D - 5 - - 4 - quarter - - - - - - E - -1 - - dominant - - - - E - -1 - 4 - - 4 - quarter - flat - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - flat - - - - E - -1 - 4 - - 4 - quarter - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - - - - A - -1 - - dominant - - - - A - -1 - 3 - - 4 - quarter - flat - - - - - G - -1 - 4 - - 4 - quarter - flat - - - - - C - 5 - - 4 - quarter - - - - A - -1 - 3 - - 4 - quarter - - - - - G - -1 - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - - - D - -1 - - major-seventh - - - - D - -1 - 4 - - 4 - quarter - flat - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - - major-sixth - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - diff --git a/data/practice/chord/002_three_note_comping_derived_from_shells/033-ii-v-i-progressions-part-a.xml b/data/practice/chord/002_three_note_comping_derived_from_shells/033-ii-v-i-progressions-part-a.xml deleted file mode 100644 index 30d6ca8..0000000 --- a/data/practice/chord/002_three_note_comping_derived_from_shells/033-ii-v-i-progressions-part-a.xml +++ /dev/null @@ -1,543 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-16 - - - - - Vocal - - - - - - 4 - - 0 - major - - - - G - 2 - - - - - G - - dominant - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - C - - dominant - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - - E - 5 - - 4 - quarter - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - - E - 5 - - 4 - quarter - - - - - - F - - dominant - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - flat - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - - - - B - -1 - - dominant - - - - B - -1 - 3 - - 4 - quarter - flat - - - - - A - -1 - 4 - - 4 - quarter - flat - - - - - D - 5 - - 4 - quarter - - - - B - -1 - 3 - - 4 - quarter - - - - - A - -1 - 4 - - 4 - quarter - - - - - D - 5 - - 4 - quarter - - - - - - E - -1 - - dominant - - - - E - -1 - 4 - - 4 - quarter - flat - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - flat - - - - E - -1 - 4 - - 4 - quarter - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - - - - A - -1 - - dominant - - - - A - -1 - 3 - - 4 - quarter - flat - - - - - G - -1 - 4 - - 4 - quarter - flat - - - - - C - 5 - - 4 - quarter - - - - A - -1 - 3 - - 4 - quarter - - - - - G - -1 - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - - - D - -1 - - major-seventh - - - - D - -1 - 4 - - 4 - quarter - flat - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - - major-sixth - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - diff --git a/data/practice/chord/002_three_note_comping_derived_from_shells/034-ii-v-i-progressions-part-a.xml b/data/practice/chord/002_three_note_comping_derived_from_shells/034-ii-v-i-progressions-part-a.xml deleted file mode 100644 index 30d6ca8..0000000 --- a/data/practice/chord/002_three_note_comping_derived_from_shells/034-ii-v-i-progressions-part-a.xml +++ /dev/null @@ -1,543 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-16 - - - - - Vocal - - - - - - 4 - - 0 - major - - - - G - 2 - - - - - G - - dominant - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - C - - dominant - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - - E - 5 - - 4 - quarter - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - - E - 5 - - 4 - quarter - - - - - - F - - dominant - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - flat - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - - - - B - -1 - - dominant - - - - B - -1 - 3 - - 4 - quarter - flat - - - - - A - -1 - 4 - - 4 - quarter - flat - - - - - D - 5 - - 4 - quarter - - - - B - -1 - 3 - - 4 - quarter - - - - - A - -1 - 4 - - 4 - quarter - - - - - D - 5 - - 4 - quarter - - - - - - E - -1 - - dominant - - - - E - -1 - 4 - - 4 - quarter - flat - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - flat - - - - E - -1 - 4 - - 4 - quarter - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - - - - A - -1 - - dominant - - - - A - -1 - 3 - - 4 - quarter - flat - - - - - G - -1 - 4 - - 4 - quarter - flat - - - - - C - 5 - - 4 - quarter - - - - A - -1 - 3 - - 4 - quarter - - - - - G - -1 - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - - - D - -1 - - major-seventh - - - - D - -1 - 4 - - 4 - quarter - flat - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - - major-sixth - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - diff --git a/data/practice/chord/002_three_note_comping_derived_from_shells/035-ii-v-i-progressions-part-b.xml b/data/practice/chord/002_three_note_comping_derived_from_shells/035-ii-v-i-progressions-part-b.xml deleted file mode 100644 index 30d6ca8..0000000 --- a/data/practice/chord/002_three_note_comping_derived_from_shells/035-ii-v-i-progressions-part-b.xml +++ /dev/null @@ -1,543 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-16 - - - - - Vocal - - - - - - 4 - - 0 - major - - - - G - 2 - - - - - G - - dominant - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - C - - dominant - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - - E - 5 - - 4 - quarter - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - - E - 5 - - 4 - quarter - - - - - - F - - dominant - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - flat - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - - - - B - -1 - - dominant - - - - B - -1 - 3 - - 4 - quarter - flat - - - - - A - -1 - 4 - - 4 - quarter - flat - - - - - D - 5 - - 4 - quarter - - - - B - -1 - 3 - - 4 - quarter - - - - - A - -1 - 4 - - 4 - quarter - - - - - D - 5 - - 4 - quarter - - - - - - E - -1 - - dominant - - - - E - -1 - 4 - - 4 - quarter - flat - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - flat - - - - E - -1 - 4 - - 4 - quarter - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - - - - A - -1 - - dominant - - - - A - -1 - 3 - - 4 - quarter - flat - - - - - G - -1 - 4 - - 4 - quarter - flat - - - - - C - 5 - - 4 - quarter - - - - A - -1 - 3 - - 4 - quarter - - - - - G - -1 - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - - - D - -1 - - major-seventh - - - - D - -1 - 4 - - 4 - quarter - flat - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - - major-sixth - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - diff --git a/data/practice/chord/002_three_note_comping_derived_from_shells/036-ii-v-i-progressions-part-b.xml b/data/practice/chord/002_three_note_comping_derived_from_shells/036-ii-v-i-progressions-part-b.xml deleted file mode 100644 index 30d6ca8..0000000 --- a/data/practice/chord/002_three_note_comping_derived_from_shells/036-ii-v-i-progressions-part-b.xml +++ /dev/null @@ -1,543 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-16 - - - - - Vocal - - - - - - 4 - - 0 - major - - - - G - 2 - - - - - G - - dominant - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - C - - dominant - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - - E - 5 - - 4 - quarter - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - - E - 5 - - 4 - quarter - - - - - - F - - dominant - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - flat - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - - - - B - -1 - - dominant - - - - B - -1 - 3 - - 4 - quarter - flat - - - - - A - -1 - 4 - - 4 - quarter - flat - - - - - D - 5 - - 4 - quarter - - - - B - -1 - 3 - - 4 - quarter - - - - - A - -1 - 4 - - 4 - quarter - - - - - D - 5 - - 4 - quarter - - - - - - E - -1 - - dominant - - - - E - -1 - 4 - - 4 - quarter - flat - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - flat - - - - E - -1 - 4 - - 4 - quarter - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - - - - A - -1 - - dominant - - - - A - -1 - 3 - - 4 - quarter - flat - - - - - G - -1 - 4 - - 4 - quarter - flat - - - - - C - 5 - - 4 - quarter - - - - A - -1 - 3 - - 4 - quarter - - - - - G - -1 - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - - - D - -1 - - major-seventh - - - - D - -1 - 4 - - 4 - quarter - flat - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - - major-sixth - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - diff --git a/data/practice/chord/002_three_note_comping_derived_from_shells/037-ii-v-i-progressions-part-b.xml b/data/practice/chord/002_three_note_comping_derived_from_shells/037-ii-v-i-progressions-part-b.xml deleted file mode 100644 index 30d6ca8..0000000 --- a/data/practice/chord/002_three_note_comping_derived_from_shells/037-ii-v-i-progressions-part-b.xml +++ /dev/null @@ -1,543 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-16 - - - - - Vocal - - - - - - 4 - - 0 - major - - - - G - 2 - - - - - G - - dominant - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - C - - dominant - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - - E - 5 - - 4 - quarter - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - - E - 5 - - 4 - quarter - - - - - - F - - dominant - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - flat - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - - - - B - -1 - - dominant - - - - B - -1 - 3 - - 4 - quarter - flat - - - - - A - -1 - 4 - - 4 - quarter - flat - - - - - D - 5 - - 4 - quarter - - - - B - -1 - 3 - - 4 - quarter - - - - - A - -1 - 4 - - 4 - quarter - - - - - D - 5 - - 4 - quarter - - - - - - E - -1 - - dominant - - - - E - -1 - 4 - - 4 - quarter - flat - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - flat - - - - E - -1 - 4 - - 4 - quarter - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - - - - A - -1 - - dominant - - - - A - -1 - 3 - - 4 - quarter - flat - - - - - G - -1 - 4 - - 4 - quarter - flat - - - - - C - 5 - - 4 - quarter - - - - A - -1 - 3 - - 4 - quarter - - - - - G - -1 - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - - - D - -1 - - major-seventh - - - - D - -1 - 4 - - 4 - quarter - flat - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - - major-sixth - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - diff --git a/data/practice/chord/002_three_note_comping_derived_from_shells/038-ii-v-i-progressions-part-b.xml b/data/practice/chord/002_three_note_comping_derived_from_shells/038-ii-v-i-progressions-part-b.xml deleted file mode 100644 index 30d6ca8..0000000 --- a/data/practice/chord/002_three_note_comping_derived_from_shells/038-ii-v-i-progressions-part-b.xml +++ /dev/null @@ -1,543 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-16 - - - - - Vocal - - - - - - 4 - - 0 - major - - - - G - 2 - - - - - G - - dominant - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - C - - dominant - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - - E - 5 - - 4 - quarter - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - - E - 5 - - 4 - quarter - - - - - - F - - dominant - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - flat - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - - - - B - -1 - - dominant - - - - B - -1 - 3 - - 4 - quarter - flat - - - - - A - -1 - 4 - - 4 - quarter - flat - - - - - D - 5 - - 4 - quarter - - - - B - -1 - 3 - - 4 - quarter - - - - - A - -1 - 4 - - 4 - quarter - - - - - D - 5 - - 4 - quarter - - - - - - E - -1 - - dominant - - - - E - -1 - 4 - - 4 - quarter - flat - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - flat - - - - E - -1 - 4 - - 4 - quarter - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - - - - A - -1 - - dominant - - - - A - -1 - 3 - - 4 - quarter - flat - - - - - G - -1 - 4 - - 4 - quarter - flat - - - - - C - 5 - - 4 - quarter - - - - A - -1 - 3 - - 4 - quarter - - - - - G - -1 - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - - - D - -1 - - major-seventh - - - - D - -1 - 4 - - 4 - quarter - flat - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - - major-sixth - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - diff --git a/data/practice/chord/002_three_note_comping_derived_from_shells/039-ii-v-i-progressions-part-b.xml b/data/practice/chord/002_three_note_comping_derived_from_shells/039-ii-v-i-progressions-part-b.xml deleted file mode 100644 index 30d6ca8..0000000 --- a/data/practice/chord/002_three_note_comping_derived_from_shells/039-ii-v-i-progressions-part-b.xml +++ /dev/null @@ -1,543 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-16 - - - - - Vocal - - - - - - 4 - - 0 - major - - - - G - 2 - - - - - G - - dominant - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - C - - dominant - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - - E - 5 - - 4 - quarter - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - - E - 5 - - 4 - quarter - - - - - - F - - dominant - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - flat - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - - - - B - -1 - - dominant - - - - B - -1 - 3 - - 4 - quarter - flat - - - - - A - -1 - 4 - - 4 - quarter - flat - - - - - D - 5 - - 4 - quarter - - - - B - -1 - 3 - - 4 - quarter - - - - - A - -1 - 4 - - 4 - quarter - - - - - D - 5 - - 4 - quarter - - - - - - E - -1 - - dominant - - - - E - -1 - 4 - - 4 - quarter - flat - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - flat - - - - E - -1 - 4 - - 4 - quarter - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - - - - A - -1 - - dominant - - - - A - -1 - 3 - - 4 - quarter - flat - - - - - G - -1 - 4 - - 4 - quarter - flat - - - - - C - 5 - - 4 - quarter - - - - A - -1 - 3 - - 4 - quarter - - - - - G - -1 - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - - - D - -1 - - major-seventh - - - - D - -1 - 4 - - 4 - quarter - flat - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - - major-sixth - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - diff --git a/data/practice/chord/002_three_note_comping_derived_from_shells/040-ii-v-i-progressions-part-b.xml b/data/practice/chord/002_three_note_comping_derived_from_shells/040-ii-v-i-progressions-part-b.xml deleted file mode 100644 index 30d6ca8..0000000 --- a/data/practice/chord/002_three_note_comping_derived_from_shells/040-ii-v-i-progressions-part-b.xml +++ /dev/null @@ -1,543 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-16 - - - - - Vocal - - - - - - 4 - - 0 - major - - - - G - 2 - - - - - G - - dominant - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - C - - dominant - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - - E - 5 - - 4 - quarter - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - - E - 5 - - 4 - quarter - - - - - - F - - dominant - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - flat - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - - - - B - -1 - - dominant - - - - B - -1 - 3 - - 4 - quarter - flat - - - - - A - -1 - 4 - - 4 - quarter - flat - - - - - D - 5 - - 4 - quarter - - - - B - -1 - 3 - - 4 - quarter - - - - - A - -1 - 4 - - 4 - quarter - - - - - D - 5 - - 4 - quarter - - - - - - E - -1 - - dominant - - - - E - -1 - 4 - - 4 - quarter - flat - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - flat - - - - E - -1 - 4 - - 4 - quarter - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - - - - A - -1 - - dominant - - - - A - -1 - 3 - - 4 - quarter - flat - - - - - G - -1 - 4 - - 4 - quarter - flat - - - - - C - 5 - - 4 - quarter - - - - A - -1 - 3 - - 4 - quarter - - - - - G - -1 - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - - - D - -1 - - major-seventh - - - - D - -1 - 4 - - 4 - quarter - flat - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - - major-sixth - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - diff --git a/data/practice/chord/002_three_note_comping_derived_from_shells/041-ii-v-i-progressions-part-b.xml b/data/practice/chord/002_three_note_comping_derived_from_shells/041-ii-v-i-progressions-part-b.xml deleted file mode 100644 index 30d6ca8..0000000 --- a/data/practice/chord/002_three_note_comping_derived_from_shells/041-ii-v-i-progressions-part-b.xml +++ /dev/null @@ -1,543 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-16 - - - - - Vocal - - - - - - 4 - - 0 - major - - - - G - 2 - - - - - G - - dominant - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - C - - dominant - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - - E - 5 - - 4 - quarter - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - - E - 5 - - 4 - quarter - - - - - - F - - dominant - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - flat - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - - - - B - -1 - - dominant - - - - B - -1 - 3 - - 4 - quarter - flat - - - - - A - -1 - 4 - - 4 - quarter - flat - - - - - D - 5 - - 4 - quarter - - - - B - -1 - 3 - - 4 - quarter - - - - - A - -1 - 4 - - 4 - quarter - - - - - D - 5 - - 4 - quarter - - - - - - E - -1 - - dominant - - - - E - -1 - 4 - - 4 - quarter - flat - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - flat - - - - E - -1 - 4 - - 4 - quarter - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - - - - A - -1 - - dominant - - - - A - -1 - 3 - - 4 - quarter - flat - - - - - G - -1 - 4 - - 4 - quarter - flat - - - - - C - 5 - - 4 - quarter - - - - A - -1 - 3 - - 4 - quarter - - - - - G - -1 - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - - - D - -1 - - major-seventh - - - - D - -1 - 4 - - 4 - quarter - flat - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - - major-sixth - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - diff --git a/data/practice/chord/002_three_note_comping_derived_from_shells/042-ii-v-i-progressions-part-b.xml b/data/practice/chord/002_three_note_comping_derived_from_shells/042-ii-v-i-progressions-part-b.xml deleted file mode 100644 index 30d6ca8..0000000 --- a/data/practice/chord/002_three_note_comping_derived_from_shells/042-ii-v-i-progressions-part-b.xml +++ /dev/null @@ -1,543 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-16 - - - - - Vocal - - - - - - 4 - - 0 - major - - - - G - 2 - - - - - G - - dominant - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - C - - dominant - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - - E - 5 - - 4 - quarter - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - - E - 5 - - 4 - quarter - - - - - - F - - dominant - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - flat - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - - - - B - -1 - - dominant - - - - B - -1 - 3 - - 4 - quarter - flat - - - - - A - -1 - 4 - - 4 - quarter - flat - - - - - D - 5 - - 4 - quarter - - - - B - -1 - 3 - - 4 - quarter - - - - - A - -1 - 4 - - 4 - quarter - - - - - D - 5 - - 4 - quarter - - - - - - E - -1 - - dominant - - - - E - -1 - 4 - - 4 - quarter - flat - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - flat - - - - E - -1 - 4 - - 4 - quarter - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - - - - A - -1 - - dominant - - - - A - -1 - 3 - - 4 - quarter - flat - - - - - G - -1 - 4 - - 4 - quarter - flat - - - - - C - 5 - - 4 - quarter - - - - A - -1 - 3 - - 4 - quarter - - - - - G - -1 - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - - - D - -1 - - major-seventh - - - - D - -1 - 4 - - 4 - quarter - flat - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - - major-sixth - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - diff --git a/data/practice/chord/002_three_note_comping_derived_from_shells/043-ii-v-i-progressions-part-b.xml b/data/practice/chord/002_three_note_comping_derived_from_shells/043-ii-v-i-progressions-part-b.xml deleted file mode 100644 index 30d6ca8..0000000 --- a/data/practice/chord/002_three_note_comping_derived_from_shells/043-ii-v-i-progressions-part-b.xml +++ /dev/null @@ -1,543 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-16 - - - - - Vocal - - - - - - 4 - - 0 - major - - - - G - 2 - - - - - G - - dominant - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - C - - dominant - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - - E - 5 - - 4 - quarter - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - - E - 5 - - 4 - quarter - - - - - - F - - dominant - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - flat - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - - - - B - -1 - - dominant - - - - B - -1 - 3 - - 4 - quarter - flat - - - - - A - -1 - 4 - - 4 - quarter - flat - - - - - D - 5 - - 4 - quarter - - - - B - -1 - 3 - - 4 - quarter - - - - - A - -1 - 4 - - 4 - quarter - - - - - D - 5 - - 4 - quarter - - - - - - E - -1 - - dominant - - - - E - -1 - 4 - - 4 - quarter - flat - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - flat - - - - E - -1 - 4 - - 4 - quarter - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - - - - A - -1 - - dominant - - - - A - -1 - 3 - - 4 - quarter - flat - - - - - G - -1 - 4 - - 4 - quarter - flat - - - - - C - 5 - - 4 - quarter - - - - A - -1 - 3 - - 4 - quarter - - - - - G - -1 - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - - - D - -1 - - major-seventh - - - - D - -1 - 4 - - 4 - quarter - flat - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - - major-sixth - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - diff --git a/data/practice/chord/002_three_note_comping_derived_from_shells/044-ii-v-i-progressions-part-b.xml b/data/practice/chord/002_three_note_comping_derived_from_shells/044-ii-v-i-progressions-part-b.xml deleted file mode 100644 index 30d6ca8..0000000 --- a/data/practice/chord/002_three_note_comping_derived_from_shells/044-ii-v-i-progressions-part-b.xml +++ /dev/null @@ -1,543 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-16 - - - - - Vocal - - - - - - 4 - - 0 - major - - - - G - 2 - - - - - G - - dominant - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - C - - dominant - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - - E - 5 - - 4 - quarter - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - - E - 5 - - 4 - quarter - - - - - - F - - dominant - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - flat - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - - - - B - -1 - - dominant - - - - B - -1 - 3 - - 4 - quarter - flat - - - - - A - -1 - 4 - - 4 - quarter - flat - - - - - D - 5 - - 4 - quarter - - - - B - -1 - 3 - - 4 - quarter - - - - - A - -1 - 4 - - 4 - quarter - - - - - D - 5 - - 4 - quarter - - - - - - E - -1 - - dominant - - - - E - -1 - 4 - - 4 - quarter - flat - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - flat - - - - E - -1 - 4 - - 4 - quarter - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - - - - A - -1 - - dominant - - - - A - -1 - 3 - - 4 - quarter - flat - - - - - G - -1 - 4 - - 4 - quarter - flat - - - - - C - 5 - - 4 - quarter - - - - A - -1 - 3 - - 4 - quarter - - - - - G - -1 - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - - - D - -1 - - major-seventh - - - - D - -1 - 4 - - 4 - quarter - flat - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - - major-sixth - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - diff --git a/data/practice/chord/002_three_note_comping_derived_from_shells/045-ii-v-i-progressions-part-b.xml b/data/practice/chord/002_three_note_comping_derived_from_shells/045-ii-v-i-progressions-part-b.xml deleted file mode 100644 index 30d6ca8..0000000 --- a/data/practice/chord/002_three_note_comping_derived_from_shells/045-ii-v-i-progressions-part-b.xml +++ /dev/null @@ -1,543 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-16 - - - - - Vocal - - - - - - 4 - - 0 - major - - - - G - 2 - - - - - G - - dominant - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - C - - dominant - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - - E - 5 - - 4 - quarter - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - - E - 5 - - 4 - quarter - - - - - - F - - dominant - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - flat - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - - - - B - -1 - - dominant - - - - B - -1 - 3 - - 4 - quarter - flat - - - - - A - -1 - 4 - - 4 - quarter - flat - - - - - D - 5 - - 4 - quarter - - - - B - -1 - 3 - - 4 - quarter - - - - - A - -1 - 4 - - 4 - quarter - - - - - D - 5 - - 4 - quarter - - - - - - E - -1 - - dominant - - - - E - -1 - 4 - - 4 - quarter - flat - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - flat - - - - E - -1 - 4 - - 4 - quarter - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - - - - A - -1 - - dominant - - - - A - -1 - 3 - - 4 - quarter - flat - - - - - G - -1 - 4 - - 4 - quarter - flat - - - - - C - 5 - - 4 - quarter - - - - A - -1 - 3 - - 4 - quarter - - - - - G - -1 - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - - - D - -1 - - major-seventh - - - - D - -1 - 4 - - 4 - quarter - flat - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - - major-sixth - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - diff --git a/data/practice/chord/002_three_note_comping_derived_from_shells/046-ii-v-i-progressions-part-b.xml b/data/practice/chord/002_three_note_comping_derived_from_shells/046-ii-v-i-progressions-part-b.xml deleted file mode 100644 index 30d6ca8..0000000 --- a/data/practice/chord/002_three_note_comping_derived_from_shells/046-ii-v-i-progressions-part-b.xml +++ /dev/null @@ -1,543 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-16 - - - - - Vocal - - - - - - 4 - - 0 - major - - - - G - 2 - - - - - G - - dominant - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - C - - dominant - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - - E - 5 - - 4 - quarter - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - - E - 5 - - 4 - quarter - - - - - - F - - dominant - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - flat - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - - - - B - -1 - - dominant - - - - B - -1 - 3 - - 4 - quarter - flat - - - - - A - -1 - 4 - - 4 - quarter - flat - - - - - D - 5 - - 4 - quarter - - - - B - -1 - 3 - - 4 - quarter - - - - - A - -1 - 4 - - 4 - quarter - - - - - D - 5 - - 4 - quarter - - - - - - E - -1 - - dominant - - - - E - -1 - 4 - - 4 - quarter - flat - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - flat - - - - E - -1 - 4 - - 4 - quarter - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - - - - A - -1 - - dominant - - - - A - -1 - 3 - - 4 - quarter - flat - - - - - G - -1 - 4 - - 4 - quarter - flat - - - - - C - 5 - - 4 - quarter - - - - A - -1 - 3 - - 4 - quarter - - - - - G - -1 - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - - - D - -1 - - major-seventh - - - - D - -1 - 4 - - 4 - quarter - flat - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - - major-sixth - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - diff --git a/data/practice/chord/002_three_note_comping_derived_from_shells/047-ii-v-i-progressions-part-b.xml b/data/practice/chord/002_three_note_comping_derived_from_shells/047-ii-v-i-progressions-part-b.xml deleted file mode 100644 index 30d6ca8..0000000 --- a/data/practice/chord/002_three_note_comping_derived_from_shells/047-ii-v-i-progressions-part-b.xml +++ /dev/null @@ -1,543 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-16 - - - - - Vocal - - - - - - 4 - - 0 - major - - - - G - 2 - - - - - G - - dominant - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - C - - dominant - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - - E - 5 - - 4 - quarter - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - - E - 5 - - 4 - quarter - - - - - - F - - dominant - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - flat - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - - - - B - -1 - - dominant - - - - B - -1 - 3 - - 4 - quarter - flat - - - - - A - -1 - 4 - - 4 - quarter - flat - - - - - D - 5 - - 4 - quarter - - - - B - -1 - 3 - - 4 - quarter - - - - - A - -1 - 4 - - 4 - quarter - - - - - D - 5 - - 4 - quarter - - - - - - E - -1 - - dominant - - - - E - -1 - 4 - - 4 - quarter - flat - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - flat - - - - E - -1 - 4 - - 4 - quarter - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - - - - A - -1 - - dominant - - - - A - -1 - 3 - - 4 - quarter - flat - - - - - G - -1 - 4 - - 4 - quarter - flat - - - - - C - 5 - - 4 - quarter - - - - A - -1 - 3 - - 4 - quarter - - - - - G - -1 - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - - - D - -1 - - major-seventh - - - - D - -1 - 4 - - 4 - quarter - flat - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - - major-sixth - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - diff --git a/data/practice/chord/002_three_note_comping_derived_from_shells/048-ii-v-i-progressions-part-b.xml b/data/practice/chord/002_three_note_comping_derived_from_shells/048-ii-v-i-progressions-part-b.xml deleted file mode 100644 index 30d6ca8..0000000 --- a/data/practice/chord/002_three_note_comping_derived_from_shells/048-ii-v-i-progressions-part-b.xml +++ /dev/null @@ -1,543 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-16 - - - - - Vocal - - - - - - 4 - - 0 - major - - - - G - 2 - - - - - G - - dominant - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - C - - dominant - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - - E - 5 - - 4 - quarter - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - - E - 5 - - 4 - quarter - - - - - - F - - dominant - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - flat - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - - - - B - -1 - - dominant - - - - B - -1 - 3 - - 4 - quarter - flat - - - - - A - -1 - 4 - - 4 - quarter - flat - - - - - D - 5 - - 4 - quarter - - - - B - -1 - 3 - - 4 - quarter - - - - - A - -1 - 4 - - 4 - quarter - - - - - D - 5 - - 4 - quarter - - - - - - E - -1 - - dominant - - - - E - -1 - 4 - - 4 - quarter - flat - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - flat - - - - E - -1 - 4 - - 4 - quarter - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - - - - A - -1 - - dominant - - - - A - -1 - 3 - - 4 - quarter - flat - - - - - G - -1 - 4 - - 4 - quarter - flat - - - - - C - 5 - - 4 - quarter - - - - A - -1 - 3 - - 4 - quarter - - - - - G - -1 - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - - - D - -1 - - major-seventh - - - - D - -1 - 4 - - 4 - quarter - flat - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - - major-sixth - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - diff --git a/data/practice/chord/002_three_note_comping_derived_from_shells/049-ii-v-i-progressions-part-b.xml b/data/practice/chord/002_three_note_comping_derived_from_shells/049-ii-v-i-progressions-part-b.xml deleted file mode 100644 index 30d6ca8..0000000 --- a/data/practice/chord/002_three_note_comping_derived_from_shells/049-ii-v-i-progressions-part-b.xml +++ /dev/null @@ -1,543 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-16 - - - - - Vocal - - - - - - 4 - - 0 - major - - - - G - 2 - - - - - G - - dominant - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - C - - dominant - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - - E - 5 - - 4 - quarter - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - - E - 5 - - 4 - quarter - - - - - - F - - dominant - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - flat - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - - - - B - -1 - - dominant - - - - B - -1 - 3 - - 4 - quarter - flat - - - - - A - -1 - 4 - - 4 - quarter - flat - - - - - D - 5 - - 4 - quarter - - - - B - -1 - 3 - - 4 - quarter - - - - - A - -1 - 4 - - 4 - quarter - - - - - D - 5 - - 4 - quarter - - - - - - E - -1 - - dominant - - - - E - -1 - 4 - - 4 - quarter - flat - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - flat - - - - E - -1 - 4 - - 4 - quarter - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - - - - A - -1 - - dominant - - - - A - -1 - 3 - - 4 - quarter - flat - - - - - G - -1 - 4 - - 4 - quarter - flat - - - - - C - 5 - - 4 - quarter - - - - A - -1 - 3 - - 4 - quarter - - - - - G - -1 - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - - - D - -1 - - major-seventh - - - - D - -1 - 4 - - 4 - quarter - flat - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - - major-sixth - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - diff --git a/data/practice/chord/002_three_note_comping_derived_from_shells/050-ii-v-i-progressions-part-b.xml b/data/practice/chord/002_three_note_comping_derived_from_shells/050-ii-v-i-progressions-part-b.xml deleted file mode 100644 index 30d6ca8..0000000 --- a/data/practice/chord/002_three_note_comping_derived_from_shells/050-ii-v-i-progressions-part-b.xml +++ /dev/null @@ -1,543 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-16 - - - - - Vocal - - - - - - 4 - - 0 - major - - - - G - 2 - - - - - G - - dominant - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - C - - dominant - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - - E - 5 - - 4 - quarter - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - - E - 5 - - 4 - quarter - - - - - - F - - dominant - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - flat - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - - - - B - -1 - - dominant - - - - B - -1 - 3 - - 4 - quarter - flat - - - - - A - -1 - 4 - - 4 - quarter - flat - - - - - D - 5 - - 4 - quarter - - - - B - -1 - 3 - - 4 - quarter - - - - - A - -1 - 4 - - 4 - quarter - - - - - D - 5 - - 4 - quarter - - - - - - E - -1 - - dominant - - - - E - -1 - 4 - - 4 - quarter - flat - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - flat - - - - E - -1 - 4 - - 4 - quarter - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - - - - A - -1 - - dominant - - - - A - -1 - 3 - - 4 - quarter - flat - - - - - G - -1 - 4 - - 4 - quarter - flat - - - - - C - 5 - - 4 - quarter - - - - A - -1 - 3 - - 4 - quarter - - - - - G - -1 - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - - - D - -1 - - major-seventh - - - - D - -1 - 4 - - 4 - quarter - flat - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - - major-sixth - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - diff --git a/data/practice/chord/002_three_note_comping_derived_from_shells/051-ii-v-i-progressions-part-b.xml b/data/practice/chord/002_three_note_comping_derived_from_shells/051-ii-v-i-progressions-part-b.xml deleted file mode 100644 index 30d6ca8..0000000 --- a/data/practice/chord/002_three_note_comping_derived_from_shells/051-ii-v-i-progressions-part-b.xml +++ /dev/null @@ -1,543 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-16 - - - - - Vocal - - - - - - 4 - - 0 - major - - - - G - 2 - - - - - G - - dominant - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - C - - dominant - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - - E - 5 - - 4 - quarter - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - - E - 5 - - 4 - quarter - - - - - - F - - dominant - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - flat - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - - - - B - -1 - - dominant - - - - B - -1 - 3 - - 4 - quarter - flat - - - - - A - -1 - 4 - - 4 - quarter - flat - - - - - D - 5 - - 4 - quarter - - - - B - -1 - 3 - - 4 - quarter - - - - - A - -1 - 4 - - 4 - quarter - - - - - D - 5 - - 4 - quarter - - - - - - E - -1 - - dominant - - - - E - -1 - 4 - - 4 - quarter - flat - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - flat - - - - E - -1 - 4 - - 4 - quarter - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - - - - A - -1 - - dominant - - - - A - -1 - 3 - - 4 - quarter - flat - - - - - G - -1 - 4 - - 4 - quarter - flat - - - - - C - 5 - - 4 - quarter - - - - A - -1 - 3 - - 4 - quarter - - - - - G - -1 - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - - - D - -1 - - major-seventh - - - - D - -1 - 4 - - 4 - quarter - flat - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - - major-sixth - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - diff --git a/data/practice/chord/002_three_note_comping_derived_from_shells/052-ii-v-i-progressions-part-b.xml b/data/practice/chord/002_three_note_comping_derived_from_shells/052-ii-v-i-progressions-part-b.xml deleted file mode 100644 index 30d6ca8..0000000 --- a/data/practice/chord/002_three_note_comping_derived_from_shells/052-ii-v-i-progressions-part-b.xml +++ /dev/null @@ -1,543 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-16 - - - - - Vocal - - - - - - 4 - - 0 - major - - - - G - 2 - - - - - G - - dominant - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - C - - dominant - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - - E - 5 - - 4 - quarter - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - - E - 5 - - 4 - quarter - - - - - - F - - dominant - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - flat - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - - - - B - -1 - - dominant - - - - B - -1 - 3 - - 4 - quarter - flat - - - - - A - -1 - 4 - - 4 - quarter - flat - - - - - D - 5 - - 4 - quarter - - - - B - -1 - 3 - - 4 - quarter - - - - - A - -1 - 4 - - 4 - quarter - - - - - D - 5 - - 4 - quarter - - - - - - E - -1 - - dominant - - - - E - -1 - 4 - - 4 - quarter - flat - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - flat - - - - E - -1 - 4 - - 4 - quarter - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - - - - A - -1 - - dominant - - - - A - -1 - 3 - - 4 - quarter - flat - - - - - G - -1 - 4 - - 4 - quarter - flat - - - - - C - 5 - - 4 - quarter - - - - A - -1 - 3 - - 4 - quarter - - - - - G - -1 - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - - - D - -1 - - major-seventh - - - - D - -1 - 4 - - 4 - quarter - flat - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - - major-sixth - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - diff --git a/data/practice/chord/002_three_note_comping_derived_from_shells/053-ii-v-i-progressions-part-b.xml b/data/practice/chord/002_three_note_comping_derived_from_shells/053-ii-v-i-progressions-part-b.xml deleted file mode 100644 index 30d6ca8..0000000 --- a/data/practice/chord/002_three_note_comping_derived_from_shells/053-ii-v-i-progressions-part-b.xml +++ /dev/null @@ -1,543 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-16 - - - - - Vocal - - - - - - 4 - - 0 - major - - - - G - 2 - - - - - G - - dominant - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - C - - dominant - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - - E - 5 - - 4 - quarter - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - - E - 5 - - 4 - quarter - - - - - - F - - dominant - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - flat - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - - - - B - -1 - - dominant - - - - B - -1 - 3 - - 4 - quarter - flat - - - - - A - -1 - 4 - - 4 - quarter - flat - - - - - D - 5 - - 4 - quarter - - - - B - -1 - 3 - - 4 - quarter - - - - - A - -1 - 4 - - 4 - quarter - - - - - D - 5 - - 4 - quarter - - - - - - E - -1 - - dominant - - - - E - -1 - 4 - - 4 - quarter - flat - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - flat - - - - E - -1 - 4 - - 4 - quarter - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - - - - A - -1 - - dominant - - - - A - -1 - 3 - - 4 - quarter - flat - - - - - G - -1 - 4 - - 4 - quarter - flat - - - - - C - 5 - - 4 - quarter - - - - A - -1 - 3 - - 4 - quarter - - - - - G - -1 - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - - - D - -1 - - major-seventh - - - - D - -1 - 4 - - 4 - quarter - flat - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - - major-sixth - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - diff --git a/data/practice/chord/002_three_note_comping_derived_from_shells/054-ii-v-i-progressions-part-b.xml b/data/practice/chord/002_three_note_comping_derived_from_shells/054-ii-v-i-progressions-part-b.xml deleted file mode 100644 index 30d6ca8..0000000 --- a/data/practice/chord/002_three_note_comping_derived_from_shells/054-ii-v-i-progressions-part-b.xml +++ /dev/null @@ -1,543 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-16 - - - - - Vocal - - - - - - 4 - - 0 - major - - - - G - 2 - - - - - G - - dominant - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - C - - dominant - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - - E - 5 - - 4 - quarter - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - - E - 5 - - 4 - quarter - - - - - - F - - dominant - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - flat - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - - - - B - -1 - - dominant - - - - B - -1 - 3 - - 4 - quarter - flat - - - - - A - -1 - 4 - - 4 - quarter - flat - - - - - D - 5 - - 4 - quarter - - - - B - -1 - 3 - - 4 - quarter - - - - - A - -1 - 4 - - 4 - quarter - - - - - D - 5 - - 4 - quarter - - - - - - E - -1 - - dominant - - - - E - -1 - 4 - - 4 - quarter - flat - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - flat - - - - E - -1 - 4 - - 4 - quarter - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - - - - A - -1 - - dominant - - - - A - -1 - 3 - - 4 - quarter - flat - - - - - G - -1 - 4 - - 4 - quarter - flat - - - - - C - 5 - - 4 - quarter - - - - A - -1 - 3 - - 4 - quarter - - - - - G - -1 - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - - - D - -1 - - major-seventh - - - - D - -1 - 4 - - 4 - quarter - flat - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - - major-sixth - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - diff --git a/data/practice/chord/002_three_note_comping_derived_from_shells/055-ii-v-i-progressions-part-b.xml b/data/practice/chord/002_three_note_comping_derived_from_shells/055-ii-v-i-progressions-part-b.xml deleted file mode 100644 index 30d6ca8..0000000 --- a/data/practice/chord/002_three_note_comping_derived_from_shells/055-ii-v-i-progressions-part-b.xml +++ /dev/null @@ -1,543 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-16 - - - - - Vocal - - - - - - 4 - - 0 - major - - - - G - 2 - - - - - G - - dominant - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - C - - dominant - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - - E - 5 - - 4 - quarter - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - - E - 5 - - 4 - quarter - - - - - - F - - dominant - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - flat - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - - - - B - -1 - - dominant - - - - B - -1 - 3 - - 4 - quarter - flat - - - - - A - -1 - 4 - - 4 - quarter - flat - - - - - D - 5 - - 4 - quarter - - - - B - -1 - 3 - - 4 - quarter - - - - - A - -1 - 4 - - 4 - quarter - - - - - D - 5 - - 4 - quarter - - - - - - E - -1 - - dominant - - - - E - -1 - 4 - - 4 - quarter - flat - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - flat - - - - E - -1 - 4 - - 4 - quarter - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - - - - A - -1 - - dominant - - - - A - -1 - 3 - - 4 - quarter - flat - - - - - G - -1 - 4 - - 4 - quarter - flat - - - - - C - 5 - - 4 - quarter - - - - A - -1 - 3 - - 4 - quarter - - - - - G - -1 - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - - - D - -1 - - major-seventh - - - - D - -1 - 4 - - 4 - quarter - flat - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - - major-sixth - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - diff --git a/data/practice/chord/002_three_note_comping_derived_from_shells/056-ii-v-i-progressions-part-b.xml b/data/practice/chord/002_three_note_comping_derived_from_shells/056-ii-v-i-progressions-part-b.xml deleted file mode 100644 index 30d6ca8..0000000 --- a/data/practice/chord/002_three_note_comping_derived_from_shells/056-ii-v-i-progressions-part-b.xml +++ /dev/null @@ -1,543 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-16 - - - - - Vocal - - - - - - 4 - - 0 - major - - - - G - 2 - - - - - G - - dominant - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - C - - dominant - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - - E - 5 - - 4 - quarter - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - - E - 5 - - 4 - quarter - - - - - - F - - dominant - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - flat - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - - - - B - -1 - - dominant - - - - B - -1 - 3 - - 4 - quarter - flat - - - - - A - -1 - 4 - - 4 - quarter - flat - - - - - D - 5 - - 4 - quarter - - - - B - -1 - 3 - - 4 - quarter - - - - - A - -1 - 4 - - 4 - quarter - - - - - D - 5 - - 4 - quarter - - - - - - E - -1 - - dominant - - - - E - -1 - 4 - - 4 - quarter - flat - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - flat - - - - E - -1 - 4 - - 4 - quarter - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - - - - A - -1 - - dominant - - - - A - -1 - 3 - - 4 - quarter - flat - - - - - G - -1 - 4 - - 4 - quarter - flat - - - - - C - 5 - - 4 - quarter - - - - A - -1 - 3 - - 4 - quarter - - - - - G - -1 - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - - - D - -1 - - major-seventh - - - - D - -1 - 4 - - 4 - quarter - flat - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - - major-sixth - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - diff --git a/data/practice/chord/002_three_note_comping_derived_from_shells/057-ii-v-i-progressions-part-b.xml b/data/practice/chord/002_three_note_comping_derived_from_shells/057-ii-v-i-progressions-part-b.xml deleted file mode 100644 index 30d6ca8..0000000 --- a/data/practice/chord/002_three_note_comping_derived_from_shells/057-ii-v-i-progressions-part-b.xml +++ /dev/null @@ -1,543 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-16 - - - - - Vocal - - - - - - 4 - - 0 - major - - - - G - 2 - - - - - G - - dominant - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - C - - dominant - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - - E - 5 - - 4 - quarter - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - - E - 5 - - 4 - quarter - - - - - - F - - dominant - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - flat - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - - - - B - -1 - - dominant - - - - B - -1 - 3 - - 4 - quarter - flat - - - - - A - -1 - 4 - - 4 - quarter - flat - - - - - D - 5 - - 4 - quarter - - - - B - -1 - 3 - - 4 - quarter - - - - - A - -1 - 4 - - 4 - quarter - - - - - D - 5 - - 4 - quarter - - - - - - E - -1 - - dominant - - - - E - -1 - 4 - - 4 - quarter - flat - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - flat - - - - E - -1 - 4 - - 4 - quarter - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - - - - A - -1 - - dominant - - - - A - -1 - 3 - - 4 - quarter - flat - - - - - G - -1 - 4 - - 4 - quarter - flat - - - - - C - 5 - - 4 - quarter - - - - A - -1 - 3 - - 4 - quarter - - - - - G - -1 - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - - - D - -1 - - major-seventh - - - - D - -1 - 4 - - 4 - quarter - flat - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - - major-sixth - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - diff --git a/data/practice/chord/002_three_note_comping_derived_from_shells/058-ii-v-i-progressions-part-b.xml b/data/practice/chord/002_three_note_comping_derived_from_shells/058-ii-v-i-progressions-part-b.xml deleted file mode 100644 index 30d6ca8..0000000 --- a/data/practice/chord/002_three_note_comping_derived_from_shells/058-ii-v-i-progressions-part-b.xml +++ /dev/null @@ -1,543 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-16 - - - - - Vocal - - - - - - 4 - - 0 - major - - - - G - 2 - - - - - G - - dominant - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - C - - dominant - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - - E - 5 - - 4 - quarter - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - - E - 5 - - 4 - quarter - - - - - - F - - dominant - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - flat - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - - - - B - -1 - - dominant - - - - B - -1 - 3 - - 4 - quarter - flat - - - - - A - -1 - 4 - - 4 - quarter - flat - - - - - D - 5 - - 4 - quarter - - - - B - -1 - 3 - - 4 - quarter - - - - - A - -1 - 4 - - 4 - quarter - - - - - D - 5 - - 4 - quarter - - - - - - E - -1 - - dominant - - - - E - -1 - 4 - - 4 - quarter - flat - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - flat - - - - E - -1 - 4 - - 4 - quarter - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - - - - A - -1 - - dominant - - - - A - -1 - 3 - - 4 - quarter - flat - - - - - G - -1 - 4 - - 4 - quarter - flat - - - - - C - 5 - - 4 - quarter - - - - A - -1 - 3 - - 4 - quarter - - - - - G - -1 - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - - - D - -1 - - major-seventh - - - - D - -1 - 4 - - 4 - quarter - flat - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - - major-sixth - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - diff --git a/data/practice/chord/002_three_note_comping_derived_from_shells/059-ii-v-i-progressions-part-b.xml b/data/practice/chord/002_three_note_comping_derived_from_shells/059-ii-v-i-progressions-part-b.xml deleted file mode 100644 index 30d6ca8..0000000 --- a/data/practice/chord/002_three_note_comping_derived_from_shells/059-ii-v-i-progressions-part-b.xml +++ /dev/null @@ -1,543 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-16 - - - - - Vocal - - - - - - 4 - - 0 - major - - - - G - 2 - - - - - G - - dominant - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - C - - dominant - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - - E - 5 - - 4 - quarter - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - - E - 5 - - 4 - quarter - - - - - - F - - dominant - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - flat - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - - - - B - -1 - - dominant - - - - B - -1 - 3 - - 4 - quarter - flat - - - - - A - -1 - 4 - - 4 - quarter - flat - - - - - D - 5 - - 4 - quarter - - - - B - -1 - 3 - - 4 - quarter - - - - - A - -1 - 4 - - 4 - quarter - - - - - D - 5 - - 4 - quarter - - - - - - E - -1 - - dominant - - - - E - -1 - 4 - - 4 - quarter - flat - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - flat - - - - E - -1 - 4 - - 4 - quarter - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - - - - A - -1 - - dominant - - - - A - -1 - 3 - - 4 - quarter - flat - - - - - G - -1 - 4 - - 4 - quarter - flat - - - - - C - 5 - - 4 - quarter - - - - A - -1 - 3 - - 4 - quarter - - - - - G - -1 - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - - - D - -1 - - major-seventh - - - - D - -1 - 4 - - 4 - quarter - flat - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - - major-sixth - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - diff --git a/data/practice/chord/002_three_note_comping_derived_from_shells/060-ii-v-i-progressions-part-b.xml b/data/practice/chord/002_three_note_comping_derived_from_shells/060-ii-v-i-progressions-part-b.xml deleted file mode 100644 index 30d6ca8..0000000 --- a/data/practice/chord/002_three_note_comping_derived_from_shells/060-ii-v-i-progressions-part-b.xml +++ /dev/null @@ -1,543 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-16 - - - - - Vocal - - - - - - 4 - - 0 - major - - - - G - 2 - - - - - G - - dominant - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - C - - dominant - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - - E - 5 - - 4 - quarter - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - - E - 5 - - 4 - quarter - - - - - - F - - dominant - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - flat - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - - - - B - -1 - - dominant - - - - B - -1 - 3 - - 4 - quarter - flat - - - - - A - -1 - 4 - - 4 - quarter - flat - - - - - D - 5 - - 4 - quarter - - - - B - -1 - 3 - - 4 - quarter - - - - - A - -1 - 4 - - 4 - quarter - - - - - D - 5 - - 4 - quarter - - - - - - E - -1 - - dominant - - - - E - -1 - 4 - - 4 - quarter - flat - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - flat - - - - E - -1 - 4 - - 4 - quarter - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - - - - A - -1 - - dominant - - - - A - -1 - 3 - - 4 - quarter - flat - - - - - G - -1 - 4 - - 4 - quarter - flat - - - - - C - 5 - - 4 - quarter - - - - A - -1 - 3 - - 4 - quarter - - - - - G - -1 - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - - - D - -1 - - major-seventh - - - - D - -1 - 4 - - 4 - quarter - flat - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - - major-sixth - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - diff --git a/data/practice/chord/002_three_note_comping_derived_from_shells/061-ii-v-i-progressions-part-b.xml b/data/practice/chord/002_three_note_comping_derived_from_shells/061-ii-v-i-progressions-part-b.xml deleted file mode 100644 index 30d6ca8..0000000 --- a/data/practice/chord/002_three_note_comping_derived_from_shells/061-ii-v-i-progressions-part-b.xml +++ /dev/null @@ -1,543 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-16 - - - - - Vocal - - - - - - 4 - - 0 - major - - - - G - 2 - - - - - G - - dominant - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - C - - dominant - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - - E - 5 - - 4 - quarter - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - - E - 5 - - 4 - quarter - - - - - - F - - dominant - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - flat - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - - - - B - -1 - - dominant - - - - B - -1 - 3 - - 4 - quarter - flat - - - - - A - -1 - 4 - - 4 - quarter - flat - - - - - D - 5 - - 4 - quarter - - - - B - -1 - 3 - - 4 - quarter - - - - - A - -1 - 4 - - 4 - quarter - - - - - D - 5 - - 4 - quarter - - - - - - E - -1 - - dominant - - - - E - -1 - 4 - - 4 - quarter - flat - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - flat - - - - E - -1 - 4 - - 4 - quarter - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - - - - A - -1 - - dominant - - - - A - -1 - 3 - - 4 - quarter - flat - - - - - G - -1 - 4 - - 4 - quarter - flat - - - - - C - 5 - - 4 - quarter - - - - A - -1 - 3 - - 4 - quarter - - - - - G - -1 - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - - - D - -1 - - major-seventh - - - - D - -1 - 4 - - 4 - quarter - flat - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - - major-sixth - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - diff --git a/data/practice/chord/002_three_note_comping_derived_from_shells/062-ii-v-i-progressions-part-b.xml b/data/practice/chord/002_three_note_comping_derived_from_shells/062-ii-v-i-progressions-part-b.xml deleted file mode 100644 index 30d6ca8..0000000 --- a/data/practice/chord/002_three_note_comping_derived_from_shells/062-ii-v-i-progressions-part-b.xml +++ /dev/null @@ -1,543 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-16 - - - - - Vocal - - - - - - 4 - - 0 - major - - - - G - 2 - - - - - G - - dominant - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - C - - dominant - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - - E - 5 - - 4 - quarter - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - - E - 5 - - 4 - quarter - - - - - - F - - dominant - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - flat - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - - - - B - -1 - - dominant - - - - B - -1 - 3 - - 4 - quarter - flat - - - - - A - -1 - 4 - - 4 - quarter - flat - - - - - D - 5 - - 4 - quarter - - - - B - -1 - 3 - - 4 - quarter - - - - - A - -1 - 4 - - 4 - quarter - - - - - D - 5 - - 4 - quarter - - - - - - E - -1 - - dominant - - - - E - -1 - 4 - - 4 - quarter - flat - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - flat - - - - E - -1 - 4 - - 4 - quarter - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - - - - A - -1 - - dominant - - - - A - -1 - 3 - - 4 - quarter - flat - - - - - G - -1 - 4 - - 4 - quarter - flat - - - - - C - 5 - - 4 - quarter - - - - A - -1 - 3 - - 4 - quarter - - - - - G - -1 - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - - - D - -1 - - major-seventh - - - - D - -1 - 4 - - 4 - quarter - flat - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - - major-sixth - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - diff --git a/data/practice/chord/002_three_note_comping_derived_from_shells/063-ii-v-i-progressions-part-b.xml b/data/practice/chord/002_three_note_comping_derived_from_shells/063-ii-v-i-progressions-part-b.xml deleted file mode 100644 index 30d6ca8..0000000 --- a/data/practice/chord/002_three_note_comping_derived_from_shells/063-ii-v-i-progressions-part-b.xml +++ /dev/null @@ -1,543 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-16 - - - - - Vocal - - - - - - 4 - - 0 - major - - - - G - 2 - - - - - G - - dominant - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - C - - dominant - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - - E - 5 - - 4 - quarter - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - - E - 5 - - 4 - quarter - - - - - - F - - dominant - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - flat - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - - - - B - -1 - - dominant - - - - B - -1 - 3 - - 4 - quarter - flat - - - - - A - -1 - 4 - - 4 - quarter - flat - - - - - D - 5 - - 4 - quarter - - - - B - -1 - 3 - - 4 - quarter - - - - - A - -1 - 4 - - 4 - quarter - - - - - D - 5 - - 4 - quarter - - - - - - E - -1 - - dominant - - - - E - -1 - 4 - - 4 - quarter - flat - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - flat - - - - E - -1 - 4 - - 4 - quarter - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - - - - A - -1 - - dominant - - - - A - -1 - 3 - - 4 - quarter - flat - - - - - G - -1 - 4 - - 4 - quarter - flat - - - - - C - 5 - - 4 - quarter - - - - A - -1 - 3 - - 4 - quarter - - - - - G - -1 - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - - - D - -1 - - major-seventh - - - - D - -1 - 4 - - 4 - quarter - flat - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - - major-sixth - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - diff --git a/data/practice/chord/002_three_note_comping_derived_from_shells/064-ii-v-i-progressions-part-b.xml b/data/practice/chord/002_three_note_comping_derived_from_shells/064-ii-v-i-progressions-part-b.xml deleted file mode 100644 index 30d6ca8..0000000 --- a/data/practice/chord/002_three_note_comping_derived_from_shells/064-ii-v-i-progressions-part-b.xml +++ /dev/null @@ -1,543 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-16 - - - - - Vocal - - - - - - 4 - - 0 - major - - - - G - 2 - - - - - G - - dominant - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - C - - dominant - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - - E - 5 - - 4 - quarter - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - - E - 5 - - 4 - quarter - - - - - - F - - dominant - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - flat - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - - - - B - -1 - - dominant - - - - B - -1 - 3 - - 4 - quarter - flat - - - - - A - -1 - 4 - - 4 - quarter - flat - - - - - D - 5 - - 4 - quarter - - - - B - -1 - 3 - - 4 - quarter - - - - - A - -1 - 4 - - 4 - quarter - - - - - D - 5 - - 4 - quarter - - - - - - E - -1 - - dominant - - - - E - -1 - 4 - - 4 - quarter - flat - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - flat - - - - E - -1 - 4 - - 4 - quarter - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - - - - A - -1 - - dominant - - - - A - -1 - 3 - - 4 - quarter - flat - - - - - G - -1 - 4 - - 4 - quarter - flat - - - - - C - 5 - - 4 - quarter - - - - A - -1 - 3 - - 4 - quarter - - - - - G - -1 - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - - - D - -1 - - major-seventh - - - - D - -1 - 4 - - 4 - quarter - flat - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - - major-sixth - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - diff --git a/data/practice/chord/002_three_note_comping_derived_from_shells/065-ii-v-i-progressions-part-b.xml b/data/practice/chord/002_three_note_comping_derived_from_shells/065-ii-v-i-progressions-part-b.xml deleted file mode 100644 index 30d6ca8..0000000 --- a/data/practice/chord/002_three_note_comping_derived_from_shells/065-ii-v-i-progressions-part-b.xml +++ /dev/null @@ -1,543 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-16 - - - - - Vocal - - - - - - 4 - - 0 - major - - - - G - 2 - - - - - G - - dominant - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - C - - dominant - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - - E - 5 - - 4 - quarter - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - - E - 5 - - 4 - quarter - - - - - - F - - dominant - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - flat - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - - - - B - -1 - - dominant - - - - B - -1 - 3 - - 4 - quarter - flat - - - - - A - -1 - 4 - - 4 - quarter - flat - - - - - D - 5 - - 4 - quarter - - - - B - -1 - 3 - - 4 - quarter - - - - - A - -1 - 4 - - 4 - quarter - - - - - D - 5 - - 4 - quarter - - - - - - E - -1 - - dominant - - - - E - -1 - 4 - - 4 - quarter - flat - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - flat - - - - E - -1 - 4 - - 4 - quarter - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - - - - A - -1 - - dominant - - - - A - -1 - 3 - - 4 - quarter - flat - - - - - G - -1 - 4 - - 4 - quarter - flat - - - - - C - 5 - - 4 - quarter - - - - A - -1 - 3 - - 4 - quarter - - - - - G - -1 - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - - - D - -1 - - major-seventh - - - - D - -1 - 4 - - 4 - quarter - flat - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - - major-sixth - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - diff --git a/data/practice/chord/002_three_note_comping_derived_from_shells/066-ii-v-i-progressions-part-b.xml b/data/practice/chord/002_three_note_comping_derived_from_shells/066-ii-v-i-progressions-part-b.xml deleted file mode 100644 index 30d6ca8..0000000 --- a/data/practice/chord/002_three_note_comping_derived_from_shells/066-ii-v-i-progressions-part-b.xml +++ /dev/null @@ -1,543 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-16 - - - - - Vocal - - - - - - 4 - - 0 - major - - - - G - 2 - - - - - G - - dominant - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - C - - dominant - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - - E - 5 - - 4 - quarter - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - - E - 5 - - 4 - quarter - - - - - - F - - dominant - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - flat - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - - - - B - -1 - - dominant - - - - B - -1 - 3 - - 4 - quarter - flat - - - - - A - -1 - 4 - - 4 - quarter - flat - - - - - D - 5 - - 4 - quarter - - - - B - -1 - 3 - - 4 - quarter - - - - - A - -1 - 4 - - 4 - quarter - - - - - D - 5 - - 4 - quarter - - - - - - E - -1 - - dominant - - - - E - -1 - 4 - - 4 - quarter - flat - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - flat - - - - E - -1 - 4 - - 4 - quarter - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - - - - A - -1 - - dominant - - - - A - -1 - 3 - - 4 - quarter - flat - - - - - G - -1 - 4 - - 4 - quarter - flat - - - - - C - 5 - - 4 - quarter - - - - A - -1 - 3 - - 4 - quarter - - - - - G - -1 - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - - - D - -1 - - major-seventh - - - - D - -1 - 4 - - 4 - quarter - flat - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - - major-sixth - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - diff --git a/data/practice/chord/002_three_note_comping_derived_from_shells/067-playing-the-voicings-on-other-sets-of-strings.xml b/data/practice/chord/002_three_note_comping_derived_from_shells/067-playing-the-voicings-on-other-sets-of-strings.xml deleted file mode 100644 index 30d6ca8..0000000 --- a/data/practice/chord/002_three_note_comping_derived_from_shells/067-playing-the-voicings-on-other-sets-of-strings.xml +++ /dev/null @@ -1,543 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-16 - - - - - Vocal - - - - - - 4 - - 0 - major - - - - G - 2 - - - - - G - - dominant - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - C - - dominant - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - - E - 5 - - 4 - quarter - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - - E - 5 - - 4 - quarter - - - - - - F - - dominant - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - flat - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - - - - B - -1 - - dominant - - - - B - -1 - 3 - - 4 - quarter - flat - - - - - A - -1 - 4 - - 4 - quarter - flat - - - - - D - 5 - - 4 - quarter - - - - B - -1 - 3 - - 4 - quarter - - - - - A - -1 - 4 - - 4 - quarter - - - - - D - 5 - - 4 - quarter - - - - - - E - -1 - - dominant - - - - E - -1 - 4 - - 4 - quarter - flat - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - flat - - - - E - -1 - 4 - - 4 - quarter - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - - - - A - -1 - - dominant - - - - A - -1 - 3 - - 4 - quarter - flat - - - - - G - -1 - 4 - - 4 - quarter - flat - - - - - C - 5 - - 4 - quarter - - - - A - -1 - 3 - - 4 - quarter - - - - - G - -1 - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - - - D - -1 - - major-seventh - - - - D - -1 - 4 - - 4 - quarter - flat - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - - major-sixth - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - diff --git a/data/practice/chord/002_three_note_comping_derived_from_shells/068-playing-the-voicings-on-other-sets-of-strings.xml b/data/practice/chord/002_three_note_comping_derived_from_shells/068-playing-the-voicings-on-other-sets-of-strings.xml deleted file mode 100644 index 30d6ca8..0000000 --- a/data/practice/chord/002_three_note_comping_derived_from_shells/068-playing-the-voicings-on-other-sets-of-strings.xml +++ /dev/null @@ -1,543 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-16 - - - - - Vocal - - - - - - 4 - - 0 - major - - - - G - 2 - - - - - G - - dominant - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - C - - dominant - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - - E - 5 - - 4 - quarter - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - - E - 5 - - 4 - quarter - - - - - - F - - dominant - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - flat - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - - - - B - -1 - - dominant - - - - B - -1 - 3 - - 4 - quarter - flat - - - - - A - -1 - 4 - - 4 - quarter - flat - - - - - D - 5 - - 4 - quarter - - - - B - -1 - 3 - - 4 - quarter - - - - - A - -1 - 4 - - 4 - quarter - - - - - D - 5 - - 4 - quarter - - - - - - E - -1 - - dominant - - - - E - -1 - 4 - - 4 - quarter - flat - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - flat - - - - E - -1 - 4 - - 4 - quarter - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - - - - A - -1 - - dominant - - - - A - -1 - 3 - - 4 - quarter - flat - - - - - G - -1 - 4 - - 4 - quarter - flat - - - - - C - 5 - - 4 - quarter - - - - A - -1 - 3 - - 4 - quarter - - - - - G - -1 - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - - - D - -1 - - major-seventh - - - - D - -1 - 4 - - 4 - quarter - flat - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - - major-sixth - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - diff --git a/data/practice/chord/002_three_note_comping_derived_from_shells/069-playing-the-voicings-on-other-sets-of-strings.xml b/data/practice/chord/002_three_note_comping_derived_from_shells/069-playing-the-voicings-on-other-sets-of-strings.xml deleted file mode 100644 index 30d6ca8..0000000 --- a/data/practice/chord/002_three_note_comping_derived_from_shells/069-playing-the-voicings-on-other-sets-of-strings.xml +++ /dev/null @@ -1,543 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-16 - - - - - Vocal - - - - - - 4 - - 0 - major - - - - G - 2 - - - - - G - - dominant - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - C - - dominant - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - - E - 5 - - 4 - quarter - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - - E - 5 - - 4 - quarter - - - - - - F - - dominant - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - flat - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - - - - B - -1 - - dominant - - - - B - -1 - 3 - - 4 - quarter - flat - - - - - A - -1 - 4 - - 4 - quarter - flat - - - - - D - 5 - - 4 - quarter - - - - B - -1 - 3 - - 4 - quarter - - - - - A - -1 - 4 - - 4 - quarter - - - - - D - 5 - - 4 - quarter - - - - - - E - -1 - - dominant - - - - E - -1 - 4 - - 4 - quarter - flat - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - flat - - - - E - -1 - 4 - - 4 - quarter - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - - - - A - -1 - - dominant - - - - A - -1 - 3 - - 4 - quarter - flat - - - - - G - -1 - 4 - - 4 - quarter - flat - - - - - C - 5 - - 4 - quarter - - - - A - -1 - 3 - - 4 - quarter - - - - - G - -1 - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - - - D - -1 - - major-seventh - - - - D - -1 - 4 - - 4 - quarter - flat - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - - major-sixth - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - diff --git a/data/practice/chord/002_three_note_comping_derived_from_shells/070-playing-the-voicings-on-other-sets-of-strings.xml b/data/practice/chord/002_three_note_comping_derived_from_shells/070-playing-the-voicings-on-other-sets-of-strings.xml deleted file mode 100644 index 30d6ca8..0000000 --- a/data/practice/chord/002_three_note_comping_derived_from_shells/070-playing-the-voicings-on-other-sets-of-strings.xml +++ /dev/null @@ -1,543 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-16 - - - - - Vocal - - - - - - 4 - - 0 - major - - - - G - 2 - - - - - G - - dominant - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - C - - dominant - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - - E - 5 - - 4 - quarter - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - - E - 5 - - 4 - quarter - - - - - - F - - dominant - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - flat - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - - - - B - -1 - - dominant - - - - B - -1 - 3 - - 4 - quarter - flat - - - - - A - -1 - 4 - - 4 - quarter - flat - - - - - D - 5 - - 4 - quarter - - - - B - -1 - 3 - - 4 - quarter - - - - - A - -1 - 4 - - 4 - quarter - - - - - D - 5 - - 4 - quarter - - - - - - E - -1 - - dominant - - - - E - -1 - 4 - - 4 - quarter - flat - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - flat - - - - E - -1 - 4 - - 4 - quarter - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - - - - A - -1 - - dominant - - - - A - -1 - 3 - - 4 - quarter - flat - - - - - G - -1 - 4 - - 4 - quarter - flat - - - - - C - 5 - - 4 - quarter - - - - A - -1 - 3 - - 4 - quarter - - - - - G - -1 - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - - - D - -1 - - major-seventh - - - - D - -1 - 4 - - 4 - quarter - flat - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - - major-sixth - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - diff --git a/data/practice/chord/002_three_note_comping_derived_from_shells/071-playing-the-voicings-on-other-sets-of-strings.xml b/data/practice/chord/002_three_note_comping_derived_from_shells/071-playing-the-voicings-on-other-sets-of-strings.xml deleted file mode 100644 index 30d6ca8..0000000 --- a/data/practice/chord/002_three_note_comping_derived_from_shells/071-playing-the-voicings-on-other-sets-of-strings.xml +++ /dev/null @@ -1,543 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-16 - - - - - Vocal - - - - - - 4 - - 0 - major - - - - G - 2 - - - - - G - - dominant - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - C - - dominant - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - - E - 5 - - 4 - quarter - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - - E - 5 - - 4 - quarter - - - - - - F - - dominant - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - flat - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - - - - B - -1 - - dominant - - - - B - -1 - 3 - - 4 - quarter - flat - - - - - A - -1 - 4 - - 4 - quarter - flat - - - - - D - 5 - - 4 - quarter - - - - B - -1 - 3 - - 4 - quarter - - - - - A - -1 - 4 - - 4 - quarter - - - - - D - 5 - - 4 - quarter - - - - - - E - -1 - - dominant - - - - E - -1 - 4 - - 4 - quarter - flat - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - flat - - - - E - -1 - 4 - - 4 - quarter - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - - - - A - -1 - - dominant - - - - A - -1 - 3 - - 4 - quarter - flat - - - - - G - -1 - 4 - - 4 - quarter - flat - - - - - C - 5 - - 4 - quarter - - - - A - -1 - 3 - - 4 - quarter - - - - - G - -1 - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - - - D - -1 - - major-seventh - - - - D - -1 - 4 - - 4 - quarter - flat - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - - major-sixth - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - diff --git a/data/practice/chord/002_three_note_comping_derived_from_shells/072-playing-the-voicings-on-other-sets-of-strings.xml b/data/practice/chord/002_three_note_comping_derived_from_shells/072-playing-the-voicings-on-other-sets-of-strings.xml deleted file mode 100644 index 30d6ca8..0000000 --- a/data/practice/chord/002_three_note_comping_derived_from_shells/072-playing-the-voicings-on-other-sets-of-strings.xml +++ /dev/null @@ -1,543 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-16 - - - - - Vocal - - - - - - 4 - - 0 - major - - - - G - 2 - - - - - G - - dominant - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - C - - dominant - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - - E - 5 - - 4 - quarter - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - - E - 5 - - 4 - quarter - - - - - - F - - dominant - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - flat - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - - - - B - -1 - - dominant - - - - B - -1 - 3 - - 4 - quarter - flat - - - - - A - -1 - 4 - - 4 - quarter - flat - - - - - D - 5 - - 4 - quarter - - - - B - -1 - 3 - - 4 - quarter - - - - - A - -1 - 4 - - 4 - quarter - - - - - D - 5 - - 4 - quarter - - - - - - E - -1 - - dominant - - - - E - -1 - 4 - - 4 - quarter - flat - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - flat - - - - E - -1 - 4 - - 4 - quarter - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - - - - A - -1 - - dominant - - - - A - -1 - 3 - - 4 - quarter - flat - - - - - G - -1 - 4 - - 4 - quarter - flat - - - - - C - 5 - - 4 - quarter - - - - A - -1 - 3 - - 4 - quarter - - - - - G - -1 - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - - - D - -1 - - major-seventh - - - - D - -1 - 4 - - 4 - quarter - flat - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - - major-sixth - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - diff --git a/data/practice/chord/002_three_note_comping_derived_from_shells/073-playing-the-voicings-on-other-sets-of-strings.xml b/data/practice/chord/002_three_note_comping_derived_from_shells/073-playing-the-voicings-on-other-sets-of-strings.xml deleted file mode 100644 index 30d6ca8..0000000 --- a/data/practice/chord/002_three_note_comping_derived_from_shells/073-playing-the-voicings-on-other-sets-of-strings.xml +++ /dev/null @@ -1,543 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-16 - - - - - Vocal - - - - - - 4 - - 0 - major - - - - G - 2 - - - - - G - - dominant - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - C - - dominant - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - - E - 5 - - 4 - quarter - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - - E - 5 - - 4 - quarter - - - - - - F - - dominant - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - flat - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - - - - B - -1 - - dominant - - - - B - -1 - 3 - - 4 - quarter - flat - - - - - A - -1 - 4 - - 4 - quarter - flat - - - - - D - 5 - - 4 - quarter - - - - B - -1 - 3 - - 4 - quarter - - - - - A - -1 - 4 - - 4 - quarter - - - - - D - 5 - - 4 - quarter - - - - - - E - -1 - - dominant - - - - E - -1 - 4 - - 4 - quarter - flat - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - flat - - - - E - -1 - 4 - - 4 - quarter - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - - - - A - -1 - - dominant - - - - A - -1 - 3 - - 4 - quarter - flat - - - - - G - -1 - 4 - - 4 - quarter - flat - - - - - C - 5 - - 4 - quarter - - - - A - -1 - 3 - - 4 - quarter - - - - - G - -1 - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - - - D - -1 - - major-seventh - - - - D - -1 - 4 - - 4 - quarter - flat - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - - major-sixth - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - diff --git a/data/practice/chord/002_three_note_comping_derived_from_shells/074-playing-the-voicings-on-other-sets-of-strings.xml b/data/practice/chord/002_three_note_comping_derived_from_shells/074-playing-the-voicings-on-other-sets-of-strings.xml deleted file mode 100644 index 30d6ca8..0000000 --- a/data/practice/chord/002_three_note_comping_derived_from_shells/074-playing-the-voicings-on-other-sets-of-strings.xml +++ /dev/null @@ -1,543 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-16 - - - - - Vocal - - - - - - 4 - - 0 - major - - - - G - 2 - - - - - G - - dominant - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - C - - dominant - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - - E - 5 - - 4 - quarter - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - - E - 5 - - 4 - quarter - - - - - - F - - dominant - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - flat - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - - - - B - -1 - - dominant - - - - B - -1 - 3 - - 4 - quarter - flat - - - - - A - -1 - 4 - - 4 - quarter - flat - - - - - D - 5 - - 4 - quarter - - - - B - -1 - 3 - - 4 - quarter - - - - - A - -1 - 4 - - 4 - quarter - - - - - D - 5 - - 4 - quarter - - - - - - E - -1 - - dominant - - - - E - -1 - 4 - - 4 - quarter - flat - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - flat - - - - E - -1 - 4 - - 4 - quarter - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - - - - A - -1 - - dominant - - - - A - -1 - 3 - - 4 - quarter - flat - - - - - G - -1 - 4 - - 4 - quarter - flat - - - - - C - 5 - - 4 - quarter - - - - A - -1 - 3 - - 4 - quarter - - - - - G - -1 - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - - - D - -1 - - major-seventh - - - - D - -1 - 4 - - 4 - quarter - flat - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - - major-sixth - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - diff --git a/data/practice/chord/002_three_note_comping_derived_from_shells/075-playing-the-voicings-on-other-sets-of-strings.xml b/data/practice/chord/002_three_note_comping_derived_from_shells/075-playing-the-voicings-on-other-sets-of-strings.xml deleted file mode 100644 index 30d6ca8..0000000 --- a/data/practice/chord/002_three_note_comping_derived_from_shells/075-playing-the-voicings-on-other-sets-of-strings.xml +++ /dev/null @@ -1,543 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-16 - - - - - Vocal - - - - - - 4 - - 0 - major - - - - G - 2 - - - - - G - - dominant - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - C - - dominant - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - - E - 5 - - 4 - quarter - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - - E - 5 - - 4 - quarter - - - - - - F - - dominant - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - flat - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - - - - B - -1 - - dominant - - - - B - -1 - 3 - - 4 - quarter - flat - - - - - A - -1 - 4 - - 4 - quarter - flat - - - - - D - 5 - - 4 - quarter - - - - B - -1 - 3 - - 4 - quarter - - - - - A - -1 - 4 - - 4 - quarter - - - - - D - 5 - - 4 - quarter - - - - - - E - -1 - - dominant - - - - E - -1 - 4 - - 4 - quarter - flat - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - flat - - - - E - -1 - 4 - - 4 - quarter - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - - - - A - -1 - - dominant - - - - A - -1 - 3 - - 4 - quarter - flat - - - - - G - -1 - 4 - - 4 - quarter - flat - - - - - C - 5 - - 4 - quarter - - - - A - -1 - 3 - - 4 - quarter - - - - - G - -1 - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - - - D - -1 - - major-seventh - - - - D - -1 - 4 - - 4 - quarter - flat - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - - major-sixth - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - diff --git a/data/practice/chord/002_three_note_comping_derived_from_shells/076-playing-the-voicings-on-other-sets-of-strings.xml b/data/practice/chord/002_three_note_comping_derived_from_shells/076-playing-the-voicings-on-other-sets-of-strings.xml deleted file mode 100644 index 30d6ca8..0000000 --- a/data/practice/chord/002_three_note_comping_derived_from_shells/076-playing-the-voicings-on-other-sets-of-strings.xml +++ /dev/null @@ -1,543 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-16 - - - - - Vocal - - - - - - 4 - - 0 - major - - - - G - 2 - - - - - G - - dominant - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - C - - dominant - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - - E - 5 - - 4 - quarter - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - - E - 5 - - 4 - quarter - - - - - - F - - dominant - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - flat - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - - - - B - -1 - - dominant - - - - B - -1 - 3 - - 4 - quarter - flat - - - - - A - -1 - 4 - - 4 - quarter - flat - - - - - D - 5 - - 4 - quarter - - - - B - -1 - 3 - - 4 - quarter - - - - - A - -1 - 4 - - 4 - quarter - - - - - D - 5 - - 4 - quarter - - - - - - E - -1 - - dominant - - - - E - -1 - 4 - - 4 - quarter - flat - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - flat - - - - E - -1 - 4 - - 4 - quarter - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - - - - A - -1 - - dominant - - - - A - -1 - 3 - - 4 - quarter - flat - - - - - G - -1 - 4 - - 4 - quarter - flat - - - - - C - 5 - - 4 - quarter - - - - A - -1 - 3 - - 4 - quarter - - - - - G - -1 - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - - - D - -1 - - major-seventh - - - - D - -1 - 4 - - 4 - quarter - flat - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - - major-sixth - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - diff --git a/data/practice/chord/002_three_note_comping_derived_from_shells/077-playing-the-voicings-on-other-sets-of-strings.xml b/data/practice/chord/002_three_note_comping_derived_from_shells/077-playing-the-voicings-on-other-sets-of-strings.xml deleted file mode 100644 index 30d6ca8..0000000 --- a/data/practice/chord/002_three_note_comping_derived_from_shells/077-playing-the-voicings-on-other-sets-of-strings.xml +++ /dev/null @@ -1,543 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-16 - - - - - Vocal - - - - - - 4 - - 0 - major - - - - G - 2 - - - - - G - - dominant - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - C - - dominant - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - - E - 5 - - 4 - quarter - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - - E - 5 - - 4 - quarter - - - - - - F - - dominant - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - flat - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - - - - B - -1 - - dominant - - - - B - -1 - 3 - - 4 - quarter - flat - - - - - A - -1 - 4 - - 4 - quarter - flat - - - - - D - 5 - - 4 - quarter - - - - B - -1 - 3 - - 4 - quarter - - - - - A - -1 - 4 - - 4 - quarter - - - - - D - 5 - - 4 - quarter - - - - - - E - -1 - - dominant - - - - E - -1 - 4 - - 4 - quarter - flat - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - flat - - - - E - -1 - 4 - - 4 - quarter - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - - - - A - -1 - - dominant - - - - A - -1 - 3 - - 4 - quarter - flat - - - - - G - -1 - 4 - - 4 - quarter - flat - - - - - C - 5 - - 4 - quarter - - - - A - -1 - 3 - - 4 - quarter - - - - - G - -1 - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - - - D - -1 - - major-seventh - - - - D - -1 - 4 - - 4 - quarter - flat - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - - major-sixth - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - diff --git a/data/practice/chord/002_three_note_comping_derived_from_shells/078-playing-the-voicings-on-other-sets-of-strings.xml b/data/practice/chord/002_three_note_comping_derived_from_shells/078-playing-the-voicings-on-other-sets-of-strings.xml deleted file mode 100644 index 30d6ca8..0000000 --- a/data/practice/chord/002_three_note_comping_derived_from_shells/078-playing-the-voicings-on-other-sets-of-strings.xml +++ /dev/null @@ -1,543 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-16 - - - - - Vocal - - - - - - 4 - - 0 - major - - - - G - 2 - - - - - G - - dominant - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - G - 4 - - 4 - quarter - - - - - B - 4 - - 4 - quarter - - - - - F - 5 - - 4 - quarter - - - - C - - dominant - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - - E - 5 - - 4 - quarter - - - - C - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - - E - 5 - - 4 - quarter - - - - - - F - - dominant - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - flat - - - - F - 4 - - 4 - quarter - - - - - A - 4 - - 4 - quarter - - - - - E - -1 - 5 - - 4 - quarter - - - - B - -1 - - dominant - - - - B - -1 - 3 - - 4 - quarter - flat - - - - - A - -1 - 4 - - 4 - quarter - flat - - - - - D - 5 - - 4 - quarter - - - - B - -1 - 3 - - 4 - quarter - - - - - A - -1 - 4 - - 4 - quarter - - - - - D - 5 - - 4 - quarter - - - - - - E - -1 - - dominant - - - - E - -1 - 4 - - 4 - quarter - flat - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - flat - - - - E - -1 - 4 - - 4 - quarter - - - - - G - 4 - - 4 - quarter - - - - - D - -1 - 5 - - 4 - quarter - - - - A - -1 - - dominant - - - - A - -1 - 3 - - 4 - quarter - flat - - - - - G - -1 - 4 - - 4 - quarter - flat - - - - - C - 5 - - 4 - quarter - - - - A - -1 - 3 - - 4 - quarter - - - - - G - -1 - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - - - D - -1 - - major-seventh - - - - D - -1 - 4 - - 4 - quarter - flat - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - C - 5 - - 4 - quarter - - - - D - -1 - - major-sixth - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - flat - - - - D - -1 - 4 - - 4 - quarter - - - - - F - 4 - - 4 - quarter - - - - - B - -1 - 4 - - 4 - quarter - - - - diff --git a/data/practice/melody/001_diatonic_excercises/001-the-diatonic-scales.xml b/data/practice/melody/001_diatonic_excercises/001-the-diatonic-scales.xml deleted file mode 100644 index 0d056bf..0000000 --- a/data/practice/melody/001_diatonic_excercises/001-the-diatonic-scales.xml +++ /dev/null @@ -1,1327 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-16 - - - - - Vocal - - - - - - 12 - - 0 - major - - - - G - 2 - - - - - - C - 4 - - 4 - eighth - - 3 - 2 - - begin - - - - - - - D - 4 - - 4 - eighth - - 3 - 2 - - continue - - - - E - 4 - - 4 - eighth - - 3 - 2 - - end - - - - - - - D - 4 - - 4 - eighth - - 3 - 2 - - begin - - - - - - - E - 4 - - 4 - eighth - - 3 - 2 - - continue - - - - F - 4 - - 4 - eighth - - 3 - 2 - - end - - - - - - - E - 4 - - 4 - eighth - - 3 - 2 - - begin - - - - - - - F - 4 - - 4 - eighth - - 3 - 2 - - continue - - - - G - 4 - - 4 - eighth - - 3 - 2 - - end - - - - - - - F - 4 - - 4 - eighth - - 3 - 2 - - begin - - - - - - - G - 4 - - 4 - eighth - - 3 - 2 - - continue - - - - A - 4 - - 4 - eighth - - 3 - 2 - - end - - - - - - - - - G - 4 - - 4 - eighth - - 3 - 2 - - begin - - - - - - - A - 4 - - 4 - eighth - - 3 - 2 - - continue - - - - B - 4 - - 4 - eighth - - 3 - 2 - - end - - - - - - - A - 4 - - 4 - eighth - - 3 - 2 - - begin - - - - - - - B - 4 - - 4 - eighth - - 3 - 2 - - continue - - - - C - 5 - - 4 - eighth - - 3 - 2 - - end - - - - - - - B - 4 - - 4 - eighth - - 3 - 2 - - begin - - - - - - - C - 5 - - 4 - eighth - - 3 - 2 - - continue - - - - D - 5 - - 4 - eighth - - 3 - 2 - - end - - - - - - - C - 5 - - 4 - eighth - - 3 - 2 - - begin - - - - - - - D - 5 - - 4 - eighth - - 3 - 2 - - continue - - - - E - 5 - - 4 - eighth - - 3 - 2 - - end - - - - - - - - - D - 5 - - 4 - eighth - - 3 - 2 - - begin - - - - - - - E - 5 - - 4 - eighth - - 3 - 2 - - continue - - - - F - 5 - - 4 - eighth - - 3 - 2 - - end - - - - - - - E - 5 - - 4 - eighth - - 3 - 2 - - begin - - - - - - - F - 5 - - 4 - eighth - - 3 - 2 - - continue - - - - G - 5 - - 4 - eighth - - 3 - 2 - - end - - - - - - - F - 5 - - 4 - eighth - - 3 - 2 - - begin - - - - - - - G - 5 - - 4 - eighth - - 3 - 2 - - continue - - - - A - 5 - - 4 - eighth - - 3 - 2 - - end - - - - - - - G - 5 - - 4 - eighth - - 3 - 2 - - begin - - - - - - - A - 5 - - 4 - eighth - - 3 - 2 - - continue - - - - B - 5 - - 4 - eighth - - 3 - 2 - - end - - - - - - - - - A - 5 - - 4 - eighth - - 3 - 2 - - begin - - - - - - - B - 5 - - 4 - eighth - - 3 - 2 - - continue - - - - C - 6 - - 4 - eighth - - 3 - 2 - - end - - - - - - - B - 5 - - 4 - eighth - - 3 - 2 - - begin - - - - - - - C - 6 - - 4 - eighth - - 3 - 2 - - continue - - - - D - 6 - - 4 - eighth - - 3 - 2 - - end - - - - - - - C - 6 - - 24 - half - - - - - - C - 6 - - 4 - eighth - - 3 - 2 - - begin - - - - - - - B - 5 - - 4 - eighth - - 3 - 2 - - continue - - - - A - 5 - - 4 - eighth - - 3 - 2 - - end - - - - - - - B - 5 - - 4 - eighth - - 3 - 2 - - begin - - - - - - - A - 5 - - 4 - eighth - - 3 - 2 - - continue - - - - G - 5 - - 4 - eighth - - 3 - 2 - - end - - - - - - - A - 5 - - 4 - eighth - - 3 - 2 - - begin - - - - - - - G - 5 - - 4 - eighth - - 3 - 2 - - continue - - - - F - 5 - - 4 - eighth - - 3 - 2 - - end - - - - - - - G - 5 - - 4 - eighth - - 3 - 2 - - begin - - - - - - - F - 5 - - 4 - eighth - - 3 - 2 - - continue - - - - E - 5 - - 4 - eighth - - 3 - 2 - - end - - - - - - - - - F - 5 - - 4 - eighth - - 3 - 2 - - begin - - - - - - - E - 5 - - 4 - eighth - - 3 - 2 - - continue - - - - D - 5 - - 4 - eighth - - 3 - 2 - - end - - - - - - - E - 5 - - 4 - eighth - - 3 - 2 - - begin - - - - - - - D - 5 - - 4 - eighth - - 3 - 2 - - continue - - - - C - 5 - - 4 - eighth - - 3 - 2 - - end - - - - - - - D - 5 - - 4 - eighth - - 3 - 2 - - begin - - - - - - - C - 5 - - 4 - eighth - - 3 - 2 - - continue - - - - B - 4 - - 4 - eighth - - 3 - 2 - - end - - - - - - - C - 5 - - 4 - eighth - - 3 - 2 - - begin - - - - - - - B - 4 - - 4 - eighth - - 3 - 2 - - continue - - - - A - 4 - - 4 - eighth - - 3 - 2 - - end - - - - - - - - - B - 4 - - 4 - eighth - - 3 - 2 - - begin - - - - - - - A - 4 - - 4 - eighth - - 3 - 2 - - continue - - - - G - 4 - - 4 - eighth - - 3 - 2 - - end - - - - - - - A - 4 - - 4 - eighth - - 3 - 2 - - begin - - - - - - - G - 4 - - 4 - eighth - - 3 - 2 - - continue - - - - F - 4 - - 4 - eighth - - 3 - 2 - - end - - - - - - - G - 4 - - 4 - eighth - - 3 - 2 - - begin - - - - - - - F - 4 - - 4 - eighth - - 3 - 2 - - continue - - - - E - 4 - - 4 - eighth - - 3 - 2 - - end - - - - - - - F - 4 - - 4 - eighth - - 3 - 2 - - begin - - - - - - - E - 4 - - 4 - eighth - - 3 - 2 - - continue - - - - D - 4 - - 4 - eighth - - 3 - 2 - - end - - - - - - - - - E - 4 - - 4 - eighth - - 3 - 2 - - begin - - - - - - - D - 4 - - 4 - eighth - - 3 - 2 - - continue - - - - C - 4 - - 4 - eighth - - 3 - 2 - - end - - - - - - - D - 4 - - 4 - eighth - - 3 - 2 - - begin - - - - - - - C - 4 - - 4 - eighth - - 3 - 2 - - continue - - - - B - 3 - - 4 - eighth - - 3 - 2 - - end - - - - - - - C - 4 - - 24 - half - - - - diff --git a/data/practice/melody/001_diatonic_excercises/002-the-diatonic-scales.xml b/data/practice/melody/001_diatonic_excercises/002-the-diatonic-scales.xml deleted file mode 100644 index 1655bfd..0000000 --- a/data/practice/melody/001_diatonic_excercises/002-the-diatonic-scales.xml +++ /dev/null @@ -1,711 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-16 - - - - - Vocal - - - - - - 8 - - 0 - major - - - - G - 2 - - - - - - C - 4 - - 4 - eighth - begin - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - end - - - - E - 4 - - 4 - eighth - begin - - - - F - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - end - - - - - - G - 4 - - 4 - eighth - begin - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - end - - - - G - 4 - - 4 - eighth - begin - - - - A - 4 - - 4 - eighth - continue - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - end - - - - - - B - 4 - - 4 - eighth - begin - - - - C - 5 - - 4 - eighth - continue - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - end - - - - D - 5 - - 4 - eighth - begin - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - end - - - - - - D - 5 - - 4 - eighth - begin - - - - E - 5 - - 4 - eighth - continue - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - end - - - - F - 5 - - 4 - eighth - begin - - - - G - 5 - - 4 - eighth - continue - - - - F - 5 - - 4 - eighth - continue - - - - G - 5 - - 4 - eighth - end - - - - - - A - 5 - - 4 - eighth - begin - - - - G - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - end - - - - A - 5 - - 4 - eighth - begin - - - - B - 5 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - end - - - - - - C - 6 - - 4 - eighth - begin - - - - D - 6 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - end - - - - C - 6 - - 4 - eighth - begin - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - end - - - - - - A - 5 - - 4 - eighth - begin - - - - G - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - continue - - - - G - 5 - - 4 - eighth - end - - - - F - 5 - - 4 - eighth - begin - - - - G - 5 - - 4 - eighth - continue - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - end - - - - - - F - 5 - - 4 - eighth - begin - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - end - - - - D - 5 - - 4 - eighth - begin - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - end - - - - - - B - 4 - - 4 - eighth - begin - - - - C - 5 - - 4 - eighth - continue - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - end - - - - G - 4 - - 4 - eighth - begin - - - - F - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - end - - - - - - C - 4 - - 32 - whole - - - - diff --git a/data/practice/melody/001_diatonic_excercises/003-the-diatonic-scales.xml b/data/practice/melody/001_diatonic_excercises/003-the-diatonic-scales.xml deleted file mode 100644 index 4ccac5f..0000000 --- a/data/practice/melody/001_diatonic_excercises/003-the-diatonic-scales.xml +++ /dev/null @@ -1,785 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-16 - - - - - Vocal - - - - - - 8 - - 0 - major - - - - G - 2 - - - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - B - 4 - - 4 - eighth - end - - - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - G - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - - - D - 6 - - 4 - eighth - begin - - - - E - 6 - - 4 - eighth - continue - - - - D - 6 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - F - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - C - 4 - - 4 - eighth - end - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - - - F - 4 - - 32 - whole - - - - diff --git a/data/practice/melody/001_diatonic_excercises/004-the-diatonic-scales.xml b/data/practice/melody/001_diatonic_excercises/004-the-diatonic-scales.xml deleted file mode 100644 index 66fa726..0000000 --- a/data/practice/melody/001_diatonic_excercises/004-the-diatonic-scales.xml +++ /dev/null @@ -1,785 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-14 - - - - - Vocal - - - - - - 8 - - 0 - major - - - - G - 2 - - - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - B - 4 - - 4 - eighth - end - - - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - G - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - - - D - 6 - - 4 - eighth - begin - - - - E - 6 - - 4 - eighth - continue - - - - D - 6 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - F - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - C - 4 - - 4 - eighth - end - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - - - F - 4 - - 32 - whole - - - - diff --git a/data/practice/melody/001_diatonic_excercises/005-the-diatonic-scales.xml b/data/practice/melody/001_diatonic_excercises/005-the-diatonic-scales.xml deleted file mode 100644 index 66fa726..0000000 --- a/data/practice/melody/001_diatonic_excercises/005-the-diatonic-scales.xml +++ /dev/null @@ -1,785 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-14 - - - - - Vocal - - - - - - 8 - - 0 - major - - - - G - 2 - - - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - B - 4 - - 4 - eighth - end - - - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - G - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - - - D - 6 - - 4 - eighth - begin - - - - E - 6 - - 4 - eighth - continue - - - - D - 6 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - F - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - C - 4 - - 4 - eighth - end - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - - - F - 4 - - 32 - whole - - - - diff --git a/data/practice/melody/001_diatonic_excercises/006-the-diatonic-scales.xml b/data/practice/melody/001_diatonic_excercises/006-the-diatonic-scales.xml deleted file mode 100644 index 66fa726..0000000 --- a/data/practice/melody/001_diatonic_excercises/006-the-diatonic-scales.xml +++ /dev/null @@ -1,785 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-14 - - - - - Vocal - - - - - - 8 - - 0 - major - - - - G - 2 - - - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - B - 4 - - 4 - eighth - end - - - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - G - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - - - D - 6 - - 4 - eighth - begin - - - - E - 6 - - 4 - eighth - continue - - - - D - 6 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - F - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - C - 4 - - 4 - eighth - end - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - - - F - 4 - - 32 - whole - - - - diff --git a/data/practice/melody/001_diatonic_excercises/007-the-diatonic-scales.xml b/data/practice/melody/001_diatonic_excercises/007-the-diatonic-scales.xml deleted file mode 100644 index 66fa726..0000000 --- a/data/practice/melody/001_diatonic_excercises/007-the-diatonic-scales.xml +++ /dev/null @@ -1,785 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-14 - - - - - Vocal - - - - - - 8 - - 0 - major - - - - G - 2 - - - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - B - 4 - - 4 - eighth - end - - - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - G - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - - - D - 6 - - 4 - eighth - begin - - - - E - 6 - - 4 - eighth - continue - - - - D - 6 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - F - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - C - 4 - - 4 - eighth - end - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - - - F - 4 - - 32 - whole - - - - diff --git a/data/practice/melody/001_diatonic_excercises/008-the-diatonic-scales.xml b/data/practice/melody/001_diatonic_excercises/008-the-diatonic-scales.xml deleted file mode 100644 index 66fa726..0000000 --- a/data/practice/melody/001_diatonic_excercises/008-the-diatonic-scales.xml +++ /dev/null @@ -1,785 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-14 - - - - - Vocal - - - - - - 8 - - 0 - major - - - - G - 2 - - - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - B - 4 - - 4 - eighth - end - - - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - G - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - - - D - 6 - - 4 - eighth - begin - - - - E - 6 - - 4 - eighth - continue - - - - D - 6 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - F - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - C - 4 - - 4 - eighth - end - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - - - F - 4 - - 32 - whole - - - - diff --git a/data/practice/melody/001_diatonic_excercises/009-the-diatonic-scales.xml b/data/practice/melody/001_diatonic_excercises/009-the-diatonic-scales.xml deleted file mode 100644 index 66fa726..0000000 --- a/data/practice/melody/001_diatonic_excercises/009-the-diatonic-scales.xml +++ /dev/null @@ -1,785 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-14 - - - - - Vocal - - - - - - 8 - - 0 - major - - - - G - 2 - - - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - B - 4 - - 4 - eighth - end - - - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - G - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - - - D - 6 - - 4 - eighth - begin - - - - E - 6 - - 4 - eighth - continue - - - - D - 6 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - F - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - C - 4 - - 4 - eighth - end - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - - - F - 4 - - 32 - whole - - - - diff --git a/data/practice/melody/001_diatonic_excercises/010-the-diatonic-scales.xml b/data/practice/melody/001_diatonic_excercises/010-the-diatonic-scales.xml deleted file mode 100644 index 66fa726..0000000 --- a/data/practice/melody/001_diatonic_excercises/010-the-diatonic-scales.xml +++ /dev/null @@ -1,785 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-14 - - - - - Vocal - - - - - - 8 - - 0 - major - - - - G - 2 - - - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - B - 4 - - 4 - eighth - end - - - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - G - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - - - D - 6 - - 4 - eighth - begin - - - - E - 6 - - 4 - eighth - continue - - - - D - 6 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - F - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - C - 4 - - 4 - eighth - end - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - - - F - 4 - - 32 - whole - - - - diff --git a/data/practice/melody/001_diatonic_excercises/011-the-diatonic-scales.xml b/data/practice/melody/001_diatonic_excercises/011-the-diatonic-scales.xml deleted file mode 100644 index 66fa726..0000000 --- a/data/practice/melody/001_diatonic_excercises/011-the-diatonic-scales.xml +++ /dev/null @@ -1,785 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-14 - - - - - Vocal - - - - - - 8 - - 0 - major - - - - G - 2 - - - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - B - 4 - - 4 - eighth - end - - - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - G - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - - - D - 6 - - 4 - eighth - begin - - - - E - 6 - - 4 - eighth - continue - - - - D - 6 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - F - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - C - 4 - - 4 - eighth - end - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - - - F - 4 - - 32 - whole - - - - diff --git a/data/practice/melody/001_diatonic_excercises/012-the-diatonic-scales.xml b/data/practice/melody/001_diatonic_excercises/012-the-diatonic-scales.xml deleted file mode 100644 index 66fa726..0000000 --- a/data/practice/melody/001_diatonic_excercises/012-the-diatonic-scales.xml +++ /dev/null @@ -1,785 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-14 - - - - - Vocal - - - - - - 8 - - 0 - major - - - - G - 2 - - - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - B - 4 - - 4 - eighth - end - - - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - G - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - - - D - 6 - - 4 - eighth - begin - - - - E - 6 - - 4 - eighth - continue - - - - D - 6 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - F - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - C - 4 - - 4 - eighth - end - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - - - F - 4 - - 32 - whole - - - - diff --git a/data/practice/melody/001_diatonic_excercises/013-the-diatonic-scales.xml b/data/practice/melody/001_diatonic_excercises/013-the-diatonic-scales.xml deleted file mode 100644 index 66fa726..0000000 --- a/data/practice/melody/001_diatonic_excercises/013-the-diatonic-scales.xml +++ /dev/null @@ -1,785 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-14 - - - - - Vocal - - - - - - 8 - - 0 - major - - - - G - 2 - - - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - B - 4 - - 4 - eighth - end - - - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - G - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - - - D - 6 - - 4 - eighth - begin - - - - E - 6 - - 4 - eighth - continue - - - - D - 6 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - F - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - C - 4 - - 4 - eighth - end - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - - - F - 4 - - 32 - whole - - - - diff --git a/data/practice/melody/001_diatonic_excercises/014-the-diatonic-scales.xml b/data/practice/melody/001_diatonic_excercises/014-the-diatonic-scales.xml deleted file mode 100644 index 66fa726..0000000 --- a/data/practice/melody/001_diatonic_excercises/014-the-diatonic-scales.xml +++ /dev/null @@ -1,785 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-14 - - - - - Vocal - - - - - - 8 - - 0 - major - - - - G - 2 - - - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - B - 4 - - 4 - eighth - end - - - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - G - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - - - D - 6 - - 4 - eighth - begin - - - - E - 6 - - 4 - eighth - continue - - - - D - 6 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - F - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - C - 4 - - 4 - eighth - end - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - - - F - 4 - - 32 - whole - - - - diff --git a/data/practice/melody/001_diatonic_excercises/015-the-diatonic-scales.xml b/data/practice/melody/001_diatonic_excercises/015-the-diatonic-scales.xml deleted file mode 100644 index 66fa726..0000000 --- a/data/practice/melody/001_diatonic_excercises/015-the-diatonic-scales.xml +++ /dev/null @@ -1,785 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-14 - - - - - Vocal - - - - - - 8 - - 0 - major - - - - G - 2 - - - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - B - 4 - - 4 - eighth - end - - - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - G - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - - - D - 6 - - 4 - eighth - begin - - - - E - 6 - - 4 - eighth - continue - - - - D - 6 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - F - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - C - 4 - - 4 - eighth - end - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - - - F - 4 - - 32 - whole - - - - diff --git a/data/practice/melody/001_diatonic_excercises/016-the-diatonic-scales.xml b/data/practice/melody/001_diatonic_excercises/016-the-diatonic-scales.xml deleted file mode 100644 index 66fa726..0000000 --- a/data/practice/melody/001_diatonic_excercises/016-the-diatonic-scales.xml +++ /dev/null @@ -1,785 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-14 - - - - - Vocal - - - - - - 8 - - 0 - major - - - - G - 2 - - - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - B - 4 - - 4 - eighth - end - - - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - G - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - - - D - 6 - - 4 - eighth - begin - - - - E - 6 - - 4 - eighth - continue - - - - D - 6 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - F - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - C - 4 - - 4 - eighth - end - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - - - F - 4 - - 32 - whole - - - - diff --git a/data/practice/melody/001_diatonic_excercises/017-diatonic-interval-studies.xml b/data/practice/melody/001_diatonic_excercises/017-diatonic-interval-studies.xml deleted file mode 100644 index 66fa726..0000000 --- a/data/practice/melody/001_diatonic_excercises/017-diatonic-interval-studies.xml +++ /dev/null @@ -1,785 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-14 - - - - - Vocal - - - - - - 8 - - 0 - major - - - - G - 2 - - - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - B - 4 - - 4 - eighth - end - - - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - G - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - - - D - 6 - - 4 - eighth - begin - - - - E - 6 - - 4 - eighth - continue - - - - D - 6 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - F - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - C - 4 - - 4 - eighth - end - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - - - F - 4 - - 32 - whole - - - - diff --git a/data/practice/melody/001_diatonic_excercises/018-diatonic-interval-studies.xml b/data/practice/melody/001_diatonic_excercises/018-diatonic-interval-studies.xml deleted file mode 100644 index 66fa726..0000000 --- a/data/practice/melody/001_diatonic_excercises/018-diatonic-interval-studies.xml +++ /dev/null @@ -1,785 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-14 - - - - - Vocal - - - - - - 8 - - 0 - major - - - - G - 2 - - - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - B - 4 - - 4 - eighth - end - - - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - G - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - - - D - 6 - - 4 - eighth - begin - - - - E - 6 - - 4 - eighth - continue - - - - D - 6 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - F - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - C - 4 - - 4 - eighth - end - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - - - F - 4 - - 32 - whole - - - - diff --git a/data/practice/melody/001_diatonic_excercises/019-diatonic-interval-studies.xml b/data/practice/melody/001_diatonic_excercises/019-diatonic-interval-studies.xml deleted file mode 100644 index 66fa726..0000000 --- a/data/practice/melody/001_diatonic_excercises/019-diatonic-interval-studies.xml +++ /dev/null @@ -1,785 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-14 - - - - - Vocal - - - - - - 8 - - 0 - major - - - - G - 2 - - - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - B - 4 - - 4 - eighth - end - - - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - G - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - - - D - 6 - - 4 - eighth - begin - - - - E - 6 - - 4 - eighth - continue - - - - D - 6 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - F - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - C - 4 - - 4 - eighth - end - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - - - F - 4 - - 32 - whole - - - - diff --git a/data/practice/melody/001_diatonic_excercises/020-diatonic-interval-studies.xml b/data/practice/melody/001_diatonic_excercises/020-diatonic-interval-studies.xml deleted file mode 100644 index 66fa726..0000000 --- a/data/practice/melody/001_diatonic_excercises/020-diatonic-interval-studies.xml +++ /dev/null @@ -1,785 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-14 - - - - - Vocal - - - - - - 8 - - 0 - major - - - - G - 2 - - - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - B - 4 - - 4 - eighth - end - - - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - G - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - - - D - 6 - - 4 - eighth - begin - - - - E - 6 - - 4 - eighth - continue - - - - D - 6 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - F - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - C - 4 - - 4 - eighth - end - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - - - F - 4 - - 32 - whole - - - - diff --git a/data/practice/melody/001_diatonic_excercises/021-diatonic-interval-studies.xml b/data/practice/melody/001_diatonic_excercises/021-diatonic-interval-studies.xml deleted file mode 100644 index 66fa726..0000000 --- a/data/practice/melody/001_diatonic_excercises/021-diatonic-interval-studies.xml +++ /dev/null @@ -1,785 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-14 - - - - - Vocal - - - - - - 8 - - 0 - major - - - - G - 2 - - - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - B - 4 - - 4 - eighth - end - - - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - G - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - - - D - 6 - - 4 - eighth - begin - - - - E - 6 - - 4 - eighth - continue - - - - D - 6 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - F - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - C - 4 - - 4 - eighth - end - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - - - F - 4 - - 32 - whole - - - - diff --git a/data/practice/melody/001_diatonic_excercises/022-diatonic-interval-studies.xml b/data/practice/melody/001_diatonic_excercises/022-diatonic-interval-studies.xml deleted file mode 100644 index 66fa726..0000000 --- a/data/practice/melody/001_diatonic_excercises/022-diatonic-interval-studies.xml +++ /dev/null @@ -1,785 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-14 - - - - - Vocal - - - - - - 8 - - 0 - major - - - - G - 2 - - - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - B - 4 - - 4 - eighth - end - - - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - G - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - - - D - 6 - - 4 - eighth - begin - - - - E - 6 - - 4 - eighth - continue - - - - D - 6 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - F - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - C - 4 - - 4 - eighth - end - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - - - F - 4 - - 32 - whole - - - - diff --git a/data/practice/melody/001_diatonic_excercises/023-diatonic-interval-studies.xml b/data/practice/melody/001_diatonic_excercises/023-diatonic-interval-studies.xml deleted file mode 100644 index 66fa726..0000000 --- a/data/practice/melody/001_diatonic_excercises/023-diatonic-interval-studies.xml +++ /dev/null @@ -1,785 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-14 - - - - - Vocal - - - - - - 8 - - 0 - major - - - - G - 2 - - - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - B - 4 - - 4 - eighth - end - - - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - G - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - - - D - 6 - - 4 - eighth - begin - - - - E - 6 - - 4 - eighth - continue - - - - D - 6 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - F - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - C - 4 - - 4 - eighth - end - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - - - F - 4 - - 32 - whole - - - - diff --git a/data/practice/melody/001_diatonic_excercises/024-diatonic-interval-studies.xml b/data/practice/melody/001_diatonic_excercises/024-diatonic-interval-studies.xml deleted file mode 100644 index 66fa726..0000000 --- a/data/practice/melody/001_diatonic_excercises/024-diatonic-interval-studies.xml +++ /dev/null @@ -1,785 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-14 - - - - - Vocal - - - - - - 8 - - 0 - major - - - - G - 2 - - - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - B - 4 - - 4 - eighth - end - - - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - G - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - - - D - 6 - - 4 - eighth - begin - - - - E - 6 - - 4 - eighth - continue - - - - D - 6 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - F - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - C - 4 - - 4 - eighth - end - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - - - F - 4 - - 32 - whole - - - - diff --git a/data/practice/melody/001_diatonic_excercises/025-diatonic-interval-studies.xml b/data/practice/melody/001_diatonic_excercises/025-diatonic-interval-studies.xml deleted file mode 100644 index 66fa726..0000000 --- a/data/practice/melody/001_diatonic_excercises/025-diatonic-interval-studies.xml +++ /dev/null @@ -1,785 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-14 - - - - - Vocal - - - - - - 8 - - 0 - major - - - - G - 2 - - - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - B - 4 - - 4 - eighth - end - - - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - G - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - - - D - 6 - - 4 - eighth - begin - - - - E - 6 - - 4 - eighth - continue - - - - D - 6 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - F - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - C - 4 - - 4 - eighth - end - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - - - F - 4 - - 32 - whole - - - - diff --git a/data/practice/melody/001_diatonic_excercises/026-diatonic-interval-studies.xml b/data/practice/melody/001_diatonic_excercises/026-diatonic-interval-studies.xml deleted file mode 100644 index 66fa726..0000000 --- a/data/practice/melody/001_diatonic_excercises/026-diatonic-interval-studies.xml +++ /dev/null @@ -1,785 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-14 - - - - - Vocal - - - - - - 8 - - 0 - major - - - - G - 2 - - - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - B - 4 - - 4 - eighth - end - - - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - G - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - - - D - 6 - - 4 - eighth - begin - - - - E - 6 - - 4 - eighth - continue - - - - D - 6 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - F - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - C - 4 - - 4 - eighth - end - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - - - F - 4 - - 32 - whole - - - - diff --git a/data/practice/melody/001_diatonic_excercises/027-diatonic-interval-studies.xml b/data/practice/melody/001_diatonic_excercises/027-diatonic-interval-studies.xml deleted file mode 100644 index 66fa726..0000000 --- a/data/practice/melody/001_diatonic_excercises/027-diatonic-interval-studies.xml +++ /dev/null @@ -1,785 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-14 - - - - - Vocal - - - - - - 8 - - 0 - major - - - - G - 2 - - - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - B - 4 - - 4 - eighth - end - - - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - G - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - - - D - 6 - - 4 - eighth - begin - - - - E - 6 - - 4 - eighth - continue - - - - D - 6 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - F - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - C - 4 - - 4 - eighth - end - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - - - F - 4 - - 32 - whole - - - - diff --git a/data/practice/melody/001_diatonic_excercises/028-diatonic-interval-studies.xml b/data/practice/melody/001_diatonic_excercises/028-diatonic-interval-studies.xml deleted file mode 100644 index 66fa726..0000000 --- a/data/practice/melody/001_diatonic_excercises/028-diatonic-interval-studies.xml +++ /dev/null @@ -1,785 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-14 - - - - - Vocal - - - - - - 8 - - 0 - major - - - - G - 2 - - - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - B - 4 - - 4 - eighth - end - - - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - G - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - - - D - 6 - - 4 - eighth - begin - - - - E - 6 - - 4 - eighth - continue - - - - D - 6 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - F - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - C - 4 - - 4 - eighth - end - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - - - F - 4 - - 32 - whole - - - - diff --git a/data/practice/melody/001_diatonic_excercises/029-diatonic-interval-studies.xml b/data/practice/melody/001_diatonic_excercises/029-diatonic-interval-studies.xml deleted file mode 100644 index 66fa726..0000000 --- a/data/practice/melody/001_diatonic_excercises/029-diatonic-interval-studies.xml +++ /dev/null @@ -1,785 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-14 - - - - - Vocal - - - - - - 8 - - 0 - major - - - - G - 2 - - - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - B - 4 - - 4 - eighth - end - - - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - G - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - - - D - 6 - - 4 - eighth - begin - - - - E - 6 - - 4 - eighth - continue - - - - D - 6 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - F - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - C - 4 - - 4 - eighth - end - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - - - F - 4 - - 32 - whole - - - - diff --git a/data/practice/melody/001_diatonic_excercises/030-diatonic-interval-studies.xml b/data/practice/melody/001_diatonic_excercises/030-diatonic-interval-studies.xml deleted file mode 100644 index 66fa726..0000000 --- a/data/practice/melody/001_diatonic_excercises/030-diatonic-interval-studies.xml +++ /dev/null @@ -1,785 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-14 - - - - - Vocal - - - - - - 8 - - 0 - major - - - - G - 2 - - - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - B - 4 - - 4 - eighth - end - - - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - G - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - - - D - 6 - - 4 - eighth - begin - - - - E - 6 - - 4 - eighth - continue - - - - D - 6 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - F - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - C - 4 - - 4 - eighth - end - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - - - F - 4 - - 32 - whole - - - - diff --git a/data/practice/melody/001_diatonic_excercises/031-diatonic-interval-studies.xml b/data/practice/melody/001_diatonic_excercises/031-diatonic-interval-studies.xml deleted file mode 100644 index 66fa726..0000000 --- a/data/practice/melody/001_diatonic_excercises/031-diatonic-interval-studies.xml +++ /dev/null @@ -1,785 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-14 - - - - - Vocal - - - - - - 8 - - 0 - major - - - - G - 2 - - - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - B - 4 - - 4 - eighth - end - - - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - G - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - - - D - 6 - - 4 - eighth - begin - - - - E - 6 - - 4 - eighth - continue - - - - D - 6 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - F - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - C - 4 - - 4 - eighth - end - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - - - F - 4 - - 32 - whole - - - - diff --git a/data/practice/melody/001_diatonic_excercises/032-diatonic-interval-studies.xml b/data/practice/melody/001_diatonic_excercises/032-diatonic-interval-studies.xml deleted file mode 100644 index 66fa726..0000000 --- a/data/practice/melody/001_diatonic_excercises/032-diatonic-interval-studies.xml +++ /dev/null @@ -1,785 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-14 - - - - - Vocal - - - - - - 8 - - 0 - major - - - - G - 2 - - - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - B - 4 - - 4 - eighth - end - - - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - G - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - - - D - 6 - - 4 - eighth - begin - - - - E - 6 - - 4 - eighth - continue - - - - D - 6 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - F - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - C - 4 - - 4 - eighth - end - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - - - F - 4 - - 32 - whole - - - - diff --git a/data/practice/melody/001_diatonic_excercises/033-diatonic-interval-studies.xml b/data/practice/melody/001_diatonic_excercises/033-diatonic-interval-studies.xml deleted file mode 100644 index 66fa726..0000000 --- a/data/practice/melody/001_diatonic_excercises/033-diatonic-interval-studies.xml +++ /dev/null @@ -1,785 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-14 - - - - - Vocal - - - - - - 8 - - 0 - major - - - - G - 2 - - - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - B - 4 - - 4 - eighth - end - - - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - G - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - - - D - 6 - - 4 - eighth - begin - - - - E - 6 - - 4 - eighth - continue - - - - D - 6 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - F - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - C - 4 - - 4 - eighth - end - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - - - F - 4 - - 32 - whole - - - - diff --git a/data/practice/melody/001_diatonic_excercises/034-diatonic-interval-studies.xml b/data/practice/melody/001_diatonic_excercises/034-diatonic-interval-studies.xml deleted file mode 100644 index 66fa726..0000000 --- a/data/practice/melody/001_diatonic_excercises/034-diatonic-interval-studies.xml +++ /dev/null @@ -1,785 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-14 - - - - - Vocal - - - - - - 8 - - 0 - major - - - - G - 2 - - - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - B - 4 - - 4 - eighth - end - - - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - G - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - - - D - 6 - - 4 - eighth - begin - - - - E - 6 - - 4 - eighth - continue - - - - D - 6 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - F - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - C - 4 - - 4 - eighth - end - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - - - F - 4 - - 32 - whole - - - - diff --git a/data/practice/melody/001_diatonic_excercises/035-diatonic-interval-studies.xml b/data/practice/melody/001_diatonic_excercises/035-diatonic-interval-studies.xml deleted file mode 100644 index 66fa726..0000000 --- a/data/practice/melody/001_diatonic_excercises/035-diatonic-interval-studies.xml +++ /dev/null @@ -1,785 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-14 - - - - - Vocal - - - - - - 8 - - 0 - major - - - - G - 2 - - - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - B - 4 - - 4 - eighth - end - - - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - G - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - - - D - 6 - - 4 - eighth - begin - - - - E - 6 - - 4 - eighth - continue - - - - D - 6 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - F - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - C - 4 - - 4 - eighth - end - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - - - F - 4 - - 32 - whole - - - - diff --git a/data/practice/melody/001_diatonic_excercises/036-diatonic-interval-studies.xml b/data/practice/melody/001_diatonic_excercises/036-diatonic-interval-studies.xml deleted file mode 100644 index 66fa726..0000000 --- a/data/practice/melody/001_diatonic_excercises/036-diatonic-interval-studies.xml +++ /dev/null @@ -1,785 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-14 - - - - - Vocal - - - - - - 8 - - 0 - major - - - - G - 2 - - - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - B - 4 - - 4 - eighth - end - - - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - G - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - - - D - 6 - - 4 - eighth - begin - - - - E - 6 - - 4 - eighth - continue - - - - D - 6 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - F - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - C - 4 - - 4 - eighth - end - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - - - F - 4 - - 32 - whole - - - - diff --git a/data/practice/melody/001_diatonic_excercises/037-diatonic-interval-studies.xml b/data/practice/melody/001_diatonic_excercises/037-diatonic-interval-studies.xml deleted file mode 100644 index 66fa726..0000000 --- a/data/practice/melody/001_diatonic_excercises/037-diatonic-interval-studies.xml +++ /dev/null @@ -1,785 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-14 - - - - - Vocal - - - - - - 8 - - 0 - major - - - - G - 2 - - - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - B - 4 - - 4 - eighth - end - - - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - G - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - - - D - 6 - - 4 - eighth - begin - - - - E - 6 - - 4 - eighth - continue - - - - D - 6 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - F - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - C - 4 - - 4 - eighth - end - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - - - F - 4 - - 32 - whole - - - - diff --git a/data/practice/melody/001_diatonic_excercises/038-diatonic-interval-studies.xml b/data/practice/melody/001_diatonic_excercises/038-diatonic-interval-studies.xml deleted file mode 100644 index 66fa726..0000000 --- a/data/practice/melody/001_diatonic_excercises/038-diatonic-interval-studies.xml +++ /dev/null @@ -1,785 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-14 - - - - - Vocal - - - - - - 8 - - 0 - major - - - - G - 2 - - - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - B - 4 - - 4 - eighth - end - - - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - G - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - - - D - 6 - - 4 - eighth - begin - - - - E - 6 - - 4 - eighth - continue - - - - D - 6 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - F - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - C - 4 - - 4 - eighth - end - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - - - F - 4 - - 32 - whole - - - - diff --git a/data/practice/melody/001_diatonic_excercises/039-diatonic-interval-studies.xml b/data/practice/melody/001_diatonic_excercises/039-diatonic-interval-studies.xml deleted file mode 100644 index 66fa726..0000000 --- a/data/practice/melody/001_diatonic_excercises/039-diatonic-interval-studies.xml +++ /dev/null @@ -1,785 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-14 - - - - - Vocal - - - - - - 8 - - 0 - major - - - - G - 2 - - - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - B - 4 - - 4 - eighth - end - - - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - G - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - - - D - 6 - - 4 - eighth - begin - - - - E - 6 - - 4 - eighth - continue - - - - D - 6 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - F - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - C - 4 - - 4 - eighth - end - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - - - F - 4 - - 32 - whole - - - - diff --git a/data/practice/melody/001_diatonic_excercises/040-diatonic-interval-studies.xml b/data/practice/melody/001_diatonic_excercises/040-diatonic-interval-studies.xml deleted file mode 100644 index 66fa726..0000000 --- a/data/practice/melody/001_diatonic_excercises/040-diatonic-interval-studies.xml +++ /dev/null @@ -1,785 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-14 - - - - - Vocal - - - - - - 8 - - 0 - major - - - - G - 2 - - - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - B - 4 - - 4 - eighth - end - - - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - G - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - - - D - 6 - - 4 - eighth - begin - - - - E - 6 - - 4 - eighth - continue - - - - D - 6 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - F - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - C - 4 - - 4 - eighth - end - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - - - F - 4 - - 32 - whole - - - - diff --git a/data/practice/melody/001_diatonic_excercises/041-diatonic-interval-studies.xml b/data/practice/melody/001_diatonic_excercises/041-diatonic-interval-studies.xml deleted file mode 100644 index 66fa726..0000000 --- a/data/practice/melody/001_diatonic_excercises/041-diatonic-interval-studies.xml +++ /dev/null @@ -1,785 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-14 - - - - - Vocal - - - - - - 8 - - 0 - major - - - - G - 2 - - - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - B - 4 - - 4 - eighth - end - - - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - G - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - - - D - 6 - - 4 - eighth - begin - - - - E - 6 - - 4 - eighth - continue - - - - D - 6 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - F - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - C - 4 - - 4 - eighth - end - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - - - F - 4 - - 32 - whole - - - - diff --git a/data/practice/melody/001_diatonic_excercises/042-diatonic-interval-studies.xml b/data/practice/melody/001_diatonic_excercises/042-diatonic-interval-studies.xml deleted file mode 100644 index 66fa726..0000000 --- a/data/practice/melody/001_diatonic_excercises/042-diatonic-interval-studies.xml +++ /dev/null @@ -1,785 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-14 - - - - - Vocal - - - - - - 8 - - 0 - major - - - - G - 2 - - - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - B - 4 - - 4 - eighth - end - - - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - G - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - - - D - 6 - - 4 - eighth - begin - - - - E - 6 - - 4 - eighth - continue - - - - D - 6 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - F - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - C - 4 - - 4 - eighth - end - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - - - F - 4 - - 32 - whole - - - - diff --git a/data/practice/melody/001_diatonic_excercises/043-diatonic-interval-studies.xml b/data/practice/melody/001_diatonic_excercises/043-diatonic-interval-studies.xml deleted file mode 100644 index 66fa726..0000000 --- a/data/practice/melody/001_diatonic_excercises/043-diatonic-interval-studies.xml +++ /dev/null @@ -1,785 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-14 - - - - - Vocal - - - - - - 8 - - 0 - major - - - - G - 2 - - - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - B - 4 - - 4 - eighth - end - - - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - G - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - - - D - 6 - - 4 - eighth - begin - - - - E - 6 - - 4 - eighth - continue - - - - D - 6 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - F - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - C - 4 - - 4 - eighth - end - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - - - F - 4 - - 32 - whole - - - - diff --git a/data/practice/melody/001_diatonic_excercises/044-diatonic-interval-studies.xml b/data/practice/melody/001_diatonic_excercises/044-diatonic-interval-studies.xml deleted file mode 100644 index 66fa726..0000000 --- a/data/practice/melody/001_diatonic_excercises/044-diatonic-interval-studies.xml +++ /dev/null @@ -1,785 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-14 - - - - - Vocal - - - - - - 8 - - 0 - major - - - - G - 2 - - - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - B - 4 - - 4 - eighth - end - - - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - G - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - - - D - 6 - - 4 - eighth - begin - - - - E - 6 - - 4 - eighth - continue - - - - D - 6 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - F - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - C - 4 - - 4 - eighth - end - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - - - F - 4 - - 32 - whole - - - - diff --git a/data/practice/melody/001_diatonic_excercises/045-diatonic-interval-studies.xml b/data/practice/melody/001_diatonic_excercises/045-diatonic-interval-studies.xml deleted file mode 100644 index 66fa726..0000000 --- a/data/practice/melody/001_diatonic_excercises/045-diatonic-interval-studies.xml +++ /dev/null @@ -1,785 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-14 - - - - - Vocal - - - - - - 8 - - 0 - major - - - - G - 2 - - - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - B - 4 - - 4 - eighth - end - - - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - G - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - - - D - 6 - - 4 - eighth - begin - - - - E - 6 - - 4 - eighth - continue - - - - D - 6 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - F - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - C - 4 - - 4 - eighth - end - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - - - F - 4 - - 32 - whole - - - - diff --git a/data/practice/melody/001_diatonic_excercises/046-diatonic-interval-studies.xml b/data/practice/melody/001_diatonic_excercises/046-diatonic-interval-studies.xml deleted file mode 100644 index 66fa726..0000000 --- a/data/practice/melody/001_diatonic_excercises/046-diatonic-interval-studies.xml +++ /dev/null @@ -1,785 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-14 - - - - - Vocal - - - - - - 8 - - 0 - major - - - - G - 2 - - - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - B - 4 - - 4 - eighth - end - - - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - G - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - - - D - 6 - - 4 - eighth - begin - - - - E - 6 - - 4 - eighth - continue - - - - D - 6 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - F - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - C - 4 - - 4 - eighth - end - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - - - F - 4 - - 32 - whole - - - - diff --git a/data/practice/melody/001_diatonic_excercises/047-diatonic-interval-studies.xml b/data/practice/melody/001_diatonic_excercises/047-diatonic-interval-studies.xml deleted file mode 100644 index 66fa726..0000000 --- a/data/practice/melody/001_diatonic_excercises/047-diatonic-interval-studies.xml +++ /dev/null @@ -1,785 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-14 - - - - - Vocal - - - - - - 8 - - 0 - major - - - - G - 2 - - - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - B - 4 - - 4 - eighth - end - - - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - G - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - - - D - 6 - - 4 - eighth - begin - - - - E - 6 - - 4 - eighth - continue - - - - D - 6 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - F - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - C - 4 - - 4 - eighth - end - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - - - F - 4 - - 32 - whole - - - - diff --git a/data/practice/melody/001_diatonic_excercises/048-diatonic-interval-studies.xml b/data/practice/melody/001_diatonic_excercises/048-diatonic-interval-studies.xml deleted file mode 100644 index 66fa726..0000000 --- a/data/practice/melody/001_diatonic_excercises/048-diatonic-interval-studies.xml +++ /dev/null @@ -1,785 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-14 - - - - - Vocal - - - - - - 8 - - 0 - major - - - - G - 2 - - - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - B - 4 - - 4 - eighth - end - - - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - G - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - - - D - 6 - - 4 - eighth - begin - - - - E - 6 - - 4 - eighth - continue - - - - D - 6 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - F - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - C - 4 - - 4 - eighth - end - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - - - F - 4 - - 32 - whole - - - - diff --git a/data/practice/melody/001_diatonic_excercises/049-diatonic-interval-studies.xml b/data/practice/melody/001_diatonic_excercises/049-diatonic-interval-studies.xml deleted file mode 100644 index 66fa726..0000000 --- a/data/practice/melody/001_diatonic_excercises/049-diatonic-interval-studies.xml +++ /dev/null @@ -1,785 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-14 - - - - - Vocal - - - - - - 8 - - 0 - major - - - - G - 2 - - - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - B - 4 - - 4 - eighth - end - - - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - G - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - - - D - 6 - - 4 - eighth - begin - - - - E - 6 - - 4 - eighth - continue - - - - D - 6 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - F - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - C - 4 - - 4 - eighth - end - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - - - F - 4 - - 32 - whole - - - - diff --git a/data/practice/melody/001_diatonic_excercises/050-diatonic-interval-studies.xml b/data/practice/melody/001_diatonic_excercises/050-diatonic-interval-studies.xml deleted file mode 100644 index 66fa726..0000000 --- a/data/practice/melody/001_diatonic_excercises/050-diatonic-interval-studies.xml +++ /dev/null @@ -1,785 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-14 - - - - - Vocal - - - - - - 8 - - 0 - major - - - - G - 2 - - - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - B - 4 - - 4 - eighth - end - - - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - G - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - - - D - 6 - - 4 - eighth - begin - - - - E - 6 - - 4 - eighth - continue - - - - D - 6 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - F - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - C - 4 - - 4 - eighth - end - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - - - F - 4 - - 32 - whole - - - - diff --git a/data/practice/melody/001_diatonic_excercises/051-diatonic-interval-studies.xml b/data/practice/melody/001_diatonic_excercises/051-diatonic-interval-studies.xml deleted file mode 100644 index 66fa726..0000000 --- a/data/practice/melody/001_diatonic_excercises/051-diatonic-interval-studies.xml +++ /dev/null @@ -1,785 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-14 - - - - - Vocal - - - - - - 8 - - 0 - major - - - - G - 2 - - - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - B - 4 - - 4 - eighth - end - - - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - G - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - - - D - 6 - - 4 - eighth - begin - - - - E - 6 - - 4 - eighth - continue - - - - D - 6 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - F - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - C - 4 - - 4 - eighth - end - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - - - F - 4 - - 32 - whole - - - - diff --git a/data/practice/melody/001_diatonic_excercises/052-diatonic-interval-studies.xml b/data/practice/melody/001_diatonic_excercises/052-diatonic-interval-studies.xml deleted file mode 100644 index 66fa726..0000000 --- a/data/practice/melody/001_diatonic_excercises/052-diatonic-interval-studies.xml +++ /dev/null @@ -1,785 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-14 - - - - - Vocal - - - - - - 8 - - 0 - major - - - - G - 2 - - - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - B - 4 - - 4 - eighth - end - - - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - G - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - - - D - 6 - - 4 - eighth - begin - - - - E - 6 - - 4 - eighth - continue - - - - D - 6 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - F - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - C - 4 - - 4 - eighth - end - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - - - F - 4 - - 32 - whole - - - - diff --git a/data/practice/melody/001_diatonic_excercises/053-diatonic-interval-studies.xml b/data/practice/melody/001_diatonic_excercises/053-diatonic-interval-studies.xml deleted file mode 100644 index 66fa726..0000000 --- a/data/practice/melody/001_diatonic_excercises/053-diatonic-interval-studies.xml +++ /dev/null @@ -1,785 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-14 - - - - - Vocal - - - - - - 8 - - 0 - major - - - - G - 2 - - - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - B - 4 - - 4 - eighth - end - - - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - G - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - - - D - 6 - - 4 - eighth - begin - - - - E - 6 - - 4 - eighth - continue - - - - D - 6 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - F - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - C - 4 - - 4 - eighth - end - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - - - F - 4 - - 32 - whole - - - - diff --git a/data/practice/melody/001_diatonic_excercises/054-diatonic-interval-studies.xml b/data/practice/melody/001_diatonic_excercises/054-diatonic-interval-studies.xml deleted file mode 100644 index 66fa726..0000000 --- a/data/practice/melody/001_diatonic_excercises/054-diatonic-interval-studies.xml +++ /dev/null @@ -1,785 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-14 - - - - - Vocal - - - - - - 8 - - 0 - major - - - - G - 2 - - - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - B - 4 - - 4 - eighth - end - - - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - G - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - - - D - 6 - - 4 - eighth - begin - - - - E - 6 - - 4 - eighth - continue - - - - D - 6 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - F - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - C - 4 - - 4 - eighth - end - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - - - F - 4 - - 32 - whole - - - - diff --git a/data/practice/melody/001_diatonic_excercises/055-diatonic-interval-studies.xml b/data/practice/melody/001_diatonic_excercises/055-diatonic-interval-studies.xml deleted file mode 100644 index 66fa726..0000000 --- a/data/practice/melody/001_diatonic_excercises/055-diatonic-interval-studies.xml +++ /dev/null @@ -1,785 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-14 - - - - - Vocal - - - - - - 8 - - 0 - major - - - - G - 2 - - - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - B - 4 - - 4 - eighth - end - - - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - G - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - - - D - 6 - - 4 - eighth - begin - - - - E - 6 - - 4 - eighth - continue - - - - D - 6 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - F - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - C - 4 - - 4 - eighth - end - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - - - F - 4 - - 32 - whole - - - - diff --git a/data/practice/melody/001_diatonic_excercises/056-diatonic-triad-studies.xml b/data/practice/melody/001_diatonic_excercises/056-diatonic-triad-studies.xml deleted file mode 100644 index 66fa726..0000000 --- a/data/practice/melody/001_diatonic_excercises/056-diatonic-triad-studies.xml +++ /dev/null @@ -1,785 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-14 - - - - - Vocal - - - - - - 8 - - 0 - major - - - - G - 2 - - - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - B - 4 - - 4 - eighth - end - - - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - G - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - - - D - 6 - - 4 - eighth - begin - - - - E - 6 - - 4 - eighth - continue - - - - D - 6 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - F - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - C - 4 - - 4 - eighth - end - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - - - F - 4 - - 32 - whole - - - - diff --git a/data/practice/melody/001_diatonic_excercises/057-diatonic-triad-studies.xml b/data/practice/melody/001_diatonic_excercises/057-diatonic-triad-studies.xml deleted file mode 100644 index 66fa726..0000000 --- a/data/practice/melody/001_diatonic_excercises/057-diatonic-triad-studies.xml +++ /dev/null @@ -1,785 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-14 - - - - - Vocal - - - - - - 8 - - 0 - major - - - - G - 2 - - - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - B - 4 - - 4 - eighth - end - - - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - G - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - - - D - 6 - - 4 - eighth - begin - - - - E - 6 - - 4 - eighth - continue - - - - D - 6 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - F - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - C - 4 - - 4 - eighth - end - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - - - F - 4 - - 32 - whole - - - - diff --git a/data/practice/melody/001_diatonic_excercises/058-diatonic-triad-studies.xml b/data/practice/melody/001_diatonic_excercises/058-diatonic-triad-studies.xml deleted file mode 100644 index 66fa726..0000000 --- a/data/practice/melody/001_diatonic_excercises/058-diatonic-triad-studies.xml +++ /dev/null @@ -1,785 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-14 - - - - - Vocal - - - - - - 8 - - 0 - major - - - - G - 2 - - - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - B - 4 - - 4 - eighth - end - - - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - G - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - - - D - 6 - - 4 - eighth - begin - - - - E - 6 - - 4 - eighth - continue - - - - D - 6 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - F - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - C - 4 - - 4 - eighth - end - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - - - F - 4 - - 32 - whole - - - - diff --git a/data/practice/melody/001_diatonic_excercises/059-diatonic-triad-studies.xml b/data/practice/melody/001_diatonic_excercises/059-diatonic-triad-studies.xml deleted file mode 100644 index 66fa726..0000000 --- a/data/practice/melody/001_diatonic_excercises/059-diatonic-triad-studies.xml +++ /dev/null @@ -1,785 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-14 - - - - - Vocal - - - - - - 8 - - 0 - major - - - - G - 2 - - - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - B - 4 - - 4 - eighth - end - - - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - G - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - - - D - 6 - - 4 - eighth - begin - - - - E - 6 - - 4 - eighth - continue - - - - D - 6 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - F - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - C - 4 - - 4 - eighth - end - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - - - F - 4 - - 32 - whole - - - - diff --git a/data/practice/melody/001_diatonic_excercises/060-diatonic-triad-studies.xml b/data/practice/melody/001_diatonic_excercises/060-diatonic-triad-studies.xml deleted file mode 100644 index 66fa726..0000000 --- a/data/practice/melody/001_diatonic_excercises/060-diatonic-triad-studies.xml +++ /dev/null @@ -1,785 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-14 - - - - - Vocal - - - - - - 8 - - 0 - major - - - - G - 2 - - - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - B - 4 - - 4 - eighth - end - - - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - G - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - - - D - 6 - - 4 - eighth - begin - - - - E - 6 - - 4 - eighth - continue - - - - D - 6 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - F - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - C - 4 - - 4 - eighth - end - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - - - F - 4 - - 32 - whole - - - - diff --git a/data/practice/melody/001_diatonic_excercises/061-diatonic-triad-studies.xml b/data/practice/melody/001_diatonic_excercises/061-diatonic-triad-studies.xml deleted file mode 100644 index 66fa726..0000000 --- a/data/practice/melody/001_diatonic_excercises/061-diatonic-triad-studies.xml +++ /dev/null @@ -1,785 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-14 - - - - - Vocal - - - - - - 8 - - 0 - major - - - - G - 2 - - - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - B - 4 - - 4 - eighth - end - - - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - G - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - - - D - 6 - - 4 - eighth - begin - - - - E - 6 - - 4 - eighth - continue - - - - D - 6 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - F - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - C - 4 - - 4 - eighth - end - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - - - F - 4 - - 32 - whole - - - - diff --git a/data/practice/melody/001_diatonic_excercises/062-diatonic-triad-studies.xml b/data/practice/melody/001_diatonic_excercises/062-diatonic-triad-studies.xml deleted file mode 100644 index 66fa726..0000000 --- a/data/practice/melody/001_diatonic_excercises/062-diatonic-triad-studies.xml +++ /dev/null @@ -1,785 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-14 - - - - - Vocal - - - - - - 8 - - 0 - major - - - - G - 2 - - - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - B - 4 - - 4 - eighth - end - - - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - G - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - - - D - 6 - - 4 - eighth - begin - - - - E - 6 - - 4 - eighth - continue - - - - D - 6 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - F - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - C - 4 - - 4 - eighth - end - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - - - F - 4 - - 32 - whole - - - - diff --git a/data/practice/melody/001_diatonic_excercises/063-diatonic-triad-studies.xml b/data/practice/melody/001_diatonic_excercises/063-diatonic-triad-studies.xml deleted file mode 100644 index 66fa726..0000000 --- a/data/practice/melody/001_diatonic_excercises/063-diatonic-triad-studies.xml +++ /dev/null @@ -1,785 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-14 - - - - - Vocal - - - - - - 8 - - 0 - major - - - - G - 2 - - - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - B - 4 - - 4 - eighth - end - - - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - G - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - - - D - 6 - - 4 - eighth - begin - - - - E - 6 - - 4 - eighth - continue - - - - D - 6 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - F - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - C - 4 - - 4 - eighth - end - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - - - F - 4 - - 32 - whole - - - - diff --git a/data/practice/melody/001_diatonic_excercises/064-diatonic-triad-studies.xml b/data/practice/melody/001_diatonic_excercises/064-diatonic-triad-studies.xml deleted file mode 100644 index 66fa726..0000000 --- a/data/practice/melody/001_diatonic_excercises/064-diatonic-triad-studies.xml +++ /dev/null @@ -1,785 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-14 - - - - - Vocal - - - - - - 8 - - 0 - major - - - - G - 2 - - - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - B - 4 - - 4 - eighth - end - - - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - G - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - - - D - 6 - - 4 - eighth - begin - - - - E - 6 - - 4 - eighth - continue - - - - D - 6 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - F - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - C - 4 - - 4 - eighth - end - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - - - F - 4 - - 32 - whole - - - - diff --git a/data/practice/melody/001_diatonic_excercises/065-diatonic-triad-studies.xml b/data/practice/melody/001_diatonic_excercises/065-diatonic-triad-studies.xml deleted file mode 100644 index 66fa726..0000000 --- a/data/practice/melody/001_diatonic_excercises/065-diatonic-triad-studies.xml +++ /dev/null @@ -1,785 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-14 - - - - - Vocal - - - - - - 8 - - 0 - major - - - - G - 2 - - - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - B - 4 - - 4 - eighth - end - - - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - G - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - - - D - 6 - - 4 - eighth - begin - - - - E - 6 - - 4 - eighth - continue - - - - D - 6 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - F - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - C - 4 - - 4 - eighth - end - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - - - F - 4 - - 32 - whole - - - - diff --git a/data/practice/melody/001_diatonic_excercises/066-diatonic-triad-studies.xml b/data/practice/melody/001_diatonic_excercises/066-diatonic-triad-studies.xml deleted file mode 100644 index 66fa726..0000000 --- a/data/practice/melody/001_diatonic_excercises/066-diatonic-triad-studies.xml +++ /dev/null @@ -1,785 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-14 - - - - - Vocal - - - - - - 8 - - 0 - major - - - - G - 2 - - - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - B - 4 - - 4 - eighth - end - - - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - G - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - - - D - 6 - - 4 - eighth - begin - - - - E - 6 - - 4 - eighth - continue - - - - D - 6 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - F - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - C - 4 - - 4 - eighth - end - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - - - F - 4 - - 32 - whole - - - - diff --git a/data/practice/melody/001_diatonic_excercises/067-diatonic-triad-studies.xml b/data/practice/melody/001_diatonic_excercises/067-diatonic-triad-studies.xml deleted file mode 100644 index 66fa726..0000000 --- a/data/practice/melody/001_diatonic_excercises/067-diatonic-triad-studies.xml +++ /dev/null @@ -1,785 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-14 - - - - - Vocal - - - - - - 8 - - 0 - major - - - - G - 2 - - - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - B - 4 - - 4 - eighth - end - - - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - G - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - - - D - 6 - - 4 - eighth - begin - - - - E - 6 - - 4 - eighth - continue - - - - D - 6 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - F - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - C - 4 - - 4 - eighth - end - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - - - F - 4 - - 32 - whole - - - - diff --git a/data/practice/melody/001_diatonic_excercises/068-diatonic-triad-studies.xml b/data/practice/melody/001_diatonic_excercises/068-diatonic-triad-studies.xml deleted file mode 100644 index 66fa726..0000000 --- a/data/practice/melody/001_diatonic_excercises/068-diatonic-triad-studies.xml +++ /dev/null @@ -1,785 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-14 - - - - - Vocal - - - - - - 8 - - 0 - major - - - - G - 2 - - - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - B - 4 - - 4 - eighth - end - - - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - G - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - - - D - 6 - - 4 - eighth - begin - - - - E - 6 - - 4 - eighth - continue - - - - D - 6 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - F - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - C - 4 - - 4 - eighth - end - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - - - F - 4 - - 32 - whole - - - - diff --git a/data/practice/melody/001_diatonic_excercises/069-diatonic-triad-studies.xml b/data/practice/melody/001_diatonic_excercises/069-diatonic-triad-studies.xml deleted file mode 100644 index 66fa726..0000000 --- a/data/practice/melody/001_diatonic_excercises/069-diatonic-triad-studies.xml +++ /dev/null @@ -1,785 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-14 - - - - - Vocal - - - - - - 8 - - 0 - major - - - - G - 2 - - - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - B - 4 - - 4 - eighth - end - - - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - G - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - - - D - 6 - - 4 - eighth - begin - - - - E - 6 - - 4 - eighth - continue - - - - D - 6 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - F - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - C - 4 - - 4 - eighth - end - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - - - F - 4 - - 32 - whole - - - - diff --git a/data/practice/melody/001_diatonic_excercises/070-diatonic-triad-studies.xml b/data/practice/melody/001_diatonic_excercises/070-diatonic-triad-studies.xml deleted file mode 100644 index 66fa726..0000000 --- a/data/practice/melody/001_diatonic_excercises/070-diatonic-triad-studies.xml +++ /dev/null @@ -1,785 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-14 - - - - - Vocal - - - - - - 8 - - 0 - major - - - - G - 2 - - - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - B - 4 - - 4 - eighth - end - - - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - G - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - - - D - 6 - - 4 - eighth - begin - - - - E - 6 - - 4 - eighth - continue - - - - D - 6 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - F - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - C - 4 - - 4 - eighth - end - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - - - F - 4 - - 32 - whole - - - - diff --git a/data/practice/melody/001_diatonic_excercises/071-diatonic-triad-studies.xml b/data/practice/melody/001_diatonic_excercises/071-diatonic-triad-studies.xml deleted file mode 100644 index 66fa726..0000000 --- a/data/practice/melody/001_diatonic_excercises/071-diatonic-triad-studies.xml +++ /dev/null @@ -1,785 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-14 - - - - - Vocal - - - - - - 8 - - 0 - major - - - - G - 2 - - - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - B - 4 - - 4 - eighth - end - - - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - G - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - - - D - 6 - - 4 - eighth - begin - - - - E - 6 - - 4 - eighth - continue - - - - D - 6 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - F - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - C - 4 - - 4 - eighth - end - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - - - F - 4 - - 32 - whole - - - - diff --git a/data/practice/melody/001_diatonic_excercises/072-diatonic-triad-studies.xml b/data/practice/melody/001_diatonic_excercises/072-diatonic-triad-studies.xml deleted file mode 100644 index 66fa726..0000000 --- a/data/practice/melody/001_diatonic_excercises/072-diatonic-triad-studies.xml +++ /dev/null @@ -1,785 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-14 - - - - - Vocal - - - - - - 8 - - 0 - major - - - - G - 2 - - - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - B - 4 - - 4 - eighth - end - - - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - G - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - - - D - 6 - - 4 - eighth - begin - - - - E - 6 - - 4 - eighth - continue - - - - D - 6 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - F - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - C - 4 - - 4 - eighth - end - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - - - F - 4 - - 32 - whole - - - - diff --git a/data/practice/melody/001_diatonic_excercises/073-diatonic-triad-studies.xml b/data/practice/melody/001_diatonic_excercises/073-diatonic-triad-studies.xml deleted file mode 100644 index 66fa726..0000000 --- a/data/practice/melody/001_diatonic_excercises/073-diatonic-triad-studies.xml +++ /dev/null @@ -1,785 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-14 - - - - - Vocal - - - - - - 8 - - 0 - major - - - - G - 2 - - - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - B - 4 - - 4 - eighth - end - - - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - G - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - - - D - 6 - - 4 - eighth - begin - - - - E - 6 - - 4 - eighth - continue - - - - D - 6 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - F - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - C - 4 - - 4 - eighth - end - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - - - F - 4 - - 32 - whole - - - - diff --git a/data/practice/melody/001_diatonic_excercises/074-diatonic-triad-studies.xml b/data/practice/melody/001_diatonic_excercises/074-diatonic-triad-studies.xml deleted file mode 100644 index 66fa726..0000000 --- a/data/practice/melody/001_diatonic_excercises/074-diatonic-triad-studies.xml +++ /dev/null @@ -1,785 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-14 - - - - - Vocal - - - - - - 8 - - 0 - major - - - - G - 2 - - - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - B - 4 - - 4 - eighth - end - - - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - G - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - - - D - 6 - - 4 - eighth - begin - - - - E - 6 - - 4 - eighth - continue - - - - D - 6 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - F - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - C - 4 - - 4 - eighth - end - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - - - F - 4 - - 32 - whole - - - - diff --git a/data/practice/melody/001_diatonic_excercises/075-diatonic-triad-studies.xml b/data/practice/melody/001_diatonic_excercises/075-diatonic-triad-studies.xml deleted file mode 100644 index 66fa726..0000000 --- a/data/practice/melody/001_diatonic_excercises/075-diatonic-triad-studies.xml +++ /dev/null @@ -1,785 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-14 - - - - - Vocal - - - - - - 8 - - 0 - major - - - - G - 2 - - - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - B - 4 - - 4 - eighth - end - - - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - G - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - - - D - 6 - - 4 - eighth - begin - - - - E - 6 - - 4 - eighth - continue - - - - D - 6 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - F - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - C - 4 - - 4 - eighth - end - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - - - F - 4 - - 32 - whole - - - - diff --git a/data/practice/melody/001_diatonic_excercises/076-diatonic-triad-studies.xml b/data/practice/melody/001_diatonic_excercises/076-diatonic-triad-studies.xml deleted file mode 100644 index 66fa726..0000000 --- a/data/practice/melody/001_diatonic_excercises/076-diatonic-triad-studies.xml +++ /dev/null @@ -1,785 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-14 - - - - - Vocal - - - - - - 8 - - 0 - major - - - - G - 2 - - - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - B - 4 - - 4 - eighth - end - - - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - G - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - - - D - 6 - - 4 - eighth - begin - - - - E - 6 - - 4 - eighth - continue - - - - D - 6 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - F - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - C - 4 - - 4 - eighth - end - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - - - F - 4 - - 32 - whole - - - - diff --git a/data/practice/melody/001_diatonic_excercises/077-spread-triads.xml b/data/practice/melody/001_diatonic_excercises/077-spread-triads.xml deleted file mode 100644 index 66fa726..0000000 --- a/data/practice/melody/001_diatonic_excercises/077-spread-triads.xml +++ /dev/null @@ -1,785 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-14 - - - - - Vocal - - - - - - 8 - - 0 - major - - - - G - 2 - - - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - B - 4 - - 4 - eighth - end - - - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - G - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - - - D - 6 - - 4 - eighth - begin - - - - E - 6 - - 4 - eighth - continue - - - - D - 6 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - F - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - C - 4 - - 4 - eighth - end - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - - - F - 4 - - 32 - whole - - - - diff --git a/data/practice/melody/001_diatonic_excercises/078-spread-triads.xml b/data/practice/melody/001_diatonic_excercises/078-spread-triads.xml deleted file mode 100644 index 66fa726..0000000 --- a/data/practice/melody/001_diatonic_excercises/078-spread-triads.xml +++ /dev/null @@ -1,785 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-14 - - - - - Vocal - - - - - - 8 - - 0 - major - - - - G - 2 - - - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - B - 4 - - 4 - eighth - end - - - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - G - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - - - D - 6 - - 4 - eighth - begin - - - - E - 6 - - 4 - eighth - continue - - - - D - 6 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - F - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - C - 4 - - 4 - eighth - end - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - - - F - 4 - - 32 - whole - - - - diff --git a/data/practice/melody/001_diatonic_excercises/079-spread-triads.xml b/data/practice/melody/001_diatonic_excercises/079-spread-triads.xml deleted file mode 100644 index 66fa726..0000000 --- a/data/practice/melody/001_diatonic_excercises/079-spread-triads.xml +++ /dev/null @@ -1,785 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-14 - - - - - Vocal - - - - - - 8 - - 0 - major - - - - G - 2 - - - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - B - 4 - - 4 - eighth - end - - - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - G - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - - - D - 6 - - 4 - eighth - begin - - - - E - 6 - - 4 - eighth - continue - - - - D - 6 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - F - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - C - 4 - - 4 - eighth - end - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - - - F - 4 - - 32 - whole - - - - diff --git a/data/practice/melody/001_diatonic_excercises/080-spread-triads.xml b/data/practice/melody/001_diatonic_excercises/080-spread-triads.xml deleted file mode 100644 index 66fa726..0000000 --- a/data/practice/melody/001_diatonic_excercises/080-spread-triads.xml +++ /dev/null @@ -1,785 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-14 - - - - - Vocal - - - - - - 8 - - 0 - major - - - - G - 2 - - - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - B - 4 - - 4 - eighth - end - - - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - G - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - - - D - 6 - - 4 - eighth - begin - - - - E - 6 - - 4 - eighth - continue - - - - D - 6 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - F - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - C - 4 - - 4 - eighth - end - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - - - F - 4 - - 32 - whole - - - - diff --git a/data/practice/melody/001_diatonic_excercises/081-spread-triads.xml b/data/practice/melody/001_diatonic_excercises/081-spread-triads.xml deleted file mode 100644 index 66fa726..0000000 --- a/data/practice/melody/001_diatonic_excercises/081-spread-triads.xml +++ /dev/null @@ -1,785 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-14 - - - - - Vocal - - - - - - 8 - - 0 - major - - - - G - 2 - - - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - B - 4 - - 4 - eighth - end - - - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - G - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - - - D - 6 - - 4 - eighth - begin - - - - E - 6 - - 4 - eighth - continue - - - - D - 6 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - F - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - C - 4 - - 4 - eighth - end - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - - - F - 4 - - 32 - whole - - - - diff --git a/data/practice/melody/001_diatonic_excercises/082-spread-triads.xml b/data/practice/melody/001_diatonic_excercises/082-spread-triads.xml deleted file mode 100644 index 66fa726..0000000 --- a/data/practice/melody/001_diatonic_excercises/082-spread-triads.xml +++ /dev/null @@ -1,785 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-14 - - - - - Vocal - - - - - - 8 - - 0 - major - - - - G - 2 - - - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - B - 4 - - 4 - eighth - end - - - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - G - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - - - D - 6 - - 4 - eighth - begin - - - - E - 6 - - 4 - eighth - continue - - - - D - 6 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - F - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - C - 4 - - 4 - eighth - end - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - - - F - 4 - - 32 - whole - - - - diff --git a/data/practice/melody/001_diatonic_excercises/083-spread-triads.xml b/data/practice/melody/001_diatonic_excercises/083-spread-triads.xml deleted file mode 100644 index 66fa726..0000000 --- a/data/practice/melody/001_diatonic_excercises/083-spread-triads.xml +++ /dev/null @@ -1,785 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-14 - - - - - Vocal - - - - - - 8 - - 0 - major - - - - G - 2 - - - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - B - 4 - - 4 - eighth - end - - - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - G - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - - - D - 6 - - 4 - eighth - begin - - - - E - 6 - - 4 - eighth - continue - - - - D - 6 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - F - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - C - 4 - - 4 - eighth - end - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - - - F - 4 - - 32 - whole - - - - diff --git a/data/practice/melody/001_diatonic_excercises/084-spread-triads.xml b/data/practice/melody/001_diatonic_excercises/084-spread-triads.xml deleted file mode 100644 index 66fa726..0000000 --- a/data/practice/melody/001_diatonic_excercises/084-spread-triads.xml +++ /dev/null @@ -1,785 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-14 - - - - - Vocal - - - - - - 8 - - 0 - major - - - - G - 2 - - - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - B - 4 - - 4 - eighth - end - - - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - G - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - - - D - 6 - - 4 - eighth - begin - - - - E - 6 - - 4 - eighth - continue - - - - D - 6 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - F - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - C - 4 - - 4 - eighth - end - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - - - F - 4 - - 32 - whole - - - - diff --git a/data/practice/melody/001_diatonic_excercises/085-spread-triads.xml b/data/practice/melody/001_diatonic_excercises/085-spread-triads.xml deleted file mode 100644 index 66fa726..0000000 --- a/data/practice/melody/001_diatonic_excercises/085-spread-triads.xml +++ /dev/null @@ -1,785 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-14 - - - - - Vocal - - - - - - 8 - - 0 - major - - - - G - 2 - - - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - B - 4 - - 4 - eighth - end - - - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - G - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - - - D - 6 - - 4 - eighth - begin - - - - E - 6 - - 4 - eighth - continue - - - - D - 6 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - F - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - C - 4 - - 4 - eighth - end - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - - - F - 4 - - 32 - whole - - - - diff --git a/data/practice/melody/001_diatonic_excercises/086-spread-triads.xml b/data/practice/melody/001_diatonic_excercises/086-spread-triads.xml deleted file mode 100644 index 66fa726..0000000 --- a/data/practice/melody/001_diatonic_excercises/086-spread-triads.xml +++ /dev/null @@ -1,785 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-14 - - - - - Vocal - - - - - - 8 - - 0 - major - - - - G - 2 - - - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - B - 4 - - 4 - eighth - end - - - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - G - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - - - D - 6 - - 4 - eighth - begin - - - - E - 6 - - 4 - eighth - continue - - - - D - 6 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - F - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - C - 4 - - 4 - eighth - end - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - - - F - 4 - - 32 - whole - - - - diff --git a/data/practice/melody/001_diatonic_excercises/087-spread-triads.xml b/data/practice/melody/001_diatonic_excercises/087-spread-triads.xml deleted file mode 100644 index 66fa726..0000000 --- a/data/practice/melody/001_diatonic_excercises/087-spread-triads.xml +++ /dev/null @@ -1,785 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-14 - - - - - Vocal - - - - - - 8 - - 0 - major - - - - G - 2 - - - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - B - 4 - - 4 - eighth - end - - - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - G - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - - - D - 6 - - 4 - eighth - begin - - - - E - 6 - - 4 - eighth - continue - - - - D - 6 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - F - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - C - 4 - - 4 - eighth - end - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - - - F - 4 - - 32 - whole - - - - diff --git a/data/practice/melody/001_diatonic_excercises/088-spread-triads.xml b/data/practice/melody/001_diatonic_excercises/088-spread-triads.xml deleted file mode 100644 index 66fa726..0000000 --- a/data/practice/melody/001_diatonic_excercises/088-spread-triads.xml +++ /dev/null @@ -1,785 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-14 - - - - - Vocal - - - - - - 8 - - 0 - major - - - - G - 2 - - - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - B - 4 - - 4 - eighth - end - - - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - G - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - - - D - 6 - - 4 - eighth - begin - - - - E - 6 - - 4 - eighth - continue - - - - D - 6 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - F - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - C - 4 - - 4 - eighth - end - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - - - F - 4 - - 32 - whole - - - - diff --git a/data/practice/melody/001_diatonic_excercises/089-spread-triads.xml b/data/practice/melody/001_diatonic_excercises/089-spread-triads.xml deleted file mode 100644 index 66fa726..0000000 --- a/data/practice/melody/001_diatonic_excercises/089-spread-triads.xml +++ /dev/null @@ -1,785 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-14 - - - - - Vocal - - - - - - 8 - - 0 - major - - - - G - 2 - - - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - B - 4 - - 4 - eighth - end - - - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - G - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - - - D - 6 - - 4 - eighth - begin - - - - E - 6 - - 4 - eighth - continue - - - - D - 6 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - F - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - C - 4 - - 4 - eighth - end - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - - - F - 4 - - 32 - whole - - - - diff --git a/data/practice/melody/001_diatonic_excercises/090-spread-triads.xml b/data/practice/melody/001_diatonic_excercises/090-spread-triads.xml deleted file mode 100644 index 66fa726..0000000 --- a/data/practice/melody/001_diatonic_excercises/090-spread-triads.xml +++ /dev/null @@ -1,785 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-14 - - - - - Vocal - - - - - - 8 - - 0 - major - - - - G - 2 - - - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - B - 4 - - 4 - eighth - end - - - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - G - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - - - D - 6 - - 4 - eighth - begin - - - - E - 6 - - 4 - eighth - continue - - - - D - 6 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - F - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - C - 4 - - 4 - eighth - end - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - - - F - 4 - - 32 - whole - - - - diff --git a/data/practice/melody/001_diatonic_excercises/091-spread-triads.xml b/data/practice/melody/001_diatonic_excercises/091-spread-triads.xml deleted file mode 100644 index 66fa726..0000000 --- a/data/practice/melody/001_diatonic_excercises/091-spread-triads.xml +++ /dev/null @@ -1,785 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-14 - - - - - Vocal - - - - - - 8 - - 0 - major - - - - G - 2 - - - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - B - 4 - - 4 - eighth - end - - - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - G - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - - - D - 6 - - 4 - eighth - begin - - - - E - 6 - - 4 - eighth - continue - - - - D - 6 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - F - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - C - 4 - - 4 - eighth - end - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - - - F - 4 - - 32 - whole - - - - diff --git a/data/practice/melody/001_diatonic_excercises/092-quartal-triads.xml b/data/practice/melody/001_diatonic_excercises/092-quartal-triads.xml deleted file mode 100644 index 66fa726..0000000 --- a/data/practice/melody/001_diatonic_excercises/092-quartal-triads.xml +++ /dev/null @@ -1,785 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-14 - - - - - Vocal - - - - - - 8 - - 0 - major - - - - G - 2 - - - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - B - 4 - - 4 - eighth - end - - - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - G - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - - - D - 6 - - 4 - eighth - begin - - - - E - 6 - - 4 - eighth - continue - - - - D - 6 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - F - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - C - 4 - - 4 - eighth - end - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - - - F - 4 - - 32 - whole - - - - diff --git a/data/practice/melody/001_diatonic_excercises/093-quartal-triads.xml b/data/practice/melody/001_diatonic_excercises/093-quartal-triads.xml deleted file mode 100644 index 66fa726..0000000 --- a/data/practice/melody/001_diatonic_excercises/093-quartal-triads.xml +++ /dev/null @@ -1,785 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-14 - - - - - Vocal - - - - - - 8 - - 0 - major - - - - G - 2 - - - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - B - 4 - - 4 - eighth - end - - - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - G - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - - - D - 6 - - 4 - eighth - begin - - - - E - 6 - - 4 - eighth - continue - - - - D - 6 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - F - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - C - 4 - - 4 - eighth - end - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - - - F - 4 - - 32 - whole - - - - diff --git a/data/practice/melody/001_diatonic_excercises/094-quartal-triads.xml b/data/practice/melody/001_diatonic_excercises/094-quartal-triads.xml deleted file mode 100644 index 66fa726..0000000 --- a/data/practice/melody/001_diatonic_excercises/094-quartal-triads.xml +++ /dev/null @@ -1,785 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-14 - - - - - Vocal - - - - - - 8 - - 0 - major - - - - G - 2 - - - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - B - 4 - - 4 - eighth - end - - - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - G - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - - - D - 6 - - 4 - eighth - begin - - - - E - 6 - - 4 - eighth - continue - - - - D - 6 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - F - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - C - 4 - - 4 - eighth - end - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - - - F - 4 - - 32 - whole - - - - diff --git a/data/practice/melody/001_diatonic_excercises/095-quartal-triads.xml b/data/practice/melody/001_diatonic_excercises/095-quartal-triads.xml deleted file mode 100644 index 66fa726..0000000 --- a/data/practice/melody/001_diatonic_excercises/095-quartal-triads.xml +++ /dev/null @@ -1,785 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-14 - - - - - Vocal - - - - - - 8 - - 0 - major - - - - G - 2 - - - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - B - 4 - - 4 - eighth - end - - - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - G - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - - - D - 6 - - 4 - eighth - begin - - - - E - 6 - - 4 - eighth - continue - - - - D - 6 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - F - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - C - 4 - - 4 - eighth - end - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - - - F - 4 - - 32 - whole - - - - diff --git a/data/practice/melody/001_diatonic_excercises/096-quartal-triads.xml b/data/practice/melody/001_diatonic_excercises/096-quartal-triads.xml deleted file mode 100644 index 66fa726..0000000 --- a/data/practice/melody/001_diatonic_excercises/096-quartal-triads.xml +++ /dev/null @@ -1,785 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-14 - - - - - Vocal - - - - - - 8 - - 0 - major - - - - G - 2 - - - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - B - 4 - - 4 - eighth - end - - - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - G - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - - - D - 6 - - 4 - eighth - begin - - - - E - 6 - - 4 - eighth - continue - - - - D - 6 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - F - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - C - 4 - - 4 - eighth - end - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - - - F - 4 - - 32 - whole - - - - diff --git a/data/practice/melody/001_diatonic_excercises/097-quartal-triads.xml b/data/practice/melody/001_diatonic_excercises/097-quartal-triads.xml deleted file mode 100644 index 66fa726..0000000 --- a/data/practice/melody/001_diatonic_excercises/097-quartal-triads.xml +++ /dev/null @@ -1,785 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-14 - - - - - Vocal - - - - - - 8 - - 0 - major - - - - G - 2 - - - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - B - 4 - - 4 - eighth - end - - - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - G - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - - - D - 6 - - 4 - eighth - begin - - - - E - 6 - - 4 - eighth - continue - - - - D - 6 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - F - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - C - 4 - - 4 - eighth - end - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - - - F - 4 - - 32 - whole - - - - diff --git a/data/practice/melody/001_diatonic_excercises/098-quartal-triads.xml b/data/practice/melody/001_diatonic_excercises/098-quartal-triads.xml deleted file mode 100644 index 66fa726..0000000 --- a/data/practice/melody/001_diatonic_excercises/098-quartal-triads.xml +++ /dev/null @@ -1,785 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-14 - - - - - Vocal - - - - - - 8 - - 0 - major - - - - G - 2 - - - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - B - 4 - - 4 - eighth - end - - - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - G - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - - - D - 6 - - 4 - eighth - begin - - - - E - 6 - - 4 - eighth - continue - - - - D - 6 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - F - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - C - 4 - - 4 - eighth - end - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - - - F - 4 - - 32 - whole - - - - diff --git a/data/practice/melody/001_diatonic_excercises/099-quartal-triads.xml b/data/practice/melody/001_diatonic_excercises/099-quartal-triads.xml deleted file mode 100644 index 66fa726..0000000 --- a/data/practice/melody/001_diatonic_excercises/099-quartal-triads.xml +++ /dev/null @@ -1,785 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-14 - - - - - Vocal - - - - - - 8 - - 0 - major - - - - G - 2 - - - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - B - 4 - - 4 - eighth - end - - - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - G - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - - - D - 6 - - 4 - eighth - begin - - - - E - 6 - - 4 - eighth - continue - - - - D - 6 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - F - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - C - 4 - - 4 - eighth - end - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - - - F - 4 - - 32 - whole - - - - diff --git a/data/practice/melody/001_diatonic_excercises/100-quartal-triads.xml b/data/practice/melody/001_diatonic_excercises/100-quartal-triads.xml deleted file mode 100644 index 66fa726..0000000 --- a/data/practice/melody/001_diatonic_excercises/100-quartal-triads.xml +++ /dev/null @@ -1,785 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-14 - - - - - Vocal - - - - - - 8 - - 0 - major - - - - G - 2 - - - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - B - 4 - - 4 - eighth - end - - - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - G - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - - - D - 6 - - 4 - eighth - begin - - - - E - 6 - - 4 - eighth - continue - - - - D - 6 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - F - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - C - 4 - - 4 - eighth - end - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - - - F - 4 - - 32 - whole - - - - diff --git a/data/practice/melody/001_diatonic_excercises/101-quartal-triads.xml b/data/practice/melody/001_diatonic_excercises/101-quartal-triads.xml deleted file mode 100644 index 66fa726..0000000 --- a/data/practice/melody/001_diatonic_excercises/101-quartal-triads.xml +++ /dev/null @@ -1,785 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-14 - - - - - Vocal - - - - - - 8 - - 0 - major - - - - G - 2 - - - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - B - 4 - - 4 - eighth - end - - - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - G - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - - - D - 6 - - 4 - eighth - begin - - - - E - 6 - - 4 - eighth - continue - - - - D - 6 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - F - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - C - 4 - - 4 - eighth - end - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - - - F - 4 - - 32 - whole - - - - diff --git a/data/practice/melody/001_diatonic_excercises/102-quartal-triads.xml b/data/practice/melody/001_diatonic_excercises/102-quartal-triads.xml deleted file mode 100644 index 66fa726..0000000 --- a/data/practice/melody/001_diatonic_excercises/102-quartal-triads.xml +++ /dev/null @@ -1,785 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-14 - - - - - Vocal - - - - - - 8 - - 0 - major - - - - G - 2 - - - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - B - 4 - - 4 - eighth - end - - - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - G - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - - - D - 6 - - 4 - eighth - begin - - - - E - 6 - - 4 - eighth - continue - - - - D - 6 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - F - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - C - 4 - - 4 - eighth - end - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - - - F - 4 - - 32 - whole - - - - diff --git a/data/practice/melody/001_diatonic_excercises/103-quartal-triads.xml b/data/practice/melody/001_diatonic_excercises/103-quartal-triads.xml deleted file mode 100644 index 66fa726..0000000 --- a/data/practice/melody/001_diatonic_excercises/103-quartal-triads.xml +++ /dev/null @@ -1,785 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-14 - - - - - Vocal - - - - - - 8 - - 0 - major - - - - G - 2 - - - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - B - 4 - - 4 - eighth - end - - - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - G - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - - - D - 6 - - 4 - eighth - begin - - - - E - 6 - - 4 - eighth - continue - - - - D - 6 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - F - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - C - 4 - - 4 - eighth - end - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - - - F - 4 - - 32 - whole - - - - diff --git a/data/practice/melody/001_diatonic_excercises/104-quartal-triads.xml b/data/practice/melody/001_diatonic_excercises/104-quartal-triads.xml deleted file mode 100644 index 66fa726..0000000 --- a/data/practice/melody/001_diatonic_excercises/104-quartal-triads.xml +++ /dev/null @@ -1,785 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-14 - - - - - Vocal - - - - - - 8 - - 0 - major - - - - G - 2 - - - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - B - 4 - - 4 - eighth - end - - - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - G - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - - - D - 6 - - 4 - eighth - begin - - - - E - 6 - - 4 - eighth - continue - - - - D - 6 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - F - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - C - 4 - - 4 - eighth - end - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - - - F - 4 - - 32 - whole - - - - diff --git a/data/practice/melody/001_diatonic_excercises/105-quartal-triads.xml b/data/practice/melody/001_diatonic_excercises/105-quartal-triads.xml deleted file mode 100644 index 66fa726..0000000 --- a/data/practice/melody/001_diatonic_excercises/105-quartal-triads.xml +++ /dev/null @@ -1,785 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-14 - - - - - Vocal - - - - - - 8 - - 0 - major - - - - G - 2 - - - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - B - 4 - - 4 - eighth - end - - - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - G - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - - - D - 6 - - 4 - eighth - begin - - - - E - 6 - - 4 - eighth - continue - - - - D - 6 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - F - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - C - 4 - - 4 - eighth - end - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - - - F - 4 - - 32 - whole - - - - diff --git a/data/practice/melody/001_diatonic_excercises/106-quartal-triads.xml b/data/practice/melody/001_diatonic_excercises/106-quartal-triads.xml deleted file mode 100644 index 66fa726..0000000 --- a/data/practice/melody/001_diatonic_excercises/106-quartal-triads.xml +++ /dev/null @@ -1,785 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-14 - - - - - Vocal - - - - - - 8 - - 0 - major - - - - G - 2 - - - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - B - 4 - - 4 - eighth - end - - - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - G - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - - - D - 6 - - 4 - eighth - begin - - - - E - 6 - - 4 - eighth - continue - - - - D - 6 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - F - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - C - 4 - - 4 - eighth - end - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - - - F - 4 - - 32 - whole - - - - diff --git a/data/practice/melody/001_diatonic_excercises/107-diatonic-interval-variations.xml b/data/practice/melody/001_diatonic_excercises/107-diatonic-interval-variations.xml deleted file mode 100644 index 66fa726..0000000 --- a/data/practice/melody/001_diatonic_excercises/107-diatonic-interval-variations.xml +++ /dev/null @@ -1,785 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-14 - - - - - Vocal - - - - - - 8 - - 0 - major - - - - G - 2 - - - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - B - 4 - - 4 - eighth - end - - - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - G - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - - - D - 6 - - 4 - eighth - begin - - - - E - 6 - - 4 - eighth - continue - - - - D - 6 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - F - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - C - 4 - - 4 - eighth - end - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - - - F - 4 - - 32 - whole - - - - diff --git a/data/practice/melody/001_diatonic_excercises/108-diatonic-interval-variations.xml b/data/practice/melody/001_diatonic_excercises/108-diatonic-interval-variations.xml deleted file mode 100644 index 66fa726..0000000 --- a/data/practice/melody/001_diatonic_excercises/108-diatonic-interval-variations.xml +++ /dev/null @@ -1,785 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-14 - - - - - Vocal - - - - - - 8 - - 0 - major - - - - G - 2 - - - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - B - 4 - - 4 - eighth - end - - - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - G - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - - - D - 6 - - 4 - eighth - begin - - - - E - 6 - - 4 - eighth - continue - - - - D - 6 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - F - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - C - 4 - - 4 - eighth - end - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - - - F - 4 - - 32 - whole - - - - diff --git a/data/practice/melody/001_diatonic_excercises/109-diatonic-interval-variations.xml b/data/practice/melody/001_diatonic_excercises/109-diatonic-interval-variations.xml deleted file mode 100644 index 66fa726..0000000 --- a/data/practice/melody/001_diatonic_excercises/109-diatonic-interval-variations.xml +++ /dev/null @@ -1,785 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-14 - - - - - Vocal - - - - - - 8 - - 0 - major - - - - G - 2 - - - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - B - 4 - - 4 - eighth - end - - - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - G - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - - - D - 6 - - 4 - eighth - begin - - - - E - 6 - - 4 - eighth - continue - - - - D - 6 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - F - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - C - 4 - - 4 - eighth - end - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - - - F - 4 - - 32 - whole - - - - diff --git a/data/practice/melody/001_diatonic_excercises/110-diatonic-interval-variations.xml b/data/practice/melody/001_diatonic_excercises/110-diatonic-interval-variations.xml deleted file mode 100644 index 66fa726..0000000 --- a/data/practice/melody/001_diatonic_excercises/110-diatonic-interval-variations.xml +++ /dev/null @@ -1,785 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-14 - - - - - Vocal - - - - - - 8 - - 0 - major - - - - G - 2 - - - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - B - 4 - - 4 - eighth - end - - - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - G - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - - - D - 6 - - 4 - eighth - begin - - - - E - 6 - - 4 - eighth - continue - - - - D - 6 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - F - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - C - 4 - - 4 - eighth - end - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - - - F - 4 - - 32 - whole - - - - diff --git a/data/practice/melody/001_diatonic_excercises/111-diatonic-interval-variations.xml b/data/practice/melody/001_diatonic_excercises/111-diatonic-interval-variations.xml deleted file mode 100644 index 66fa726..0000000 --- a/data/practice/melody/001_diatonic_excercises/111-diatonic-interval-variations.xml +++ /dev/null @@ -1,785 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-14 - - - - - Vocal - - - - - - 8 - - 0 - major - - - - G - 2 - - - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - B - 4 - - 4 - eighth - end - - - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - G - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - - - D - 6 - - 4 - eighth - begin - - - - E - 6 - - 4 - eighth - continue - - - - D - 6 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - F - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - C - 4 - - 4 - eighth - end - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - - - F - 4 - - 32 - whole - - - - diff --git a/data/practice/melody/001_diatonic_excercises/112-diatonic-interval-variations.xml b/data/practice/melody/001_diatonic_excercises/112-diatonic-interval-variations.xml deleted file mode 100644 index 66fa726..0000000 --- a/data/practice/melody/001_diatonic_excercises/112-diatonic-interval-variations.xml +++ /dev/null @@ -1,785 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-14 - - - - - Vocal - - - - - - 8 - - 0 - major - - - - G - 2 - - - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - B - 4 - - 4 - eighth - end - - - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - G - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - - - D - 6 - - 4 - eighth - begin - - - - E - 6 - - 4 - eighth - continue - - - - D - 6 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - F - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - C - 4 - - 4 - eighth - end - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - - - F - 4 - - 32 - whole - - - - diff --git a/data/practice/melody/001_diatonic_excercises/113-diatonic-interval-variations.xml b/data/practice/melody/001_diatonic_excercises/113-diatonic-interval-variations.xml deleted file mode 100644 index 66fa726..0000000 --- a/data/practice/melody/001_diatonic_excercises/113-diatonic-interval-variations.xml +++ /dev/null @@ -1,785 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-14 - - - - - Vocal - - - - - - 8 - - 0 - major - - - - G - 2 - - - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - B - 4 - - 4 - eighth - end - - - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - G - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - - - D - 6 - - 4 - eighth - begin - - - - E - 6 - - 4 - eighth - continue - - - - D - 6 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - F - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - C - 4 - - 4 - eighth - end - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - - - F - 4 - - 32 - whole - - - - diff --git a/data/practice/melody/001_diatonic_excercises/114-diatonic-interval-variations.xml b/data/practice/melody/001_diatonic_excercises/114-diatonic-interval-variations.xml deleted file mode 100644 index 66fa726..0000000 --- a/data/practice/melody/001_diatonic_excercises/114-diatonic-interval-variations.xml +++ /dev/null @@ -1,785 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-14 - - - - - Vocal - - - - - - 8 - - 0 - major - - - - G - 2 - - - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - B - 4 - - 4 - eighth - end - - - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - G - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - - - D - 6 - - 4 - eighth - begin - - - - E - 6 - - 4 - eighth - continue - - - - D - 6 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - F - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - C - 4 - - 4 - eighth - end - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - - - F - 4 - - 32 - whole - - - - diff --git a/data/practice/melody/001_diatonic_excercises/115-diatonic-interval-variations.xml b/data/practice/melody/001_diatonic_excercises/115-diatonic-interval-variations.xml deleted file mode 100644 index 66fa726..0000000 --- a/data/practice/melody/001_diatonic_excercises/115-diatonic-interval-variations.xml +++ /dev/null @@ -1,785 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-14 - - - - - Vocal - - - - - - 8 - - 0 - major - - - - G - 2 - - - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - B - 4 - - 4 - eighth - end - - - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - G - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - - - D - 6 - - 4 - eighth - begin - - - - E - 6 - - 4 - eighth - continue - - - - D - 6 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - F - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - C - 4 - - 4 - eighth - end - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - - - F - 4 - - 32 - whole - - - - diff --git a/data/practice/melody/001_diatonic_excercises/116-diatonic-interval-variations.xml b/data/practice/melody/001_diatonic_excercises/116-diatonic-interval-variations.xml deleted file mode 100644 index 66fa726..0000000 --- a/data/practice/melody/001_diatonic_excercises/116-diatonic-interval-variations.xml +++ /dev/null @@ -1,785 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-14 - - - - - Vocal - - - - - - 8 - - 0 - major - - - - G - 2 - - - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - B - 4 - - 4 - eighth - end - - - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - G - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - - - D - 6 - - 4 - eighth - begin - - - - E - 6 - - 4 - eighth - continue - - - - D - 6 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - F - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - C - 4 - - 4 - eighth - end - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - - - F - 4 - - 32 - whole - - - - diff --git a/data/practice/melody/001_diatonic_excercises/117-diatonic-interval-variations.xml b/data/practice/melody/001_diatonic_excercises/117-diatonic-interval-variations.xml deleted file mode 100644 index 66fa726..0000000 --- a/data/practice/melody/001_diatonic_excercises/117-diatonic-interval-variations.xml +++ /dev/null @@ -1,785 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-14 - - - - - Vocal - - - - - - 8 - - 0 - major - - - - G - 2 - - - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - B - 4 - - 4 - eighth - end - - - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - G - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - - - D - 6 - - 4 - eighth - begin - - - - E - 6 - - 4 - eighth - continue - - - - D - 6 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - F - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - C - 4 - - 4 - eighth - end - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - - - F - 4 - - 32 - whole - - - - diff --git a/data/practice/melody/001_diatonic_excercises/118-diatonic-interval-variations.xml b/data/practice/melody/001_diatonic_excercises/118-diatonic-interval-variations.xml deleted file mode 100644 index 66fa726..0000000 --- a/data/practice/melody/001_diatonic_excercises/118-diatonic-interval-variations.xml +++ /dev/null @@ -1,785 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-14 - - - - - Vocal - - - - - - 8 - - 0 - major - - - - G - 2 - - - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - B - 4 - - 4 - eighth - end - - - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - G - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - - - D - 6 - - 4 - eighth - begin - - - - E - 6 - - 4 - eighth - continue - - - - D - 6 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - F - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - C - 4 - - 4 - eighth - end - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - - - F - 4 - - 32 - whole - - - - diff --git a/data/practice/melody/001_diatonic_excercises/119-diatonic-interval-variations.xml b/data/practice/melody/001_diatonic_excercises/119-diatonic-interval-variations.xml deleted file mode 100644 index 66fa726..0000000 --- a/data/practice/melody/001_diatonic_excercises/119-diatonic-interval-variations.xml +++ /dev/null @@ -1,785 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-14 - - - - - Vocal - - - - - - 8 - - 0 - major - - - - G - 2 - - - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - B - 4 - - 4 - eighth - end - - - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - G - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - - - D - 6 - - 4 - eighth - begin - - - - E - 6 - - 4 - eighth - continue - - - - D - 6 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - F - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - C - 4 - - 4 - eighth - end - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - - - F - 4 - - 32 - whole - - - - diff --git a/data/practice/melody/001_diatonic_excercises/120-diatonic-interval-variations.xml b/data/practice/melody/001_diatonic_excercises/120-diatonic-interval-variations.xml deleted file mode 100644 index 66fa726..0000000 --- a/data/practice/melody/001_diatonic_excercises/120-diatonic-interval-variations.xml +++ /dev/null @@ -1,785 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-14 - - - - - Vocal - - - - - - 8 - - 0 - major - - - - G - 2 - - - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - B - 4 - - 4 - eighth - end - - - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - G - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - - - D - 6 - - 4 - eighth - begin - - - - E - 6 - - 4 - eighth - continue - - - - D - 6 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - F - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - C - 4 - - 4 - eighth - end - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - - - F - 4 - - 32 - whole - - - - diff --git a/data/practice/melody/001_diatonic_excercises/121-diatonic-7th-chords.xml b/data/practice/melody/001_diatonic_excercises/121-diatonic-7th-chords.xml deleted file mode 100644 index 66fa726..0000000 --- a/data/practice/melody/001_diatonic_excercises/121-diatonic-7th-chords.xml +++ /dev/null @@ -1,785 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-14 - - - - - Vocal - - - - - - 8 - - 0 - major - - - - G - 2 - - - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - B - 4 - - 4 - eighth - end - - - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - G - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - - - D - 6 - - 4 - eighth - begin - - - - E - 6 - - 4 - eighth - continue - - - - D - 6 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - F - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - C - 4 - - 4 - eighth - end - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - - - F - 4 - - 32 - whole - - - - diff --git a/data/practice/melody/001_diatonic_excercises/122-diatonic-7th-chords.xml b/data/practice/melody/001_diatonic_excercises/122-diatonic-7th-chords.xml deleted file mode 100644 index 66fa726..0000000 --- a/data/practice/melody/001_diatonic_excercises/122-diatonic-7th-chords.xml +++ /dev/null @@ -1,785 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-14 - - - - - Vocal - - - - - - 8 - - 0 - major - - - - G - 2 - - - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - B - 4 - - 4 - eighth - end - - - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - G - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - - - D - 6 - - 4 - eighth - begin - - - - E - 6 - - 4 - eighth - continue - - - - D - 6 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - F - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - C - 4 - - 4 - eighth - end - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - - - F - 4 - - 32 - whole - - - - diff --git a/data/practice/melody/001_diatonic_excercises/123-diatonic-7th-chords.xml b/data/practice/melody/001_diatonic_excercises/123-diatonic-7th-chords.xml deleted file mode 100644 index 66fa726..0000000 --- a/data/practice/melody/001_diatonic_excercises/123-diatonic-7th-chords.xml +++ /dev/null @@ -1,785 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-14 - - - - - Vocal - - - - - - 8 - - 0 - major - - - - G - 2 - - - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - B - 4 - - 4 - eighth - end - - - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - G - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - - - D - 6 - - 4 - eighth - begin - - - - E - 6 - - 4 - eighth - continue - - - - D - 6 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - F - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - C - 4 - - 4 - eighth - end - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - - - F - 4 - - 32 - whole - - - - diff --git a/data/practice/melody/001_diatonic_excercises/124-diatonic-7th-chords.xml b/data/practice/melody/001_diatonic_excercises/124-diatonic-7th-chords.xml deleted file mode 100644 index 66fa726..0000000 --- a/data/practice/melody/001_diatonic_excercises/124-diatonic-7th-chords.xml +++ /dev/null @@ -1,785 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-14 - - - - - Vocal - - - - - - 8 - - 0 - major - - - - G - 2 - - - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - B - 4 - - 4 - eighth - end - - - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - G - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - - - D - 6 - - 4 - eighth - begin - - - - E - 6 - - 4 - eighth - continue - - - - D - 6 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - F - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - C - 4 - - 4 - eighth - end - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - - - F - 4 - - 32 - whole - - - - diff --git a/data/practice/melody/001_diatonic_excercises/125-diatonic-7th-chords.xml b/data/practice/melody/001_diatonic_excercises/125-diatonic-7th-chords.xml deleted file mode 100644 index 66fa726..0000000 --- a/data/practice/melody/001_diatonic_excercises/125-diatonic-7th-chords.xml +++ /dev/null @@ -1,785 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-14 - - - - - Vocal - - - - - - 8 - - 0 - major - - - - G - 2 - - - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - B - 4 - - 4 - eighth - end - - - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - G - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - - - D - 6 - - 4 - eighth - begin - - - - E - 6 - - 4 - eighth - continue - - - - D - 6 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - F - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - C - 4 - - 4 - eighth - end - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - - - F - 4 - - 32 - whole - - - - diff --git a/data/practice/melody/001_diatonic_excercises/126-diatonic-7th-chords.xml b/data/practice/melody/001_diatonic_excercises/126-diatonic-7th-chords.xml deleted file mode 100644 index 66fa726..0000000 --- a/data/practice/melody/001_diatonic_excercises/126-diatonic-7th-chords.xml +++ /dev/null @@ -1,785 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-14 - - - - - Vocal - - - - - - 8 - - 0 - major - - - - G - 2 - - - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - B - 4 - - 4 - eighth - end - - - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - G - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - - - D - 6 - - 4 - eighth - begin - - - - E - 6 - - 4 - eighth - continue - - - - D - 6 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - F - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - C - 4 - - 4 - eighth - end - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - - - F - 4 - - 32 - whole - - - - diff --git a/data/practice/melody/001_diatonic_excercises/127-diatonic-7th-chords.xml b/data/practice/melody/001_diatonic_excercises/127-diatonic-7th-chords.xml deleted file mode 100644 index 66fa726..0000000 --- a/data/practice/melody/001_diatonic_excercises/127-diatonic-7th-chords.xml +++ /dev/null @@ -1,785 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-14 - - - - - Vocal - - - - - - 8 - - 0 - major - - - - G - 2 - - - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - B - 4 - - 4 - eighth - end - - - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - G - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - - - D - 6 - - 4 - eighth - begin - - - - E - 6 - - 4 - eighth - continue - - - - D - 6 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - F - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - C - 4 - - 4 - eighth - end - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - - - F - 4 - - 32 - whole - - - - diff --git a/data/practice/melody/002_the_pentatonic_scale/001-the-pentatonic-scales.xml b/data/practice/melody/002_the_pentatonic_scale/001-the-pentatonic-scales.xml deleted file mode 100644 index 66fa726..0000000 --- a/data/practice/melody/002_the_pentatonic_scale/001-the-pentatonic-scales.xml +++ /dev/null @@ -1,785 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-14 - - - - - Vocal - - - - - - 8 - - 0 - major - - - - G - 2 - - - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - B - 4 - - 4 - eighth - end - - - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - G - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - - - D - 6 - - 4 - eighth - begin - - - - E - 6 - - 4 - eighth - continue - - - - D - 6 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - F - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - C - 4 - - 4 - eighth - end - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - - - F - 4 - - 32 - whole - - - - diff --git a/data/practice/melody/002_the_pentatonic_scale/002-the-pentatonic-scales.xml b/data/practice/melody/002_the_pentatonic_scale/002-the-pentatonic-scales.xml deleted file mode 100644 index 66fa726..0000000 --- a/data/practice/melody/002_the_pentatonic_scale/002-the-pentatonic-scales.xml +++ /dev/null @@ -1,785 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-14 - - - - - Vocal - - - - - - 8 - - 0 - major - - - - G - 2 - - - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - B - 4 - - 4 - eighth - end - - - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - G - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - - - D - 6 - - 4 - eighth - begin - - - - E - 6 - - 4 - eighth - continue - - - - D - 6 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - F - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - C - 4 - - 4 - eighth - end - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - - - F - 4 - - 32 - whole - - - - diff --git a/data/practice/melody/002_the_pentatonic_scale/003-the-pentatonic-scales.xml b/data/practice/melody/002_the_pentatonic_scale/003-the-pentatonic-scales.xml deleted file mode 100644 index 66fa726..0000000 --- a/data/practice/melody/002_the_pentatonic_scale/003-the-pentatonic-scales.xml +++ /dev/null @@ -1,785 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-14 - - - - - Vocal - - - - - - 8 - - 0 - major - - - - G - 2 - - - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - B - 4 - - 4 - eighth - end - - - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - G - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - - - D - 6 - - 4 - eighth - begin - - - - E - 6 - - 4 - eighth - continue - - - - D - 6 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - F - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - C - 4 - - 4 - eighth - end - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - - - F - 4 - - 32 - whole - - - - diff --git a/data/practice/melody/002_the_pentatonic_scale/004-the-pentatonic-scales.xml b/data/practice/melody/002_the_pentatonic_scale/004-the-pentatonic-scales.xml deleted file mode 100644 index 66fa726..0000000 --- a/data/practice/melody/002_the_pentatonic_scale/004-the-pentatonic-scales.xml +++ /dev/null @@ -1,785 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-14 - - - - - Vocal - - - - - - 8 - - 0 - major - - - - G - 2 - - - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - B - 4 - - 4 - eighth - end - - - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - G - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - - - D - 6 - - 4 - eighth - begin - - - - E - 6 - - 4 - eighth - continue - - - - D - 6 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - F - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - C - 4 - - 4 - eighth - end - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - - - F - 4 - - 32 - whole - - - - diff --git a/data/practice/melody/002_the_pentatonic_scale/005-the-pentatonic-scales.xml b/data/practice/melody/002_the_pentatonic_scale/005-the-pentatonic-scales.xml deleted file mode 100644 index 66fa726..0000000 --- a/data/practice/melody/002_the_pentatonic_scale/005-the-pentatonic-scales.xml +++ /dev/null @@ -1,785 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-14 - - - - - Vocal - - - - - - 8 - - 0 - major - - - - G - 2 - - - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - B - 4 - - 4 - eighth - end - - - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - G - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - - - D - 6 - - 4 - eighth - begin - - - - E - 6 - - 4 - eighth - continue - - - - D - 6 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - F - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - C - 4 - - 4 - eighth - end - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - - - F - 4 - - 32 - whole - - - - diff --git a/data/practice/melody/002_the_pentatonic_scale/006-the-pentatonic-scales.xml b/data/practice/melody/002_the_pentatonic_scale/006-the-pentatonic-scales.xml deleted file mode 100644 index 66fa726..0000000 --- a/data/practice/melody/002_the_pentatonic_scale/006-the-pentatonic-scales.xml +++ /dev/null @@ -1,785 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-14 - - - - - Vocal - - - - - - 8 - - 0 - major - - - - G - 2 - - - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - B - 4 - - 4 - eighth - end - - - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - G - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - - - D - 6 - - 4 - eighth - begin - - - - E - 6 - - 4 - eighth - continue - - - - D - 6 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - F - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - C - 4 - - 4 - eighth - end - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - - - F - 4 - - 32 - whole - - - - diff --git a/data/practice/melody/002_the_pentatonic_scale/007-the-pentatonic-scales.xml b/data/practice/melody/002_the_pentatonic_scale/007-the-pentatonic-scales.xml deleted file mode 100644 index 66fa726..0000000 --- a/data/practice/melody/002_the_pentatonic_scale/007-the-pentatonic-scales.xml +++ /dev/null @@ -1,785 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-14 - - - - - Vocal - - - - - - 8 - - 0 - major - - - - G - 2 - - - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - B - 4 - - 4 - eighth - end - - - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - G - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - - - D - 6 - - 4 - eighth - begin - - - - E - 6 - - 4 - eighth - continue - - - - D - 6 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - F - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - C - 4 - - 4 - eighth - end - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - - - F - 4 - - 32 - whole - - - - diff --git a/data/practice/melody/002_the_pentatonic_scale/008-the-pentatonic-scales.xml b/data/practice/melody/002_the_pentatonic_scale/008-the-pentatonic-scales.xml deleted file mode 100644 index 66fa726..0000000 --- a/data/practice/melody/002_the_pentatonic_scale/008-the-pentatonic-scales.xml +++ /dev/null @@ -1,785 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-14 - - - - - Vocal - - - - - - 8 - - 0 - major - - - - G - 2 - - - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - B - 4 - - 4 - eighth - end - - - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - G - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - - - D - 6 - - 4 - eighth - begin - - - - E - 6 - - 4 - eighth - continue - - - - D - 6 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - F - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - C - 4 - - 4 - eighth - end - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - - - F - 4 - - 32 - whole - - - - diff --git a/data/practice/melody/002_the_pentatonic_scale/009-the-pentatonic-scales.xml b/data/practice/melody/002_the_pentatonic_scale/009-the-pentatonic-scales.xml deleted file mode 100644 index 66fa726..0000000 --- a/data/practice/melody/002_the_pentatonic_scale/009-the-pentatonic-scales.xml +++ /dev/null @@ -1,785 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-14 - - - - - Vocal - - - - - - 8 - - 0 - major - - - - G - 2 - - - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - B - 4 - - 4 - eighth - end - - - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - G - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - - - D - 6 - - 4 - eighth - begin - - - - E - 6 - - 4 - eighth - continue - - - - D - 6 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - F - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - C - 4 - - 4 - eighth - end - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - - - F - 4 - - 32 - whole - - - - diff --git a/data/practice/melody/002_the_pentatonic_scale/010-the-pentatonic-scales.xml b/data/practice/melody/002_the_pentatonic_scale/010-the-pentatonic-scales.xml deleted file mode 100644 index 66fa726..0000000 --- a/data/practice/melody/002_the_pentatonic_scale/010-the-pentatonic-scales.xml +++ /dev/null @@ -1,785 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-14 - - - - - Vocal - - - - - - 8 - - 0 - major - - - - G - 2 - - - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - B - 4 - - 4 - eighth - end - - - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - G - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - - - D - 6 - - 4 - eighth - begin - - - - E - 6 - - 4 - eighth - continue - - - - D - 6 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - F - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - C - 4 - - 4 - eighth - end - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - - - F - 4 - - 32 - whole - - - - diff --git a/data/practice/melody/002_the_pentatonic_scale/011-the-pentatonic-scales.xml b/data/practice/melody/002_the_pentatonic_scale/011-the-pentatonic-scales.xml deleted file mode 100644 index 66fa726..0000000 --- a/data/practice/melody/002_the_pentatonic_scale/011-the-pentatonic-scales.xml +++ /dev/null @@ -1,785 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-14 - - - - - Vocal - - - - - - 8 - - 0 - major - - - - G - 2 - - - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - B - 4 - - 4 - eighth - end - - - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - G - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - - - D - 6 - - 4 - eighth - begin - - - - E - 6 - - 4 - eighth - continue - - - - D - 6 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - F - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - C - 4 - - 4 - eighth - end - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - - - F - 4 - - 32 - whole - - - - diff --git a/data/practice/melody/002_the_pentatonic_scale/012-the-pentatonic-scales.xml b/data/practice/melody/002_the_pentatonic_scale/012-the-pentatonic-scales.xml deleted file mode 100644 index 66fa726..0000000 --- a/data/practice/melody/002_the_pentatonic_scale/012-the-pentatonic-scales.xml +++ /dev/null @@ -1,785 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-14 - - - - - Vocal - - - - - - 8 - - 0 - major - - - - G - 2 - - - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - B - 4 - - 4 - eighth - end - - - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - G - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - - - D - 6 - - 4 - eighth - begin - - - - E - 6 - - 4 - eighth - continue - - - - D - 6 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - F - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - C - 4 - - 4 - eighth - end - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - - - F - 4 - - 32 - whole - - - - diff --git a/data/practice/melody/002_the_pentatonic_scale/013-the-pentatonic-scales.xml b/data/practice/melody/002_the_pentatonic_scale/013-the-pentatonic-scales.xml deleted file mode 100644 index 66fa726..0000000 --- a/data/practice/melody/002_the_pentatonic_scale/013-the-pentatonic-scales.xml +++ /dev/null @@ -1,785 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-14 - - - - - Vocal - - - - - - 8 - - 0 - major - - - - G - 2 - - - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - B - 4 - - 4 - eighth - end - - - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - G - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - - - D - 6 - - 4 - eighth - begin - - - - E - 6 - - 4 - eighth - continue - - - - D - 6 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - F - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - C - 4 - - 4 - eighth - end - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - - - F - 4 - - 32 - whole - - - - diff --git a/data/practice/melody/002_the_pentatonic_scale/014-the-pentatonic-scales.xml b/data/practice/melody/002_the_pentatonic_scale/014-the-pentatonic-scales.xml deleted file mode 100644 index 66fa726..0000000 --- a/data/practice/melody/002_the_pentatonic_scale/014-the-pentatonic-scales.xml +++ /dev/null @@ -1,785 +0,0 @@ - - - - - - - - Soundslice MusicXML exporter - 2026-09-14 - - - - - Vocal - - - - - - 8 - - 0 - major - - - - G - 2 - - - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - F - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - B - 4 - - 4 - eighth - end - - - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - C - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - G - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - - - D - 6 - - 4 - eighth - begin - - - - E - 6 - - 4 - eighth - continue - - - - D - 6 - - 4 - eighth - continue - - - - C - 6 - - 4 - eighth - end - - - - B - 5 - - 4 - eighth - begin - - - - C - 6 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - A - 5 - - 4 - eighth - continue - - - - B - 5 - - 4 - eighth - continue - - - - A - 5 - - 4 - eighth - end - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - F - 5 - - 4 - eighth - end - - - - - - G - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - E - 5 - - 4 - eighth - begin - - - - F - 5 - - 4 - eighth - continue - - - - E - 5 - - 4 - eighth - continue - - - - D - 5 - - 4 - eighth - end - - - - - - C - 5 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - A - 4 - - 4 - eighth - begin - - - - B - 4 - - 4 - eighth - continue - - - - A - 4 - - 4 - eighth - continue - - - - G - 4 - - 4 - eighth - end - - - - - - F - 4 - - 4 - eighth - begin - - - - E - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - C - 4 - - 4 - eighth - end - - - - B - 3 - - 4 - eighth - begin - - - - C - 4 - - 4 - eighth - continue - - - - D - 4 - - 4 - eighth - continue - - - - E - 4 - - 4 - eighth - end - - - - - - F - 4 - - 32 - whole - - - - diff --git a/generator/__main__.py b/generator/__main__.py index 0c9f3df..7ab6add 100644 --- a/generator/__main__.py +++ b/generator/__main__.py @@ -28,7 +28,6 @@ def parse_args() -> argparse.Namespace: parser.add_argument("--data-dir", type=Path, required=True) parser.add_argument("--output-dir", type=Path, required=True) parser.add_argument("--static-assets-dir", type=Path, default=Path("package/assets")) - parser.add_argument("--clean", action="store_true", help="Compatibility option; generated assets are always replaced as a complete bundle.") parser.add_argument("--check", action="store_true") return parser.parse_args() @@ -44,7 +43,7 @@ def generate_assets(args: argparse.Namespace) -> None: staged.mkdir(parents=True, exist_ok=True) copy_runtime_fonts(static_assets_dir, staged) performance_count = generate_performance_scores(data_dir / 'songs', staged / 'songs') - practice_count = generate_practice_scores(data_dir / 'practice', staged / 'practice') + practice_count = generate_practice_scores(data_dir, staged / 'practice') validate_generated_tree(staged) if args.check: validate_expected_performance_summary(data_dir / 'expected' / 'performance_summary.json', staged / 'songs') diff --git a/generator/catalogue.py b/generator/catalogue.py index fef1f52..2f54417 100644 --- a/generator/catalogue.py +++ b/generator/catalogue.py @@ -7,7 +7,7 @@ import tempfile from pathlib import Path APPLICATION_ID = 0x56414D50 -SCHEMA_VERSION = 1 +SCHEMA_VERSION = 2 COMMON_COLUMNS = """ id TEXT PRIMARY KEY NOT NULL CHECK(length(trim(id)) BETWEEN 1 AND 160), title TEXT NOT NULL CHECK(length(trim(title)) BETWEEN 1 AND 200), @@ -20,17 +20,6 @@ COMMON_COLUMNS = """ total_pages INTEGER NOT NULL CHECK(total_pages BETWEEN 1 AND 10000) """ -def human_label(value: str) -> str: - result, capitalize = '', True - for character in value: - if character in '-_': - result += ' ' - capitalize = True - else: - result += character.upper() if capitalize and 'a' <= character <= 'z' else character - capitalize = False - return result or 'Score' - def metadata(path: Path, root: Path) -> dict: if path.is_symlink() or not path.resolve().is_relative_to(root.resolve()): raise ValueError('score escapes the asset root') @@ -67,15 +56,12 @@ def populate(connection: sqlite3.Connection, root: Path) -> None: PRAGMA application_id = {APPLICATION_ID}; PRAGMA user_version = {SCHEMA_VERSION}; CREATE TABLE songs ({COMMON_COLUMNS}, part TEXT NOT NULL) STRICT; - CREATE TABLE practice_exercises ({COMMON_COLUMNS}, - exercise_id TEXT NOT NULL, - practice_type_id TEXT NOT NULL, practice_type_title TEXT NOT NULL, - lesson_group_id TEXT NOT NULL, lesson_group_title TEXT NOT NULL) STRICT; + CREATE TABLE practice_exercises ({COMMON_COLUMNS}, exercise_id TEXT NOT NULL) STRICT; CREATE INDEX songs_menu ON songs(title COLLATE NOCASE, composer COLLATE NOCASE, part COLLATE NOCASE); - CREATE INDEX practice_menu ON practice_exercises(practice_type_id COLLATE NOCASE, lesson_group_id COLLATE NOCASE, source_path COLLATE NOCASE); + CREATE INDEX practice_menu ON practice_exercises(exercise_id, id); ''') - identities, authored_keys = {}, {} - for category, table, depth in (('songs', 'songs', 1), ('practice', 'practice_exercises', 4)): + authored_keys = {} + for category, table, depth in (('songs', 'songs', 1), ('practice', 'practice_exercises', 2)): folder = root / category if (folder.exists() or folder.is_symlink()) and not folder.is_dir(): raise ValueError(f'{folder}: score asset directory not found') @@ -86,15 +72,11 @@ def populate(connection: sqlite3.Connection, root: Path) -> None: raise ValueError(f'unexpected {category} score path') row = metadata(path, root) if category == 'practice': - identity = '-'.join(parts[:3]) - previous = identities.setdefault(identity, path.parent) - if previous != path.parent: - raise ValueError(f'practice exercise ID collision {identity!r}: {previous} and {path.parent}') + identity = parts[0] if authored_keys.setdefault(identity, row['authored_key_signature']) != row['authored_key_signature']: raise ValueError(f'practice variants disagree on authored key: {identity}') row.pop('part') - row.update(id=identity + '-' + path.stem, exercise_id=identity, practice_type_id=parts[0], practice_type_title=human_label(parts[0]) + ' Practice', - lesson_group_id=parts[1], lesson_group_title=human_label(parts[1])) + row.update(id=identity + '-' + path.stem, exercise_id=identity) connection.execute(f'INSERT INTO {table} ({", ".join(row)}) VALUES ({", ".join("?" for _ in row)})', tuple(row.values())) except (ValueError, KeyError, TypeError, sqlite3.Error) as error: raise ValueError(f'{path}: {error}') from error diff --git a/generator/guitar.py b/generator/guitar.py index 4d2bd38..52ae785 100644 --- a/generator/guitar.py +++ b/generator/guitar.py @@ -5,7 +5,7 @@ from typing import NamedTuple STANDARD_TUNING = ((6, 40), (5, 45), (4, 50), (3, 55), (2, 59), (1, 64)) MIN_FRET = 0 -MAX_FRET = 15 +MAX_FRET = 20 MAX_FRET_SPAN = 4 WRITTEN_GUITAR_OCTAVE_OFFSET = 12 diff --git a/generator/playback.py b/generator/playback.py index 6f9b545..e45a301 100644 --- a/generator/playback.py +++ b/generator/playback.py @@ -183,7 +183,7 @@ def compile_tree(root: Path) -> None: for path in sorted(root.rglob('*.json')): document = json.loads(path.read_text(encoding='utf-8')) try: - guitar = path.relative_to(root).parts[:2] == ('practice', 'chord') or document['staves'][0].get('arrangement_part_type') in ('acoustic', 'electric') + guitar = document['staves'][0].get('arrangement_part_type') in ('practice', 'acoustic', 'electric') playback = compile_timeline(document, guitar=guitar) used = {} for event in playback['events']: diff --git a/generator/practice/generate.py b/generator/practice/generate.py index 4f0bc3b..4ef3997 100644 --- a/generator/practice/generate.py +++ b/generator/practice/generate.py @@ -5,7 +5,7 @@ from pathlib import Path from generator.score import copy_source_voices, make_arranged_document, make_measure, reidentify, slugify, source_staff, write_json from generator.musicxml import load_musicxml from generator.practice.guitar import transpose_guitar_practice -from generator.transposition import TARGET_KEYS, transpose_document +from generator.transposition import TARGET_KEYS def practice_document(document: dict) -> dict: staff = source_staff(document) @@ -29,7 +29,7 @@ def practice_document(document: dict) -> dict: staff, staff_id="staff-arranged-practice", staff_name="Practice", - role="vocal", + role="guitar", arrangement_part_type="practice", measures=measures, tuplets=tuplets, @@ -41,47 +41,27 @@ def practice_document(document: dict) -> dict: def key_file_name(key: str) -> str: return slugify(key.replace("#", "sharp")) + ".json" -def generate_chord_practice(source_path: Path, source_root: Path, output_dir: Path) -> int: - return generate_key_variants(source_path, source_root, output_dir, 'chord') - -def generate_melody_practice(source_path: Path, source_root: Path, output_dir: Path) -> int: - return generate_key_variants(source_path, source_root, output_dir, 'melody') - -def generate_key_variants(source_path: Path, source_root: Path, output_dir: Path, practice_type: str) -> int: +def generate_key_variants(source_path: Path, output_dir: Path) -> int: base_document = practice_document(load_musicxml(source_path)) - relative = source_path.relative_to(source_root) - lesson_group = relative.parent.name - exercise_id = slugify(source_path.stem) count = 0 for key in TARGET_KEYS: try: - variant = transpose_guitar_practice(base_document, key) if practice_type == 'chord' else transpose_document(base_document, key) + variant = transpose_guitar_practice(base_document, key) except ValueError as error: raise ValueError(f'{source_path}, target key {key}: {error}') from error - write_json(output_dir / practice_type / lesson_group / exercise_id / key_file_name(key), variant) + write_json(output_dir / source_path.stem / key_file_name(key), variant) count += 1 return count def generate_practice_scores(source_dir: Path, output_dir: Path) -> int: - if not source_dir.exists(): - return 0 - sources = sorted(source_dir.rglob('*.xml')) - destinations: dict[Path, Path] = {} - identities: dict[str, Path] = {} - for path in sources: + if not source_dir.is_dir(): + raise ValueError(f'practice source directory not found: {source_dir}') + sources = sorted(source_dir.glob('*.xml')) + for path in source_dir.rglob('*.xml'): parts = path.relative_to(source_dir).parts - if len(parts) != 3 or parts[0] not in ('chord', 'melody'): - raise ValueError(f'{path}: practice source must be stored as practice///.xml') - destination = Path(parts[0]) / parts[1] / slugify(path.stem) - if destination in destinations: - raise ValueError(f'{path}: practice output path collides with {destinations[destination]}: {destination}') - identity = '-'.join(destination.parts) - if identity in identities: - raise ValueError(f'{path}: practice exercise ID collision with {identities[identity]}: {identity}') - identities[identity] = path - destinations[destination] = path - count = 0 - for destination, path in destinations.items(): - practice_type = destination.parts[0] - count += generate_key_variants(path, source_dir / practice_type, output_dir, practice_type) - return count + if len(parts) != 1 and (len(parts) != 2 or parts[0] != 'songs'): + raise ValueError(f'{path}: practice sources belong directly under the data directory') + for path in sources: + if len(path.stem) != 3 or not path.stem.isascii() or not path.stem.isdecimal() or int(path.stem) == 0: + raise ValueError(f'{path}: practice sources require a three-digit positive filename such as 001.xml') + return sum(generate_key_variants(path, output_dir) for path in sources) diff --git a/generator/score.py b/generator/score.py index da23419..82d159d 100644 --- a/generator/score.py +++ b/generator/score.py @@ -42,9 +42,6 @@ def write_json(path: Path, document: dict) -> None: def slugify(value: str) -> str: return re.sub(r'[^a-z0-9]+', '-', value.strip().lower()).strip('-') or 'score' -def human_label(value: str) -> str: - return ' '.join(v.capitalize() for v in value.replace('_', ' ').replace('-', ' ').split()) or 'General' - def source_staff(document: dict) -> dict: if len(document.get('staves', [])) != 1: raise ValueError('exactly one source staff is required') diff --git a/generator/summary.py b/generator/summary.py index 329c2df..57f94d9 100644 --- a/generator/summary.py +++ b/generator/summary.py @@ -89,11 +89,7 @@ def validate_practice_variants(generated_practice_dir: Path) -> None: if not generated_practice_dir.exists(): return expected_names = {key.lower().replace("#", "sharp") + ".json" for key in TARGET_KEYS} - for practice_type in ('melody', 'chord'): - root = generated_practice_dir / practice_type - for exercise_dir in sorted(path for path in root.rglob("*") if path.is_dir()): - json_names = {path.name for path in exercise_dir.glob("*.json")} - if not json_names: - continue - if json_names != expected_names: - raise ValueError(f"{practice_type} practice generator drift in {exercise_dir}: expected {sorted(expected_names)}, found {sorted(json_names)}") + for exercise_dir in sorted(path for path in generated_practice_dir.iterdir() if path.is_dir()): + json_names = {path.name for path in exercise_dir.glob("*.json")} + if json_names != expected_names: + raise ValueError(f"practice generator drift in {exercise_dir}: expected {sorted(expected_names)}, found {sorted(json_names)}") diff --git a/generator/transposition.py b/generator/transposition.py index 06bc0c5..4a30732 100644 --- a/generator/transposition.py +++ b/generator/transposition.py @@ -1,35 +1,15 @@ from __future__ import annotations import copy -from dataclasses import dataclass from generator import harmony from generator.model import LETTERS, NATURAL, alteration, key_from_fifths, key_label, parse_pitch_name, pitch_number, rational -@dataclass(frozen=True) -class KeyProfile: - name: str - root: int - fifths: int - -KEY_PROFILES = tuple(KeyProfile(name, root, fifths) for root, (name, fifths) in enumerate((('C', 0), ('Db', -5), ('D', 2), ('Eb', -3), ('E', 4), ('F', -1), ('Gb', -6), ('G', 1), ('Ab', -4), ('A', 3), ('Bb', -2), ('B', 5)))) -TARGET_KEYS = tuple(p.name for p in KEY_PROFILES) +TARGET_KEYS = ('C', 'Db', 'D', 'Eb', 'E', 'F', 'Gb', 'G', 'Ab', 'A', 'Bb', 'B') def mod12(value: int) -> int: return value % 12 -def find_key(name: str) -> KeyProfile: - tonic = parse_pitch_name(name) - for fifths in range(-14, 15): - key = key_from_fifths(fifths) - if key['tonic'] == tonic: - return KeyProfile(name, int(NATURAL[tonic['letter']] + alteration(tonic['alter'])) % 12, fifths) - raise ValueError(f'unsupported key signature: {name}') - -def signed_interval(source: KeyProfile, target: KeyProfile) -> int: - value = (target.root - source.root) % 12 - return value - 12 if value > 6 else value - def interval_between(source: dict, target: dict) -> tuple[int, int]: semitones = (NATURAL[target['letter']] + alteration(target['alter']) - NATURAL[source['letter']] - alteration(source['alter'])) % 12 if semitones > 6: diff --git a/include/vamp_zero/navigation.hpp b/include/vamp_zero/navigation.hpp index 78450ea..c1520cc 100644 --- a/include/vamp_zero/navigation.hpp +++ b/include/vamp_zero/navigation.hpp @@ -15,16 +15,12 @@ namespace vamp_zero { auto selected_group(vamp_zero::app_state const &state) -> vamp_zero::song_group const *; auto selected_part(vamp_zero::app_state const &state) -> vamp_zero::library_part const *; auto active_part(vamp_zero::app_state const &state) -> vamp_zero::library_part const *; -auto selected_practice_type(vamp_zero::app_state const &state) -> vamp_zero::practice_type_group const *; -auto selected_practice_lesson(vamp_zero::app_state const &state) -> vamp_zero::practice_lesson_group const *; auto selected_practice_exercise(vamp_zero::app_state const &state) -> vamp_zero::practice_exercise const *; auto active_practice(vamp_zero::app_state const &state) -> vamp_zero::practice_exercise const *; -auto supports_key_selection(vamp_zero::practice_exercise const &exercise) -> std::bool_t; auto selected_practice_variant(vamp_zero::app_state const &state, vamp_zero::practice_exercise const &exercise) -> vamp_zero::practice_exercise::score_variant const *; auto selected_practice_key(vamp_zero::app_state const &state, vamp_zero::practice_exercise const &exercise) -> std::optional; auto practice_key_row_count(vamp_zero::app_state const &state) -> std::size_t; auto effective_practice_key(vamp_zero::app_state const &state, vamp_zero::practice_exercise const &exercise) -> std::string; auto active_pages(vamp_zero::app_state const &state) -> std::size_t; -auto practice_fallback_menu(vamp_zero::app_state const &state) -> vamp_zero::app_mode; } diff --git a/include/vamp_zero/types.hpp b/include/vamp_zero/types.hpp index b01c37a..2287bfe 100644 --- a/include/vamp_zero/types.hpp +++ b/include/vamp_zero/types.hpp @@ -2,9 +2,7 @@ #include #include -#include #include -#include #include #include #include @@ -70,31 +68,14 @@ struct practice_exercise { std::size_t total_pages{}; }; std::string id{}; - std::string practice_type_id{}; - std::string practice_type_title{}; - std::string lesson_group_id{}; - std::string lesson_group_title{}; std::string title{}; std::string composer{}; std::string authored_key_signature{}; std::vector variants{}; }; -struct practice_lesson_group { - std::string id{}; - std::string title{}; - std::vector exercises{}; -}; - -struct practice_type_group { - std::string id{}; - std::string title{}; - std::vector lesson_groups{}; -}; - struct practice_library { std::vector exercises{}; - std::vector types{}; }; struct catalogue { @@ -120,8 +101,6 @@ enum class app_mode { PERFORMANCE_SONG_MENU, PERFORMANCE_PART_MENU, PERFORMANCE_SCORE, - PRACTICE_TYPE_MENU, - PRACTICE_LESSON_MENU, PRACTICE_EXERCISE_MENU, PRACTICE_KEY_MENU, PRACTICE_SCORE, @@ -145,8 +124,6 @@ struct app_state { std::size_t selected_main_menu_index{}; std::size_t selected_song_index{}; std::size_t selected_part_index{}; - std::size_t selected_practice_type_index{}; - std::size_t selected_practice_lesson_index{}; std::size_t selected_practice_exercise_index{}; std::size_t selected_practice_key_index{}; std::string active_part_id{}; @@ -164,6 +141,5 @@ struct app_state { auto to_string(vamp_zero::hardware_mode value) -> std::string; auto to_string(vamp_zero::app_mode value) -> std::string; auto practice_key_names() -> std::vector const &; -auto practice_type_supports_key_selection(std::string_view practice_type_id) -> std::bool_t; } diff --git a/src/vamp_zero/database.cpp b/src/vamp_zero/database.cpp index 9a6fc69..22a3ed7 100644 --- a/src/vamp_zero/database.cpp +++ b/src/vamp_zero/database.cpp @@ -25,7 +25,7 @@ namespace { constexpr auto application_id = std::int64_t{0x56414D50}; -constexpr auto catalogue_schema_version = std::int64_t{1}; +constexpr auto catalogue_schema_version = std::int64_t{2}; auto connection_config(vamp_zero::database_config const &config) -> noto::connection_config { auto result = noto::file_connection_config(config.path, "product-vamp"); @@ -183,9 +183,8 @@ auto vamp_zero::async_load_practice_library(boost::asio::any_io_executor executo if (!connected) { co_return std::unexpected(connected.error()); } - auto selected = co_await connection.async_prepare("SELECT id, practice_type_id, practice_type_title, lesson_group_id, lesson_group_title, title, composer, " - "key_signature, source_path, measure_count, total_pages, authored_key_signature, exercise_id FROM practice_exercises ORDER BY practice_type_id COLLATE NOCASE, " - "lesson_group_id COLLATE NOCASE, source_path COLLATE NOCASE, title COLLATE NOCASE, id COLLATE NOCASE"); + auto selected = co_await connection.async_prepare("SELECT id, title, composer, key_signature, source_path, measure_count, total_pages, authored_key_signature, exercise_id " + "FROM practice_exercises ORDER BY exercise_id, id"); if (!selected) { auto close = co_await connection.async_close(); if (!close) { @@ -205,35 +204,27 @@ auto vamp_zero::async_load_practice_library(boost::asio::any_io_executor executo break; } auto const &row = **next; - if (row.size() != 13U || count_value(row[9]) == 0U || count_value(row[10]) == 0U || text_value(row[12]).empty()) { + if (row.size() != 9U || count_value(row[5]) == 0U || count_value(row[6]) == 0U || text_value(row[8]).empty() || text_value(row[3]).empty()) { status = std::unexpected(vamp_zero::make_error(vamp_zero::error_code::PERSISTENCE, "invalid practice metadata")); break; } - auto type_id = text_value(row[1]); - auto lesson_id = text_value(row[3]); - auto source = resolve_source_path(assets_path, text_value(row[8])); + auto source = resolve_source_path(assets_path, text_value(row[4])); if (!source) { status = std::unexpected(source.error()); break; } - auto source_path = std::move(*source); - auto key_signature = text_value(row[7]).empty() ? std::string{"C"} : text_value(row[7]); auto variant = vamp_zero::practice_exercise::score_variant{ .id = text_value(row[0]), - .key_signature = key_signature, - .source_path = source_path, - .measure_count = count_value(row[9]), - .total_pages = count_value(row[10]), + .key_signature = text_value(row[3]), + .source_path = std::move(*source), + .measure_count = count_value(row[5]), + .total_pages = count_value(row[6]), }; exercises.push_back({ - .id = text_value(row[12]), - .practice_type_id = std::move(type_id), - .practice_type_title = text_value(row[2]), - .lesson_group_id = std::move(lesson_id), - .lesson_group_title = text_value(row[4]), - .title = text_value(row[5]), - .composer = text_value(row[6]), - .authored_key_signature = text_value(row[11]), + .id = text_value(row[8]), + .title = text_value(row[1]), + .composer = text_value(row[2]), + .authored_key_signature = text_value(row[7]), .variants = {std::move(variant)}, }); } diff --git a/src/vamp_zero/library.cpp b/src/vamp_zero/library.cpp index 1786d14..68f87df 100644 --- a/src/vamp_zero/library.cpp +++ b/src/vamp_zero/library.cpp @@ -48,11 +48,11 @@ auto vamp_zero::group_library_parts(std::vector parts) auto vamp_zero::group_practice_exercises(std::vector exercises) -> std::expected { std::sort(exercises.begin(), exercises.end(), [](auto const &left, auto const &right) { - return std::tie(left.practice_type_id, left.lesson_group_id, left.id) < std::tie(right.practice_type_id, right.lesson_group_id, right.id); + return left.id < right.id; }); auto merged = std::vector{}; for (auto &exercise : exercises) { - if (!merged.empty() && std::tie(merged.back().practice_type_id, merged.back().lesson_group_id, merged.back().id) == std::tie(exercise.practice_type_id, exercise.lesson_group_id, exercise.id)) { + if (!merged.empty() && merged.back().id == exercise.id) { if (merged.back().authored_key_signature != exercise.authored_key_signature) { return std::unexpected(invalid("practice variants disagree on authored key: " + exercise.id)); } @@ -61,20 +61,18 @@ auto vamp_zero::group_practice_exercises(std::vector{}; - for (auto index = std::size_t{}; index < merged.size(); ++index) { - auto &exercise = merged[index]; + for (auto &exercise : merged) { std::sort(exercise.variants.begin(), exercise.variants.end(), [](auto const &left, auto const &right) { return std::tuple{key_rank(left.key_signature), left.id} < std::tuple{key_rank(right.key_signature), right.id}; }); - if (types.empty() || types.back().id != exercise.practice_type_id) { - types.push_back({.id = exercise.practice_type_id, .title = exercise.practice_type_title}); + if (exercise.variants.size() != vamp_zero::practice_key_names().size()) { + return std::unexpected(invalid("practice exercise requires twelve key variants: " + exercise.id)); } - auto &lessons = types.back().lesson_groups; - if (lessons.empty() || lessons.back().id != exercise.lesson_group_id) { - lessons.push_back({.id = exercise.lesson_group_id, .title = exercise.lesson_group_title}); + for (auto index = std::size_t{}; index < exercise.variants.size(); ++index) { + if (key_rank(exercise.variants[index].key_signature) != index) { + return std::unexpected(invalid("practice exercise has missing or duplicate keys: " + exercise.id)); + } } - lessons.back().exercises.push_back(index); } - return vamp_zero::practice_library{.exercises = std::move(merged), .types = std::move(types)}; + return vamp_zero::practice_library{.exercises = std::move(merged)}; } diff --git a/src/vamp_zero/navigation.cpp b/src/vamp_zero/navigation.cpp index e018e8f..0f64dc9 100644 --- a/src/vamp_zero/navigation.cpp +++ b/src/vamp_zero/navigation.cpp @@ -45,40 +45,15 @@ auto vamp_zero::active_part(vamp_zero::app_state const &state) -> vamp_zero::lib return found == state.catalog->performance.parts.end() ? nullptr : &*found; } -auto vamp_zero::selected_practice_type(vamp_zero::app_state const &state) -> vamp_zero::practice_type_group const * { - if (state.selected_practice_type_index == 0U || state.catalog->practice.types.empty()) { - return nullptr; - } - auto index = state.selected_practice_type_index - 1U; - if (index >= state.catalog->practice.types.size()) { - return nullptr; - } - return &state.catalog->practice.types[index]; -} - -auto vamp_zero::selected_practice_lesson(vamp_zero::app_state const &state) -> vamp_zero::practice_lesson_group const * { - auto const *type = vamp_zero::selected_practice_type(state); - if (state.selected_practice_lesson_index == 0U || type == nullptr || type->lesson_groups.empty()) { - return nullptr; - } - auto index = state.selected_practice_lesson_index - 1U; - if (index >= type->lesson_groups.size()) { - return nullptr; - } - return &type->lesson_groups[index]; -} - auto vamp_zero::selected_practice_exercise(vamp_zero::app_state const &state) -> vamp_zero::practice_exercise const * { - auto const *lesson = vamp_zero::selected_practice_lesson(state); - if (state.selected_practice_exercise_index == 0U || lesson == nullptr || lesson->exercises.empty()) { + if (state.selected_practice_exercise_index == 0U) { return nullptr; } auto index = state.selected_practice_exercise_index - 1U; - if (index >= lesson->exercises.size()) { + if (index >= state.catalog->practice.exercises.size()) { return nullptr; } - auto exercise_index = lesson->exercises[index]; - return exercise_index < state.catalog->practice.exercises.size() ? &state.catalog->practice.exercises[exercise_index] : nullptr; + return &state.catalog->practice.exercises[index]; } auto vamp_zero::active_practice(vamp_zero::app_state const &state) -> vamp_zero::practice_exercise const * { @@ -91,17 +66,10 @@ auto vamp_zero::active_practice(vamp_zero::app_state const &state) -> vamp_zero: return found == state.catalog->practice.exercises.end() ? nullptr : &*found; } -auto vamp_zero::supports_key_selection(vamp_zero::practice_exercise const &exercise) -> std::bool_t { - return vamp_zero::practice_type_supports_key_selection(exercise.practice_type_id); -} - auto vamp_zero::selected_practice_variant(vamp_zero::app_state const &state, vamp_zero::practice_exercise const &exercise) -> vamp_zero::practice_exercise::score_variant const * { if (exercise.variants.empty()) { return nullptr; } - if (!vamp_zero::supports_key_selection(exercise)) { - return &exercise.variants.front(); - } if (state.selected_practice_key_index == 0U) { return nullptr; } @@ -122,7 +90,7 @@ auto vamp_zero::selected_practice_key(vamp_zero::app_state const &state, vamp_ze auto vamp_zero::practice_key_row_count(vamp_zero::app_state const &state) -> std::size_t { auto const *exercise = vamp_zero::selected_practice_exercise(state); - if (exercise == nullptr || !vamp_zero::supports_key_selection(*exercise)) { + if (exercise == nullptr) { return 1U; } return menu_row_count(exercise->variants.size()); @@ -148,13 +116,3 @@ auto vamp_zero::active_pages(vamp_zero::app_state const &state) -> std::size_t { } return 0U; } - -auto vamp_zero::practice_fallback_menu(vamp_zero::app_state const &state) -> vamp_zero::app_mode { - if (vamp_zero::selected_practice_lesson(state) != nullptr) { - return vamp_zero::app_mode::PRACTICE_EXERCISE_MENU; - } - if (vamp_zero::selected_practice_type(state) != nullptr) { - return vamp_zero::app_mode::PRACTICE_LESSON_MENU; - } - return vamp_zero::app_mode::PRACTICE_TYPE_MENU; -} diff --git a/src/vamp_zero/page_control.cpp b/src/vamp_zero/page_control.cpp index d97815b..daeddb4 100644 --- a/src/vamp_zero/page_control.cpp +++ b/src/vamp_zero/page_control.cpp @@ -77,36 +77,14 @@ auto clamp_state(vamp_zero::app_state state) -> vamp_zero::app_state { } else { state.selected_part_index = 0U; } - state.selected_practice_type_index = - std::min(state.selected_practice_type_index, menu_row_count(state.catalog->practice.types.size()) - 1U); - if (auto const *type = selected_practice_type(state); type != nullptr) { - state.selected_practice_lesson_index = - std::min(state.selected_practice_lesson_index, menu_row_count(type->lesson_groups.size()) - 1U); - } else { - state.selected_practice_lesson_index = 0U; - } - if (auto const *lesson = selected_practice_lesson(state); lesson != nullptr) { - state.selected_practice_exercise_index = - std::min(state.selected_practice_exercise_index, menu_row_count(lesson->exercises.size()) - 1U); - } else { - state.selected_practice_exercise_index = 0U; - } + state.selected_practice_exercise_index = std::min(state.selected_practice_exercise_index, state.catalog->practice.exercises.size()); state.selected_practice_key_index = std::min(state.selected_practice_key_index, practice_key_row_count(state) - 1U); if (state.mode == vamp_zero::app_mode::PERFORMANCE_PART_MENU && selected_group(state) == nullptr) { state.mode = vamp_zero::app_mode::PERFORMANCE_SONG_MENU; } - if (state.mode == vamp_zero::app_mode::PRACTICE_LESSON_MENU && selected_practice_type(state) == nullptr) { - state.mode = vamp_zero::app_mode::PRACTICE_TYPE_MENU; - } - if (state.mode == vamp_zero::app_mode::PRACTICE_EXERCISE_MENU && selected_practice_lesson(state) == nullptr) { - state.mode = selected_practice_type(state) == nullptr ? vamp_zero::app_mode::PRACTICE_TYPE_MENU - : vamp_zero::app_mode::PRACTICE_LESSON_MENU; - } if (state.mode == vamp_zero::app_mode::PRACTICE_KEY_MENU) { auto const *exercise = selected_practice_exercise(state); - if (exercise == nullptr) { - state.mode = practice_fallback_menu(state); - } else if (!supports_key_selection(*exercise) || exercise->variants.empty()) { + if (exercise == nullptr || exercise->variants.empty()) { state.mode = vamp_zero::app_mode::PRACTICE_EXERCISE_MENU; state.selected_practice_key_index = 0U; } @@ -119,7 +97,7 @@ auto clamp_state(vamp_zero::app_state state) -> vamp_zero::app_state { } else if (state.mode == vamp_zero::app_mode::PRACTICE_SCORE) { auto const *exercise = active_practice(state); if (exercise == nullptr) { - state.mode = practice_fallback_menu(state); + state.mode = vamp_zero::app_mode::PRACTICE_EXERCISE_MENU; state.active_practice_id.clear(); state.page_index = 0; } else if (selected_practice_variant(state, *exercise) == nullptr) { @@ -189,11 +167,6 @@ auto exercise_json(vamp_zero::practice_exercise const &exercise) -> boost::json: } auto result = boost::json::object{}; result["id"] = exercise.id; - result["practice_type_id"] = exercise.practice_type_id; - result["practice_type_title"] = exercise.practice_type_title; - result["lesson_group_id"] = exercise.lesson_group_id; - result["lesson_group_title"] = exercise.lesson_group_title; - result["supports_key_selection"] = supports_key_selection(exercise); result["title"] = exercise.title; result["composer"] = exercise.composer; result["authored_key_signature"] = exercise.authored_key_signature; @@ -209,41 +182,6 @@ auto exercise_json(vamp_zero::practice_exercise const &exercise) -> boost::json: return result; } -auto lesson_json(vamp_zero::practice_lesson_group const &lesson, vamp_zero::practice_library const &library) -> boost::json::object { - auto exercises = boost::json::array{}; - for (auto const &exercise : lesson.exercises) { - exercises.push_back(exercise_json(library.exercises[exercise])); - } - auto result = boost::json::object{}; - result["id"] = lesson.id; - result["title"] = lesson.title; - result["exercise_count"] = static_cast(lesson.exercises.size()); - result["exercises"] = std::move(exercises); - return result; -} - -auto practice_type_exercise_count(vamp_zero::practice_type_group const &type) -> std::size_t { - auto count = std::size_t{}; - for (auto const &lesson : type.lesson_groups) { - count += lesson.exercises.size(); - } - return count; -} - -auto type_json(vamp_zero::practice_type_group const &type, vamp_zero::practice_library const &library) -> boost::json::object { - auto lessons = boost::json::array{}; - for (auto const &lesson : type.lesson_groups) { - lessons.push_back(lesson_json(lesson, library)); - } - auto result = boost::json::object{}; - result["id"] = type.id; - result["title"] = type.title; - result["lesson_group_count"] = static_cast(type.lesson_groups.size()); - result["exercise_count"] = static_cast(practice_type_exercise_count(type)); - result["lesson_groups"] = std::move(lessons); - return result; -} - auto performance_json(vamp_zero::app_state const &state) -> boost::json::object { auto groups = boost::json::array{}; for (auto const &group : state.catalog->performance.groups) { @@ -265,10 +203,6 @@ auto performance_json(vamp_zero::app_state const &state) -> boost::json::object } auto practice_json(vamp_zero::app_state const &state) -> boost::json::object { - auto types = boost::json::array{}; - for (auto const &type : state.catalog->practice.types) { - types.push_back(type_json(type, state.catalog->practice)); - } auto exercises = boost::json::array{}; for (auto const &exercise : state.catalog->practice.exercises) { exercises.push_back(exercise_json(exercise)); @@ -278,16 +212,8 @@ auto practice_json(vamp_zero::app_state const &state) -> boost::json::object { keys.push_back(boost::json::value{std::string{key}}); } auto selection = boost::json::object{}; - selection["type_row_index"] = static_cast(state.selected_practice_type_index); - selection["lesson_row_index"] = static_cast(state.selected_practice_lesson_index); selection["exercise_row_index"] = static_cast(state.selected_practice_exercise_index); selection["key_row_index"] = static_cast(state.selected_practice_key_index); - if (auto const *type = selected_practice_type(state); type != nullptr) { - selection["type"] = type_json(*type, state.catalog->practice); - } - if (auto const *lesson = selected_practice_lesson(state); lesson != nullptr) { - selection["lesson_group"] = lesson_json(*lesson, state.catalog->practice); - } if (auto const *exercise = selected_practice_exercise(state); exercise != nullptr) { selection["exercise"] = exercise_json(*exercise); auto variant = selected_practice_variant(state, *exercise); @@ -307,9 +233,7 @@ auto practice_json(vamp_zero::app_state const &state) -> boost::json::object { } } auto practice = boost::json::object{}; - practice["type_count"] = static_cast(state.catalog->practice.types.size()); practice["exercise_count"] = static_cast(state.catalog->practice.exercises.size()); - practice["types"] = std::move(types); practice["exercises"] = std::move(exercises); practice["key_count"] = static_cast(vamp_zero::practice_key_names().size()); practice["keys"] = std::move(keys); @@ -359,9 +283,7 @@ auto vamp_zero::apply_app_command(vamp_zero::app_state state, vamp_protocol::pag state.active_part_id.clear(); state.page_index = 0; } else if (state.selected_main_menu_index == main_menu_practice) { - state.mode = vamp_zero::app_mode::PRACTICE_TYPE_MENU; - state.selected_practice_type_index = 0; - state.selected_practice_lesson_index = 0; + state.mode = vamp_zero::app_mode::PRACTICE_EXERCISE_MENU; state.selected_practice_exercise_index = 0; state.selected_practice_key_index = 0; state.active_practice_id.clear(); @@ -422,85 +344,28 @@ auto vamp_zero::apply_app_command(vamp_zero::app_state state, vamp_protocol::pag } } return clamp_state(std::move(state)); - case vamp_zero::app_mode::PRACTICE_TYPE_MENU: + case vamp_zero::app_mode::PRACTICE_EXERCISE_MENU: if (command == vamp_protocol::page_command::NEXT) { - state.selected_practice_type_index = - wrap_next(state.selected_practice_type_index, menu_row_count(state.catalog->practice.types.size())); - state.selected_practice_lesson_index = 0; - state.selected_practice_exercise_index = 0; + state.selected_practice_exercise_index = wrap_next(state.selected_practice_exercise_index, menu_row_count(state.catalog->practice.exercises.size())); state.selected_practice_key_index = 0; } else if (command == vamp_protocol::page_command::PREVIOUS) { - state.selected_practice_type_index = - wrap_previous(state.selected_practice_type_index, menu_row_count(state.catalog->practice.types.size())); - state.selected_practice_lesson_index = 0; - state.selected_practice_exercise_index = 0; + state.selected_practice_exercise_index = wrap_previous(state.selected_practice_exercise_index, menu_row_count(state.catalog->practice.exercises.size())); state.selected_practice_key_index = 0; - } else if (state.selected_practice_type_index == 0U) { + } else if (state.selected_practice_exercise_index == 0U) { state.mode = vamp_zero::app_mode::MAIN_MENU; - } else { - state.mode = vamp_zero::app_mode::PRACTICE_LESSON_MENU; - state.selected_practice_lesson_index = 0; - state.selected_practice_exercise_index = 0; + state.active_practice_id.clear(); + state.page_index = 0; + } else if (selected_practice_exercise(state) != nullptr) { + state.active_part_id.clear(); + state.active_practice_id.clear(); + state.page_index = 0; + state.mode = vamp_zero::app_mode::PRACTICE_KEY_MENU; state.selected_practice_key_index = 0; } return clamp_state(std::move(state)); - case vamp_zero::app_mode::PRACTICE_LESSON_MENU: - if (auto const *type = selected_practice_type(state); type != nullptr) { - if (command == vamp_protocol::page_command::NEXT) { - state.selected_practice_lesson_index = - wrap_next(state.selected_practice_lesson_index, menu_row_count(type->lesson_groups.size())); - state.selected_practice_exercise_index = 0; - state.selected_practice_key_index = 0; - } else if (command == vamp_protocol::page_command::PREVIOUS) { - state.selected_practice_lesson_index = - wrap_previous(state.selected_practice_lesson_index, menu_row_count(type->lesson_groups.size())); - state.selected_practice_exercise_index = 0; - state.selected_practice_key_index = 0; - } else if (state.selected_practice_lesson_index == 0U) { - state.mode = vamp_zero::app_mode::PRACTICE_TYPE_MENU; - state.active_practice_id.clear(); - state.page_index = 0; - } else { - state.mode = vamp_zero::app_mode::PRACTICE_EXERCISE_MENU; - state.selected_practice_exercise_index = 0; - state.selected_practice_key_index = 0; - } - } - return clamp_state(std::move(state)); - case vamp_zero::app_mode::PRACTICE_EXERCISE_MENU: - if (auto const *lesson = selected_practice_lesson(state); lesson != nullptr) { - if (command == vamp_protocol::page_command::NEXT) { - state.selected_practice_exercise_index = - wrap_next(state.selected_practice_exercise_index, menu_row_count(lesson->exercises.size())); - state.selected_practice_key_index = 0; - } else if (command == vamp_protocol::page_command::PREVIOUS) { - state.selected_practice_exercise_index = - wrap_previous(state.selected_practice_exercise_index, menu_row_count(lesson->exercises.size())); - state.selected_practice_key_index = 0; - } else if (state.selected_practice_exercise_index == 0U) { - state.mode = vamp_zero::app_mode::PRACTICE_LESSON_MENU; - state.active_practice_id.clear(); - state.page_index = 0; - } else if (auto const *exercise = selected_practice_exercise(state); exercise != nullptr) { - state.active_part_id.clear(); - state.active_practice_id.clear(); - state.page_index = 0; - if (supports_key_selection(*exercise) && !exercise->variants.empty()) { - state.mode = vamp_zero::app_mode::PRACTICE_KEY_MENU; - state.selected_practice_key_index = 0; - } else { - state.active_practice_id = exercise->id; - state.selected_practice_key_index = 0; - state.mode = vamp_zero::app_mode::PRACTICE_SCORE; - ++state.score_session; - state.audio.playback_error.clear(); - } - } - } - return clamp_state(std::move(state)); case vamp_zero::app_mode::PRACTICE_KEY_MENU: if (auto const *exercise = selected_practice_exercise(state); - exercise != nullptr && supports_key_selection(*exercise)) { + exercise != nullptr) { if (command == vamp_protocol::page_command::NEXT) { state.selected_practice_key_index = wrap_next(state.selected_practice_key_index, menu_row_count(exercise->variants.size())); @@ -530,8 +395,7 @@ auto vamp_zero::apply_app_command(vamp_zero::app_state state, vamp_protocol::pag } else if (command == vamp_protocol::page_command::PREVIOUS) { state.page_index = state.page_index == 0U ? 0U : state.page_index - 1U; } else { - state.mode = supports_key_selection(*exercise) ? vamp_zero::app_mode::PRACTICE_KEY_MENU - : vamp_zero::app_mode::PRACTICE_EXERCISE_MENU; + state.mode = vamp_zero::app_mode::PRACTICE_KEY_MENU; state.active_practice_id.clear(); state.page_index = 0; } @@ -662,29 +526,15 @@ auto vamp_zero::validate_app_state(vamp_zero::app_state const &state) -> std::ex group != nullptr && state.selected_part_index >= menu_row_count(group->parts.size())) { return std::unexpected(vamp_zero::make_error(vamp_zero::error_code::INVALID_ARGUMENT, "selected performance part row is out of range")); } - if (state.selected_practice_type_index >= menu_row_count(state.catalog->practice.types.size())) { - return std::unexpected(vamp_zero::make_error(vamp_zero::error_code::INVALID_ARGUMENT, "selected practice type row is out of range")); - } - if (auto const *type = selected_practice_type(state); - type != nullptr && state.selected_practice_lesson_index >= menu_row_count(type->lesson_groups.size())) { - return std::unexpected(vamp_zero::make_error(vamp_zero::error_code::INVALID_ARGUMENT, "selected practice lesson row is out of range")); - } - if (auto const *lesson = selected_practice_lesson(state); - lesson != nullptr && state.selected_practice_exercise_index >= menu_row_count(lesson->exercises.size())) { + if (state.selected_practice_exercise_index >= menu_row_count(state.catalog->practice.exercises.size())) { return std::unexpected(vamp_zero::make_error(vamp_zero::error_code::INVALID_ARGUMENT, "selected practice exercise row is out of range")); } if (state.selected_practice_key_index >= practice_key_row_count(state)) { return std::unexpected(vamp_zero::make_error(vamp_zero::error_code::INVALID_ARGUMENT, "selected practice key row is out of range")); } - if (state.mode == vamp_zero::app_mode::PRACTICE_LESSON_MENU && selected_practice_type(state) == nullptr) { - return std::unexpected(vamp_zero::make_error(vamp_zero::error_code::INVALID_ARGUMENT, "practice lesson mode requires a selected practice type")); - } - if (state.mode == vamp_zero::app_mode::PRACTICE_EXERCISE_MENU && selected_practice_lesson(state) == nullptr) { - return std::unexpected(vamp_zero::make_error(vamp_zero::error_code::INVALID_ARGUMENT, "practice exercise mode requires a selected lesson group")); - } if (state.mode == vamp_zero::app_mode::PRACTICE_KEY_MENU) { auto const *exercise = selected_practice_exercise(state); - if (exercise == nullptr || !supports_key_selection(*exercise)) { + if (exercise == nullptr || exercise->variants.empty()) { return std::unexpected(vamp_zero::make_error(vamp_zero::error_code::INVALID_ARGUMENT, "practice key mode requires an exercise with key variants")); } } diff --git a/src/vamp_zero/types.cpp b/src/vamp_zero/types.cpp index 480a458..496017e 100644 --- a/src/vamp_zero/types.cpp +++ b/src/vamp_zero/types.cpp @@ -29,10 +29,6 @@ auto vamp_zero::to_string(vamp_zero::app_mode value) -> std::string { return "performance_part_menu"; case vamp_zero::app_mode::PERFORMANCE_SCORE: return "performance_score"; - case vamp_zero::app_mode::PRACTICE_TYPE_MENU: - return "practice_type_menu"; - case vamp_zero::app_mode::PRACTICE_LESSON_MENU: - return "practice_lesson_menu"; case vamp_zero::app_mode::PRACTICE_EXERCISE_MENU: return "practice_exercise_menu"; case vamp_zero::app_mode::PRACTICE_KEY_MENU: @@ -60,7 +56,3 @@ auto vamp_zero::practice_key_names() -> std::vector const & { }; return keys; } - -auto vamp_zero::practice_type_supports_key_selection(std::string_view practice_type_id) -> std::bool_t { - return practice_type_id == "melody" || practice_type_id == "chord"; -} diff --git a/src/vamp_zero/ui.cpp b/src/vamp_zero/ui.cpp index abf280d..9d1a77e 100644 --- a/src/vamp_zero/ui.cpp +++ b/src/vamp_zero/ui.cpp @@ -275,110 +275,14 @@ auto draw_performance_part_menu(luma::draw_context &context, luma::rect bounds, } } -auto draw_practice_type_menu(luma::draw_context &context, luma::rect bounds, vamp_zero::app_state const &state) -> void { - draw_text(context, bounds.x + 36.0F, bounds.y + 28.0F, "PRACTICE", 4, vamp_style::ink, 300.0F); - draw_text(context, bounds.x + 38.0F, bounds.y + 66.0F, std::to_string(state.catalog->practice.types.size()) + " TYPES " + std::to_string(state.catalog->practice.exercises.size()) + " EXERCISES", 1, vamp_style::muted, 420.0F); - auto list_y = bounds.y + 112.0F; - auto row_height = std::float32_t{54.0F}; - auto row_width = bounds.width - 72.0F; - auto total_rows = state.catalog->practice.types.size() + 1U; - auto max_rows = std::min(total_rows, 7U); - auto first = first_visible_row(state.selected_practice_type_index, total_rows, max_rows); - for (auto row = std::size_t{}; row < max_rows; ++row) { - auto index = first + row; - if (index == 0U) { - draw_row(context, - {.x = bounds.x + 36.0F, - .y = list_y + static_cast(row) * row_height, - .width = row_width, - .height = row_height}, - "BACK", - "", - state.selected_practice_type_index == 0U); - continue; - } - auto const &type = state.catalog->practice.types[index - 1U]; - auto exercise_count = std::size_t{}; - for (auto const &lesson : type.lesson_groups) { - exercise_count += lesson.exercises.size(); - } - draw_row(context, - {.x = bounds.x + 36.0F, - .y = list_y + static_cast(row) * row_height, - .width = row_width, - .height = row_height}, - type.title, - std::to_string(exercise_count) + " EXERCISES", - index == state.selected_practice_type_index); - } - if (state.catalog->practice.types.empty()) { - draw_text(context, bounds.x + 38.0F, list_y + row_height + 28.0F, "NO PRACTICE EXERCISES FOUND", 3, vamp_style::retrying, 560.0F); - } -} - -auto draw_practice_lesson_menu(luma::draw_context &context, luma::rect bounds, vamp_zero::app_state const &state) -> void { - auto const *type = selected_practice_type(state); - draw_text(context, - bounds.x + 36.0F, - bounds.y + 28.0F, - type == nullptr ? std::string{"PRACTICE"} : type->title, - 4, - vamp_style::ink, - bounds.width - 72.0F); - draw_text(context, bounds.x + 38.0F, bounds.y + 66.0F, "SELECT LESSON GROUP", 1, vamp_style::muted, 360.0F); - if (type == nullptr) { - draw_text(context, bounds.x + 38.0F, bounds.y + 118.0F, "NO LESSON GROUPS FOUND", 3, vamp_style::retrying, 520.0F); - return; - } - auto list_y = bounds.y + 112.0F; - auto row_height = std::float32_t{54.0F}; - auto row_width = bounds.width - 72.0F; - auto total_rows = type->lesson_groups.size() + 1U; - auto max_rows = std::min(total_rows, 7U); - auto first = first_visible_row(state.selected_practice_lesson_index, total_rows, max_rows); - for (auto row = std::size_t{}; row < max_rows; ++row) { - auto index = first + row; - if (index == 0U) { - draw_row(context, - {.x = bounds.x + 36.0F, - .y = list_y + static_cast(row) * row_height, - .width = row_width, - .height = row_height}, - "BACK", - "", - state.selected_practice_lesson_index == 0U); - continue; - } - auto const &lesson = type->lesson_groups[index - 1U]; - draw_row(context, - {.x = bounds.x + 36.0F, - .y = list_y + static_cast(row) * row_height, - .width = row_width, - .height = row_height}, - lesson.title, - std::to_string(lesson.exercises.size()) + " EXERCISES", - index == state.selected_practice_lesson_index); - } -} - auto draw_practice_exercise_menu(luma::draw_context &context, luma::rect bounds, vamp_zero::app_state const &state) -> void { - auto const *lesson = selected_practice_lesson(state); - draw_text(context, - bounds.x + 36.0F, - bounds.y + 28.0F, - lesson == nullptr ? std::string{"EXERCISES"} : lesson->title, - 4, - vamp_style::ink, - bounds.width - 72.0F); - draw_text(context, bounds.x + 38.0F, bounds.y + 66.0F, "SELECT EXERCISE", 1, vamp_style::muted, 320.0F); - if (lesson == nullptr) { - draw_text(context, bounds.x + 38.0F, bounds.y + 118.0F, "NO EXERCISES FOUND", 3, vamp_style::retrying, 440.0F); - return; - } + auto const &exercises = state.catalog->practice.exercises; + draw_text(context, bounds.x + 36.0F, bounds.y + 28.0F, "PRACTICE", 4, vamp_style::ink, bounds.width - 72.0F); + draw_text(context, bounds.x + 38.0F, bounds.y + 66.0F, std::to_string(exercises.size()) + " EXERCISES", 1, vamp_style::muted, 320.0F); auto list_y = bounds.y + 112.0F; auto row_height = std::float32_t{54.0F}; auto row_width = bounds.width - 72.0F; - auto total_rows = lesson->exercises.size() + 1U; + auto total_rows = exercises.size() + 1U; auto max_rows = std::min(total_rows, 7U); auto first = first_visible_row(state.selected_practice_exercise_index, total_rows, max_rows); for (auto row = std::size_t{}; row < max_rows; ++row) { @@ -394,22 +298,20 @@ auto draw_practice_exercise_menu(luma::draw_context &context, luma::rect bounds, state.selected_practice_exercise_index == 0U); continue; } - auto exercise_index = lesson->exercises[index - 1U]; - if (exercise_index >= state.catalog->practice.exercises.size()) { - continue; - } - auto const &exercise = state.catalog->practice.exercises[exercise_index]; - auto secondary = - supports_key_selection(exercise) ? std::string{"KEY SELECT"} : "KEY " + effective_practice_key(state, exercise); + auto const &exercise = exercises[index - 1U]; + auto title = exercise.title == exercise.id ? exercise.id : exercise.id + " - " + exercise.title; draw_row(context, {.x = bounds.x + 36.0F, .y = list_y + static_cast(row) * row_height, .width = row_width, .height = row_height}, - exercise.title, - secondary, + title, + "", index == state.selected_practice_exercise_index); } + if (exercises.empty()) { + draw_text(context, bounds.x + 38.0F, list_y + row_height + 28.0F, "NO EXERCISES FOUND", 3, vamp_style::retrying, 440.0F); + } } auto draw_practice_key_menu(luma::draw_context &context, luma::rect bounds, vamp_zero::app_state const &state) -> void { @@ -465,7 +367,7 @@ auto draw_score(luma::draw_context &context, luma::rect bounds, vamp_zero::app_s } else { auto const *exercise = active_practice(state); if (exercise == nullptr) { - draw_practice_type_menu(context, bounds, state); + draw_practice_exercise_menu(context, bounds, state); return; } auto const *variant = selected_practice_variant(state, *exercise); @@ -531,10 +433,6 @@ public: draw_performance_song_menu(context, content, state.app); } else if (state.app.mode == vamp_zero::app_mode::PERFORMANCE_PART_MENU) { draw_performance_part_menu(context, content, state.app); - } else if (state.app.mode == vamp_zero::app_mode::PRACTICE_TYPE_MENU) { - draw_practice_type_menu(context, content, state.app); - } else if (state.app.mode == vamp_zero::app_mode::PRACTICE_LESSON_MENU) { - draw_practice_lesson_menu(context, content, state.app); } else if (state.app.mode == vamp_zero::app_mode::PRACTICE_EXERCISE_MENU) { draw_practice_exercise_menu(context, content, state.app); } else if (state.app.mode == vamp_zero::app_mode::PRACTICE_KEY_MENU) { diff --git a/tests/test.cpp b/tests/test.cpp index 08357d9..41e3d8f 100644 --- a/tests/test.cpp +++ b/tests/test.cpp @@ -126,16 +126,19 @@ auto navigation_state() -> vamp_zero::app_state { }; auto exercise = vamp_zero::practice_exercise{ .id = "exercise-1", - .practice_type_id = "scale", - .practice_type_title = "Scales", - .lesson_group_id = "lesson-1", - .lesson_group_title = "Major", .title = "C Major", .composer = "Composer", .authored_key_signature = "C", .variants = {variant}, }; + exercise.variants.clear(); + for (auto key : vamp_zero::practice_key_names()) { + variant.id = "exercise-" + std::string{key}; + variant.key_signature = key; + exercise.variants.push_back(variant); + } auto practice = vamp_zero::group_practice_exercises({exercise}); + BOOST_REQUIRE(practice); return vamp_zero::app_state{ .catalog = std::make_shared(vamp_zero::catalogue{ .performance = vamp_zero::group_library_parts({part}), @@ -283,69 +286,97 @@ BOOST_AUTO_TEST_CASE(score_parser_loads_the_generated_catalogue) { BOOST_TEST(count > 0U); } -BOOST_AUTO_TEST_CASE(chord_and_melody_practice_share_key_navigation_and_remote_display) { - for (auto type : {"chord", "melody"}) { - auto state = navigation_state(); - auto catalog = std::make_shared(*state.catalog); - auto &exercise = catalog->practice.exercises.front(); - exercise.practice_type_id = type; - auto variant = exercise.variants.front(); - variant.id = "exercise-d"; - variant.key_signature = "D"; - variant.source_path = "exercise-d.json"; - variant.total_pages = 3U; - exercise.variants.push_back(variant); - catalog->practice.types.front().id = type; - state.catalog = catalog; - state.mode = vamp_zero::app_mode::PRACTICE_EXERCISE_MENU; - state.selected_practice_type_index = 1U; - state.selected_practice_lesson_index = 1U; - state.selected_practice_exercise_index = 1U; - state.audio.metronome_enabled = true; - BOOST_TEST(vamp_zero::supports_key_selection(exercise)); - state = vamp_zero::apply_app_command(std::move(state), vamp_protocol::page_command::SELECT); - BOOST_CHECK(state.mode == vamp_zero::app_mode::PRACTICE_KEY_MENU); - BOOST_TEST(vamp_zero::practice_key_row_count(state) == 3U); +BOOST_AUTO_TEST_CASE(practice_key_navigation_and_remote_display) { + auto state = navigation_state(); + auto catalog = std::make_shared(*state.catalog); + auto &variant = catalog->practice.exercises.front().variants[2]; + variant.source_path = "exercise-d.json"; + variant.total_pages = 3U; + state.catalog = catalog; + state.selected_main_menu_index = 1U; + state = vamp_zero::apply_app_command(std::move(state), vamp_protocol::page_command::SELECT); + BOOST_CHECK(state.mode == vamp_zero::app_mode::PRACTICE_EXERCISE_MENU); + state = vamp_zero::apply_app_command(std::move(state), vamp_protocol::page_command::NEXT); + state.audio.metronome_enabled = true; + state = vamp_zero::apply_app_command(std::move(state), vamp_protocol::page_command::SELECT); + BOOST_CHECK(state.mode == vamp_zero::app_mode::PRACTICE_KEY_MENU); + BOOST_TEST(vamp_zero::practice_key_row_count(state) == 13U); + for (auto index = std::uint32_t{}; index < 3U; ++index) { state = vamp_zero::apply_app_command(std::move(state), vamp_protocol::page_command::NEXT); - state = vamp_zero::apply_app_command(std::move(state), vamp_protocol::page_command::NEXT); - state = vamp_zero::apply_app_command(std::move(state), vamp_protocol::page_command::SELECT); - BOOST_CHECK(state.mode == vamp_zero::app_mode::PRACTICE_SCORE); - BOOST_TEST(state.audio.metronome_enabled); - auto selected = vamp_zero::selected_practice_variant(state, state.catalog->practice.exercises.front()); - BOOST_REQUIRE(selected != nullptr); - BOOST_TEST(selected->id == "exercise-d"); - BOOST_TEST(selected->source_path == "exercise-d.json"); - BOOST_TEST(vamp_zero::active_pages(state) == 3U); - auto remote = vamp_pico::remote_display_state{}; - BOOST_REQUIRE(vamp_pico::parse_remote_display_body(vamp_zero::remote_display_text(state), remote)); - BOOST_TEST(remote.active); - BOOST_TEST(std::string{remote.part} == "Key: D"); - BOOST_TEST(remote.pages == 3U); - state = vamp_zero::apply_app_command(std::move(state), vamp_protocol::page_command::NEXT); - BOOST_TEST(state.page_index == 1U); - auto playing = state; - playing.audio.playback_enabled = true; - auto control = vamp_zero::control_state{{}, playing}; - control.finish_playback(playing.score_session); - BOOST_CHECK(control.snapshot().mode == vamp_zero::app_mode::PRACTICE_KEY_MENU); - BOOST_TEST(control.snapshot().selected_practice_key_index == 2U); - state = vamp_zero::apply_app_command(std::move(state), vamp_protocol::page_command::SELECT); - BOOST_CHECK(state.mode == vamp_zero::app_mode::PRACTICE_KEY_MENU); - BOOST_TEST(state.selected_practice_key_index == 2U); - BOOST_TEST(state.active_practice_id.empty()); - state = vamp_zero::apply_app_command(std::move(state), vamp_protocol::page_command::PREVIOUS); - state = vamp_zero::apply_app_command(std::move(state), vamp_protocol::page_command::PREVIOUS); - state = vamp_zero::apply_app_command(std::move(state), vamp_protocol::page_command::SELECT); - BOOST_CHECK(state.mode == vamp_zero::app_mode::PRACTICE_EXERCISE_MENU); - BOOST_REQUIRE(vamp_zero::validate_app_state(state)); } + state = vamp_zero::apply_app_command(std::move(state), vamp_protocol::page_command::SELECT); + BOOST_CHECK(state.mode == vamp_zero::app_mode::PRACTICE_SCORE); + BOOST_TEST(state.audio.metronome_enabled); + auto selected = vamp_zero::selected_practice_variant(state, state.catalog->practice.exercises.front()); + BOOST_REQUIRE(selected != nullptr); + BOOST_TEST(selected->id == "exercise-D"); + BOOST_TEST(selected->source_path == "exercise-d.json"); + BOOST_TEST(vamp_zero::active_pages(state) == 3U); + auto remote = vamp_pico::remote_display_state{}; + BOOST_REQUIRE(vamp_pico::parse_remote_display_body(vamp_zero::remote_display_text(state), remote)); + BOOST_TEST(remote.active); + BOOST_TEST(std::string{remote.part} == "Key: D"); + BOOST_TEST(remote.pages == 3U); + state = vamp_zero::apply_app_command(std::move(state), vamp_protocol::page_command::NEXT); + BOOST_TEST(state.page_index == 1U); + auto playing = state; + playing.audio.playback_enabled = true; + auto control = vamp_zero::control_state{{}, playing}; + control.finish_playback(playing.score_session); + BOOST_CHECK(control.snapshot().mode == vamp_zero::app_mode::PRACTICE_KEY_MENU); + BOOST_TEST(control.snapshot().selected_practice_key_index == 3U); + state = vamp_zero::apply_app_command(std::move(state), vamp_protocol::page_command::SELECT); + BOOST_CHECK(state.mode == vamp_zero::app_mode::PRACTICE_KEY_MENU); + BOOST_TEST(state.selected_practice_key_index == 3U); + BOOST_TEST(state.active_practice_id.empty()); + for (auto index = std::uint32_t{}; index < 3U; ++index) { + state = vamp_zero::apply_app_command(std::move(state), vamp_protocol::page_command::PREVIOUS); + } + state = vamp_zero::apply_app_command(std::move(state), vamp_protocol::page_command::SELECT); + BOOST_CHECK(state.mode == vamp_zero::app_mode::PRACTICE_EXERCISE_MENU); + BOOST_TEST(state.selected_practice_exercise_index == 1U); + auto status = vamp_zero::app_status_json(state).as_object().at("practice").as_object(); + BOOST_TEST(!status.contains("types")); + BOOST_TEST(status.at("exercises").as_array().size() == 1U); + state = vamp_zero::apply_app_command(std::move(state), vamp_protocol::page_command::PREVIOUS); + state = vamp_zero::apply_app_command(std::move(state), vamp_protocol::page_command::SELECT); + BOOST_CHECK(state.mode == vamp_zero::app_mode::MAIN_MENU); + BOOST_REQUIRE(vamp_zero::validate_app_state(state)); +} + +BOOST_AUTO_TEST_CASE(flat_practice_wraps_and_empty_catalogue_returns_to_main) { + auto state = navigation_state(); + auto catalog = std::make_shared(*state.catalog); + auto first = catalog->practice.exercises.front(); + for (auto index = std::uint32_t{2}; index <= 366U; ++index) { + auto exercise = first; + exercise.id = std::to_string(index); + catalog->practice.exercises.push_back(std::move(exercise)); + } + state.catalog = catalog; + state.mode = vamp_zero::app_mode::PRACTICE_EXERCISE_MENU; + state = vamp_zero::apply_app_command(std::move(state), vamp_protocol::page_command::PREVIOUS); + BOOST_TEST(state.selected_practice_exercise_index == 366U); + BOOST_TEST(vamp_zero::selected_practice_exercise(state)->id == "366"); + state = vamp_zero::apply_app_command(std::move(state), vamp_protocol::page_command::NEXT); + BOOST_TEST(state.selected_practice_exercise_index == 0U); + state = vamp_zero::apply_app_command(std::move(state), vamp_protocol::page_command::PREVIOUS); + state = vamp_zero::apply_app_command(std::move(state), vamp_protocol::page_command::SELECT); + BOOST_CHECK(state.mode == vamp_zero::app_mode::PRACTICE_KEY_MENU); + state.catalog = vamp_zero::empty_catalogue(); + state = vamp_zero::apply_app_command(std::move(state), vamp_protocol::page_command::NEXT); + BOOST_CHECK(state.mode == vamp_zero::app_mode::PRACTICE_EXERCISE_MENU); + BOOST_TEST(state.selected_practice_exercise_index == 0U); + BOOST_REQUIRE(vamp_zero::validate_app_state(state)); + state = vamp_zero::apply_app_command(std::move(state), vamp_protocol::page_command::SELECT); + BOOST_CHECK(state.mode == vamp_zero::app_mode::MAIN_MENU); } BOOST_AUTO_TEST_CASE(database_reload_preserves_all_generated_practice_keys) { auto root = std::filesystem::temp_directory_path() / ("product-vamp-keys-test-" + std::to_string(std::chrono::steady_clock::now().time_since_epoch().count())); auto config = test_database_config(root / "vamp.db"); auto expected_exercises = std::size_t{}; - for (auto const &entry : std::filesystem::recursive_directory_iterator{std::filesystem::path{VAMP_TEST_SOURCE_DIR} / "data/practice"}) { + for (auto const &entry : std::filesystem::directory_iterator{std::filesystem::path{VAMP_TEST_SOURCE_DIR} / "data"}) { if (entry.is_regular_file() && entry.path().extension() == ".xml") { ++expected_exercises; } @@ -360,7 +391,6 @@ BOOST_AUTO_TEST_CASE(database_reload_preserves_all_generated_practice_keys) { BOOST_REQUIRE_MESSAGE(library.has_value(), (library ? "" : library.error().describe())); BOOST_TEST(library->exercises.size() == expected_exercises); for (auto const &exercise : library->exercises) { - BOOST_TEST(vamp_zero::supports_key_selection(exercise)); BOOST_REQUIRE_EQUAL(exercise.variants.size(), 12U); auto keys = vamp_zero::practice_key_names(); for (auto index = std::size_t{}; index < keys.size(); ++index) { @@ -394,8 +424,10 @@ BOOST_AUTO_TEST_CASE(numbered_practice_paths_keep_duplicate_titles_separate_and_ auto assets = root / "assets"; auto config = test_database_config(root / "vamp.db"); std::filesystem::create_directories(assets / "songs"); - for (auto name : {"chord/001_lesson/010-cycles", "chord/001_lesson/002-cycles", "chord/002_lesson/001-cycles", "melody/001_lesson/127-cycles"}) { - write_text(assets / "practice" / name / "c.json", score_asset_json("Shared Title")); + for (auto name : {"010", "002", "001", "127"}) { + for (auto key : vamp_zero::practice_key_names()) { + write_text(assets / "practice" / name / (std::string{key} + ".json"), score_asset_json("Shared Title", std::string{key})); + } } BOOST_REQUIRE(vamp_test::build_catalogue(assets, config.path)); auto io = boost::asio::io_context{}; @@ -404,30 +436,24 @@ BOOST_AUTO_TEST_CASE(numbered_practice_paths_keep_duplicate_titles_separate_and_ auto library = future.get(); BOOST_REQUIRE(library); BOOST_REQUIRE_EQUAL(library->exercises.size(), 4U); - BOOST_REQUIRE_EQUAL(library->types.size(), 2U); - BOOST_TEST(library->types.front().id == "chord"); - BOOST_REQUIRE_EQUAL(library->types.front().lesson_groups.size(), 2U); - auto const &lesson = library->types.front().lesson_groups.front(); - BOOST_TEST(lesson.id == "001_lesson"); - BOOST_REQUIRE_EQUAL(lesson.exercises.size(), 2U); - BOOST_TEST(library->exercises[lesson.exercises[0]].id == "chord-001_lesson-002-cycles"); - BOOST_TEST(library->exercises[lesson.exercises[1]].id == "chord-001_lesson-010-cycles"); + BOOST_TEST(library->exercises[0].id == "001"); + BOOST_TEST(library->exercises[1].id == "002"); + BOOST_TEST(library->exercises[2].id == "010"); + BOOST_TEST(library->exercises[3].id == "127"); for (auto const &exercise : library->exercises) { BOOST_TEST(exercise.title == "Shared Title"); } BOOST_REQUIRE(vamp_test::build_catalogue(assets, config.path)); - std::filesystem::rename(assets / "practice/chord/001_lesson", assets / "practice/chord/003_renamed_lesson"); - std::filesystem::rename(assets / "practice/chord/003_renamed_lesson/002-cycles", assets / "practice/chord/003_renamed_lesson/099-renamed"); + std::filesystem::rename(assets / "practice/002", assets / "practice/099"); BOOST_REQUIRE(vamp_test::build_catalogue(assets, config.path)); auto rows = query_database(root / "vamp.db", "SELECT id FROM practice_exercises ORDER BY id"); BOOST_REQUIRE(rows); - BOOST_REQUIRE_EQUAL(rows->rows.size(), 4U); - BOOST_TEST(!has_value(*rows, 0U, "chord-001_lesson-002-cycles-c")); - BOOST_TEST(!has_value(*rows, 0U, "chord-001_lesson-010-cycles-c")); - BOOST_TEST(has_value(*rows, 0U, "chord-003_renamed_lesson-099-renamed-c")); - BOOST_TEST(has_value(*rows, 0U, "chord-003_renamed_lesson-010-cycles-c")); - BOOST_TEST(has_value(*rows, 0U, "chord-002_lesson-001-cycles-c")); - BOOST_TEST(has_value(*rows, 0U, "melody-001_lesson-127-cycles-c")); + BOOST_REQUIRE_EQUAL(rows->rows.size(), 48U); + BOOST_TEST(!has_value(*rows, 0U, "002-C")); + BOOST_TEST(has_value(*rows, 0U, "099-C")); + BOOST_TEST(has_value(*rows, 0U, "010-C")); + BOOST_TEST(has_value(*rows, 0U, "001-C")); + BOOST_TEST(has_value(*rows, 0U, "127-C")); std::filesystem::remove_all(root); } diff --git a/tests/test_catalogue.py b/tests/test_catalogue.py index 8f59276..921f832 100644 --- a/tests/test_catalogue.py +++ b/tests/test_catalogue.py @@ -4,78 +4,65 @@ import tempfile import unittest from generator.practice.generate import generate_practice_scores, key_file_name -from generator.score import slugify, validate_generated_tree +from generator.arrange.generate import generate_performance_scores +from generator.score import validate_generated_tree from generator.summary import validate_practice_variants from generator.transposition import TARGET_KEYS from tests.test_musicxml import xml_note, xml_score class CatalogueTests(unittest.TestCase): - def test_every_practice_source_has_its_own_complete_output(self): - source = Path('data/practice') - sources = sorted(source.rglob('*.xml')) - self.assertTrue(sources) - expected = set() - for path in sources: - relative = path.relative_to(source) - self.assertEqual(len(relative.parts), 3, str(path)) - self.assertIn(relative.parts[0], ('chord', 'melody'), str(path)) - for key in TARGET_KEYS: - expected.add(relative.parent / slugify(path.stem) / key_file_name(key)) - self.assertEqual(len(expected), len(sources) * len(TARGET_KEYS)) + def test_every_numbered_source_has_its_own_complete_output(self): + source = Path('data') + sources = sorted(source.glob('*.xml')) + self.assertEqual([p.name for p in sources], [f'{i:03}.xml' for i in range(1, 367)]) + expected = {Path(path.stem) / key_file_name(key) for path in sources for key in TARGET_KEYS} + self.assertEqual(len(expected), 4392) with tempfile.TemporaryDirectory() as temporary: output = Path(temporary) self.assertEqual(generate_practice_scores(source, output), len(expected)) self.assertEqual({p.relative_to(output) for p in output.rglob('*.json')}, expected) validate_practice_variants(output) validate_generated_tree(output) - def test_numbered_paths_and_duplicate_titles_remain_distinct(self): - names = ('chord/001_lesson/001-cycles.xml', 'chord/001_lesson/010-cycles.xml', 'chord/002_lesson/001-cycles.xml', 'melody/001_lesson/127-cycles.xml') + def test_numbers_and_duplicate_titles_remain_distinct_and_songs_are_excluded(self): with tempfile.TemporaryDirectory() as temporary: source, output = Path(temporary) / 'source', Path(temporary) / 'output' - for name in names: - path = source / name - path.parent.mkdir(parents=True, exist_ok=True) - path.write_text(xml_score(xml_note()), encoding='utf-8') - self.assertEqual(generate_practice_scores(source, output), len(names) * len(TARGET_KEYS)) - for name in names: - directory = output / Path(name).with_suffix('') + (source / 'songs').mkdir(parents=True) + for name in ('001.xml', '010.xml', '366.xml', 'songs/song.xml'): + (source / name).write_text(xml_score(xml_note()), encoding='utf-8') + self.assertEqual(generate_practice_scores(source, output), 36) + self.assertEqual(sorted(p.name for p in output.iterdir()), ['001', '010', '366']) + for directory in output.iterdir(): self.assertEqual({p.name for p in directory.glob('*.json')}, {key_file_name(key) for key in TARGET_KEYS}) self.assertEqual(json.loads((directory / 'c.json').read_text())['metadata']['title'], 'Fixture') - def test_invalid_source_locations_fail_before_writing(self): - for name in ('chords/001_lesson/001-exercise.xml', 'chord/001-exercise.xml', 'melody/001_lesson/extra/001-exercise.xml'): + def test_invalid_names_and_legacy_nesting_preserve_output(self): + for name in ('000.xml', '1.xml', '001-copy.xml', '001_copy.xml', 'chord/001.xml', 'practice/melody/lesson/001.xml'): with self.subTest(name=name), tempfile.TemporaryDirectory() as temporary: source, output = Path(temporary) / 'source', Path(temporary) / 'output' - for relative in ('chord/001_lesson/001-valid.xml', name): + for relative in ('002.xml', name): path = source / relative path.parent.mkdir(parents=True, exist_ok=True) path.write_text(xml_score(xml_note()), encoding='utf-8') - with self.assertRaisesRegex(ValueError, 'practice source must be stored'): + output.mkdir() + sentinel = output / 'existing' + sentinel.write_text('unchanged') + with self.assertRaisesRegex(ValueError, 'practice sources'): generate_practice_scores(source, output) - self.assertFalse(output.exists()) - def test_normalized_filename_collisions_fail_before_writing(self): + self.assertEqual(list(output.iterdir()), [sentinel]) + self.assertEqual(sentinel.read_text(), 'unchanged') + def test_missing_and_empty_variant_directories_fail(self): with tempfile.TemporaryDirectory() as temporary: - source, output = Path(temporary) / 'source', Path(temporary) / 'output' - lesson = source / 'chord' / '001_lesson' - lesson.mkdir(parents=True) - for name in ('001-Cycles.xml', '001_cycles.xml'): - (lesson / name).write_text(xml_score(xml_note()), encoding='utf-8') - with self.assertRaisesRegex(ValueError, 'output path collides'): - generate_practice_scores(source, output) - self.assertFalse(output.exists()) - def test_runtime_id_collisions_preserve_existing_output(self): + root = Path(temporary) + (root / '001').mkdir() + with self.assertRaisesRegex(ValueError, 'practice generator drift'): + validate_practice_variants(root) + def test_songs_generate_only_authored_key_parts(self): with tempfile.TemporaryDirectory() as temporary: - source, output = Path(temporary) / 'source', Path(temporary) / 'output' - names = ('chord/one-two/three.xml', 'chord/one/two-three.xml') - for name in names: - path = source / name - path.parent.mkdir(parents=True, exist_ok=True) - path.write_text(xml_score(xml_note()), encoding='utf-8') - output.mkdir() - sentinel = output / 'existing.json' - sentinel.write_text('unchanged', encoding='utf-8') - with self.assertRaisesRegex(ValueError, 'practice exercise ID collision') as error: - generate_practice_scores(source, output) - for name in names: - self.assertIn(name, str(error.exception)) - self.assertEqual(list(output.iterdir()), [sentinel]) - self.assertEqual(sentinel.read_text(), 'unchanged') + source, output = Path(temporary) / 'songs', Path(temporary) / 'output' + source.mkdir() + (source / 'song.xml').write_text(xml_score(xml_note('E', alter=-1), '-3')) + self.assertEqual(generate_performance_scores(source, output), 3) + self.assertEqual({p.name for p in output.iterdir()}, {'song-acoustic.json', 'song-electric.json', 'song-vocal.json'}) + for path in output.iterdir(): + metadata = json.loads(path.read_text())['metadata'] + self.assertEqual(metadata['key_signature'], 'Eb') + self.assertNotIn('variant_tonic', metadata) diff --git a/tests/test_catalogue_database.py b/tests/test_catalogue_database.py index 5b8bd0f..03c75da 100644 --- a/tests/test_catalogue_database.py +++ b/tests/test_catalogue_database.py @@ -35,16 +35,17 @@ class CatalogueTests(unittest.TestCase): document = bundle('Song', 'F') write_score(self.root, 'songs/tune.json', document) for key in ('c', 'd'): - write_score(self.root, f'practice/chord/001_lesson/exercise/{key}.json', bundle('Exercise', key.upper())) + write_score(self.root, f'practice/001/{key}.json', bundle('Exercise', key.upper())) database = build_catalogue(self.root) song = self.rows('songs')[0] self.assertEqual(json.loads(song['source_json']), document) self.assertEqual((song['id'], song['part'], song['source_path']), ('tune', 'Lead', 'songs/tune.json')) self.assertEqual((song['measure_count'], song['total_pages']), (1, 1)) practice = self.rows('practice_exercises') - self.assertEqual([row['id'] for row in practice], ['chord-001_lesson-exercise-c', 'chord-001_lesson-exercise-d']) - self.assertEqual(practice[0]['practice_type_title'], 'Chord Practice') - self.assertEqual(practice[0]['lesson_group_title'], '001 Lesson') + self.assertEqual([row['id'] for row in practice], ['001-c', '001-d']) + self.assertEqual(practice[0]['exercise_id'], '001') + self.assertNotIn('practice_type_id', practice[0]) + self.assertNotIn('lesson_group_id', practice[0]) self.assertEqual(practice[0]['authored_key_signature'], 'Eb') with closing(sqlite3.connect(database)) as connection: self.assertEqual(connection.execute('PRAGMA application_id').fetchone()[0], APPLICATION_ID) @@ -79,19 +80,19 @@ class CatalogueTests(unittest.TestCase): build_catalogue(self.root) self.assertEqual(database.read_bytes(), previous) self.assertFalse(list(self.root.glob('.vamp-catalogue-*'))) - def test_path_collisions_and_authored_key_disagreement_fail(self): - write_score(self.root, 'practice/chord/one-two/three/c.json') + def test_legacy_paths_and_authored_key_disagreement_fail(self): + write_score(self.root, 'practice/001/c.json') conflicting = write_score(self.root, 'practice/chord/one/two-three/c.json') - with self.assertRaisesRegex(ValueError, 'ID collision'): + with self.assertRaisesRegex(ValueError, 'unexpected practice'): build_catalogue(self.root) conflicting.unlink() - write_score(self.root, 'practice/chord/one-two/three/d.json', bundle(key='D', authored='F')) + write_score(self.root, 'practice/001/d.json', bundle(key='D', authored='F')) with self.assertRaisesRegex(ValueError, 'authored key'): build_catalogue(self.root) def test_keyless_display_metadata_keeps_original_music(self): document = bundle(key='No key', authored='No key') document['music']['metadata']['variant_tonic'] = 'D' - write_score(self.root, 'practice/chord/lesson/exercise/d.json', document) + write_score(self.root, 'practice/001/d.json', document) build_catalogue(self.root) row = self.rows('practice_exercises')[0] self.assertEqual(row['key_signature'], 'D (no key)') diff --git a/tests/test_catalogue_runtime.cpp b/tests/test_catalogue_runtime.cpp index 701c56d..555f097 100644 --- a/tests/test_catalogue_runtime.cpp +++ b/tests/test_catalogue_runtime.cpp @@ -141,19 +141,17 @@ struct catalogue_database { } }; -auto catalogue_exercise(std::string key, std::string authored = "Eb", std::string id = "exercise", std::string lesson = "lesson") -> vamp_zero::practice_exercise { - auto variant_id = id + "-" + key; - return { +auto catalogue_exercise(std::string authored = "Eb", std::string id = "001") -> vamp_zero::practice_exercise { + auto result = vamp_zero::practice_exercise{ .id = std::move(id), - .practice_type_id = "melody", - .practice_type_title = "Melody Practice", - .lesson_group_id = std::move(lesson), - .lesson_group_title = "Lesson", .title = "Exercise", .composer = "Composer", .authored_key_signature = std::move(authored), - .variants = {{.id = std::move(variant_id), .key_signature = std::move(key), .measure_count = 3, .total_pages = 2}}, }; + for (auto key : vamp_zero::practice_key_names()) { + result.variants.push_back({.id = result.id + "-" + std::string{key}, .key_signature = std::string{key}, .measure_count = 3, .total_pages = 2}); + } + return result; } } @@ -163,7 +161,7 @@ BOOST_AUTO_TEST_CASE(catalogue_snapshots_heartbeat_and_navigation_share_immutabl {.id = "other", .title = "A Tune", .composer = "Composer", .part = "Lead", .total_pages = 1}, {.id = "chosen", .title = "B Tune", .composer = "Composer", .part = "Lead", .total_pages = 2}, }); - auto practice = vamp_zero::group_practice_exercises({catalogue_exercise("D", "Eb", "chosen", "b"), catalogue_exercise("C", "Eb", "other", "a")}); + auto practice = vamp_zero::group_practice_exercises({catalogue_exercise("Eb", "002"), catalogue_exercise("Eb", "001")}); BOOST_REQUIRE(practice); auto catalog = std::make_shared(vamp_zero::catalogue{std::move(performance), std::move(*practice)}); auto original = vamp_zero::app_state{ @@ -171,9 +169,7 @@ BOOST_AUTO_TEST_CASE(catalogue_snapshots_heartbeat_and_navigation_share_immutabl .mode = vamp_zero::app_mode::PERFORMANCE_PART_MENU, .selected_song_index = 2, .selected_part_index = 1, - .selected_practice_type_index = 1, - .selected_practice_lesson_index = 2, - .selected_practice_exercise_index = 1, + .selected_practice_exercise_index = 2, }; auto control = vamp_zero::control_state{{}, original}; auto observed = std::vector{}; @@ -249,31 +245,37 @@ BOOST_AUTO_TEST_CASE(catalogue_performance_groups_use_title_and_composer_with_pa BOOST_TEST(library.parts[library.groups[1].parts[1]].id == "vocal"); } -BOOST_AUTO_TEST_CASE(catalogue_practice_groups_require_authored_key_agreement_and_index_exercises) { +BOOST_AUTO_TEST_CASE(catalogue_practice_requires_complete_ordered_keys_and_authored_key_agreement) { for (auto authored : {"Eb", "C dorian", "No key", ""}) { - auto grouped = vamp_zero::group_practice_exercises({catalogue_exercise("D", authored), catalogue_exercise("C", authored), catalogue_exercise("F", "F", "second", "second")}); + auto first = catalogue_exercise(authored); + std::reverse(first.variants.begin(), first.variants.end()); + auto last = first.variants.back(); + first.variants.pop_back(); + auto fragment = catalogue_exercise(authored); + fragment.variants = {last}; + auto grouped = vamp_zero::group_practice_exercises({catalogue_exercise("F", "002"), first, fragment}); BOOST_REQUIRE(grouped); BOOST_REQUIRE_EQUAL(grouped->exercises.size(), 2U); auto const &exercise = grouped->exercises[0]; + BOOST_TEST(exercise.id == "001"); BOOST_TEST(exercise.authored_key_signature == authored); - BOOST_REQUIRE_EQUAL(exercise.variants.size(), 2U); - BOOST_TEST(exercise.variants[0].key_signature == "C"); - BOOST_TEST(exercise.variants[1].key_signature == "D"); - BOOST_REQUIRE_EQUAL(grouped->types.size(), 1U); - auto const &lessons = grouped->types[0].lesson_groups; - BOOST_REQUIRE_EQUAL(lessons.size(), 2U); - for (auto index = std::size_t{}; index < lessons.size(); ++index) { - BOOST_REQUIRE_EQUAL(lessons[index].exercises.size(), 1U); - BOOST_TEST(lessons[index].exercises[0] == index); - BOOST_TEST(grouped->exercises[lessons[index].exercises[0]].lesson_group_id == lessons[index].id); + BOOST_REQUIRE_EQUAL(exercise.variants.size(), 12U); + for (auto index = std::size_t{}; index < exercise.variants.size(); ++index) { + BOOST_TEST(exercise.variants[index].key_signature == vamp_zero::practice_key_names()[index]); } } for (auto conflict : {"F", ""}) { - auto grouped = vamp_zero::group_practice_exercises({catalogue_exercise("C"), catalogue_exercise("D", conflict)}); + auto grouped = vamp_zero::group_practice_exercises({catalogue_exercise(), catalogue_exercise(conflict)}); BOOST_REQUIRE(!grouped); BOOST_TEST(grouped.error().code() == static_cast(vamp_zero::error_code::INVALID_ARGUMENT)); BOOST_TEST(grouped.error().message().find("authored key") != std::string_view::npos); } + auto missing = catalogue_exercise(); + missing.variants.pop_back(); + BOOST_TEST(!vamp_zero::group_practice_exercises({missing})); + auto duplicate = catalogue_exercise(); + duplicate.variants.back().key_signature = "C"; + BOOST_TEST(!vamp_zero::group_practice_exercises({duplicate})); } BOOST_AUTO_TEST_CASE(catalogue_authored_key_metadata_is_optional_but_must_be_a_nonempty_string) { @@ -281,7 +283,7 @@ BOOST_AUTO_TEST_CASE(catalogue_authored_key_metadata_is_optional_but_must_be_a_n BOOST_REQUIRE(legacy); BOOST_TEST(legacy->authored_key_signature.empty()); for (auto authored : {"Eb", "C minor", "C dorian", "No key"}) { - auto document = vamp_zero::parse_score_document(catalogue_bundle("Exercise", "D", authored), "/assets/practice/melody/lesson/exercise/d.json"); + auto document = vamp_zero::parse_score_document(catalogue_bundle("Exercise", "D", authored), "/assets/practice/001/d.json"); BOOST_REQUIRE(document); BOOST_TEST(document->authored_key_signature == authored); } @@ -300,7 +302,7 @@ BOOST_AUTO_TEST_CASE(catalogue_individual_score_lookup_uses_category_and_reports auto song = catalogue_bundle("Song", "F"); auto exercise = catalogue_bundle("Exercise", "D", "Eb"); db.write("songs/shared.json", song); - db.write("practice/melody/lesson/exercise/d.json", exercise); + db.write("practice/001/d.json", exercise); BOOST_REQUIRE(db.build()); db.query("UPDATE practice_exercises SET id = 'shared'"); std::filesystem::remove_all(db.assets); @@ -313,7 +315,7 @@ BOOST_AUTO_TEST_CASE(catalogue_individual_score_lookup_uses_category_and_reports BOOST_TEST(document->key_signature == (is_song ? "F" : "D")); BOOST_TEST(document->authored_key_signature == (is_song ? "" : "Eb")); BOOST_TEST(document->source_json == (is_song ? song : exercise)); - BOOST_TEST(document->source_path == (db.assets / (is_song ? "songs/shared.json" : "practice/melody/lesson/exercise/d.json")).string()); + BOOST_TEST(document->source_path == (db.assets / (is_song ? "songs/shared.json" : "practice/001/d.json")).string()); BOOST_TEST(document->measure_count == 3U); BOOST_REQUIRE_EQUAL(document->pages.size(), 2U); BOOST_TEST(document->pages[1].path == "fixture.pages/2.png"); @@ -359,12 +361,12 @@ BOOST_AUTO_TEST_CASE(catalogue_reload_uses_cached_metadata_without_parsing_score db.query("INSERT INTO songs(id, title, composer, source_json, part, source_path, " "key_signature, measure_count, total_pages, authored_key_signature) " "VALUES('tune', 'Metadata Song', 'Composer', '{}', 'Lead', 'songs/tune.json', 'F', 3, 2, '')"); - for (auto key : {"C", "D"}) { - db.query("INSERT INTO practice_exercises(id, exercise_id, practice_type_id, practice_type_title, lesson_group_id, lesson_group_title, " + for (auto key : vamp_zero::practice_key_names()) { + db.query("INSERT INTO practice_exercises(id, exercise_id, " "title, composer, key_signature, source_json, source_path, measure_count, total_pages, authored_key_signature) " - "VALUES(?1, 'melody-lesson-exercise', 'melody', 'Melody Practice', 'lesson', 'Lesson', 'Metadata Exercise', 'Composer', ?2, '{}', ?3, 3, 2, 'Eb')", - {noto::sqlite_value{std::string{"variant-"} + key}, noto::sqlite_value{std::string{key}}, - noto::sqlite_value{std::string{"practice/melody/lesson/exercise/"} + key + ".json"}}); + "VALUES(?1, '001', 'Metadata Exercise', 'Composer', ?2, '{}', ?3, 3, 2, 'Eb')", + {noto::sqlite_value{std::string{"variant-"} + std::string{key}}, noto::sqlite_value{std::string{key}}, + noto::sqlite_value{std::string{"practice/001/"} + std::string{key} + ".json"}}); } auto songs = db.rows("songs"); auto exercises = db.rows("practice_exercises"); @@ -381,9 +383,9 @@ BOOST_AUTO_TEST_CASE(catalogue_reload_uses_cached_metadata_without_parsing_score BOOST_REQUIRE_EQUAL(practice->exercises.size(), 1U); BOOST_TEST(practice->exercises[0].title == "Metadata Exercise"); BOOST_TEST(practice->exercises[0].authored_key_signature == "Eb"); - BOOST_REQUIRE_EQUAL(practice->exercises[0].variants.size(), 2U); + BOOST_REQUIRE_EQUAL(practice->exercises[0].variants.size(), 12U); BOOST_TEST(practice->exercises[0].variants[0].key_signature == "C"); - BOOST_TEST(practice->exercises[0].variants[1].key_signature == "D"); + BOOST_TEST(practice->exercises[0].variants[2].key_signature == "D"); for (auto const &variant : practice->exercises[0].variants) { BOOST_TEST(variant.measure_count == 3U); BOOST_TEST(variant.total_pages == 2U); @@ -416,14 +418,14 @@ BOOST_AUTO_TEST_CASE(catalogue_validation_rejects_missing_legacy_and_corrupt_fil BOOST_REQUIRE(practice); BOOST_TEST(songs->parts.empty()); BOOST_TEST(practice->exercises.empty()); - for (auto version : {0, 2}) { + for (auto version : {0, 1, 3}) { db.query("PRAGMA user_version = " + std::to_string(version)); auto result = validate(); BOOST_REQUIRE(!result); BOOST_TEST(result.error().message().find("reinstall") != std::string_view::npos); BOOST_TEST(std::get(db.query("PRAGMA user_version").rows[0][0].value) == version); } - db.query("PRAGMA user_version = 1"); + db.query("PRAGMA user_version = 2"); db.query("PRAGMA application_id = 0"); BOOST_TEST(!validate()); auto output = std::ofstream{db.config.path, std::ios::trunc}; @@ -437,10 +439,12 @@ BOOST_AUTO_TEST_CASE(catalogue_validation_rejects_missing_legacy_and_corrupt_fil BOOST_AUTO_TEST_CASE(catalogue_reads_readonly_database_without_json_and_resolves_relocated_assets) { auto db = catalogue_database{}; db.write("songs/tune.json", catalogue_bundle("Relocated")); - db.write("practice/chord/lesson/exercise/c.json", catalogue_bundle("Exercise", "C", "Eb")); + for (auto key : vamp_zero::practice_key_names()) { + db.write(std::filesystem::path{"practice/001"} / (std::string{key} + ".json"), catalogue_bundle("Exercise", std::string{key}, "Eb")); + } BOOST_REQUIRE(db.build()); std::filesystem::remove(db.assets / "songs/tune.json"); - std::filesystem::remove(db.assets / "practice/chord/lesson/exercise/c.json"); + std::filesystem::remove_all(db.assets / "practice"); auto moved = db.directory.path / "relocated"; std::filesystem::rename(db.assets, moved); db.assets = moved; diff --git a/tests/test_guitar_practice.py b/tests/test_guitar_practice.py index 70db139..377e4ba 100644 --- a/tests/test_guitar_practice.py +++ b/tests/test_guitar_practice.py @@ -31,17 +31,21 @@ def all_pitches(document): class GuitarPracticeTests(unittest.TestCase): def test_fret_boundaries_and_crossing_twelve(self): self.assertIn(TabPosition(6, 0, 40), positions_for_pitch(Fraction(40))) - self.assertIn(TabPosition(1, 15, 79), positions_for_pitch(Fraction(79))) - self.assertFalse(positions_for_pitch(Fraction(80))) + self.assertIn(TabPosition(1, 20, 84), positions_for_pitch(Fraction(84))) + self.assertFalse(positions_for_pitch(Fraction(85))) self.assertFalse(positions_for_pitch(Fraction(129, 2))) - self.assertEqual([p.fret for p in positions_for_string(1, 64, tuple(range(12)))], list(range(16))) + self.assertEqual([p.fret for p in positions_for_string(1, 64, tuple(range(12)))], list(range(21))) + for fret in range(16, 21): + self.assertIn(TabPosition(6, fret, 40 + fret), positions_for_pitch(Fraction(40 + fret))) self.assertTrue(within_fret_span((TabPosition(4, 11, 61), TabPosition(3, 12, 67), TabPosition(2, 14, 73)))) - self.assertTrue(within_fret_span((TabPosition(6, 0, 40), TabPosition(1, 15, 79)))) - self.assertFalse(within_fret_span((TabPosition(4, 10, 60), TabPosition(1, 15, 79)))) - content = xml_note('G', extra=technical(1, 15), octave=5) + self.assertTrue(within_fret_span((TabPosition(6, 0, 40), TabPosition(1, 20, 84)))) + self.assertFalse(within_fret_span((TabPosition(4, 10, 60), TabPosition(1, 20, 84)))) + content = xml_note('C', extra=technical(1, 20), octave=6) validate_guitar_practice(parse(xml_score(content, TAB_STAFF))) - with self.assertRaisesRegex(ValueError, '0-15'): - validate_guitar_practice(parse(xml_score(xml_note('G', alter=1, extra=technical(1, 16), octave=5), TAB_STAFF))) + with self.assertRaisesRegex(ValueError, '0-20'): + validate_guitar_practice(parse(xml_score(xml_note('C', alter=1, extra=technical(1, 21), octave=6), TAB_STAFF))) + with self.assertRaisesRegex(ValueError, '0-20'): + validate_guitar_practice(parse(xml_score(xml_note('D', alter=-1, extra=technical(6, 21)), TAB_STAFF))) def test_arranger_does_not_truncate_candidate_positions(self): def candidates(string, open_midi, pitch_classes): if string == 6: @@ -89,7 +93,7 @@ class GuitarPracticeTests(unittest.TestCase): self.assertEqual(notes(result)[0]['pitches'][0]['letter'], 'c') self.assertEqual(fraction(notes(result)[0]['pitches'][0]['alter']), 2) self.assertEqual(result['staves'][0]['measures'][0]['attributes'][0]['key'], key_from_fifths(1)) - def test_keyless_reference_required_for_both_practice_types(self): + def test_keyless_reference_required_for_practice(self): source = parse(xml_score(xml_note(), '0none')) with self.assertRaisesRegex(ValueError, 'vamp:tonic'): transpose_guitar_practice(source, 'D') @@ -197,31 +201,29 @@ class GuitarPracticeTests(unittest.TestCase): with tempfile.TemporaryDirectory() as temp: root = Path(temp) (root / 'data/songs').mkdir(parents=True) - source = root / 'data/practice/chord/lesson/wide.xml' - source.parent.mkdir(parents=True) + source = root / 'data/001.xml' + source.parent.mkdir(parents=True, exist_ok=True) source.write_text(xml_score(content), encoding='utf-8') output = root / 'output' output.mkdir() (output / 'last-good').write_text('preserved') - args = argparse.Namespace(data_dir=root / 'data', output_dir=output, static_assets_dir=Path('package/assets'), clean=True, check=False) + args = argparse.Namespace(data_dir=root / 'data', output_dir=output, static_assets_dir=Path('package/assets'), check=False) with patch('generator.__main__.engrave_tree') as engrave: - with self.assertRaisesRegex(ValueError, r'wide.xml, target key C:.*measure 1'): + with self.assertRaisesRegex(ValueError, r'001.xml, target key C:.*measure 1'): generate_assets(args) engrave.assert_not_called() self.assertEqual((output / 'last-good').read_text(), 'preserved') self.assertEqual(list(output.iterdir()), [output / 'last-good']) - def test_all_practice_types_require_twelve_deterministic_variants(self): + def test_practice_requires_twelve_deterministic_variants(self): with tempfile.TemporaryDirectory() as temp: source, output = Path(temp) / 'source', Path(temp) / 'output' - for practice_type in ('chord', 'melody'): - path = source / practice_type / '001_lesson' / '001-exercise.xml' - path.parent.mkdir(parents=True) - path.write_text(xml_score(xml_note()), encoding='utf-8') - self.assertEqual(generate_practice_scores(source, output), 24) + source.mkdir() + (source / '001.xml').write_text(xml_score(xml_note()), encoding='utf-8') + self.assertEqual(generate_practice_scores(source, output), 12) validate_practice_variants(output) first = {p.relative_to(output): p.read_bytes() for p in output.rglob('*.json')} generate_practice_scores(source, output) self.assertEqual(first, {p.relative_to(output): p.read_bytes() for p in output.rglob('*.json')}) - next((output / 'chord').rglob('g.json')).unlink() - with self.assertRaisesRegex(ValueError, 'chord practice generator drift'): + (output / '001/g.json').unlink() + with self.assertRaisesRegex(ValueError, 'practice generator drift'): validate_practice_variants(output) diff --git a/tests/test_health.cpp b/tests/test_health.cpp index 19abec9..0341a86 100644 --- a/tests/test_health.cpp +++ b/tests/test_health.cpp @@ -184,8 +184,11 @@ auto make_assets(vamp_zero::config const &config) -> void { auto root = std::filesystem::path{config.runtime.assets_path}; write_score(root / "songs" / "first.json"); write_score(root / "songs" / "second.json"); - write_score(root / "practice" / "melody" / "lesson" / "exercise" / "c.json"); - write_score(root / "practice" / "melody" / "lesson" / "exercise" / "d.json", "D"); + for (auto key : vamp_zero::practice_key_names()) { + auto name = std::string{key}; + name.front() = static_cast(name.front() - 'A' + 'a'); + write_score(root / "practice" / "001" / (name + ".json"), std::string{key}); + } BOOST_REQUIRE(vamp_test::build_catalogue(root, config.database.path)); } @@ -360,7 +363,7 @@ BOOST_AUTO_TEST_CASE(readiness_reads_packaged_catalogue_without_hardware_or_hear BOOST_REQUIRE(exercises); BOOST_TEST(songs->parts.size() == 2U); BOOST_REQUIRE_EQUAL(exercises->exercises.size(), 1U); - BOOST_TEST(exercises->exercises.front().variants.size() == 2U); + BOOST_TEST(exercises->exercises.front().variants.size() == 12U); write_file(config.runtime.heartbeat_path, "existing heartbeat"); auto heartbeat_time = std::filesystem::last_write_time(config.runtime.heartbeat_path); config.runtime.exit_after_startup = true; @@ -372,7 +375,7 @@ BOOST_AUTO_TEST_CASE(readiness_reads_packaged_catalogue_without_hardware_or_hear } BOOST_AUTO_TEST_CASE(readiness_validates_later_pages_parts_and_practice_variants) { - for (std::char_t const *relative : {"songs/first.pages/2.png", "songs/second.pages/2.png", "practice/melody/lesson/exercise/d.pages/2.png"}) { + for (std::char_t const *relative : {"songs/first.pages/2.png", "songs/second.pages/2.png", "practice/001/d.pages/2.png"}) { auto root = temporary_directory{}; auto config = fixture_config(root.path); make_assets(config); @@ -391,7 +394,7 @@ BOOST_AUTO_TEST_CASE(readiness_validates_generated_audio_using_configured_asset_ auto assets = std::filesystem::path{config.runtime.assets_path}; auto fixture = std::filesystem::path{VAMP_TEST_PLAYBACK_ASSETS_DIR}; std::filesystem::copy(fixture / "audio", assets / "audio", std::filesystem::copy_options::recursive); - auto path = assets / "practice/melody/practice/exercise/c.json"; + auto path = assets / "practice/001/c.json"; write_score(path); auto score = boost::json::parse(read_file(path)); score.as_object()["playback"] = boost::json::parse(read_file(fixture / "score.json")).at("playback"); diff --git a/tests/test_key_metadata.py b/tests/test_key_metadata.py index 547e055..222d2e9 100644 --- a/tests/test_key_metadata.py +++ b/tests/test_key_metadata.py @@ -117,20 +117,18 @@ class AuthoredKeyMetadataTests(unittest.TestCase): with tempfile.TemporaryDirectory() as temp: source, output = Path(temp) / 'source', Path(temp) / 'output' text = xml_score(xml_note('E', alter=-1), '-3') - for practice_type in ('chord', 'melody'): - path = source / practice_type / 'lesson' / 'exercise.xml' - path.parent.mkdir(parents=True) - path.write_text(text, encoding='utf-8') - self.assertEqual(generate_practice_scores(source, output), 24) - for practice_type in ('chord', 'melody'): - for key in TARGET_KEYS: - with self.subTest(practice_type=practice_type, key=key): - result = load_json(output / practice_type / 'lesson' / 'exercise' / key_file_name(key)) - self.assertEqual(result['schema_version'], 3) - self.assertEqual(result['metadata']['authored_key_signature'], 'Eb') - self.assertEqual(result['metadata']['key_signature'], key) - self.assertEqual(result['metadata']['variant_tonic'], key) - self.assertEqual((source / practice_type / 'lesson' / 'exercise.xml').read_text(encoding='utf-8'), text) + source.mkdir() + path = source / '001.xml' + path.write_text(text, encoding='utf-8') + self.assertEqual(generate_practice_scores(source, output), 12) + for key in TARGET_KEYS: + with self.subTest(key=key): + result = load_json(output / '001' / key_file_name(key)) + self.assertEqual(result['schema_version'], 3) + self.assertEqual(result['metadata']['authored_key_signature'], 'Eb') + self.assertEqual(result['metadata']['key_signature'], key) + self.assertEqual(result['metadata']['variant_tonic'], key) + self.assertEqual(path.read_text(encoding='utf-8'), text) def test_modes_and_keyless_authored_labels_survive_variants(self): for mode, fifths, label in [('minor', -3, 'C minor'), ('dorian', -2, 'C dorian'), ('mixolydian', -1, 'C mixolydian'), ('none', 0, 'No key')]: source = parse(xml_score(xml_note(), f'{fifths}{mode}')) diff --git a/tests/test_music_model.py b/tests/test_music_model.py index 3e6f0b1..175fe4d 100644 --- a/tests/test_music_model.py +++ b/tests/test_music_model.py @@ -95,7 +95,7 @@ class MusicModelTests(unittest.TestCase): output = root / 'output' output.mkdir() (output / 'last-good').write_text('preserved') - args = argparse.Namespace(data_dir=data, output_dir=output, static_assets_dir=Path('package/assets'), clean=True, check=False) + args = argparse.Namespace(data_dir=data, output_dir=output, static_assets_dir=Path('package/assets'), check=False) with self.assertRaises(ValueError): generate_assets(args) self.assertEqual((output / 'last-good').read_text(), 'preserved') @@ -117,10 +117,9 @@ class MusicModelTests(unittest.TestCase): (data / 'songs').mkdir(parents=True) source = data / 'songs' / 'fixture.xml' source.write_text(xml_score(xml_note()), encoding='utf-8') - args = argparse.Namespace(data_dir=data, output_dir=output, static_assets_dir=Path('package/assets'), clean=True, check=False) + args = argparse.Namespace(data_dir=data, output_dir=output, static_assets_dir=Path('package/assets'), check=False) generate_assets(args) first = {p.relative_to(output): p.read_bytes() for p in output.rglob('*') if p.is_file()} - args.clean = False generate_assets(args) self.assertEqual(first, {p.relative_to(output): p.read_bytes() for p in output.rglob('*') if p.is_file()}) source.unlink() diff --git a/tests/test_playback.py b/tests/test_playback.py index de84017..bbeeded 100644 --- a/tests/test_playback.py +++ b/tests/test_playback.py @@ -40,17 +40,18 @@ class PlaybackTests(unittest.TestCase): unpitched = 'C44whole' with self.assertRaises(PlaybackUnavailable): compile_timeline(parse(xml_score(unpitched))) - def test_guitar_octave_depends_on_category_not_lesson_name(self): + def test_guitar_octave_depends_on_score_metadata_not_path(self): from generator.playback import compile_tree from generator.score import write_json with tempfile.TemporaryDirectory() as directory: root = Path(directory) source = parse(xml_score(xml_note())) - for relative in ('practice/melody/chord/score.json', 'practice/chord/lesson/score.json'): - write_json(root / relative, source) + for part in ('practice', 'acoustic', 'electric', 'vocal'): + source['staves'][0]['arrangement_part_type'] = part + write_json(root / f'{part}.json', source) compile_tree(root) - for relative, pitch in [('practice/melody/chord/score.json', 60), ('practice/chord/lesson/score.json', 48)]: - playback = json.loads((root / relative).read_text())['playback'] + for part, pitch in [('practice', 48), ('acoustic', 48), ('electric', 48), ('vocal', 60)]: + playback = json.loads((root / f'{part}.json').read_text())['playback'] self.assertEqual(playback['samples'][0]['id'], generate_tone(root, Fraction(pitch))['id']) def test_audio_assets_validate_and_reject_corruption(self): with tempfile.TemporaryDirectory() as directory: diff --git a/tests/test_repeats.py b/tests/test_repeats.py index a45a565..48bbbc8 100644 --- a/tests/test_repeats.py +++ b/tests/test_repeats.py @@ -117,14 +117,12 @@ class RepeatTests(unittest.TestCase): with tempfile.TemporaryDirectory() as directory: root = Path(directory) data = root / 'data' - lesson = data / 'practice/melody/lesson' - lesson.mkdir(parents=True) - (data / 'songs').mkdir() - (lesson / 'repeat.xml').write_text(text) + (data / 'songs').mkdir(parents=True) + (data / '001.xml').write_text(text) output = root / 'assets' args = argparse.Namespace(data_dir=data, output_dir=output, static_assets_dir=Path('package/assets'), check=False) generate_assets(args) - bundle = json.loads((output / 'practice/melody/lesson/repeat/c.json').read_text()) + bundle = json.loads((output / 'practice/001/c.json').read_text()) self.assertEqual(len(bundle['music']['staves'][0]['measures']), 2) self.assertEqual(len(bundle['playback']['events']), 4) self.assertEqual(fraction(bundle['playback']['duration']), 16) diff --git a/tests/test_score_bundle.py b/tests/test_score_bundle.py index 618b4c9..ea110af 100644 --- a/tests/test_score_bundle.py +++ b/tests/test_score_bundle.py @@ -25,12 +25,10 @@ class ScoreBundleTests(unittest.TestCase): with tempfile.TemporaryDirectory() as temporary: root = Path(temporary) data, output = root / 'data', root / 'output' - lesson = data / 'practice' / 'chord' / 'lesson' - lesson.mkdir(parents=True) - (data / 'songs').mkdir() - source = lesson / 'fixture.xml' + (data / 'songs').mkdir(parents=True) + source = data / '001.xml' source.write_text(xml_score(xml_note())) - args = argparse.Namespace(data_dir=data, output_dir=output, static_assets_dir=Path('package/assets'), clean=False, check=False) + args = argparse.Namespace(data_dir=data, output_dir=output, static_assets_dir=Path('package/assets'), check=False) generate_assets(args) original = {p.relative_to(output): p.read_bytes() for p in output.rglob('*') if p.is_file()} self.assertTrue(list(output.rglob('*.png'))) @@ -41,13 +39,12 @@ class ScoreBundleTests(unittest.TestCase): generate_assets(args) self.assertEqual(original, {p.relative_to(output): p.read_bytes() for p in output.rglob('*') if p.is_file()}) source.write_text(xml_score(xml_note())) - renamed = lesson.with_name('002_renamed_lesson') / '127-renamed-exercise.xml' - renamed.parent.mkdir() + renamed = data / '127.xml' source.rename(renamed) source = renamed generate_assets(args) - self.assertFalse((output / 'practice/chord/lesson').exists()) - self.assertEqual(len(list((output / 'practice/chord/002_renamed_lesson/127-renamed-exercise').glob('*.json'))), 12) + self.assertFalse((output / 'practice/001').exists()) + self.assertEqual(len(list((output / 'practice/127').glob('*.json'))), 12) source.unlink() generate_assets(args) self.assertFalse(list(output.rglob('*.png'))) diff --git a/tests/test_score_loader.cpp b/tests/test_score_loader.cpp index ae14d34..5061293 100644 --- a/tests/test_score_loader.cpp +++ b/tests/test_score_loader.cpp @@ -319,7 +319,7 @@ BOOST_AUTO_TEST_CASE(score_loader_completion_can_overlap_stop_and_consumer_destr BOOST_AUTO_TEST_CASE(selected_score_reference_uses_active_part_and_practice_variant) { auto catalog = std::make_shared(); catalog->performance.parts = {{.id = "part-a"}, {.id = "part-b"}}; - catalog->practice.exercises = {{.id = "scale", .practice_type_id = "melody", .variants = {{.id = "scale-c"}, {.id = "scale-d"}}}}; + catalog->practice.exercises = {{.id = "scale", .variants = {{.id = "scale-c"}, {.id = "scale-d"}}}}; auto state = vamp_zero::app_state{.catalog = catalog}; BOOST_CHECK(!vamp_zero::selected_score_reference(state)); state.mode = vamp_zero::app_mode::PERFORMANCE_SCORE; @@ -337,10 +337,6 @@ BOOST_AUTO_TEST_CASE(selected_score_reference_uses_active_part_and_practice_vari BOOST_CHECK(reference->category == vamp_zero::score_category::PRACTICE); state.selected_practice_key_index = 0; BOOST_CHECK(!vamp_zero::selected_score_reference(state)); - catalog->practice.exercises.front().practice_type_id = "guitar"; - reference = vamp_zero::selected_score_reference(state); - BOOST_REQUIRE(reference); - BOOST_CHECK_EQUAL(reference->id, "scale-c"); state.catalog.reset(); BOOST_CHECK(!vamp_zero::selected_score_reference(state)); }