diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000000000000000000000000000000000000..7fb0c3b44b46ae07a0d0773d53ce92d37f4b51ee --- /dev/null +++ b/.gitattributes @@ -0,0 +1,3 @@ +*.safetensors filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000000000000000000000000000000000000..ce18e5ba29e6ad24f24b0bfaa4a682a6cf824ff6 --- /dev/null +++ b/LICENSE @@ -0,0 +1,424 @@ +MERT2 model-weight license + +The MERT2-30s and MERT2-FS checkpoint weights in model.safetensors are +licensed under Creative Commons Attribution-NonCommercial 4.0 International +(CC BY-NC 4.0): https://creativecommons.org/licenses/by-nc/4.0/ + +For attribution, identify MERT2, the model name, and its source repository: +https://huggingface.co/m-a-p/MERT-v2-30s +https://huggingface.co/m-a-p/MERT-v2-FullSong + +This weight license does not replace separately applicable licenses for code +or dependencies. See THIRD_PARTY_NOTICES.md. + +The official license text follows without modification. +Source: https://creativecommons.org/licenses/by-nc/4.0/legalcode.txt + +Attribution-NonCommercial 4.0 International + +======================================================================= + +Creative Commons Corporation ("Creative Commons") is not a law firm and +does not provide legal services or legal advice. Distribution of +Creative Commons public licenses does not create a lawyer-client or +other relationship. Creative Commons makes its licenses and related +information available on an "as-is" basis. Creative Commons gives no +warranties regarding its licenses, any material licensed under their +terms and conditions, or any related information. Creative Commons +disclaims all liability for damages resulting from their use to the +fullest extent possible. + +Using Creative Commons Public Licenses + +Creative Commons public licenses provide a standard set of terms and +conditions that creators and other rights holders may use to share +original works of authorship and other material subject to copyright +and certain other rights specified in the public license below. The +following considerations are for informational purposes only, are not +exhaustive, and do not form part of our licenses. + + Considerations for licensors: Our public licenses are + intended for use by those authorized to give the public + permission to use material in ways otherwise restricted by + copyright and certain other rights. Our licenses are + irrevocable. Licensors should read and understand the terms + and conditions of the license they choose before applying it. + Licensors should also secure all rights necessary before + applying our licenses so that the public can reuse the + material as expected. Licensors should clearly mark any + material not subject to the license. This includes other CC- + licensed material, or material used under an exception or + limitation to copyright. More considerations for licensors: + wiki.creativecommons.org/Considerations_for_licensors + + Considerations for the public: By using one of our public + licenses, a licensor grants the public permission to use the + licensed material under specified terms and conditions. If + the licensor's permission is not necessary for any reason--for + example, because of any applicable exception or limitation to + copyright--then that use is not regulated by the license. Our + licenses grant only permissions under copyright and certain + other rights that a licensor has authority to grant. Use of + the licensed material may still be restricted for other + reasons, including because others have copyright or other + rights in the material. A licensor may make special requests, + such as asking that all changes be marked or described. + Although not required by our licenses, you are encouraged to + respect those requests where reasonable. More considerations + for the public: + wiki.creativecommons.org/Considerations_for_licensees + +======================================================================= + +Creative Commons Attribution-NonCommercial 4.0 International Public +License + +By exercising the Licensed Rights (defined below), You accept and agree +to be bound by the terms and conditions of this Creative Commons +Attribution-NonCommercial 4.0 International Public License ("Public +License"). To the extent this Public License may be interpreted as a +contract, You are granted the Licensed Rights in consideration of Your +acceptance of these terms and conditions, and the Licensor grants You +such rights in consideration of benefits the Licensor receives from +making the Licensed Material available under these terms and +conditions. + + +Section 1 -- Definitions. + + a. Adapted Material means material subject to Copyright and Similar + Rights that is derived from or based upon the Licensed Material + and in which the Licensed Material is translated, altered, + arranged, transformed, or otherwise modified in a manner requiring + permission under the Copyright and Similar Rights held by the + Licensor. For purposes of this Public License, where the Licensed + Material is a musical work, performance, or sound recording, + Adapted Material is always produced where the Licensed Material is + synched in timed relation with a moving image. + + b. Adapter's License means the license You apply to Your Copyright + and Similar Rights in Your contributions to Adapted Material in + accordance with the terms and conditions of this Public License. + + c. Copyright and Similar Rights means copyright and/or similar rights + closely related to copyright including, without limitation, + performance, broadcast, sound recording, and Sui Generis Database + Rights, without regard to how the rights are labeled or + categorized. For purposes of this Public License, the rights + specified in Section 2(b)(1)-(2) are not Copyright and Similar + Rights. + d. Effective Technological Measures means those measures that, in the + absence of proper authority, may not be circumvented under laws + fulfilling obligations under Article 11 of the WIPO Copyright + Treaty adopted on December 20, 1996, and/or similar international + agreements. + + e. Exceptions and Limitations means fair use, fair dealing, and/or + any other exception or limitation to Copyright and Similar Rights + that applies to Your use of the Licensed Material. + + f. Licensed Material means the artistic or literary work, database, + or other material to which the Licensor applied this Public + License. + + g. Licensed Rights means the rights granted to You subject to the + terms and conditions of this Public License, which are limited to + all Copyright and Similar Rights that apply to Your use of the + Licensed Material and that the Licensor has authority to license. + + h. Licensor means the individual(s) or entity(ies) granting rights + under this Public License. + + i. NonCommercial means not primarily intended for or directed towards + commercial advantage or monetary compensation. For purposes of + this Public License, the exchange of the Licensed Material for + other material subject to Copyright and Similar Rights by digital + file-sharing or similar means is NonCommercial provided there is + no payment of monetary compensation in connection with the + exchange. + + j. Share means to provide material to the public by any means or + process that requires permission under the Licensed Rights, such + as reproduction, public display, public performance, distribution, + dissemination, communication, or importation, and to make material + available to the public including in ways that members of the + public may access the material from a place and at a time + individually chosen by them. + + k. Sui Generis Database Rights means rights other than copyright + resulting from Directive 96/9/EC of the European Parliament and of + the Council of 11 March 1996 on the legal protection of databases, + as amended and/or succeeded, as well as other essentially + equivalent rights anywhere in the world. + + l. You means the individual or entity exercising the Licensed Rights + under this Public License. Your has a corresponding meaning. + + +Section 2 -- Scope. + + a. License grant. + + 1. Subject to the terms and conditions of this Public License, + the Licensor hereby grants You a worldwide, royalty-free, + non-sublicensable, non-exclusive, irrevocable license to + exercise the Licensed Rights in the Licensed Material to: + + a. reproduce and Share the Licensed Material, in whole or + in part, for NonCommercial purposes only; and + + b. produce, reproduce, and Share Adapted Material for + NonCommercial purposes only. + + 2. Exceptions and Limitations. For the avoidance of doubt, where + Exceptions and Limitations apply to Your use, this Public + License does not apply, and You do not need to comply with + its terms and conditions. + + 3. Term. The term of this Public License is specified in Section + 6(a). + + 4. Media and formats; technical modifications allowed. The + Licensor authorizes You to exercise the Licensed Rights in + all media and formats whether now known or hereafter created, + and to make technical modifications necessary to do so. The + Licensor waives and/or agrees not to assert any right or + authority to forbid You from making technical modifications + necessary to exercise the Licensed Rights, including + technical modifications necessary to circumvent Effective + Technological Measures. For purposes of this Public License, + simply making modifications authorized by this Section 2(a) + (4) never produces Adapted Material. + + 5. Downstream recipients. + + a. Offer from the Licensor -- Licensed Material. Every + recipient of the Licensed Material automatically + receives an offer from the Licensor to exercise the + Licensed Rights under the terms and conditions of this + Public License. + + b. No downstream restrictions. You may not offer or impose + any additional or different terms or conditions on, or + apply any Effective Technological Measures to, the + Licensed Material if doing so restricts exercise of the + Licensed Rights by any recipient of the Licensed + Material. + + 6. No endorsement. Nothing in this Public License constitutes or + may be construed as permission to assert or imply that You + are, or that Your use of the Licensed Material is, connected + with, or sponsored, endorsed, or granted official status by, + the Licensor or others designated to receive attribution as + provided in Section 3(a)(1)(A)(i). + + b. Other rights. + + 1. Moral rights, such as the right of integrity, are not + licensed under this Public License, nor are publicity, + privacy, and/or other similar personality rights; however, to + the extent possible, the Licensor waives and/or agrees not to + assert any such rights held by the Licensor to the limited + extent necessary to allow You to exercise the Licensed + Rights, but not otherwise. + + 2. Patent and trademark rights are not licensed under this + Public License. + + 3. To the extent possible, the Licensor waives any right to + collect royalties from You for the exercise of the Licensed + Rights, whether directly or through a collecting society + under any voluntary or waivable statutory or compulsory + licensing scheme. In all other cases the Licensor expressly + reserves any right to collect such royalties, including when + the Licensed Material is used other than for NonCommercial + purposes. + + +Section 3 -- License Conditions. + +Your exercise of the Licensed Rights is expressly made subject to the +following conditions. + + a. Attribution. + + 1. If You Share the Licensed Material (including in modified + form), You must: + + a. retain the following if it is supplied by the Licensor + with the Licensed Material: + + i. identification of the creator(s) of the Licensed + Material and any others designated to receive + attribution, in any reasonable manner requested by + the Licensor (including by pseudonym if + designated); + + ii. a copyright notice; + + iii. a notice that refers to this Public License; + + iv. a notice that refers to the disclaimer of + warranties; + + v. a URI or hyperlink to the Licensed Material to the + extent reasonably practicable; + + b. indicate if You modified the Licensed Material and + retain an indication of any previous modifications; and + + c. indicate the Licensed Material is licensed under this + Public License, and include the text of, or the URI or + hyperlink to, this Public License. + + 2. You may satisfy the conditions in Section 3(a)(1) in any + reasonable manner based on the medium, means, and context in + which You Share the Licensed Material. For example, it may be + reasonable to satisfy the conditions by providing a URI or + hyperlink to a resource that includes the required + information. + + 3. If requested by the Licensor, You must remove any of the + information required by Section 3(a)(1)(A) to the extent + reasonably practicable. + + 4. If You Share Adapted Material You produce, the Adapter's + License You apply must not prevent recipients of the Adapted + Material from complying with this Public License. + + +Section 4 -- Sui Generis Database Rights. + +Where the Licensed Rights include Sui Generis Database Rights that +apply to Your use of the Licensed Material: + + a. for the avoidance of doubt, Section 2(a)(1) grants You the right + to extract, reuse, reproduce, and Share all or a substantial + portion of the contents of the database for NonCommercial purposes + only; + + b. if You include all or a substantial portion of the database + contents in a database in which You have Sui Generis Database + Rights, then the database in which You have Sui Generis Database + Rights (but not its individual contents) is Adapted Material; and + + c. You must comply with the conditions in Section 3(a) if You Share + all or a substantial portion of the contents of the database. + +For the avoidance of doubt, this Section 4 supplements and does not +replace Your obligations under this Public License where the Licensed +Rights include other Copyright and Similar Rights. + + +Section 5 -- Disclaimer of Warranties and Limitation of Liability. + + a. UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE + EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS + AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF + ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS, + IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION, + WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR + PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS, + ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT + KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT + ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU. + + b. TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE + TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION, + NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT, + INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES, + COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR + USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN + ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR + DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR + IN PART, THIS LIMITATION MAY NOT APPLY TO YOU. + + c. The disclaimer of warranties and limitation of liability provided + above shall be interpreted in a manner that, to the extent + possible, most closely approximates an absolute disclaimer and + waiver of all liability. + + +Section 6 -- Term and Termination. + + a. This Public License applies for the term of the Copyright and + Similar Rights licensed here. However, if You fail to comply with + this Public License, then Your rights under this Public License + terminate automatically. + + b. Where Your right to use the Licensed Material has terminated under + Section 6(a), it reinstates: + + 1. automatically as of the date the violation is cured, provided + it is cured within 30 days of Your discovery of the + violation; or + + 2. upon express reinstatement by the Licensor. + + For the avoidance of doubt, this Section 6(b) does not affect any + right the Licensor may have to seek remedies for Your violations + of this Public License. + + c. For the avoidance of doubt, the Licensor may also offer the + Licensed Material under separate terms or conditions or stop + distributing the Licensed Material at any time; however, doing so + will not terminate this Public License. + + d. Sections 1, 5, 6, 7, and 8 survive termination of this Public + License. + + +Section 7 -- Other Terms and Conditions. + + a. The Licensor shall not be bound by any additional or different + terms or conditions communicated by You unless expressly agreed. + + b. Any arrangements, understandings, or agreements regarding the + Licensed Material not stated herein are separate from and + independent of the terms and conditions of this Public License. + + +Section 8 -- Interpretation. + + a. For the avoidance of doubt, this Public License does not, and + shall not be interpreted to, reduce, limit, restrict, or impose + conditions on any use of the Licensed Material that could lawfully + be made without permission under this Public License. + + b. To the extent possible, if any provision of this Public License is + deemed unenforceable, it shall be automatically reformed to the + minimum extent necessary to make it enforceable. If the provision + cannot be reformed, it shall be severed from this Public License + without affecting the enforceability of the remaining terms and + conditions. + + c. No term or condition of this Public License will be waived and no + failure to comply consented to unless expressly agreed to by the + Licensor. + + d. Nothing in this Public License constitutes or may be interpreted + as a limitation upon, or waiver of, any privileges and immunities + that apply to the Licensor or You, including from the legal + processes of any jurisdiction or authority. + +======================================================================= + +Creative Commons is not a party to its public +licenses. Notwithstanding, Creative Commons may elect to apply one of +its public licenses to material it publishes and in those instances +will be considered the “Licensor.” The text of the Creative Commons +public licenses is dedicated to the public domain under the CC0 Public +Domain Dedication. Except for the limited purpose of indicating that +material is shared under a Creative Commons public license or as +otherwise permitted by the Creative Commons policies published at +creativecommons.org/policies, Creative Commons does not authorize the +use of the trademark "Creative Commons" or any other trademark or logo +of Creative Commons without its prior written consent including, +without limitation, in connection with any unauthorized modifications +to any of its public licenses or any other arrangements, +understandings, or agreements concerning use of licensed material. For +the avoidance of doubt, this paragraph does not form part of the +public licenses. + +Creative Commons may be contacted at creativecommons.org. + diff --git a/README.md b/README.md new file mode 100644 index 0000000000000000000000000000000000000000..7a64836bbddb830014089603dd2d374106841fe9 --- /dev/null +++ b/README.md @@ -0,0 +1,280 @@ +--- +license: cc-by-nc-4.0 +library_name: transformers +base_model: m-a-p/MERT-v2-FullSong +base_model_relation: adapter +tags: +- arxiv:2610.05336 +- arxiv:2609.33757 +- audio +- music +- music-transcription +- midi +- abc-notation +- custom_code +--- +

🤗 SheetSage2

+

Music audio to editable scores

+

Melody · Chords · Beats · Key · Structure

+ +

+ 🎵 YuE2 project + · + 💻 Code + · + 🚀 Quick start + · + 📊 Benchmarks + · + 📄 SheetSage2 arXiv + · + 📄 YuE2 arXiv + · + YuE2 PDF + · + 📚 Citation +

+

+ 🤗 YuE2-3B +   + 🤗 YuE2-Vae +   + 🤗 YuE2-Vae-legacy +   + 🤗 MERT-v2-30s +   + 🤗 MERT-v2-FullSong +   + 🤗 WildSongBench +   + SheetSage2 +

+ +**SheetSage2 turns music recordings into lead sheets and timed musical annotations.** Transcribe a complete song, edit its ABC or MIDI, render a piano preview, or extract embeddings and token predictions for your own tools. + +Built on [MERT-v2-FullSong](https://huggingface.co/m-a-p/MERT-v2-FullSong), with adapters that merge automatically when you load the model. + +📄 **Technical report:** [SheetSage2: Coherent Lead-Sheet Transcription with Synthetic Supervision](https://arxiv.org/abs/2610.05336) describes the MIDI-derived synthetic supervision, the structured decoders, the autoregressive distillation, and the evaluation protocols behind the benchmarks below. + +![SheetSage2 architecture](assets/architecture.png) + +**Update log:** + +**2026-09-24:** Fixed a bug in key-aware chord spelling. Candidate chord tones were spelled incorrectly, which favored sharp-side names for chromatic chords (e.g., `B#` instead of `C` in E major, `A#` instead of `Bb` in G major). Only chord label names change; pitches, timing, key labels, and model weights are unchanged. + +**2026-09-21:** Fixed missing enharmonic spelling correction for key and chord labels. Chord spelling now follows the local key. This updates key/chord labels and ABC notation without changing musical pitches or timing. + +If you downloaded the repository or model before this update (2026-09-24), please update to the latest repository code. **Model weights are unchanged.** + + + +## 🚀 Quick start + +Use Python 3.10 or 3.11 and FFmpeg 6.1 with its shared libraries. Sign in with access to this repository and its MERT-v2 parent: + +```bash +python -m pip install huggingface-hub==0.36.0 +huggingface-cli download m-a-p/SheetSage2 --local-dir SheetSage2 +cd SheetSage2 +python -m pip install torch==2.8.0 torchaudio==2.8.0 --index-url https://download.pytorch.org/whl/cu126 +python -m pip install -r requirements.txt +``` + +```python +import torch +from transformers import AutoModel + +model = AutoModel.from_pretrained( + "m-a-p/SheetSage2", trust_remote_code=True, +).eval().to("cuda" if torch.cuda.is_available() else "cpu") + +result = model.transcribe("song.mp3", output_dir="output") +``` + +Files are decoded, mixed to mono and resampled automatically. Long songs use overlapping windows. + +| Output | File | +|---|---| +| Editable score | `score.abc` | +| Melody and chord accompaniment | `transcription.mid` | +| Separate melodies and chords | `melody_vocal.mid`, `melody_instrumental.mid`, `chords.mid` | +| Timed annotations | `events.json`, `*.lab` | + +Omit `output_dir` to keep results in memory. Pass a Tensor or NumPy waveform with its sample rate: + +```python +# waveform: [samples] or [channels, samples] +result = model.transcribe(waveform, sampling_rate=24000) +abc = result["abc"] # str +midi = result["midi"] # bytes +events = result["events"] # list of timed events +``` + +Paths, encoded audio bytes and binary streams are also accepted. `result["midis"]` contains the separate MIDI parts; `result["labs"]` contains annotation text. Request `export_logits=True`, `export_scores=True` or `export_embeddings=True` for CPU tensors in `result["tensors"]`, grouped by window; add `output_hidden_states=True` for all 24 MERT layers. With `output_dir`, these tensors are saved as safetensors instead. Low-level `forward()` returns logits and optional hidden states; `generate()` returns symbolic tokens. + +Save a self-contained model for offline use: + +```python +model.save_pretrained("sheetsage2-local") +model = AutoModel.from_pretrained( + "sheetsage2-local", trust_remote_code=True, local_files_only=True, +) +``` + +### Key and chord spelling + +Chord LAB annotations and ABC symbols use the local key at each chord +interval's midpoint to correct enharmonic root spelling, following SheetSage2 LM +(for example, D#/G#/A# become Eb/Ab/Bb in C minor). Timing, chord quality, +inversion and sounding pitches stay unchanged. Without a decoded key, spelling +is preserved. Decoded events and tokens retain the original model predictions. +This applies to both in-memory results and saved exports, including `paper=True`. + +Key labels use the canonical LM/NoLM spelling (D#:major becomes Eb:major; +C#:major becomes Db:major; A#:minor becomes Bb:minor) in decoded events, +token display and exported key intervals. Numeric token IDs and the vocabulary +fingerprint are unchanged. ABC melody spelling follows NoLM's key-relative +pitch table, including accidental resets at barlines and key changes. + +### Melody-only ABC for covers + +Set `melody_only=True` to retain both the `Vocal` and `Ins` melodies while omitting chord symbols from the ABC and chord accompaniment from playback/combined MIDI. Raw predicted annotations remain available; the default full transcription is unchanged. + +```python +result = model.transcribe("song.mp3", output_dir="cover-score", melody_only=True) +abc = result["abc"] # Also saved as cover-score/score.abc. +``` + +```bash +python infer.py song.mp3 --output cover-score --melody-only +``` + +Review the transcription, then pass `result["abc"]` or the saved `cover-score/score.abc` to [YuE2](https://huggingface.co/m-a-p/YuE2-3B) as `abc`, with `cot="melody"` and your target `style` and `lyrics`. If the requested ABC cannot be produced, Python raises an error (partial results are available as `error.result`) and the CLI exits with a nonzero status. + +### Command line and rendering + +```bash +python infer.py song.mp3 --output output + +# Optional piano audio and printable sheet music: +python setup_render.py +python infer.py song.mp3 --output output --render-audio --render-score + +# Render existing results without loading the model: +python render.py --input output --output rendered --audio --score pdf,svg,png +``` + +On minimal Linux servers, use `python setup_render.py --with-deps`. Audio follows the original MIDI timing. Scores preserve the vocal and instrumental staves. For separate piano previews, use `--render-parts vocal,instrumental,chords` with `infer.py`, or `--parts vocal,instrumental,chords` with `render.py`. + +Python also accepts `render_audio=True, render_score="pdf,svg,png"`. In memory mode, `result["rendered"]` contains `audio` (part → WAV bytes) and `score` (format → pages as PDF/PNG bytes or SVG text). + + + +## 📊 Benchmarks + +Scores (%); higher is better. SheetSage2 uses BF16 inference. Use `preset="paper"` or `--preset paper` with the dataset prompts in [scores and settings](benchmark_results.json). Evaluation cohorts, exclusions, metrics, and baseline settings are described in Appendix D of the [technical report](https://arxiv.org/abs/2610.05336). + +| Task | Dataset | Metric | SheetSage1 | madmom | Specialist | SheetSage2-AR | +|---|---|---|---:|---:|---:|---:| +| Beat | GTZAN | F1 | 86.07 | 86.07 | **89.01** [Beat This!][beat] | 86.27 | +| Beat | osu2017 | F1 | 91.80 | 91.80 | 89.19 [Beat This!][beat] | **93.01** | +| Downbeat | GTZAN | F1 | 64.65 | 64.65 | 78.28 [Beat This!][beat] | **80.45** | +| Downbeat | osu2017 | F1 | 83.47 | 83.47 | 85.90 [Beat This!][beat] | **92.90** | +| Key | GiantSteps | Score | 43.89 | 74.62 | 72.09 [S-KEY][key] | **77.73** | +| Key | GTZAN | Score | 54.56 | 72.05 | 74.43 [S-KEY][key] | **75.77** | +| Chord | osu2017 | Maj/min | 79.82 | 77.42 | 86.55 [ChordFormer][chordformer] | **90.08** | +| Chord | Chords1217 | Maj/min | 72.98 | 83.52* | **83.94**† [ChordFormer][chordformer] | 83.81 | +| Chord | JAAH | Maj/min | 39.77 | 51.24 | 59.45 [ChordFormer][chordformer] | **64.50** | +| Structure | HarmonixSet | Accuracy | — | — | 80.03 [SongFormer][structure] | **80.51** | +| Structure | HarmonixSet | F1 @ 0.5 s | — | — | **70.63** [SongFormer][structure] | 67.96 | +| Structure | HarmonixSet | F1 @ 3 s | — | — | 79.50 [SongFormer][structure] | **82.86** | +| Melody | RWC-Pop | Vocal F1 | 62.71 | — | 62.71 [SheetSage1][sheetsage] | **82.51** | +| Melody | RWC-Pop | Full F1 | 64.02 | — | 64.02 [SheetSage1][sheetsage] | **75.29** | +| Melody | Rock Corpus | Vocal F1 | 49.19 | — | 49.19 [SheetSage1][sheetsage] | **67.08** | + +Beat/downbeat F1 uses a 70 ms matching tolerance and excludes reference and predicted events before 5 s for all models. We evaluate 999 GTZAN tracks for beat, 993 for downbeat, and 142 osu2017 tracks for both. Beat This! uses its original inference settings without DBN postprocessing; scores are averaged over three released training seeds. + +Melody F1 uses pitch classes with a 50-ms onset tolerance, without note-offset matching. SheetSage1 beat/downbeat results use madmom. *The madmom chord model includes Chords1217 in training. †ChordFormer uses five-fold evaluation, with one held-out model per track. Its original scorer pools metric-eligible durations; we recompute per-track recall and weight it by each reference span to match the other models' scoring protocol. SheetSage2 uses one checkpoint across all tracks. + +SheetSage2-AR has the highest point estimate on 12 of 15 benchmark–metric pairs. Bold marks point estimates, not statistical significance. + +ChordFormer is the chord specialist on all three datasets. We evaluate its released checkpoints with the official default chord vocabulary and HMM decoder: a five-model probability ensemble on osu2017 and JAAH, and one held-out fold model per track on Chords1217. All use the same frozen references and scoring as SheetSage2: per-track `mir_eval` chord recall weighted by the complete reference annotation span. See [osu2017 and Chords1217 results and reproduction](benchmarks/chordformer.md). + +On all **113 JAAH recordings**, SheetSage2-AR exceeds ChordFormer by **5.06 percentage points** in Maj/min recall. SheetSage2-Prober scores **62.94% Maj/min**. All models use the same reference spans, intersected with the audio; metric-eligible reference coverage is **93.87%**. See [JAAH results and fixed-model protocols](benchmarks/jaah.md). + +On **all 200 Rock Corpus recordings**, vocal pitch-class note F1 is **67.08%** for SheetSage2-AR and **49.19%** for SheetSage1. The mean includes six empty references scored as zero. Checkpoints and inference settings are fixed, with no time alignment or annotation correction. See [Rock Corpus results and scoring protocol](benchmarks/rock_corpus.md). + +### Benchmark updates + +- **2026-09-26:** Added Rock Corpus vocal melody results and updated the main comparison to 12/15. Completed the JAAH baseline result files. + +- **2026-09-16:** Added Maj/min chord evaluation on all 113 JAAH recordings: SheetSage2-AR **64.50%**, ChordFormer **59.45%**, and Prober **62.94%**. Added per-track scores, metric coverage, and protocol details. Existing benchmark scores are unchanged. + +- **2026-09-15:** Replaced the Jiang et al. chord baseline with ChordFormer on osu2017 (**86.55%**), and replaced the literature-only Chords1217 entry with our rescored held-out predictions (**83.94%**). SheetSage2 scores are unchanged. + +- **2026-09-14:** Updated beat/downbeat scores with a shared 5-second exclusion protocol. Beat This! was rerun under its original settings, averaging scores across three released seeds. Key metric labels are now consistent with the report (Score). + +[beat]: https://doi.org/10.5281/zenodo.14877491 +[key]: https://doi.org/10.1109/ICASSP49660.2025.10890222 +[chordformer]: https://arxiv.org/abs/2502.11840 +[structure]: https://arxiv.org/abs/2510.02797 +[sheetsage]: https://arxiv.org/abs/2212.01884 + + + +## 📚 Citation + +Please cite the [SheetSage2 technical report](https://arxiv.org/abs/2610.05336) when using SheetSage2 in your research: + +```bibtex +@misc{jiang2026sheetsage2, + title = {{SheetSage2}: Coherent Lead-Sheet Transcription with Synthetic Supervision}, + author = {Jiang, Junyan and Yuan, Ruibin and Pan, Jiahao and Xue, Wei and Guo, Yike and Xia, Gus and LeCun, Yann}, + year = {2026}, + eprint = {2610.05336}, + archivePrefix = {arXiv}, + primaryClass = {cs.SD}, + url = {https://arxiv.org/abs/2610.05336} +} +``` + +SheetSage2 was first introduced as part of [YuE2](https://arxiv.org/abs/2609.33757), which uses it to supply symbolic supervision: + +```bibtex +@article{yuan2026yue2, + title = {{YuE2}: Unifying Symbolic and Audio Music Generation at Frontier Quality}, + author = {Yuan, Ruibin and Pan, Jiahao and Jiang, Junyan and Wu, Zhiyue and Zhou, Ziya and Sun, Jiankai and Li, Yizhi and Zhang, Ge and Gu, Yicheng and Tian, Zeyue and Dai, Junyu and Lin, Hanfeng and Li, Kai and Wu, Shangda and Liu, Xuanjie and Wang, Jiaming and Liu, Zihan and Wang, Yue and Ma, Yinghao and Yin, Hanzhi and Chen, Kangrui and Zhang, Xinyue and Ma, Ziyang and Liao, Mengqi and Zhao, Hejia and Huang, Guowei and Yan, Chao and Ke, Lei and Yu, Jianwei and Liu, Bei and Guo, Joe and Xue, Liumeng and Xia, Gus and Xue, Wei and Guo, Yike}, + journal = {arXiv preprint arXiv:2609.33757}, + year = {2026}, + eprint = {2609.33757}, + archivePrefix = {arXiv}, + primaryClass = {eess.AS}, + url = {https://arxiv.org/abs/2609.33757} +} +``` + +For the original YuE and MERT models, please cite the relevant work: + +```bibtex +@article{yuan2025yue, + title = {{YuE}: Scaling Open Foundation Models for Long-Form Music Generation}, + author = {Yuan, Ruibin and Lin, Hanfeng and Guo, Shuyue and Zhang, Ge and Pan, Jiahao and Zang, Yongyi and Liu, Haohe and Liang, Yiming and Ma, Wenye and Du, Xingjian and Du, Xinrun and Ye, Zhen and Zheng, Tianyu and Jiang, Zhengxuan and Ma, Yinghao and Liu, Minghao and Tian, Zeyue and Zhou, Ziya and Xue, Liumeng and Qu, Xingwei and Li, Yizhi and Wu, Shangda and Shen, Tianhao and Ma, Ziyang and Zhan, Jun and Wang, Chunhui and Wang, Yatian and Chi, Xiaowei and Zhang, Xinyue and Yang, Zhenzhu and Wang, Xiangzhou and Liu, Shansong and Mei, Lingrui and Li, Peng and Wang, Junjie and Yu, Jianwei and Pang, Guojian and Li, Xu and Wang, Zihao and Zhou, Xiaohuan and Yu, Lijun and Benetos, Emmanouil and Chen, Yong and Lin, Chenghua and Chen, Xie and Xia, Gus and Zhang, Zhaoxiang and Zhang, Chao and Chen, Wenhu and Zhou, Xinyu and Qiu, Xipeng and Dannenberg, Roger and Liu, Jiaheng and Yang, Jian and Huang, Wenhao and Xue, Wei and Tan, Xu and Guo, Yike}, + journal = {arXiv preprint arXiv:2503.08638}, + year = {2025}, + eprint = {2503.08638}, + archivePrefix = {arXiv}, + url = {https://arxiv.org/abs/2503.08638} +} + +@inproceedings{li2024mert, + title = {MERT: Acoustic Music Understanding Model with Large-Scale Self-supervised Training}, + author = {Li, Yizhi and Yuan, Ruibin and Zhang, Ge and Ma, Yinghao and Chen, Xingran and Yin, Hanzhi and Xiao, Chenghao and Lin, Chenghua and Ragni, Anton and Benetos, Emmanouil and Gyenge, Norbert and Dannenberg, Roger and Liu, Ruibo and Chen, Wenhu and Xia, Gus and Shi, Yemin and Huang, Wenhao and Wang, Zili and Guo, Yike and Fu, Jie}, + booktitle = {International Conference on Learning Representations}, + year = {2024}, + url = {https://proceedings.iclr.cc/paper_files/paper/2024/hash/33dffa2e3d2ab74a783d1a8c292f66d9-Abstract-Conference.html} +} +``` + +Weights: [CC BY-NC 4.0](LICENSE). [Third-party notices](THIRD_PARTY_NOTICES.md). + +**YuE2 family:** [Song generation](https://huggingface.co/m-a-p/YuE2-3B) · [Music representations](https://huggingface.co/m-a-p/MERT-v2-FullSong) · [Audio decoder](https://huggingface.co/m-a-p/YuE2-Vae). diff --git a/THIRD_PARTY_NOTICES.md b/THIRD_PARTY_NOTICES.md new file mode 100644 index 0000000000000000000000000000000000000000..d7f9bf8726ca519dc86a42f5464d47fa91354bb4 --- /dev/null +++ b/THIRD_PARTY_NOTICES.md @@ -0,0 +1,8 @@ +# Third-party notices + +- MERT-v2-FullSong provides the public music encoder. Its weight terms remain CC BY-NC 4.0. +- The BART decoder uses Hugging Face Transformers (Apache 2.0); PyTorch uses its BSD-style license. +- abcjs 6.6.3 is distributed under MIT; its license accompanies the rendering assets. +- Playwright is distributed under Apache 2.0. Chromium is installed separately with its accompanying notices. +- FluidR3 piano samples by Frank Wen use CC BY 3.0 US. Attribution and source information accompany the samples. +- Other installed dependencies retain their respective licenses. diff --git a/__init__.py b/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..534c8db9ea190d93c0fd41b7b683cd516988b7c3 --- /dev/null +++ b/__init__.py @@ -0,0 +1 @@ +"""SheetSage2 standalone inference.""" diff --git a/assets/architecture.png b/assets/architecture.png new file mode 100644 index 0000000000000000000000000000000000000000..be43e76cca1b224830fb85ecbfe2f4609ff6acf3 --- /dev/null +++ b/assets/architecture.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4ca7396e9a7055f6824607f17c644dd59f3c28097c6adf10ee30c19056f998ef +size 310767 diff --git a/audio_sheetsage2.py b/audio_sheetsage2.py new file mode 100644 index 0000000000000000000000000000000000000000..264af19012fc986101c17ff002bb6ba5310f14ea --- /dev/null +++ b/audio_sheetsage2.py @@ -0,0 +1,92 @@ +"""File decoding and waveform preparation for music transcription.""" +from pathlib import Path +import io +import math +import numbers +import shutil +import subprocess + +import numpy as np +import torch + +SAMPLE_RATE = 24000 + + +def _encoded_bytes(audio): + if isinstance(audio, (bytes, bytearray, memoryview)): + return bytes(audio) + if callable(getattr(audio, "read", None)): + position = None + try: + position = audio.tell() + audio.seek(0) + except (AttributeError, OSError, ValueError, io.UnsupportedOperation): + position = None + try: + value = audio.read() + finally: + if position is not None: + audio.seek(position) + if not isinstance(value, (bytes, bytearray)): + raise ValueError("Audio streams must return encoded audio bytes") + return bytes(value) + return None + + +def load_audio(audio, *, sampling_rate=None, max_seconds=None, preset="default"): + if max_seconds is not None and (not math.isfinite(max_seconds) or max_seconds <= 0): + raise ValueError("max_seconds must be finite and positive") + encoded = _encoded_bytes(audio) + if encoded is not None and not encoded: + raise ValueError("Encoded audio must not be empty") + if isinstance(audio, (str, Path)) or encoded is not None: + if preset == "paper": + import torchaudio + source = io.BytesIO(encoded) if encoded is not None else str(audio) + info = torchaudio.info(source, backend="ffmpeg") + if info.num_frames <= 0: + raise ValueError("Cannot determine source audio length") + if encoded is not None: + source.seek(0) + waveform, rate = torchaudio.load(source, frame_offset=0, num_frames=int(info.num_frames), + backend="ffmpeg", channels_first=True) + waveform = waveform.mean(dim=0) + if rate != SAMPLE_RATE: + waveform = torchaudio.functional.resample(waveform, rate, SAMPLE_RATE) + else: + if not shutil.which("ffmpeg"): + raise RuntimeError("FFmpeg is required to read audio files; install it and add it to PATH") + source = "pipe:0" if encoded is not None else str(Path(audio).resolve()) + command = ["ffmpeg", "-v", "error", "-nostdin", "-i", source, "-vn"] + if max_seconds is not None: + command += ["-t", str(float(max_seconds))] + command += ["-ac", "1", "-ar", str(SAMPLE_RATE), "-f", "f32le", "pipe:1"] + result = subprocess.run(command, input=encoded, capture_output=True, timeout=600, check=False) + if result.returncode: + raise ValueError("Cannot decode audio: " + result.stderr.decode(errors="replace")[-1200:]) + waveform = torch.from_numpy(np.frombuffer(result.stdout, dtype=" 32: + raise ValueError("Multichannel audio must have shape [channels, samples]") + waveform = waveform.mean(dim=0) + if waveform.ndim != 1: + raise ValueError("Audio must have shape [samples] or [channels, samples]") + if sampling_rate != SAMPLE_RATE: + import torchaudio + waveform = torchaudio.functional.resample(waveform, int(sampling_rate), SAMPLE_RATE) + waveform = waveform.float().contiguous() + if max_seconds is not None: + waveform = waveform[:round(max_seconds * SAMPLE_RATE)] + if waveform.numel() < 1025 or not torch.isfinite(waveform).all(): + raise ValueError("Audio must contain at least 1025 finite samples at 24 kHz") + return waveform + + +def slice_audio(audio, start, seconds): + offset, count = round(start * SAMPLE_RATE), round(seconds * SAMPLE_RATE) + result = audio[offset:offset + count] + return torch.nn.functional.pad(result, (0, count - len(result))) diff --git a/benchmark_results.json b/benchmark_results.json new file mode 100644 index 0000000000000000000000000000000000000000..54894722469eaa5937e1bc0b1122033bde8c9b58 --- /dev/null +++ b/benchmark_results.json @@ -0,0 +1,506 @@ +{ + "scores": [ + { + "task": "beat", + "dataset": "GTZAN", + "metric": "F1", + "score": 86.27, + "settings": { + "preset": "paper", + "sample_rate": 24000, + "window_seconds": 300, + "overlap_seconds": 100, + "lookahead_seconds": 0, + "max_length": 5120, + "decoding": "greedy", + "attention": "sdpa", + "weight_dtype": "float32", + "autocast_dtype": "bfloat16", + "batch_size": 1, + "prompts": [ + "timestamp", + "downbeat_meter", + "key" + ], + "device": "NVIDIA H800", + "cuda_version": "12.6" + }, + "evaluation": { + "num_tracks": 999, + "matching_tolerance_seconds": 0.07, + "min_event_time_seconds": 5.0, + "trim_reference_and_predictions": true, + "aggregation": "macro_average_per_track_f1" + } + }, + { + "task": "beat", + "dataset": "osu2017", + "metric": "F1", + "score": 93.01, + "settings": { + "preset": "paper", + "sample_rate": 24000, + "window_seconds": 300, + "overlap_seconds": 100, + "lookahead_seconds": 0, + "max_length": 5120, + "decoding": "greedy", + "attention": "sdpa", + "weight_dtype": "float32", + "autocast_dtype": "bfloat16", + "batch_size": 1, + "prompts": [ + "timestamp", + "downbeat_meter", + "key", + "chord_full" + ], + "device": "NVIDIA H800", + "cuda_version": "12.6" + }, + "evaluation": { + "num_tracks": 142, + "matching_tolerance_seconds": 0.07, + "min_event_time_seconds": 5.0, + "trim_reference_and_predictions": true, + "aggregation": "macro_average_per_track_f1" + } + }, + { + "task": "downbeat", + "dataset": "GTZAN", + "metric": "F1", + "score": 80.45, + "settings": { + "preset": "paper", + "sample_rate": 24000, + "window_seconds": 300, + "overlap_seconds": 100, + "lookahead_seconds": 0, + "max_length": 5120, + "decoding": "greedy", + "attention": "sdpa", + "weight_dtype": "float32", + "autocast_dtype": "bfloat16", + "batch_size": 1, + "prompts": [ + "timestamp", + "downbeat_meter", + "key" + ], + "device": "NVIDIA H800", + "cuda_version": "12.6" + }, + "evaluation": { + "num_tracks": 993, + "matching_tolerance_seconds": 0.07, + "min_event_time_seconds": 5.0, + "trim_reference_and_predictions": true, + "aggregation": "macro_average_per_track_f1" + } + }, + { + "task": "downbeat", + "dataset": "osu2017", + "metric": "F1", + "score": 92.9, + "settings": { + "preset": "paper", + "sample_rate": 24000, + "window_seconds": 300, + "overlap_seconds": 100, + "lookahead_seconds": 0, + "max_length": 5120, + "decoding": "greedy", + "attention": "sdpa", + "weight_dtype": "float32", + "autocast_dtype": "bfloat16", + "batch_size": 1, + "prompts": [ + "timestamp", + "downbeat_meter", + "key", + "chord_full" + ], + "device": "NVIDIA H800", + "cuda_version": "12.6" + }, + "evaluation": { + "num_tracks": 142, + "matching_tolerance_seconds": 0.07, + "min_event_time_seconds": 5.0, + "trim_reference_and_predictions": true, + "aggregation": "macro_average_per_track_f1" + } + }, + { + "task": "key", + "dataset": "GiantSteps", + "metric": "weighted_accuracy", + "score": 77.73, + "settings": { + "preset": "paper", + "sample_rate": 24000, + "window_seconds": 300, + "overlap_seconds": 100, + "lookahead_seconds": 0, + "max_length": 5120, + "decoding": "greedy", + "attention": "sdpa", + "weight_dtype": "float32", + "autocast_dtype": "bfloat16", + "batch_size": 1, + "prompts": [ + "timestamp", + "downbeat_meter", + "key" + ], + "device": "NVIDIA H800", + "cuda_version": "12.6" + } + }, + { + "task": "key", + "dataset": "GTZAN", + "metric": "weighted_accuracy", + "score": 75.77, + "settings": { + "preset": "paper", + "sample_rate": 24000, + "window_seconds": 300, + "overlap_seconds": 100, + "lookahead_seconds": 0, + "max_length": 5120, + "decoding": "greedy", + "attention": "sdpa", + "weight_dtype": "float32", + "autocast_dtype": "bfloat16", + "batch_size": 1, + "prompts": [ + "timestamp", + "downbeat_meter", + "key" + ], + "device": "NVIDIA H800", + "cuda_version": "12.6" + } + }, + { + "task": "chord", + "dataset": "osu2017", + "metric": "majmin", + "score": 90.08, + "settings": { + "preset": "paper", + "sample_rate": 24000, + "window_seconds": 300, + "overlap_seconds": 100, + "lookahead_seconds": 0, + "max_length": 5120, + "decoding": "greedy", + "attention": "sdpa", + "weight_dtype": "float32", + "autocast_dtype": "bfloat16", + "batch_size": 1, + "prompts": [ + "timestamp", + "downbeat_meter", + "key", + "chord_full" + ], + "device": "NVIDIA H800", + "cuda_version": "12.6" + } + }, + { + "task": "chord", + "dataset": "Chords1217", + "metric": "majmin", + "score": 83.81, + "settings": { + "preset": "paper", + "sample_rate": 24000, + "window_seconds": 300, + "overlap_seconds": 100, + "lookahead_seconds": 0, + "max_length": 5120, + "decoding": "greedy", + "attention": "sdpa", + "weight_dtype": "float32", + "autocast_dtype": "bfloat16", + "batch_size": 1, + "prompts": [ + "timestamp", + "downbeat_meter", + "chord_full" + ], + "device": "NVIDIA H800", + "cuda_version": "12.6" + } + }, + { + "task": "chord", + "dataset": "JAAH", + "metric": "majmin", + "score": 64.5, + "settings": { + "preset": "paper", + "sample_rate": 24000, + "window_seconds": 300, + "overlap_seconds": 100, + "lookahead_seconds": 0, + "max_length": 5120, + "decoding": "greedy", + "attention": "sdpa", + "weight_dtype": "float32", + "autocast_dtype": "bfloat16", + "batch_size": 1, + "prompts": [ + "timestamp", + "downbeat_meter", + "chord_full" + ], + "cuda_version": "12.6" + }, + "score_unrounded": 64.50302704985715, + "num_tracks": 113, + "source": "benchmarks/jaah_results.json", + "evaluation": { + "reference": "official_annotations_intersected_with_audio_span", + "aggregation": "reference_span_weighted_mean_per_track_mir_eval_majmin", + "eligible_reference_percent": 93.87347199893611 + } + }, + { + "task": "structure", + "dataset": "HarmonixSet", + "metric": "accuracy", + "score": 80.51, + "settings": { + "preset": "paper", + "sample_rate": 24000, + "window_seconds": 300, + "overlap_seconds": 100, + "lookahead_seconds": 0, + "max_length": 5120, + "decoding": "greedy", + "attention": "sdpa", + "weight_dtype": "float32", + "autocast_dtype": "bfloat16", + "batch_size": 1, + "prompts": [ + "timestamp", + "downbeat_meter", + "structure" + ], + "device": "NVIDIA H800", + "cuda_version": "12.6" + } + }, + { + "task": "structure", + "dataset": "HarmonixSet", + "metric": "F1@0.5s", + "score": 67.96, + "settings": { + "preset": "paper", + "sample_rate": 24000, + "window_seconds": 300, + "overlap_seconds": 100, + "lookahead_seconds": 0, + "max_length": 5120, + "decoding": "greedy", + "attention": "sdpa", + "weight_dtype": "float32", + "autocast_dtype": "bfloat16", + "batch_size": 1, + "prompts": [ + "timestamp", + "downbeat_meter", + "structure" + ], + "device": "NVIDIA H800", + "cuda_version": "12.6" + } + }, + { + "task": "structure", + "dataset": "HarmonixSet", + "metric": "F1@3s", + "score": 82.86, + "settings": { + "preset": "paper", + "sample_rate": 24000, + "window_seconds": 300, + "overlap_seconds": 100, + "lookahead_seconds": 0, + "max_length": 5120, + "decoding": "greedy", + "attention": "sdpa", + "weight_dtype": "float32", + "autocast_dtype": "bfloat16", + "batch_size": 1, + "prompts": [ + "timestamp", + "downbeat_meter", + "structure" + ], + "device": "NVIDIA H800", + "cuda_version": "12.6" + } + }, + { + "task": "melody", + "dataset": "RWC-Pop", + "metric": "vocal_pitch_class_F1", + "score": 82.51, + "settings": { + "preset": "paper", + "sample_rate": 24000, + "window_seconds": 300, + "overlap_seconds": 100, + "lookahead_seconds": 0, + "max_length": 5120, + "decoding": "greedy", + "attention": "sdpa", + "weight_dtype": "float32", + "autocast_dtype": "bfloat16", + "batch_size": 1, + "prompts": [ + "timestamp", + "downbeat_meter", + "structure", + "key", + "chord_full", + "melody_full" + ], + "device": "NVIDIA H800", + "cuda_version": "12.6" + } + }, + { + "task": "melody", + "dataset": "RWC-Pop", + "metric": "full_pitch_class_F1", + "score": 75.29, + "settings": { + "preset": "paper", + "sample_rate": 24000, + "window_seconds": 300, + "overlap_seconds": 100, + "lookahead_seconds": 0, + "max_length": 5120, + "decoding": "greedy", + "attention": "sdpa", + "weight_dtype": "float32", + "autocast_dtype": "bfloat16", + "batch_size": 1, + "prompts": [ + "timestamp", + "downbeat_meter", + "structure", + "key", + "chord_full", + "melody_full" + ], + "device": "NVIDIA H800", + "cuda_version": "12.6" + } + }, + { + "task": "melody", + "dataset": "Rock Corpus", + "metric": "vocal_pitch_class_F1", + "model": "SheetSage2-AR", + "score": 67.08, + "score_unrounded": 67.07513352928562, + "num_tracks": 200, + "settings": { + "preset": "paper", + "sample_rate": 24000, + "window_seconds": 300, + "overlap_seconds": 100, + "lookahead_seconds": 0, + "max_length": 5120, + "decoding": "greedy", + "attention": "sdpa", + "weight_dtype": "float32", + "autocast_dtype": "bfloat16", + "batch_size": 1, + "prompts": [ + "timestamp", + "downbeat_meter", + "melody_vocal" + ] + }, + "evaluation": { + "onset_tolerance_seconds": 0.05, + "pitch_tolerance_cents": 50, + "pitch_mode": "MIDI modulo 12", + "offset_matching": false, + "aggregation": "macro_average_over_all_200_recordings", + "empty_reference_tracks": 6, + "empty_reference_f1": 0, + "time_alignment": false, + "annotation_correction": false, + "dataset_tuning": false + }, + "source": "benchmarks/rock_corpus_results.json" + } + ], + "specialist_baselines": [ + { + "model": "ChordFormer", + "task": "chord", + "dataset": "osu2017", + "metric": "Maj/min", + "score": 86.55, + "score_unrounded": 86.5497453460808, + "num_tracks": 142, + "aggregation": "reference_span_weighted_mean_per_track_mir_eval_majmin", + "inference_protocol": "five_released_models_probability_ensemble", + "vocabulary": "submission", + "code_commit": "3da11c078c802b3f5a2ff0f6f8ec184a41537844", + "source": "benchmarks/chordformer_results.json" + }, + { + "model": "ChordFormer", + "task": "chord", + "dataset": "Chords1217", + "metric": "Maj/min", + "score": 83.94, + "score_unrounded": 83.94339228883841, + "num_tracks": 1217, + "aggregation": "reference_span_weighted_mean_per_track_mir_eval_majmin", + "inference_protocol": "one_released_held_out_fold_model_per_track", + "vocabulary": "submission", + "code_commit": "3da11c078c802b3f5a2ff0f6f8ec184a41537844", + "source": "benchmarks/chordformer_results.json" + }, + { + "model": "ChordFormer", + "task": "chord", + "dataset": "JAAH", + "metric": "Maj/min", + "score": 59.45, + "score_unrounded": 59.44669210290719, + "num_tracks": 113, + "aggregation": "reference_span_weighted_mean_per_track_mir_eval_majmin", + "inference_protocol": "five_released_models_probability_ensemble", + "vocabulary": "submission", + "code_commit": "3da11c078c802b3f5a2ff0f6f8ec184a41537844", + "source": "benchmarks/jaah_results.json" + }, + { + "model": "SheetSage1", + "task": "melody", + "dataset": "Rock Corpus", + "metric": "vocal_pitch_class_F1", + "score": 49.19, + "score_unrounded": 49.187611626228076, + "num_tracks": 200, + "source": "benchmarks/rock_corpus_results.json" + } + ] +} diff --git a/benchmarks/chordformer.md b/benchmarks/chordformer.md new file mode 100644 index 0000000000000000000000000000000000000000..7569e65e0c2a868eb76f7cf1c8350e2e53c10c80 --- /dev/null +++ b/benchmarks/chordformer.md @@ -0,0 +1,62 @@ +# ChordFormer baseline for SheetSage2 + +Updated 2026-09-15. ChordFormer replaces Jiang et al. (2019) as the chord +specialist in the current comparison. SheetSage2 predictions and scores are unchanged. + +| Dataset | Tracks | ChordFormer maj/min (%) | Released-checkpoint inference | +| --- | ---: | ---: | --- | +| osu2017 | 142 | 86.54974535 | Average five models' component probabilities, then HMM | +| Chords1217 | 1,217 | 83.94339229 | One held-out fold model per track, then HMM | + +Both use the official default `submission` chord vocabulary, whole-song CQT, +and the upstream HMM. The setting was not selected by testing alternative +vocabularies on osu2017. No models were trained or tuned on osu2017. + +## Scoring protocol + +We use the same frozen references and scorer as the SheetSage2 comparison: +sanitize intervals, crop predictions to each reference's earliest/latest time, +compute per-track `mir_eval.chord.evaluate` maj/min recall, and average those +scores weighted by each reference annotation span. All 1,359 reference-file +SHA-256 values match the archived cohorts. Scores are percentages. + +The official ChordFormer corpus scorer instead pools correct and eligible +reference durations for each metric. Our separate Chords1217 reproduction with +that scorer gives **84.350128%** using `full`, matching the accepted paper's +84.35%, and **84.428217%** using `submission`. The table above uses `submission` +with the SheetSage2 scorer, giving **83.943392%**. These configurations and +aggregation rules must not be mixed. The old 84.09% literature entry is retired. + +The held-out Chords1217 evaluation uses a different model per fold. SheetSage2 +uses one fixed checkpoint for the collection; aligned scoring does not imply +identical training data. No audio-fingerprint-based training-overlap exclusion +is claimed here. + +## Reproduction + +- [Official code](https://github.com/mwaseemrandhawa/ChordFormer/tree/3da11c078c802b3f5a2ff0f6f8ec184a41537844), pinned to `3da11c078c802b3f5a2ff0f6f8ec184a41537844`. +- Five released `chordformer_head16(1.0,1.0)_s0.best.sdict` through `s4.best.sdict` checkpoints. +- On osu2017, the official `chord_recognition.py audio.mp3 output.lab` entry uses the five-model ensemble and default vocabulary. +- For Chords1217, use the fold in [the per-track record](chordformer_per_song.csv); averaging all five models would include models trained on that track and is invalid for this evaluation. +- Inference used dgx-071 GPU 7 (NVIDIA H800). Compatibility changes selected logical GPU 0 after external device masking and explicitly loaded trusted upstream checkpoints with `weights_only=False`. +- Two osu2017 songs, including the longest, were checked against the official entry point: identical chord labels and segment counts, with boundary differences below 5.1e-10 seconds from decimal serialization. + +With one `.lab` per track in the reference and prediction directories: + +```bash +python -m pip install numpy==1.26.4 scipy==1.13.1 mir_eval==0.7 +python score_chordformer.py --dataset osu2017 --reference /path/to/reference --predictions /path/to/predictions +python score_chordformer.py --dataset Chords1217 --reference /path/to/chordlab --predictions /path/to/held_out_predictions +``` + +The scorer verifies the frozen reference hashes and complete cohort. Add +`--verify-archived-predictions` when using the archived LAB predictions to verify +their hashes too. [Machine-readable results](chordformer_results.json) and +[per-track scores, folds, and hashes](chordformer_per_song.csv) support independent checks. + +## Attribution + +Please cite [ChordFormer](https://arxiv.org/abs/2502.11840) and its upstream +[Large-Vocabulary Chord Transcription via Chord Structure Decomposition](https://archives.ismir.net/ismir2019/paper/000078.pdf), +as requested by the ChordFormer repository. Keeping this upstream attribution +does not retain the Jiang model as a current benchmark entry. diff --git a/benchmarks/chordformer_per_song.csv b/benchmarks/chordformer_per_song.csv new file mode 100644 index 0000000000000000000000000000000000000000..ffc52b22528e00a14f31fb227982d1eea99bbc88 --- /dev/null +++ b/benchmarks/chordformer_per_song.csv @@ -0,0 +1,1360 @@ +dataset,model,vocabulary,fold,sample_id,duration,root,majmin,majmin7,tetrads,sevenths,reference_sha256,prediction_sha256 +osu2017,ChordFormer,submission,ensemble,100649 Coldplay - Viva la Vida,236.9565217,0.9341177899683872,0.9261068355410893,0.7574989331289368,0.6413262034686599,0.7574989331289368,d02aee59a3e113f755b0bf2527fc8a0e120ec20223910ae35d92d7a05430895a,f1420d7698f4ce1cc6fa8bfcaf495944283c0d06c33c6ba7638497fa726e0c56 +osu2017,ChordFormer,submission,ensemble,100699 Itou Masumi - Yokan (TV Size),87.0,0.988436938,0.988436938,0.9120937263666665,0.6290301561149426,0.9120937263666665,89be3cc3a1f430b07c2eb72acd89781c3eaee23adc8ac995a1c12d91224989d9,f603cd274afcbd3a52c97dab21b6a28ce2dede4bedbdf811758720801be7cc30 +osu2017,ChordFormer,submission,ensemble,103260 DenporuP - Hitorinbo Envy,201.8181818,0.7477946832984499,0.6966183670653837,0.5264812423351716,0.49920856524632484,0.5264812423351716,a4dc42192b3768d5891a2ae69032e3c8013a62df203647fefae621fde8001234,77132290072b38cf3a6508a2832c2741e8443c17429bbd894aea5f88b01ea220 +osu2017,ChordFormer,submission,ensemble,109343 Linda Yang - Bie Kan Wo Zhi Shi Yi Zhi Yang,92.38095240000001,0.8740620749651418,0.8638327670564262,0.8638327670564262,0.8638327670564262,0.8638327670564262,c5656a0af03686e4dfe2f33c44fdcbde83aa9da558b1085f8430e3bce54eee1b,55745d4486709d18fdec2e48d0715414925b07305783222d12541f2b9ace5e26 +osu2017,ChordFormer,submission,ensemble,114555 XeoN - Eternal Fantasy,101.1023622,0.9203213351626318,0.9378512655505654,0.6846720318558595,0.6206839914765117,0.6846720318558595,546b37da88e5b7307e9d4b56bc34db547a4eed3445b61b7aa4ab8072ad883272,e5ca9002db8e64719d06f7514cc6f88a2deecf2212f33949b7198b454e5d5d01 +osu2017,ChordFormer,submission,ensemble,115011 Hatsuki Yura - Yoiyami Hanabi,307.0583478,0.8847562660857918,0.8636566762776846,0.825208226905091,0.8067689495429515,0.825208226905091,b0440566a46e96adcc301a98ed87d5010a5431ed7b1d06f61ccf308f194f8893,830a7dab2d8365784e864a095adc1283423d174b026588a1f64e49b67c2241ad +osu2017,ChordFormer,submission,ensemble,115107 SirensCeol - Nightmare (Maxin Remix),195.862069,0.8439265536095198,0.9350993122479809,0.885985890497289,0.736241796245908,0.885985890497289,eca3203c69936a589f3acd3b47bfad5dfaaacbc96774eb30811676b9a472c373,5339621a5aad98a4105482952ab2e5f1b7b056756040920f5466728510cba4b4 +osu2017,ChordFormer,submission,ensemble,118459 Hai Nan - Ai La La,174.98,0.9324450167104814,0.9324450167104814,0.9324450167104814,0.9324450167104814,0.9324450167104814,a1b3ddbf0bad07488169449c4ed1e62769e4561d07d99dda6fa18012ecd70f18,4a34f426aa68d6eb68afa85f39d5d34ae8906e953d644a96cae46b75b99abe81 +osu2017,ChordFormer,submission,ensemble,118869 Hanazawa Kana - Mousou Express (TV Size),87.9207921,0.8417806965708627,0.8396648717863404,0.7460282691538672,0.7460282691538672,0.7460282691538672,8bbac87c61879f11b614ae8768be1d68a703b6e854f5c2d15c7ac5c5fb285231,1c03a00bb5ec02903bf490f0b025dff37d1c9ab07bfe6ed3707a1755fdef07c8 +osu2017,ChordFormer,submission,ensemble,119739 Rin - Spring of Dreams,210.9375,0.9499665608343697,0.9425703487542847,0.8522772206075595,0.7348523591016292,0.8522772206075595,df5efe1aff7373e050533ab2a56fc9345c5b38e2eba69a1e9f23737042f71aa7,eb62d506d36c957862cac9e89acc84b622e08765b99771f961aff77c0b4c5b30 +osu2017,ChordFormer,submission,ensemble,13019 Daisuke Achiwa - BASARA,203.07692310000002,0.9399054504238747,0.7773786688321163,0.7546699663532573,0.7546699663532573,0.7546699663532573,096f5a5fd0357cc5212db8c83ec0ed787839d6164fc949fbede220496043d621,681d7bc54cc597a9dd50bf6450928380fc861bdd2fa93e20866b75bb697f41a3 +osu2017,ChordFormer,submission,ensemble,130791 Sergey Chekryzhov - Intro,62.9776543,0.8400222850948578,0.8865500897801653,0.8387558164430536,0.7676510903169667,0.8387558164430536,caa61fedfd5758391b5f38d605d4b5d7960894c210b5796e532426a6952e2c0c,107cbc67b9057624afcb045caa02c2c42861bff6928b5dff46f145c9c6d94d35 +osu2017,ChordFormer,submission,ensemble,13901 12 Girls Band - Freedom,242.7692308,0.9406908783021941,0.9486286718333338,0.9486286718333338,0.8909174217229513,0.9486286718333338,d489db9ef64daa7ea20653f592eb0b0a6db68743386ebed62566d98226b57989,a66b7374eadbe59a4782d03fd660c778908b13579b5ebb752b7ecec3e8288d31 +osu2017,ChordFormer,submission,ensemble,143939 Painty the Pirate & Kids - SpongeBob SquarePants Theme,44.534285700000005,0.9453384877799891,0.9453384877799891,0.9453384877799891,0.9453384877799891,0.9453384877799891,1e9e56518a0d48f90398071dfa7816c06d9a768ad59e55b861b1c495d31c7f1f,bc82b7fcfd79bbedb1022757f321597e162e0fb271981eb253cd07db1d151978 +osu2017,ChordFormer,submission,ensemble,144338 Kajiura Yuki - Run!Cat!Run!,70.5882352,0.782190191149587,0.790091102713989,0.790091102713989,0.782190191149587,0.790091102713989,e54fef1777a26ff53d0f731b6729717deb74322dd914444be28ccfd4743e6b76,aecbef786b1e4df30cd290d110c6362d50f1cbcb222e56cfc3e88a505317de0b +osu2017,ChordFormer,submission,ensemble,14458 Shoji Meguro - Reach Out to the Truth (Instrumental),91.05882349999999,0.8867551195958508,0.8784004757206512,0.8784004757206512,0.8715911692511596,0.8784004757206512,69c154d658e172b4b27a0e71214247f10d2ec1c07181e3e44e21de6d867c6aec,f0024fdb905a8d663e3819567311a45f257ab964b047697c4a060c653153bea3 +osu2017,ChordFormer,submission,ensemble,146794 Giga-P - Electric Angel,190.4,0.7736001990598736,0.7695148123792013,0.7695148123792013,0.7695148123792013,0.7695148123792013,74ade291c81055d03721c89cb338aa75ed7cf2290e5e189c2d557a707101d2fe,0ddd41ecbef5e22f01aeb1fb8622ab63664415399e68fd0a1f66587644c6d286 +osu2017,ChordFormer,submission,ensemble,150858 Richard Clayderman - Les premiers sourires de Vanessa,139.65890910000002,0.9549574361668841,0.9549574361668841,0.9078247201058791,0.9078247201058791,0.9078247201058791,792b799e24749e63395181129e9e6ff19b21fd62d6286993aa8fa3270fb173bd,4c2ede17c55b387a8177d563879bf0de0cf4a11a318527a08ddaa5defe20db13 +osu2017,ChordFormer,submission,ensemble,151219 a_hisa - Fairy Dance,190.7325455,0.5159226271690485,0.48888876774017986,0.41429457120944796,0.39730922506877575,0.41429457120944796,2749e92923769297a42a38c359aa992df1b95a6f7f098da754f1568471d29e36,c959d35868d23cf3288f89d4fffeeba6dad2c8c219e26018b0b2017e56dc6c8d +osu2017,ChordFormer,submission,ensemble,152709 BURTON - Shinonomegiku,152.6666667,0.9219882359231467,0.9216911144559629,0.8915761514494377,0.8915761514494377,0.8915761514494377,a07ee5d30698b5483997d6eda4fe14c373287e45d1d66fa7ed97845298e41c86,ef4fca78b4dafa365b5b134e9a57e49e36bde70caabcf8e3852fe2fe77aa6d68 +osu2017,ChordFormer,submission,ensemble,155288 kors k - Insane Techniques,125.7534247,0.6331343096455645,0.6279779348784604,0.6279098193498341,0.6279098193498341,0.6279098193498341,edc7e737f1bd54cb367a30945b2fe58ded355d2b91905dff26624d8ea3d24d08,4c5e075e53d9bfc362732fff6ed70a11139eac26c1e80a495ae99d0f60807d4a +osu2017,ChordFormer,submission,ensemble,15781 Giorgia - Gocce Di Memoria (Instrumental),171.25,0.8470253074335767,0.8892065601302326,0.8029062916031009,0.7560212526773724,0.8029062916031009,875e21585cdd71141d4b20805cafdf23cd77f0d558abd326dff625039231b4b2,67aa98b138b4828075b792786aace84dfe17f47f6103185f757eaf0f0181e227 +osu2017,ChordFormer,submission,ensemble,166239 Nishiura Tomohito - Shop,49.5,0.7178600975757577,0.7178600975757577,0.7178600975757577,0.7178600975757577,0.7178600975757577,df5b228b5e084a62df355e7a91967ec26337d0bcac322e9f2eef01640eeb8076,f93cdfe7aaf36133a6c9aefaffad0aff25a9f303b3dd829938aeaca84b373a1e +osu2017,ChordFormer,submission,ensemble,167225 LhoU - Highlander,135.5839459,0.8576687765804283,0.8318829006158242,0.8130000610159136,0.7916079068251985,0.8130000610159136,739738e0e9aef6a667843844e07350fac21234f2a4083c318622d871a916015c,4e7393347c164de644cd02a1a39d4d0aa56bd91ac72066af92dce6e1d3d43af4 +osu2017,ChordFormer,submission,ensemble,168161 Kajiura Yuki - Himeboshi,159.496,0.7673129534471088,0.8043851813771045,0.7406939086335289,0.6984065056490448,0.7406939086335289,e140c0f22ae84090b532a4f976d2847fef80f50e01155b4cb31b2825f6c9272b,e1e7185d858ef5088553e52e2be9454b8798761762206ca730917d38cca36e6f +osu2017,ChordFormer,submission,ensemble,16893 Banya - Beethoven Virus (Full ver),208.8461538,0.8282189324618535,0.8501377696453427,0.8501377696453427,0.8282189324618535,0.8501377696453427,4ed46a6c4329ef0a48ddcadc561f6d07d62824a0c8ff010637a965f742dd990a,97f66f24443014b358109e50bde435f0ea3ff08600c587b0c3626a101425c1f6 +osu2017,ChordFormer,submission,ensemble,170677 Judy Huang - Yi Zhi Hen An Jing,154.6357273,0.88455552859808,0.9097407465375664,0.8290709184552811,0.6623761375098474,0.8290709184552811,5c8e980587d57af360d520706330941ba89cc5990d86482e3e4fac61969c07e2,31f3eac62e5dc5abc47fa3676e2d5ded07a4136594ae1c727075f43c0d283758 +osu2017,ChordFormer,submission,ensemble,171676 SHK - Identity Part 5,135.85714289999999,0.9709521299671023,0.9709521299671023,0.6617853388627389,0.6617853388627389,0.6617853388627389,093362974e26da29b845e26e7b3af146c95bdfb13638cea924b9a9bd6271ef0b,c6bd525e52393a185fbf609bb92ae19c9fbf2623bb79cdafd6a5fcae0ad138c2 +osu2017,ChordFormer,submission,ensemble,173422 Studio EIM - Crescent Moon Island Boss Theme,126.6273953,0.9327128142309663,0.9332937764968309,0.9332937764968309,0.9322859541200721,0.9332937764968309,197f35f560edd904087fe2c47d7c2a99fcc46dcd90ca862616f6840fb6df0cd4,a4181872860d41afda4a16d9a1aa8c61e5b5e9649e9f54195affae91f6d69416 +osu2017,ChordFormer,submission,ensemble,175846 Gresby Nash - Fan Forever,123.2307692,0.7538531823024606,0.6809320412886615,0.47119997667013963,0.5148932456878638,0.47119997667013963,bb4cf03d1d25e382b46aa2318719a6226630fcabb518c77a8debe15ddf3a8234,38a8ab391d363bba89546f61afc57bc7c1c354302d7a83d2c31041e83c3cec70 +osu2017,ChordFormer,submission,ensemble,176183 Jay Chou - Niu Zai Hen Mang,98.2258065,0.9516324593272749,0.9520374533994962,0.9400892167751167,0.875255479139283,0.9400892167751167,a841b545a599200def3e09b1cb1280298bdd7181970034bab0beaecd1e4c85b4,3922cbe62c93cd545e6274fc02c5b3414639061f943be758213c89af1c3366f1 +osu2017,ChordFormer,submission,ensemble,182271 ginkiha - Oriens,130.8874993,0.9050059440550413,0.9050059440550413,0.8955125443136956,0.8955125443136956,0.8955125443136956,08e4d199a0e432e956086b3dba37f6654fa7eb6b7729ee0ae4c7f7269c9cf9b2,e16afcd40664229fc716689613be6feccfb216c1f28a3bee5b2e23e4b2c7941c +osu2017,ChordFormer,submission,ensemble,183656 Mutsuhiko Izumi - Tengoku to Jigoku,106.4615385,0.7950185748912503,0.7950185748912503,0.7950185748912503,0.7950185748912503,0.7950185748912503,c146c7c67400f8ac5e4e9e2cb33be5b63eda8a5a0acf182ab7a98b2c4adc2bb1,9a00212bab49c3af8bab9e23479e27eb8e616b7cad0fe4323dd8cac96c794d1b +osu2017,ChordFormer,submission,ensemble,18428 RSP - Sakura ~Anata ni Deaete Yokatta~,300.75,0.9050272203092264,0.90187396964921,0.5656401098487115,0.5656401098487115,0.5656401098487115,5038107ca749aa0cd67afdf52aa44653074279bbc3953e8ddc5712a34e33e02e,af4caa6cda3ff25a06f585399062673a24e2bfab97cf3623237ef3837637ed0c +osu2017,ChordFormer,submission,ensemble,186457 Kan R Gao - Once Upon a Memory,130.1038947,0.8619700620384272,0.8824556097228531,0.7584669921567134,0.6984623354169275,0.7584669921567134,3ae1ad50bbfdb5470ffd3ad016e1a3f8bcb7e77fb05af6abfd0961ff8eb4fa7f,58c1756d01ce38ba72617aa5dbe3f9790cfa7f339f1ac446d47ddcc41a6c778b +osu2017,ChordFormer,submission,ensemble,186767 StylipS - Spica (TV-size),87.58620690000001,0.9483862785477021,0.9483862785477021,0.9328056402223314,0.9328056402223314,0.9328056402223314,be1b8d94798838b18867fa4155abdaccc44cff70e70730c96c30541cf43f0155,0eacdff4c84a8bbb8e9b497e8eb1c00674d1e12cfd828c1ba6c956426054372e +osu2017,ChordFormer,submission,ensemble,190284 Disasterpeace - Love,63.2110959,0.8341813100253496,0.953308317619703,0.7721267689250846,0.6237591042777666,0.7721267689250846,727b44cecaba5985509f208281deec4c0e4408162fdda89f784f03d6dfe9e3b5,509153805923c467438549ddc47a9ac455b07673227145a48b359d92268672b0 +osu2017,ChordFormer,submission,ensemble,199998 Martynas - Hungarian Dance No 5 in G minor,98.4396761,0.8352830809954277,0.858487941189582,0.6329023654284752,0.6107219101567114,0.6329023654284752,5373b6ff8ff40bfcc5a2e8ffbf4202b69cb51040dc337bb73527c16cb151baf5,8f6e539aec33555d4eae42feb561c36f52f886f32c73b94b8f037a04a46d8fab +osu2017,ChordFormer,submission,ensemble,206284 FELT - In my room,38.181818199999995,0.6995449152549786,0.6717781486052806,0.6717781486052806,0.5182288580484625,0.6717781486052806,09d92452f259de56c3d983f8776975b4ca43f96420495565831bbf862c2ee153,b280b5f00d8ddfe2283ba7686146844d685084a8dcb5a1e448c1e957923316f2 +osu2017,ChordFormer,submission,ensemble,208112 Kitamura Eri & Nonaka Ai - and I'm home,169.44,0.9174803916253539,0.9060343905040129,0.6950342773062014,0.6349817405984418,0.6950342773062014,629aa9494f8739ff478e75f3b51317dc1ea6071550c6d3581904d2739efd643d,0468d7f4226792c342e9a3ed4d916323cd8f70c3bb2a3471b6a9d10dfa249ed4 +osu2017,ChordFormer,submission,ensemble,209841 Otokaze - KaeriMichi,112.9411765,0.7833610761084995,0.7833610761084995,0.7833610761084995,0.7833610761084995,0.7833610761084995,d947a323958f55f579ecd80c574aeae4ced66846abe4656563f0a0afe11e0d5e,59e4ba1b353ba7f412735d7dee4fe9394e42c8feb0c51e04652582b5ce1ce73a +osu2017,ChordFormer,submission,ensemble,21544 Shadow - EarthBound Bus! (OC ReMix),87.0967742,0.8883076795167921,0.8883076795167921,0.8883076795167921,0.8883076795167921,0.8883076795167921,97180cbe592111e7e0a402358e6c7f54a03202efb604b794f7f20fbaeffcaf38,7d5dbc50a5e775dbaa5f64df7dbda588a712b0412a1229291e860ba7420647ff +osu2017,ChordFormer,submission,ensemble,217444 Woofle and Strife - Fortune Night 1,148.8888889,0.8545427969675714,0.8509842109153634,0.22533358285672783,0.21995248230373482,0.22533358285672783,2be27a4d36eb7a18072706559403281432822206a0e3c43529fef0229036170f,52ecc7a1ec9534b0bcd0e9c1f9099dc23a145754c3d8d811f314c998b9a11ca7 +osu2017,ChordFormer,submission,ensemble,219763 Drop - Granat,46.750663100000004,0.9528599395203016,0.9556562546516589,0.9494824914536036,0.8250401121476284,0.9494824914536036,776554eb4e07c0d734b35d3d9337a31cb0c50f3e13942e77a7e9337af26c3e76,150264b9f9f93ac569d14174792c7d61fe19a3fb420e0fcb403f3cec4c8846e5 +osu2017,ChordFormer,submission,ensemble,228465 Alastair Gavin - Together Again (Commercial Cuts 2),35.921052599999996,0.9255980429704889,0.9319145164793368,0.7718816294799657,0.7120233542933537,0.7718816294799657,19544fe385447cc2a4f179e4b490d48ed9c3bddf85e9eafe2928735ce56331de,8a72de096574586e8de231aded447154c0161622bf1d8669d2cad9de036eebcc +osu2017,ChordFormer,submission,ensemble,229393 HoneyWorks - Hatsukoi no Ehon featAida Miou(CV-Toyosaki Aki),198.7847368,0.8734297906216304,0.8761993284869118,0.814072712469354,0.7543439197490736,0.814072712469354,5260296ec286884b27be5ab68242a4f88289aea28cfd039c3b8343133acb3e55,be8e2129779ba9b7e3fc3af95d4f2416c180fa3a0cfceadc2c5bfc1fce4e3c7f +osu2017,ChordFormer,submission,ensemble,231257 Kajiura Yuki - Noi!,56.5486552,0.9037871251799457,0.9037871251799457,0.1732343956253799,0.1732343956253799,0.1732343956253799,bc3f334fc5a1278a6e9fd8880261fe6115a3dd51f998719d13b037f78c632ea7,afb17230ce56cceb6c54900113468384499e4a92ab879d21485ceaa14daf1b54 +osu2017,ChordFormer,submission,ensemble,233233 Taylor Swift - Last Christmas,109.1386897,0.9699838142550102,0.9699838142550102,0.7054776305418663,0.7054776305418663,0.7054776305418663,1d657e6d1c7fd0b6d5ce7ce2f7aeafc3195dbcf7d38a91f57f8827a624ca81c7,709388224d5d75a01cc4a42d849e55cd8b9988bdb13dd3cf26447402e99cf67b +osu2017,ChordFormer,submission,ensemble,238992 CCTV - Believe in the power of the brand,58.7862609,0.9788127294042612,0.9573439224640328,0.9573439224640328,0.9573439224640328,0.9573439224640328,c47d99546295e6c875cc3e081722420c11a2fb4f59318a61ea2df5fab42729ff,c9b0278149821bc68dfdc811542704c663342cccd532c94b5abc6771479aafcd +osu2017,ChordFormer,submission,ensemble,"246315 Apple-ufo - Ano Hi, Natsu no Sora ni(inst)",142.311,0.8396489681120929,0.8541203077310247,0.763605733264241,0.5785645566962501,0.763605733264241,42aabab96042ef3faff64d3be4b0e07dae85059ce75c3e4bf2daf4b72eae45f7,318291034ec721b3931e41761e10f3b3a65c6e141c73a3a86ddfc4e8c655f0aa +osu2017,ChordFormer,submission,ensemble,"246679 Evan Beigel [BMI], Scott Emerson [BMI] - A Running Chip",115.636,0.8982198317219546,0.885028564476729,0.885028564476729,0.8738960943477806,0.885028564476729,3db93c22b397f81f9f277949a945d81ea7dab15f76843a27f5bed8cd2e55f877,3422b8ee8fc7e047903b3006c2df493d7dcec8a25b34b2d34230cbe8a81d41ca +osu2017,ChordFormer,submission,ensemble,247978 Studio EIM - Malina BGM,144.6666667,0.9236890184876293,0.9236890184876293,0.920952757163375,0.920952757163375,0.920952757163375,8cdfd4d44b2e714c0817ded18ff76ba92590270507e6d3ba783926ee966d045e,e67cfcaa48f3cd9a9934cfce8c3706adfef1ae95ca9e3e109de1db4e3d1475b4 +osu2017,ChordFormer,submission,ensemble,25141 Kalafina - Magia (TV Size),87.84,0.9167188126252278,0.8957775733492718,0.8957775733492718,0.8957775733492718,0.8957775733492718,192af802be89de99ae5652cb704667473cf4888bb0a4fef2f292c7c9c8e73e17,7ebcd6526c320acbc432ee63c026fb16f28750c79addd0228b7b2e6956de9024 +osu2017,ChordFormer,submission,ensemble,25705 ClariS - Connect,271.20000000000005,0.9407788666961654,0.9295739901507039,0.8337440062310046,0.777980521331121,0.8337440062310046,0b8540719dbe0c9e2049c8353f0a76bb1fb1b0b25393ce99f1bbad465f6ba1ad,acfd5c5adc58f0047194f4dd5d302d206173e09e0f7a765b19711be9e948bdb8 +osu2017,ChordFormer,submission,ensemble,264299 sakuzyo - Imprinting,113.8285714,0.810036872728423,0.8060802873823585,0.800514436429642,0.7896047468974912,0.800514436429642,90d5fa97b85f8574d94cfe1882ce4eec2df81f59143e0763d9e7e093afec35d0,4d6d887b6e8eee749509f7d0e2ebfe3fbce237b6a3a9f8e52746821c20303f36 +osu2017,ChordFormer,submission,ensemble,272975 Owl City - Shooting Star (Acoustic),270.26086960000004,0.9160734596148874,0.9160734596148874,0.8591515202724708,0.8591515202724708,0.8591515202724708,d8a594d9b5e53214489d829f91f25d747d465b5cb17b22efa321911ba66bfed5,76bcdafebd4fbb58ac023b2face051f93f8b8135b7807cc1eaeb34006dfc4384 +osu2017,ChordFormer,submission,ensemble,27852 07th Expansion - Birth of New Witch (Instrumental),137.2826087,0.8705382643854143,0.8531025946551669,0.3861931966512326,0.37885460845704333,0.3861931966512326,a06f84fe07cea7b1c61caab51262da8a347121f08f315b786e98c964bb08fa09,849f155e6495461bca6e5f8683bda304a5edd55c4e2a8a1c409ec3a064ad266a +osu2017,ChordFormer,submission,ensemble,28793 07th Expansion - Sakutarou's Adventure,114.0,0.834367864114034,0.84507160495111,0.8206994205244433,0.8099007439385952,0.8206994205244433,6c0351850629e3dbe77ae3e0436361b1071ecb816168e1f99133745c1a989813,50b31005fa78695064d5bbdb48b0d82f5cfd6c45ab8a2ec6dc6cc7b9860f18b7 +osu2017,ChordFormer,submission,ensemble,29217 Jonathan Coulton & GLaDOS - Want You Gone,141.0,0.685841012546099,0.67730013993617,0.6556761712056736,0.6556761712056736,0.6556761712056736,30dd5f6855cf6511c073347e436cdd7bbcf1c57d75c256e34b25acfc105d88e3,f93d0ffe94ce5020872b1356395b4d65dd013b5b466cbb67fed1d94b6d2c3243 +osu2017,ChordFormer,submission,ensemble,293545 July - The song of soul,104.9371325,0.9564227458664364,0.9564227458664364,0.7679356609566741,0.6796122177914481,0.7679356609566741,aa62c223d219d09f4340e6cc12b2bfa07b0d5ec7152a3ddd105ecba5ba3f21a7,26690484e28e73c0208690036fc89417ea9da2c7f8c1d2a94ef0f9cc726bf2d4 +osu2017,ChordFormer,submission,ensemble,"295880 Smooth J - Haru yo, Koi",176.8421053,0.902694586400629,0.8127773672857701,0.7803416740237876,0.7636200670983528,0.7803416740237876,f173886848401920910d9c43d2d5afd942f79ddfc6964d6c694fe4b171f2c6ab,bc31147e0a451557a9e0baeff048950a70563ccaa5692b786c75de5fc453fd50 +osu2017,ChordFormer,submission,ensemble,300076 JJ Lin - Cao Cao,241.6666667,0.8445312689248918,0.8445312689248918,0.7585858780953669,0.7585858780953669,0.7585858780953669,01d14256716c6d142aeac80a450df5e49240ecda5116c6180cbc550459eaf127,4d3af205df49e6cb146928e88d9b9bcfdefcd3482f1fed7c5aa7c5169a4b8db9 +osu2017,ChordFormer,submission,ensemble,300962 Yiruma - River Flows In You (viewtifulday Remix),149.6103896,0.9200336868115476,0.9200336868115476,0.9200336868115476,0.9200336868115476,0.9200336868115476,43942bd0a93917395eb8987a02bceeb7910aa7043fe5cf1c8247568ca1d3bc01,322f14e61ff7c7c4ee24070b1e62996b79c38f5db54c792867af5dd907cc3ea1 +osu2017,ChordFormer,submission,ensemble,303398 China Broadcast Children's Choir of National Radio - Di Hou Tian Gao,59.7986379,0.9617402824488083,0.9608156090530013,0.8970243078187825,0.8596470291173641,0.8970243078187825,04c8d44fe39ab8277ec11378dd8b3c340a86ea81a0a710efc863e6a1ef83d008,aae629bf804dfa2e07f4abbf8f8dee9d0fe9e4535ba35bf66c4e5510df61cc4e +osu2017,ChordFormer,submission,ensemble,320118 Reol - No title,89.1,0.7801189775869805,0.7801189775869805,0.7157198021052629,0.6868018303030301,0.7157198021052629,0a20ef62cc22f1b62b78086d8f10c19c9c00ef6a43465b8259b4fd6c064cae49,0005511fa73ad64c1437c1c95055ec06ab44784c7a44efea73ac0f923c571fe7 +osu2017,ChordFormer,submission,ensemble,320155 FELT - Clean,101.42857140000001,0.4976203877204564,0.47617072085342815,0.4135477934158599,0.2096862050548412,0.4135477934158599,93f0ce61d8e7266839a3d77d86fd55de2061ca4627db3f97beeb25c46b59b6c4,7e8e90317a73a00062c1056a1f3326b2f88152c343faf72a1d874ebea35cfcc4 +osu2017,ChordFormer,submission,ensemble,325511 Enya - One By One,212.67447030000002,0.9705199574628964,0.9705199574628964,0.9705199574628964,0.9705199574628964,0.9705199574628964,b35208c2e9d5d4e27ad25d9fe4e77da445ff317ad96254be8e5b050ee5b4f459,9b9484da20ba87cbd4bb598c5d34e3a184f6df5e020ffb89cb25f098f5351a86 +osu2017,ChordFormer,submission,ensemble,332532 Panda Eyes & Teminite - Highscore,254.72727269999996,0.8718356782728593,0.8829967708122013,0.8703490635511479,0.8554394438346298,0.8703490635511479,6e5678abb07c7fc584a74e5fc6f72d9690f13e9d24a70827f33efd17b1c641d2,dbdc7a05113b952a4b5d00e79eb73fdb7b41dc1917c07b5da840736b972a6496 +osu2017,ChordFormer,submission,ensemble,336686 Li Meng Di - Kuai Dian Gao Su Ni,124.26171670000001,0.9783452899456038,0.9783452899456038,0.9492277222579204,0.9492277222579204,0.9492277222579204,8c52049e7e132da0c2939fa3dfb8eb47d488510d84e2998530d02484f6d23d4d,26aa977ae54115505bf454d918dc7a68e4f811549e1c3104ae8c4ffab90b7dd4 +osu2017,ChordFormer,submission,ensemble,342884 Kajiura Yuki - Sis puella magica!,45.8108108,0.6376281051546024,0.6376281051546024,0.6376281051546024,0.6376281051546024,0.6376281051546024,d6a67f21e5d50f800ac2312514e1f30b36e9f717d56b78b80e3b8e382c434dcb,1a5e6faba84b0247d855349adb6763a0f3b7438a7e80376e8039a5608134b11d +osu2017,ChordFormer,submission,ensemble,351630 kradness&Reol - Remote Control,318.5454546,0.8021760504254268,0.8008295052218146,0.7846742123028041,0.7031612516375865,0.7846742123028041,ab86ccc750d1f5eeefed643c33f55c5ebc9ecfe0187bc047286b60b3249eb4b9,94db3ac8971557af27fbe7792e9f38d249b860cc34da3c1e9aadce4dbdf939bd +osu2017,ChordFormer,submission,ensemble,355322 nekodex - circles!,136.9565217,0.9200616201689065,0.9356362313119962,0.9356362313119962,0.8643496606631476,0.9356362313119962,e6e6f181cf422990840472c7c3770ca6223c95551b6e3f48238fcd2fd677e8d6,b18395fe64385f52176603ad215e5d8aa7c24cc3f31c10b7c371034bc32095f0 +osu2017,ChordFormer,submission,ensemble,357391 Suzumu - isolation(Instrumental Opening),79.7797059,0.9184522223589694,0.9378326198112071,0.7719808423144449,0.6230109596330308,0.7719808423144449,7f93429dc2a3e1efbc611d3227a93a5c765d6e919c33048786e1e4f7447e0235,a254f77e5685a9e555a2c6e38e4bc06ff8c0a41a39ccb916e3b962acf5057f48 +osu2017,ChordFormer,submission,ensemble,358450 World of Wandag - HuniePop Theme,142.2580645,0.8076708381829556,0.8076708381829556,0.6789898459499986,0.6789898459499986,0.6789898459499986,b3a33fae34d885cf845fb55853fed20bbeda35b450933a17452702e3272d713d,a67e3920d8a4853a94100dbba1e723a9497fc795634e74aa1b057145da5edbcb +osu2017,ChordFormer,submission,ensemble,368258 Emilie Simon - Les Amants Du Meme Jour (Instrumental Version),71.1724138,0.9530612001668546,0.9530612001668546,0.9530612001668546,0.9530612001668546,0.9530612001668546,f6a42359bff88cb76cce4b187ba0c9faf72d8f3f6b046196e5fecfb9055c8a7e,d25e82299ad08697b2e53fff9aa38d9fd0a68ffe3a2e49087c772d61200bb7ad +osu2017,ChordFormer,submission,ensemble,371114 Wix Games - Glacier Theme,67.8,0.2320764687315636,0.2320764687315636,0.2320764687315636,0.2320764687315636,0.2320764687315636,68dcee9761e90de03083de2f8428bf199c81bb339ade3ae67d61dc5ac8d90a6a,710ae93522a781372b9f85f5cff478427c096a0927999c77659fd8f122e0202c +osu2017,ChordFormer,submission,ensemble,375620 toby fox - Determination,50.0869565,0.8421786957847999,0.8109286955976254,0.039363472404237675,0.039363472404237675,0.039363472404237675,44962fda46d2376a4533ab7017a151eb747a338a26b0530c43ba6b27037bdaae,69badf14129a14be492ad0cdd20454a415e03a4ab6e4c0d088572f85dcd02dc1 +osu2017,ChordFormer,submission,ensemble,384284 JJ Lin - Jiang Nan (Cantonese Ver),240.2327391,0.949396002345295,0.9419443981809257,0.7587359178567681,0.7429442334947767,0.7587359178567681,05ba8ce95b5fc15c6076e4f21cf5681e611e4ed1e09824ed7bbdf16543ddbd82,1e1d175d0db9d34b64ad64df41561d1edcd811a2cd14c5c7c65ed8c9bbbde7e5 +osu2017,ChordFormer,submission,ensemble,"385248 otetsu - Minamo no Sakura, Yume wa Sakayume",132.3,0.6785721998412699,0.7050948482566587,0.7201411781419235,0.5920076853968254,0.7201411781419235,d93bc056e17e74fd1772fb9c875c025f7ef72e208794e71ba9c7df838a6c38d1,2e3490062a3eda3aa7f7e0d74efe02e1c0e1ff151def4b7c21b9b50e50f38c8b +osu2017,ChordFormer,submission,ensemble,393995 toby fox - Quiet Water,32.0,0.25904761906249996,0.25904761906249996,0.25904761906249996,0.25904761906249996,0.25904761906249996,c998b5b6b7e966c7481ae7e3cf51cc76e272406e965b50ca360bcfdc0ef0501d,141bc348388ec79beec565c361fc7d4e90ee0b914e3a9da4117d7049993e2a15 +osu2017,ChordFormer,submission,ensemble,39804 xi - FREEDOM DiVE,267.302673,0.8148482114767329,0.8380719471128875,0.618107942928368,0.5931338846282319,0.618107942928368,5888f51acbea0394c765d6dd1ae66043befdf267829f38e7560ed54ada47ed0b,87945966da192c9a86a174c527ced96964fd1e74bffdfac524a61d662ac8b87f +osu2017,ChordFormer,submission,ensemble,399491 Kaga (CV- Iguchi Yuka) - Kaga Misaki,130.3759398,0.9442436428289506,0.9130761431412513,0.49955924620370906,0.48573061637865167,0.49955924620370906,0b47519611a1a39655a58e3edc2d538bfa5ce74762aa417adad139e54563e12f,9382e3b94857d13136995e32a3f96c7ef3334a7532b2a5e63f2fe5c1c66dd0a3 +osu2017,ChordFormer,submission,ensemble,404060 Enya - Echoes In Rain,215.26668800000002,0.9527057571954658,0.9527057571954658,0.9527057571954658,0.9527057571954658,0.9527057571954658,0293f9ee781fbb5f9fa1535098707e73de18e922d3125315ca3ed7498674f0cd,807a11f2d7ba218df91d4cdb281483cc28707ee18772847306837fcc6cef8841 +osu2017,ChordFormer,submission,ensemble,413707 Milkychan - Stronger Than You -Chara Response-,168.9795918,0.7353690947784619,0.7055202885513429,0.26683329303450914,0.26489971844043697,0.26683329303450914,038222ecf705b6c18e9778dcfe3cd0f29067d699c31aedc2d046415e899e2f13,935d1d7098994428450b508674ce6ad2c9f32373d6c52cad571df1b6b85e17ed +osu2017,ChordFormer,submission,ensemble,416444 Helblinde - Above the Clouds,129.3323333,0.9302825978784077,0.9302825978784077,0.6742747972366478,0.6742747972366478,0.6742747972366478,06c13dce4b2ba4d8b23af64775d1ba759882ffa9204c2d9290e186cad82ecf92,9d07a3d43b54aa51b96b52cf2eb0f4a46e9564d66fe39c85c24cb6d8e9cc68e8 +osu2017,ChordFormer,submission,ensemble,418562 ilem feat. zuotian - yi ren xing zhe,211.0,0.9540109617298589,0.9415262789267023,0.9144297052159099,0.8223198890900482,0.9144297052159099,0c7007e7cc412328b2c1a2c721f6c5807e06fd035ec16a6d84c2120e00230511,071ac0494d0573396d492382f952de2f2ed85e1a9ddbdfa1a2fd0cc1404799ba +osu2017,ChordFormer,submission,ensemble,424047 July - Raining Morning,94.9090909,0.9897259602451842,0.9897259602451842,0.8759672758808396,0.8759672758808396,0.8759672758808396,801e1b201b5a425a68c435d2ccc19d1ae2e33aa5908517479e07672eeadba538,d796d1711246bbb740232761216a7c15186b5bffbbe3c260fbb0a042964db830 +osu2017,ChordFormer,submission,ensemble,42488 Yanni - November Sky,172.4211881,0.8064464371011955,0.8064464371011955,0.7106596587359906,0.7106596587359906,0.7106596587359906,7ccdbd5add15c1830d6e376b85bb0143ba0d46018681869287f5386ee4b1691f,1ffa77f151a8979864f92f290898b7ff78fa8436fba412754ec3ac6ea81dadea +osu2017,ChordFormer,submission,ensemble,429316 Tonon - Shirayuki -sirayuki-,281.1225393,0.882845586291273,0.868979936565335,0.5014202921615396,0.5014202921615396,0.5014202921615396,4105feb9cbc59686a24a0f5a69b96e71426c4a95fe5ecab2df3b90999a390c49,d9355978fca84e8c23d89e0fa0e771abd18cbfcda2a66dfac5ae1c51e80f3eab +osu2017,ChordFormer,submission,ensemble,436734 GameChops & VOIA - Voia's Medley (Undertale Remix),306.09375,0.8675498684471681,0.8838191859709064,0.7125341557621632,0.6915803388961725,0.7125341557621632,aa71a5a23a04b2f1b352eaa2f3684ce4c6aca550f6e631fce26ce955c605ca46,78d09d220810dfd6ec84f5b22cc8f76066b1588c023af8bb7c0ac55ada89592b +osu2017,ChordFormer,submission,ensemble,43698 Yasuna to Sonya - Futari no Kimochi no Honto no Himitsu (TV Size),89.5454545,0.9178389674821517,0.9178389674821517,0.7945126797586358,0.7945126797586358,0.7945126797586358,19c4ae866f63a3e597752a555354dbebb2679a8ebf4cc7ae9b21f1b0e44fbbe5,99e4e402c23f91080738e113baea3f0d286b46cb4022a53e5477e622d699c6c7 +osu2017,ChordFormer,submission,ensemble,43714 kanon x kanon - The Doll House!,206.5,0.8852442226246972,0.8836181795386502,0.6872509272000003,0.6877466027554483,0.6872509272000003,a74aa6bfe58bd941c3817bed0b22624ddab526eaf8cc55c136890c42e1dd0cad,92b6b0e04880ec26968e928e4487bbf2ac1a83c519b7309ca979a8629060b892 +osu2017,ChordFormer,submission,ensemble,437904 bradbreeck - Fury Heart,40.183486200000004,0.9151742577277928,0.9151742577277928,0.9151742577277928,0.9151742577277928,0.9151742577277928,93bf397fccdbd14786a87bcc9d80fc0738dc7a88ceaff58b87e00673d1b36d92,89b390bb6e26e76453c92fa6639b15c6fad6ca88193e77ade779fd4bae157b2a +osu2017,ChordFormer,submission,ensemble,4392 Hyadain - Chocobo,164.1795913,0.7450961851371111,0.6852181671925018,0.6852181671925018,0.6852181671925018,0.6852181671925018,83b453e74bff2fe77189f99d7d8c82c8ef663dc4a42e54fe9a67e78e51f0d407,7c8be8576c77431de52716906e72544f2f622ef7b09bd03dc190cae9bbf39ddf +osu2017,ChordFormer,submission,ensemble,43962 Jolin Tsai - Dancing Diva,184.3548387,0.7649684508769008,0.8499844324653094,0.8139345876818294,0.611362081216694,0.8139345876818294,a5a4446effdae56166a92587df78d0aa29401224ea6395d8c869af8491108bab,191cb380aea2babbc23b34adc031f147125d7016a91b10f14a897016047c9ac0 +osu2017,ChordFormer,submission,ensemble,444793 Musashi Project & Toshiro Masuda - Ofuzake Mode,46.08,0.6118258298828122,0.8157677731770834,0.5812967162326389,0.43597253717447904,0.5812967162326389,9898c0a95e530e18960832d2a894baa4c6df6bc36e9eda61851bac7d2a024682,891403784563f3e229808c8448c96efe0ac13771bb174b48d0abe5704ed61c1d +osu2017,ChordFormer,submission,ensemble,448090 Quynh Nhu - Don Coi,100.5,0.825685517950248,0.825685517950248,0.8105898532832074,0.8045406752736312,0.8105898532832074,2a40ef75a2486000042f15dfe9e98d253168e21392d2e5ddfc06c6aef77c27a2,20d539a5cf1d382402114e2c88c86e03ba822c582a7e957dc8e802a16cb6c0e1 +osu2017,ChordFormer,submission,ensemble,456986 Komiya Mao - (can you) understand me,90.1621622,0.9453774902372515,0.9527778533041251,0.8228574896372426,0.7422020247313901,0.8228574896372426,11ef3f5b47205e3c6399b31da763563e6b4f219b0054c9822f4ba26fa8aacecb,037bc536324c928252852af092ee4c641f442ff6fc5b891c614ef714f3839f98 +osu2017,ChordFormer,submission,ensemble,464507 Vorovaiki - Devchonka ryjaya,119.57142859999999,0.9685182164077616,0.9065402149841004,0.8101080016284091,0.8101080016284091,0.8101080016284091,cd5c41a46fae0e2099d5a4bf421bdce61bdf9bc411110670f25c44ea2c381bd8,7825311ad2c56ed093924c4915fc061e7ac18263e6d7ba0843619c2049d01f12 +osu2017,ChordFormer,submission,ensemble,466104 t+pazolite - Intro - Dockaaaahhhnnn!!,65.6666667,0.7809369088929257,0.7809369088929257,0.7723925263343733,0.70966013883266,0.7723925263343733,a89de1c6f9ffda9208a53d9dd016125f27740f3075b3c8c6506590be976bc494,afa22b18533cdffab75edc9fa006a5ad13ce8ba9ec1a56c17f4c4a4b463f21c4 +osu2017,ChordFormer,submission,ensemble,469782 Ryu- featMayumi Morinaga - Din Don Dan,107.5714286,0.8788062545169175,0.8788062545169175,0.8788062545169175,0.8788062545169175,0.8788062545169175,1fd36a4b61cd10ef3f2c7253c6337c95a45ab407d3063d7c50c052c0e2e07fd4,c3a75c5074d201d1bec7879ada9f9aba2bd4dfd52f5ea1040c65017e6557ea92 +osu2017,ChordFormer,submission,ensemble,470075 seira - Love Letter no Kawari ni kono Uta wo,318.4513317,0.8787049296047894,0.8976048442024347,0.8530515987081511,0.7966350550701744,0.8530515987081511,b47774b794caf9f0edb7f6e93258e81c7361aa5d63e50b0f9abda9ab8b9b33f6,11b8e8126792f5e8fd948bc432a39c8e614b02adb78a4ce5f44a578ffd2f77ff +osu2017,ChordFormer,submission,ensemble,474348 Kelly Bailey - Triage at Dawn,45.0,0.8497540937333334,0.8497540937333334,0.8497540937333334,0.8497540937333334,0.8497540937333334,37b92c45b6a9241d1d5769c5e38d0937a79017c15d1d69bc796e3084557e157a,ca86e11290d98f60a08880488e302e14a17312d883664aebf91f33fe69f82e69 +osu2017,ChordFormer,submission,ensemble,475746 July - Prelude,97.6930769,0.9578072147607829,0.9578072147607829,0.45675154962797543,0.45675154962797543,0.45675154962797543,cd3bb71ed3eed4eb1055d1b86969fc7496bb4bba72c6efd81704bd69abd51bd6,69e9bb81ed70481ce3b7fea6ff7b6d77ae21ee3f41c319528028b98acc16af27 +osu2017,ChordFormer,submission,ensemble,476760 Varien - The Silent Ones,80.5,0.6608066928819877,0.6608066928819877,0.6608066928819877,0.6608066928819877,0.6608066928819877,cd61d59cb4f90b3cecf8c88aa359e498bbd0b8d6c2e229e2cc5f019337637393,7aee60ed1cbfef11e4a72e5df44b6074f01e728901b88d068cc9ae29853a4d4d +osu2017,ChordFormer,submission,ensemble,489383 Kola Kid - press start,39.000038999999994,0.9243954822199026,0.9243954822199026,0.9243954822199026,0.9243954822199026,0.9243954822199026,0ec96fd7bde6dbfca7434e5f693907841e2bb31ccbeda0912d227b608dcdd019,9ff43c071d92d810ec93c09173b0cc11e23ba95bfccaacd7fe98b7a0281a445c +osu2017,ChordFormer,submission,ensemble,497156 Corpo-Mente - Dorma,321.8181818,0.8663078439125034,0.859562843990936,0.40812734545441426,0.40812734545441426,0.40812734545441426,ae5cb1fcdf56152f3724a4ff6dea1de7eb1eff1e0334bc08fa9070840450556a,8ba227cfa54d80391a76a1fa085216bb05b79540586531bd1937d894b0f1e024 +osu2017,ChordFormer,submission,ensemble,506863 LhoU - Renaissance,112.6153846,0.8454588238292982,0.8830833803930747,0.8830833803930747,0.8146776940457214,0.8830833803930747,70ee21aa1248bfe82036d76f58a334292738dd0553032732f1582a5080676796,66bb151a8a8b9d280a843ee847fad47f211a21a0b204d1fcc0b26d0789ebbc92 +osu2017,ChordFormer,submission,ensemble,51088 Dia Frampton - I Will (feat Blake Shelton),208.3435583,0.925668262204198,0.9525967932205879,0.7685940784417584,0.7468670375492958,0.7685940784417584,86ca42700c11c07da9203d9ca821fa353b99046ef26f685be0b2a163f87643c7,ef971a093c90079f2234f122b2101e78126d7fe3cc2021690f84e0a9cded0bcb +osu2017,ChordFormer,submission,ensemble,527431 Brad Breeck - Gravity Falls Theme Song,39.8069964,0.9283199690494611,0.9283199690494611,0.9283199690494611,0.9283199690494611,0.9283199690494611,163429198462b6bec53cb1099d9fc1f5975fa363eec6df1c5361f155c4c27967,5757be973a6faa65a93d866532cdb72e006af639d77193bdd155364cd246b1f3 +osu2017,ChordFormer,submission,ensemble,527811 TO-MAS feat Chima - FLIP FLAP FLIP FLAP,88.2051282,0.9077880835958021,0.9402539238125782,0.7948580259863642,0.7662241684491995,0.7948580259863642,3f543fa56c0926a3ddf4f409d286386abe01082744ac01b139fc410b9d368674,ea260b97cbf8a015b322fe550611ae1ce7c3cfd8cdeb10a38b7d487388de4362 +osu2017,ChordFormer,submission,ensemble,528354 Naruse Jun(CVMinase Inori) - Watashi no Koe,163.2692308,0.9927374879994845,0.9927374879994845,0.9505600568432399,0.9505600568432399,0.9505600568432399,b6b8b6f94ba7f9bd03131667d1879fd627f1b0d510809632faa3276d512ddc34,877ef2fd85b625f21e5b6eab924e5d313f341f0d2534ba088996a94e9286d905 +osu2017,ChordFormer,submission,ensemble,5285 IOSYS - Cirno's Perfect Math Class,128.5714286,0.8181954137515117,0.810168426863207,0.7996349053930812,0.7911054662264208,0.7996349053930812,ddb8bcd5be08857579b8fd83c3cb17aea08909a8f51edcf2bf73125c3b020450,013130287b510833d3a8be3271e76bbf2069f528cc974e5bd1e740c8be096d77 +osu2017,ChordFormer,submission,ensemble,533194 Triodust - Rabi Rabi Park,95.4285714,0.8528915986056563,0.8528915986056563,0.8528915986056563,0.8528915986056563,0.8528915986056563,1142517e94d30fd1ad04a5ff0e2c1fd72ab0a5f16bc837640b1b7aace69c9c9f,ce742fe214c6b2812a86705540800834c459e266547b885a80724e414f40bb4e +osu2017,ChordFormer,submission,ensemble,5349 DrFlowershirts - Canon (O2 version)+,110.3703704,0.9247467475020821,0.9247467475020821,0.9247467475020821,0.9247467475020821,0.9247467475020821,4b5e9c6436c18cbcb1863d0fa7bf0a833509e38fa692c0d125ba6d2effafc432,a61b8c862b61b534da8fb44e71d95d24d088f9febca5dfe34c587e9b81b07b0b +osu2017,ChordFormer,submission,ensemble,535272 Orange Heart(cv-Honda Mariko) Neptune(cv-Tanaka Rie) - Mousou Katharsis,276.5844878,0.951258239938791,0.9411278737988884,0.9252723753041717,0.9154811023823444,0.9252723753041717,da4ab50c98cc51fa47fcd077c1b98efd2739a2b40ca5d6aa77c9d336ee172ed0,a1a15f5dd7c259b97cf3e6a896f129d2b493034e6d9e32432c22ed7547217b61 +osu2017,ChordFormer,submission,ensemble,"536984 Hanser, Pao Pao - Urushi Yoru Yuki",94.2222222,0.7919144207999796,0.7680659192805659,0.6290193723800885,0.5941243742073408,0.6290193723800885,c817bf9c13b55cf6851caa8607ac7e6d8f21afb44ce4a7ec45fde886adb33b6b,fd7f17a0de9e36b9d1d72ecefba6b7f316d87f1af32b3949cf9cc649cdfa6406 +osu2017,ChordFormer,submission,ensemble,547494 Araragi Tsukihi(Iguchi Yuka) - Platinum Disco,88.20512819999999,0.9249968362043609,0.9318512881619788,0.7322630666754002,0.6726602587489924,0.7322630666754002,ab9619489b9ce8f502cb95f217a6bc0667ef14953a07b077a950defc197a2edd,f3b4ec43f994bb7b0ab6047fe98993d04aef508bdc5f080df166a09f1ff7c8cb +osu2017,ChordFormer,submission,ensemble,547772 cYsmix - bells!,77.5384615,0.8461430586677298,0.8303261622031014,0.8055273681484216,0.7321128975714847,0.8055273681484216,e436b94dfd9c3d5ee06dc744cc29342fb0ee1b01649f3d200ab6211e1ee34502,53c327999f5ba0d326a187e5fd9f34443950e81ff2ad93a1e867e9ff7211c959 +osu2017,ChordFormer,submission,ensemble,55359 Hatsuki Yura - Ganbare! Koi no Hana,164.07700000000003,0.9218984643734338,0.9152136340547954,0.9152136340547954,0.87142671123314,0.9152136340547954,7602199080502f78b8ee0c02b94d4a2886fd663df1be76f9ae76d7264e41aad8,ea4f7edb85b541c48c1fe1ef346ea6b0c6cb675e770beffd7c5e47d77ee90fe2 +osu2017,ChordFormer,submission,ensemble,557532 bradbreeck - Emotional Uplifting Orchestral,37.4025974,0.9538175067221402,0.9538175067221402,0.9538175067221402,0.9538175067221402,0.9538175067221402,6a386672cd68950eac42ff034fbc788c4e4efe9c9c21d60f20e43d51962c6351,4b689620e1b835d32d45febb86d2ded2549a1e82a310727da28f382abbd8cd18 +osu2017,ChordFormer,submission,ensemble,56036 Itou Masumi - Yume no Naka no Watashi no Yume (TV size),88.8607595,0.8445611459465414,0.8322660431345964,0.568968341880985,0.568968341880985,0.568968341880985,b34977d01f83bf0c31af0fe7e129e73b859eca019e9624f259ae63ea076381eb,ab3c972e433827a4b4737da57cd0e0c38c07113d0f0aaaecbcc8f87c637de6aa +osu2017,ChordFormer,submission,ensemble,56411 Yueporu feat Hatsune Miku - Kurikaeshi Hitotsubu,250.1694915,0.8945269858694982,0.862669823866193,0.862669823866193,0.862669823866193,0.862669823866193,28e91fc32029e461be789522b14d3786a7cb80e1dce0739b402fd82b03ac4868,03feb72ad9409d80751cf89fbf945f7c14e4762cb0f5f44f787291c16a2cbf93 +osu2017,ChordFormer,submission,ensemble,570699 Sangatsu no Phantasia - Fairy Tale -TV Size-,90.8695652,0.8745955579085347,0.8842444117013505,0.7714040422823834,0.6735944399236543,0.7714040422823834,11e2dd015c06b1f1f8312565e6adff17dff8fc5caf059255d82fc56492d78277,53a34a51bf0f1f02c7dd00e37f464e4a8990cd4edf69488cceb6a3c03b1b03a9 +osu2017,ChordFormer,submission,ensemble,591551 Koronba 4-gou - Lamprey Hole,221.53846149999998,0.9648901697911274,0.8425830362417682,0.8095170249207497,0.8095170249207497,0.8095170249207497,4d33bbc72f2be238584362d0f5821ceb87f9d6a66130e7f6314b3aac7eeb8190,73f585bc5a3e8f81236a19290a8c654c9290b8fad7584d24afcaf17175171b17 +osu2017,ChordFormer,submission,ensemble,592509 Vanic - Samurai (Spirix Remix),83.19999999999999,0.8907052372355766,0.7731302873798075,0.7008869156610577,0.7008869156610577,0.7008869156610577,daa6a5791bd62666a6af012e3230311b30e9ece9f7cbfa2685bd74cd1ca38c1b,d9c74234af131daeaa925083e7db4fbaa57e0dba184fd0b4435c5dea4d32f94e +osu2017,ChordFormer,submission,ensemble,596704 ClariS - Hitorigoto -TV MIX-,89.0909091,0.9321454360375364,0.9337474250789564,0.6847165891514845,0.6581663544838605,0.6847165891514845,2b32173ed78f6325ab87ef55bb6c502025b500ec33926a18badc91f2fcbdfb4e,36b42fd10b16dd2a11cf1ea5c3cc65a9fa4c06abc88e8cb46f497fabddbcce41 +osu2017,ChordFormer,submission,ensemble,597840 The Rembrandts - I'll Be There For You (TV Version),46.4210526,0.9131411295270802,0.9934234767692359,0.874904957625203,0.8034841444116674,0.874904957625203,77c8a994bbbcc8ef3411001163213c44dc07efe2bd2f34446f20a6d95f6d4aaf,eebd76e1cc95853e491853b702a70c4113d4c760068885698d639de0f26ca5a3 +osu2017,ChordFormer,submission,ensemble,598869 ilem - Hua Er Na Ji,233.1280727,0.9242713153738529,0.8474254554758311,0.841160734412373,0.8051447028884573,0.841160734412373,0cee8feddbb297ccd6916517beb0f1f39faef3e458f07211db2f4c6d1d113242,d75d64c0a276d4355eeee57a280707fbdccb291192204a1b6d957ed9c987bc33 +osu2017,ChordFormer,submission,ensemble,602367 Koronba - A Sardine Grows from the Soil,163.55555560000002,0.9573333521175724,0.9580064991136877,0.6716326528311196,0.6734322311396923,0.6716326528311196,1bae50ee8cfd7fe3f455331d168d0002ee40b878212c7ca196e9440be9189952,6e26b9dcac3422a8f9c36a2455bff93f08b9f2143720176c031dca6ad87d3e12 +osu2017,ChordFormer,submission,ensemble,"639700 Riko (CV- Tomita Miyu), Regu (CV- Mariya Ise) - Deep in Abyss",89.3333333,0.8562859195583152,0.8324680257137974,0.5409687168272127,0.4244788827777909,0.5409687168272127,3ed6eae39f69111764a4a64d429f42dd7867c3ad424541ea7c4079cd3cf3587c,f7ca3d11c489491f2bef4892afc8ec9061751b53067588e4c7c42dc536521e93 +osu2017,ChordFormer,submission,ensemble,697895 Meramipop - Secret Desire - Dyes Remix -,231.72413790000002,0.8747353578222112,0.8722577922259357,0.7206842977438628,0.6949455727244715,0.7206842977438628,11e567b4ed41636516c24c59827c46e60e31054796e44b5e7acdaf4fd2a158e2,ccc2f2b7720e6e9e7bb33f097bf06233fb0a319f18a428ac53bf7742b0401da6 +osu2017,ChordFormer,submission,ensemble,7104 Yuu - UN Owen was Her,241.1464777,0.8228824160926165,0.8303798366111351,0.8240958323044925,0.7963064826096786,0.8240958323044925,e8b991123533b38ce8e4eb0727d4f68dfe2472299f274f178ab37b1244af517e,14824073c85878683e61c894aaa53d9369fbd6e41f0110ac8705682726a7ed5b +osu2017,ChordFormer,submission,ensemble,72137 Kan R Gao - To the Moon - Main Theme,130.63729199999997,0.940805212320231,0.940805212320231,0.6517772919466212,0.6517772919466212,0.6517772919466212,d1ef8b4588cec4582699220cb023ffbb485eb2a9c2ebe62d31a5e458c5b1da98,1fc6222882123b98dc4c6f9f62864bec7e7613c72cb287a691c4ffda76d414b1 +osu2017,ChordFormer,submission,ensemble,7237 SMILEdk - Butterfly,88.8888889,0.958816327807648,0.958816327807648,0.958816327807648,0.958816327807648,0.958816327807648,72c875070ff632176ef01b5f3ccc5bebd1e9ed07434c5c0a66714581dcd6e25f,10a83516fbc1f225ec71dead31455f9ce7a9a6ef9d486e219444bb41b4aa344a +osu2017,ChordFormer,submission,ensemble,79271 Tsukasa - Visions,125.39325840000001,0.9468158912919671,0.9428424808407938,0.9318199247375342,0.7241565307469511,0.9318199247375342,0d89e2e4f742ba81a7c776122256e3eb0f0baf4aed9ff53c2704920fbb23c82c,98bb689e94f3a43c6db9545803e5205858ff0bdba79a27259ccce231512a578c +osu2017,ChordFormer,submission,ensemble,90935 IOSYS - Endless Tewi-ma Park,136.875,0.6665753259031966,0.6595140337619755,0.601785266931358,0.5564452810666667,0.601785266931358,fa3d2df156a2586a42911ff6e6c4b4549176674696b5bb577b023f4be586d9b3,1c10a9e0878b0eb8b689e692875ec5ffdff74794a3208464b6c07867fc9c7986 +osu2017,ChordFormer,submission,ensemble,92 Portal - Still Alive,176.0,0.8373322511079568,0.8373322511079568,0.7206225520795476,0.7206225520795476,0.7206225520795476,307e8cce20b898e705a87f720265cca375234aa4e41950e4274eb8dda3c6c81c,04619106a3a366f92cb8c8e817ba230b88395bb0abe011f032070e501a1918bf +osu2017,ChordFormer,submission,ensemble,92107 Ken Nakagawa - Try,74.8571429,0.9741621228773881,0.9742364962101235,0.9268034595473977,0.8702047746735468,0.9268034595473977,acd7ea751dbdce118212c47f7378b8804b244ff3aa6630e92cd6824d1870d369,0c7043f5ab1324f23bfab2a70d70376196f8ec8fdf3059cec70d21e78ba6cec7 +osu2017,ChordFormer,submission,ensemble,"92435 3L, mariapolo - WARNING!",219.5121951,0.8206131686803944,0.8140541439088973,0.8140541439088973,0.8113406301589117,0.8140541439088973,22b61cfd3cf61ac0847c57b72667418586f7ab98bc2a89abcba3ca4c19b2c830,d815e674d2ac6f3b4ea598f1f92285b04dd645cda3fab65c33cf988b5e94f967 +osu2017,ChordFormer,submission,ensemble,97351 koutaq - Tabetai Hito ga Iru,97.8461538,0.9030618832561614,0.9014068651368824,0.7987536491402206,0.6442777093094076,0.7987536491402206,055dd056580e11f66f4d8291961089b2a046d4fcf422326189f1147b1c891961,d7ad50b11831a91b41bd08312d330e0a356d39d4d3733f7c4fbaf3764faceca6 +osu2017,ChordFormer,submission,ensemble,97933 Yanni - With an Orchid,282.73972599999996,0.9611912958492435,0.9611912958492435,0.9505655211643826,0.7516099462478791,0.9505655211643826,455ff7a3aed9753b0f03cab735f1daf604faa286f5d7fbcf42f1de739603801d,2c6a9ded637b2346cac3636666a31ca62f9b053c2f2fda391dbf175cbae0dba4 +Chords1217,ChordFormer,submission,2,TR6R91L11C8A40D710,258.0,0.8588053226356626,0.8672198555694741,0.3927516242353036,0.2966157692984512,0.3927516242353036,c550a8490791da17ce8cbd02d74efdafb5d00c25388556d6b6cf819ba669a35a,96237ed807228d8de8829997b8f7d4d43439292932504c49016f26177996053c +Chords1217,ChordFormer,submission,1,TRACGVT149E3B9BE3F,174.73306100000002,0.8289390669920202,0.8289390669920202,0.05408340271678755,0.05408340271678755,0.05408340271678755,957fd87461522f70f444919aa5f683da239135a03f74c51f411148b506b23cc6,e258177d691e2aa64a9b2f8fc1c47a99413f183ca8439dfd36c963ca4d2f5f01 +Chords1217,ChordFormer,submission,3,TRACPPB149E33C10B9,253.25780000000003,0.7048492226261139,0.7793057271230909,0.6073368912419351,0.4741293510130785,0.6073368912419351,e39056de40333315473778360dc2b3b387606f56bb79848d84ab989f2dcc2ed4,f46e6bb64a6301ccab9b0f1b2e938b5699085a9c91ac5e3321eca5a00106e38a +Chords1217,ChordFormer,submission,3,TRADINA127F847B84E,277.0,0.7875644539386275,0.8588548564650438,0.7775496490885199,0.258536661841155,0.7775496490885199,eec8c48a33c07f8087b6770185f36948b79353fbb3e1dcc1e7605d8bb76265a2,ea68c9d34fa2b476b1b6419558ac40b932ff9ce2bf86f2afee70db3df43af088 +Chords1217,ChordFormer,submission,1,TRAEQJQ149E3BA694B,171.33714300000003,0.8746318835898872,0.870475943129942,0.5246944751746001,0.47855566454145904,0.5246944751746001,88918268fd27e650b23755c119214484cde04fc58411f6fc7fa68f568c463437,3d87d47b2c1d5a18f0b9dc3c3d68bf15ff4af19f044995f0c0585df541f18341 +Chords1217,ChordFormer,submission,3,TRAGPGW149E3A9DFC7,430.680817,0.6960670785970591,0.7155457538679144,0.7588209589841274,0.6897323065789704,0.7588209589841274,8d7cc30d94ef54514c8ff48b36ec1ff25ebb70ac98da90f89768654dcaddc970,c8320a3d2e85772cb32618a79da958ad829c82de8a1eb7351bb7ed13802b803f +Chords1217,ChordFormer,submission,2,TRAGTML149E3B2F15F,198.542154,0.7714795925554416,0.7643455043808971,0.7643455043808971,0.7643455043808971,0.7643455043808971,002ffd5b59e584609ef2c86c4fc47d0b9c235948c2aaa03074166710a8a8d7f2,9bedaf8187ba77d6b1fc6aede95ebdeb65135da5e12a7b7013c79703a7f4b67e +Chords1217,ChordFormer,submission,3,TRAHKKV149E3BDA124,325.746939,0.9614717944471605,0.957669406741531,0.2082235160404678,0.2082235160404678,0.2082235160404678,fc7c6b8627e652d6b67dd32e8bd068a0faffa611df6d10ed193b7562b6d41070,41a5e093f38a2ae373a67d7115ea71ae98cdd69911ee84ce9b36972b13c736df +Chords1217,ChordFormer,submission,3,TRAHMSN127F92CD4AD,145.00000000000003,0.9615834232482754,0.9615834232482754,0.9627433157451998,0.9471601532482754,0.9627433157451998,b38d0361d8f04cc9c942eedcd880f924a34e1b3d433a681125ba94327112a6b8,272a91d5da7b6468fa082f6b0a1fb90489f5415376d67663fd0e59ded657a09b +Chords1217,ChordFormer,submission,2,TRAHXQW149E3BCE2C1,152.581224,0.9829560477834436,0.9652367936568678,0.8628951057962435,0.8628951057962435,0.8628951057962435,49d0862c54909345d9f41d0da00676be72d26e1c433e793a5ab497c502708f49,03312c55d51c3b6a1789e933dd167a5aeae3766f48300b17abd27373905480f4 +Chords1217,ChordFormer,submission,0,TRAIIEF149E3861F6C,155.308254,0.9545107348705364,0.9545107348705364,0.875955824073587,0.875955824073587,0.875955824073587,d506e87bec96bbc54cd337ee2c7c091739acaaeaf21027088ea6101d9f5b05fe,e251c9c6da2ffa1c7796bd8078984e425f4a91678daf436ffc36cb5f0eb7fb06 +Chords1217,ChordFormer,submission,2,TRAITGI149E3C71235,182.909388,0.9504163224853173,0.9506575205645008,0.9078917010424259,0.9040882867149499,0.9078917010424259,3db543116882903ab3af3031eff5ad073e4cb4cf03a279767013c2640c0ec718,558ac36466267c4205bb7987782fa3a8f864eee16d23f5469c1fb7d3f16828e9 +Chords1217,ChordFormer,submission,4,TRAJQHL149E3EF231A,257.934308,0.8721862495818113,0.891145452641654,0.891145452641654,0.8433005995425773,0.891145452641654,5bfdd493a70d7ac4469d5aa538d0b5a4e43ff3def5c84cdb58b05093c5d69c05,ba70d3eb583564c3fab8b18c42586a7539aa2593a3c3f9e9602426ecb698a0c9 +Chords1217,ChordFormer,submission,4,TRAKIXJ149E332D53F,153.521633,0.9348315420863205,0.9348315420863205,0.859484197952916,0.844469674830779,0.859484197952916,52c42f00322d09243ca3c18172392a130b81949a88bd0170feb06cbb527f2e8b,c62b14d8bcd4c420ba54180991b5c69105858f4d93f07770f29a6de3a1a1889e +Chords1217,ChordFormer,submission,4,TRALJVL127F98F7094,249.00000000000003,0.9474106220843324,0.9400747009401338,0.8389459004196052,0.4471059202811216,0.8389459004196052,13953f1e240d64a2337ccfc1abc2ddf37ca7e91c91b3641220509a86ba6fdc7b,8b629379ceecbb662eb0df47b4ea406f7addba59eb8771c4b2c4a6ce21d38c83 +Chords1217,ChordFormer,submission,4,TRAMEPQ149E2C6E391,174.81780000000003,0.7726937191235674,0.7763944956287723,0.7763944956287723,0.7681777118405562,0.7763944956287723,3b845361a32861619fe34afab97b472bc3d1d7aa470fd879ace8e80343419265,bcbfa5a474a6f9d424e018a8032e750af8b08c8a0caf5c5823d1100e87556f88 +Chords1217,ChordFormer,submission,3,TRAOIOP149E3AD2F51,194.11591800000002,0.9663165113022817,0.9663165113022817,0.93300367032754,0.93300367032754,0.93300367032754,4b527df4a997a13d2acc6d54d16a54bcba3b66bb925fc794f19aa21b02e0441c,0bb9c31ba99d6fc823dc53d1634bb386adbdd43dc1af79779aad2c6368d0674d +Chords1217,ChordFormer,submission,1,TRAOVGN149E362699A,155.50693900000002,0.7902902944864725,0.7487104652494772,0.7248043706555912,0.4252113837633955,0.7248043706555912,7cde3353307404b8d3a3e51036ab41f54fa20189b2ff51196020927ee75326d0,88373e7a8e032af6b317ff5e07ebe80d9e568ad1aae7d03f77c8f0bce9715938 +Chords1217,ChordFormer,submission,0,TRAPEUF149E3BF4C4C,254.10700000000003,0.8535178375172692,0.8591942988935084,0.748621762097524,0.7154252345901554,0.748621762097524,9f60b603a13a7c9a25148ac578ab694f43e07ba4ee9928f73795ff83c72175b3,ac2efafc609b17e84259838a369351e20cb5b5dfa9a15f7b7da443c599e00570 +Chords1217,ChordFormer,submission,1,TRAPSWJ149E36CDE23,181.577143,0.8344872027973236,0.8344872027973236,0.8289883936768387,0.8289883936768387,0.8289883936768387,a8541df8f535abbc9e09c75e644363efb65a62cd4cb4f38f4a93dd9c740f0506,9f6bbb5fdce1ec970e10522e1f555a8e8f19df90e8eb4e16d5b1b53de0baa83d +Chords1217,ChordFormer,submission,2,TRAPYYI149E33239E1,161.38449,0.838764454843214,0.838764454843214,0.7954471588254866,0.7954471588254866,0.7954471588254866,b0f19a8a5bb1ad90f8753320190a1d7b32a794dafbbe70296e5387bf3dbafd94,2fca6ff2c361ca9b1acff2621c58dcdbc4d5eb308fbeefe3aabe1a8ff22bc818 +Chords1217,ChordFormer,submission,2,TRAQZSN149E30ECF47,175.38367300000002,0.8210881980958391,0.8210881980958391,0.5806540945918036,0.5806540945918036,0.5806540945918036,72ea0de22ffe377f003c4495b0346b9e825b4295722a2ed4d86e3519fba6d3f4,d59dc9d939bef54e5e9b0e61063c037de0c5acfe390717826706468dbdb7744c +Chords1217,ChordFormer,submission,4,TRARMNB149E3DECF43,280.012,0.9115102469037077,0.7698837781380949,0.4930897020976571,0.46700813567275967,0.4930897020976571,33b1f5f272bf845a6b83de4798ac3305d58f8d5e15ee7031863e95965eadb547,75b1fdc019239616ed4c5063f47aabbd4b6fc9bba75c12b3074e7d0c44418812 +Chords1217,ChordFormer,submission,1,TRATELE149E33C7DFD,147.696327,0.8464630435867245,0.8464630435867245,0.8464630435867245,0.8464630435867245,0.8464630435867245,5dda6dee67efd3ee75354e9da293dbe33de0361bfe700765dc4318f0ab42e56b,49642139b5735e92e306567d38853be269f2327765e0a7a5667cf66299a42ed3 +Chords1217,ChordFormer,submission,2,TRATLJQ149E33D7D2A,152.555102,0.9453073889852593,0.969036978178949,0.9457524230289286,0.9206853231168888,0.9457524230289286,61a941329b78d776edb9e55803cd08856a6c0ffa3bade54f62608e41407b7d53,9b0b0c74d703c3ae9146540134d396af6860b096785422297997324a29187f66 +Chords1217,ChordFormer,submission,0,TRATRSK149E2CC934D,313.991837,0.53082888484773,0.5257293802288383,0.5201841244847503,0.3201120968313586,0.5201841244847503,65ea8c5991c9071960203e6832618967a695d7112124927ea5860b53de0d798b,a46169f6381ad8a87ed306d943d1a7bbb875c8555aae7437d4782f7dcf834e41 +Chords1217,ChordFormer,submission,0,TRAUSXP149E3BBA300,207.986938,0.8414553742168168,0.8430565770163525,0.8430565770163525,0.8414553742168168,0.8430565770163525,946779fcace576caa901beb0a2ff60e45cc61d14669976c634a8f9f50444f1a8,9f748b16e3d022f9e80dab5a524aa32bce75f9591935eb4d01be0a89c7f96636 +Chords1217,ChordFormer,submission,0,TRAVBNX149E3F1BDEB,215.013878,0.9386148326853585,0.8204671542997433,0.8019613500180021,0.7335992663320088,0.8019613500180021,63e82ee0cd6f2a12fc82b5a31250c1b4c0e91135478bdee7da93fd4d3d9328c9,9a1efa0ba4cd1acc6ed96f4dcecb47c52ca187c56cccda3d86dfa5eebca1f122 +Chords1217,ChordFormer,submission,3,TRAVDXB127FA694101,210.00000000000003,0.9435482885047606,0.9430525747266669,0.8316641985665677,0.8244247597333312,0.8316641985665677,21a8b46e4fb97f795c4502eaf2a1079f4b66817145865649543f488a2cc96670,6f7df339e761916a044869eca15f4add7ee1b255b5f2d33cfc7ea4a6fb9916fa +Chords1217,ChordFormer,submission,2,TRAVJKH149E37C05B8,267.173,0.861049979309289,0.8819359939700389,0.7167375039840573,0.635307680626412,0.7167375039840573,c84f54b19206fe791b75156c8598236a12b6e05ec606c750ae5065a3ec5230d5,ff0f61f9680c636d7f68f00b25278d7bdaffdc7c3701d502d8806e44a10e2933 +Chords1217,ChordFormer,submission,1,TRAWUJT149E3DFAE74,303.88244900000007,0.9283706181070028,0.9069532651768613,0.4251764357445427,0.41933371798974783,0.4251764357445427,a9d2f277fbe5198686513fa5c68ad761cbe96298a4b5ca32701dad7c0cda0e27,8b692c7066f230507487e4367ae80dba86ef345992d18bdc5ff3678439074a54 +Chords1217,ChordFormer,submission,0,TRAWVNL127FA2C9CD6,316.0,0.7094627070189863,0.7429635364887295,0.5513081848828956,0.5063905249841771,0.5513081848828956,71af5e9724880118cb2a62f24baa9a4fed9e6a1e326a2e813184d60d88bffe2a,5eb592165db8cabaf153e511e66fd778b8e595ab1ae8a6c8e78844d4a24fc60d +Chords1217,ChordFormer,submission,1,TRAXCRW149E2CC259A,142.47183700000002,0.9230840997789611,0.91325811574957,0.9032262173049673,0.9032262173049673,0.9032262173049673,f27678babcac042dbbfd3a99f4af573e56d361ea28007942d495f66f1e80c95d,2806ad63b5171b1f1767a08625cddd295ba10c3642a43305020f12c1fe2c1fbc +Chords1217,ChordFormer,submission,2,TRAXWBI149E3D6BC67,159.007347,0.971182116018828,0.971182116018828,0.8653968729382046,0.8653968729382046,0.8653968729382046,2609834bb3e3e47a65aa963b36dd28c50f591f41e9bab94530c11af88d4555a4,31d7c6ae4177da321cbac26091349c8625bab259217cc1b125c43101a2885bdb +Chords1217,ChordFormer,submission,2,TRAYBJG149E34B0C9E,207.275261,0.8446587617757241,0.7080822574688942,0.7080822574688942,0.5552447726745351,0.7080822574688942,7bb96693f0248d568a7b4b3c82d5cbf03644513558019ac1e411c7983e87036b,8c1a40d831eb32e61e67d39113d750cea424f7fcd3f782e5f91b96a560541f65 +Chords1217,ChordFormer,submission,0,TRAYVUZ149E3840C6F,161.567347,0.9272095895713363,0.9272095895713363,0.7951904413953135,0.7951904413953135,0.7951904413953135,1a3b438c8ee6740aa1d3ef87753a91a1146a3c8d00151ee08ed37e0b99b20547,9b9ecc7f8a255ebcef5c1273e23e79032994220b594e8a9a93869338a3816690 +Chords1217,ChordFormer,submission,2,TRAYYLG149E379CC85,209.423673,0.7654631179637423,0.7176767651222535,0.5006805314156861,0.48994582498798767,0.5006805314156861,c473b2ddc0c5e08ee979720cd8db641af1eedffc476b9f4b609764c5d6ea31cc,4c6944ca4137d0a28964aa391cadec9032098c4bc3df6704875709ac3fd6e2dc +Chords1217,ChordFormer,submission,4,TRAZIEZ149E316AD26,156.00326500000003,0.5752792212163396,0.53197525928195,0.53197525928195,0.53197525928195,0.53197525928195,45c5c601a7ef90f8a3affb8459559141ff14f5cac04e1f3c6778c29ab9de5e2a,155ef93be60b0e260b6052d275c09a9c0732ff09337efa8e2f7fa6f99d32b32c +Chords1217,ChordFormer,submission,4,TRAZQMJ149E35018A5,322.403265,0.8934239371831436,0.8845566120935475,0.8845566120935475,0.7869155660535896,0.8845566120935475,e47e6ebe6f8e7d7a6ae70f351874ffa5369be85dacd8601bf9aa877388f533db,92846ba9d729462341ebcb2485c84ea384276b03cc92a1528ce2c73e1c407e44 +Chords1217,ChordFormer,submission,0,TRBACIS149E3490E0D,142.57632700000002,0.025283986695771803,0.030053202218074223,0.030053202218074223,0.025283986695771803,0.030053202218074223,a4275a3e679fc16cae3f04d8a049916744a97483b734187c2552d73e33dc1e14,eb316381d5444717b79486688221b9efbfb20ea3eb796041dfbd320a9e2403be +Chords1217,ChordFormer,submission,3,TRBAERZ149E316341A,181.681633,0.8780954116203945,0.8147080339871254,0.708070509433391,0.708070509433391,0.708070509433391,b42bb350aa4bce2bfb58a9448ef649ca753b26237aca87af810b95f381f68d3f,e98ca20e1a3846c52bf1e78bbb662fd22a6ff45432bd34c1ce87c353e4651f15 +Chords1217,ChordFormer,submission,1,TRBAFVO149E33A9195,261.24,0.9583473255588726,0.9445825448894059,0.893638926705072,0.8240837696753937,0.893638926705072,8e0a3044a889a06ae537418a867ebf1eb036252f15848dc09f0e435a9c0e096b,7fd8fa5ee3812403e5642b305941a591c71634c8f1b6cb350b5be12fb2ba6b17 +Chords1217,ChordFormer,submission,1,TRBASYY149E3B90EC1,203.46836800000003,0.8902461548322831,0.9041893261951226,0.7008116701663671,0.5977314145017375,0.7008116701663671,a4e66e7c36492adb70063f6bcfa81724b5303aa91e427379bf10f3b00e713515,1923eab0610168f3dfffdea81cdfe1a45cb37899019affa2fc45d4232f49ef7a +Chords1217,ChordFormer,submission,2,TRBBJEM149E3D337D2,164.310204,0.9675952142874837,0.9347571250545155,0.7883003631882914,0.6271960579271154,0.7883003631882914,c1da7fcd54711153fad9228ac89dcc0f9ba254fca4a39341f16d982e32d5da5c,fe0af1478f01058c16372c921d1f349a75ccca56bbcc9fc514154b87be73764a +Chords1217,ChordFormer,submission,2,TRBBMDO127FA027922,200.0,0.9290011564599993,0.9419386249204464,0.9342430467741643,0.7853574036249995,0.9342430467741643,8b742becee963a5d787d76c0dff70f0f02022190028a028d616e00a551909b3b,d670a90049fa25c38450cb609971f152c34a2188acbc0f55112595c7b05d6715 +Chords1217,ChordFormer,submission,2,TRBBPZJ149E3B386A2,288.578617,0.9194941551403999,0.9194941551403999,0.31398200922835506,0.31398200922835506,0.31398200922835506,25dc015e122ebb71623407e02f88cbbc5c83177034d94ea2e594b5c9c26e1db8,21677f6aed00092065c8aa4989a68d23a0c7a0c770a0cfc23de6b5d31c71e30c +Chords1217,ChordFormer,submission,3,TRBCMRY149E36BB481,357.38122500000003,0.7885008929582126,0.7913129999034687,0.5855441399695123,0.5469263140921851,0.5855441399695123,786b6e25db3df59aaabd2b90d15a69ba0ee81e4cdb67cb61f035652d428f0b84,ce9b6374dfd9efbd9a093b92a4d45930ad19bc0107a37bafbe0317a1884198bf +Chords1217,ChordFormer,submission,2,TRBEMQC149E3E06D32,240.248163,0.9103733105588802,0.904297200010153,0.904297200010153,0.846239486938343,0.904297200010153,108fdaa5c63eb4bccec9b26eb373bceb9240911465908259287a048ddb7b4270,841eef3efed77d8cb2ca3b3108a0d1d2cf75ec6f2f3056049fe652423796c9bd +Chords1217,ChordFormer,submission,3,TRBEOFY149E33E3CD0,219.09300000000002,0.9084836078423332,0.8705014479445854,0.8114114137884274,0.7234630986932499,0.8114114137884274,011eb9741ec035007799dc474e1aee010164c1120b05a961f979c41d99956c1a,b4fa4d44b1b997fb6f9c1fd419ab8d3e3a2531eacfa4e4c64d71064f63c44d8c +Chords1217,ChordFormer,submission,3,TRBFASH149E341F334,173.60657600000002,0.9367092387272229,0.927074202653587,0.927074202653587,0.7821208118233942,0.927074202653587,543da53129f438f629d7c21a2a5c97d114f617ce17de597f6112e78dbf0c68ee,f3ffbf7f59c6f53697c745db64603cb87ee749b615a9cf63db944bbb98de09ed +Chords1217,ChordFormer,submission,4,TRBFCXI149E3B93FC3,242.788231,0.9557070200367358,0.963240850932876,0.7960829851362403,0.743790289888477,0.7960829851362403,4b3b7a197564a837b70ea60ad2ac92587d8b846eb734ef458f9e7e3f49d8e5cb,4519babec06b46a6e9fb0d64dc1cc3bcaeede57685488f56472ac1489d05240f +Chords1217,ChordFormer,submission,3,TRBFMXE149E3E18222,201.973,0.8990605634713551,0.8963737831473271,0.7189139081470812,0.6653485811568873,0.7189139081470812,5058afe4726328ccb319d4cd947a7f955b50e16798c427a1e03ae424597a337c,a0e0cd1200f6c0a999de1abd028deee5a0d3cf2d82f1377e6e7012c1e1f71f88 +Chords1217,ChordFormer,submission,3,TRBFQWK149E3676BFE,178.67755099900003,0.9024354271113909,0.9024354271113909,0.9024354271113909,0.9024354271113909,0.9024354271113909,8b1c2e95ba27e4c8a22b1c4306bcb11e507c3b783afbee5b3945490d2f375d92,854589af151993dae643cc74f7876da5c73178ed143f20aabf9398afd210e103 +Chords1217,ChordFormer,submission,4,TRBGUXA149E38E0215,253.648979999,0.6608481336517131,0.6608481336517131,0.3767491497252311,0.35757037529722135,0.3767491497252311,0de09749128b5b63f488f0ea1cda4f70664cc11028cefee2ffb6027bbc31cda0,31e42f1a9491ac226775cd5262266457f21e1cbd5ca1b9714eaf8330405fff2b +Chords1217,ChordFormer,submission,1,TRBGZPI149E312C871,199.13142900000003,0.8407689222930216,0.8273735579078246,0.8273735579078246,0.8273735579078246,0.8273735579078246,0c70d61bee1f301fdb90820f47891f3a11794ff5bb30db284a2a2348e143adc3,60d86075f45a9dc37f27c0092ba96e50c0c5eec5fb2539c4d437e696a19e04e8 +Chords1217,ChordFormer,submission,0,TRBHKNU149E33A577B,352.121292,0.805994989706557,0.8608119862361374,0.6967328660467157,0.5790665435931642,0.6967328660467157,ba2ab56e5bad37d6a9a7d41b2bb1ac3ba6e4b8124cb443bd101be7121a0859cb,67f9ea841edb8042a2588fbad3404e279056c3f55295ba9e9def8cf85b2fc1d4 +Chords1217,ChordFormer,submission,1,TRBHOSF149E2E078F1,132.649795,0.9406723801947824,0.9406723801947824,0.9406723801947824,0.9406723801947824,0.9406723801947824,b85f40fe09505750ac04c60e43e240ddf1123cf9b3a9224c7726276572c1a91f,35ec17ed78cef36ec0e059fcf705f68ccee9342e3e6cd225491abd5d6ae39b6a +Chords1217,ChordFormer,submission,4,TRBICQG149E3EB192D,174.36734700000002,0.9024912176073903,0.8844315709867419,0.7409712482463832,0.7409712482463832,0.7409712482463832,f7d943425266c4c33362e2a2210eab3c815ccedbafdf8f59790dc39d2e009edd,3c1e0ecae6e1cd2bc2797afc79ce2bff9f5b3851de5cd061131eaae167fcaa31 +Chords1217,ChordFormer,submission,2,TRBIHIN149E3B2277A,164.04898000000003,0.9530995618686575,0.9530995618686575,0.850464464789724,0.850464464789724,0.850464464789724,79aff3a6ceedd410914483d2ff45f2fa0e7e3d1a61ceb8d93bf779f2f054402a,11a601de51e7472e64c5a23dde8bb62595c93020a1760a8030636e39b234772b +Chords1217,ChordFormer,submission,4,TRBJDXP149E36B030A,337.08,0.8629961074374088,0.882159494992382,0.8510347913814945,0.827034741758638,0.8510347913814945,4f5c1a66ff427fdc3afa86073d1c182a6fe688262095332d4bcfdb5eb5cfad35,f0209b7434bac07109e170b2e140998be92b6cc277df128a985866b57d85f01a +Chords1217,ChordFormer,submission,0,TRBJSDA149E3148051,165.433469,0.9827597495522494,0.9827597495522494,0.9620973831576332,0.9435296070712258,0.9620973831576332,00311a63013f729af19ad2f611733f8e6b9ebd72f1f75af397101a20ae0c655d,3bc11c6f5da9af605d97859f95b585ee36890996b1bdad8d4fcb84f9dc3c83c1 +Chords1217,ChordFormer,submission,0,TRBKNSX149E2E1F89F,215.09300000000002,0.8978860095958509,0.8980231500333427,0.8220277879505695,0.7940847144723462,0.8220277879505695,06ef069710ffb717b3b390cbcf3662e67858516339753b9ae4121152c168ed80,9639b0b29833a120afaf74cf058c137644f1112db7cee8f6f96ccf22bc0b5a3a +Chords1217,ChordFormer,submission,2,TRBMKWW149E34E6470,150.648163,0.9038169828728684,0.9236062400420781,0.8873323600926772,0.7564689720312094,0.8873323600926772,9f439e49ba51276a61e24a5cea3afd3ee7ca343fc972c15df64d1ff240c34122,88b15f7dc6d2d3d51ffa2db188ece94163b0e1c0c6568f63a2e757cfeae3c6f4 +Chords1217,ChordFormer,submission,2,TRBMQST149E36FE5B5,197.25061200000002,0.8202291646273822,0.7771369266689908,0.7771369266689908,0.7537130719523437,0.7771369266689908,90f0b93aa02560944b67d06075e797f393676f2e4f91676fa7c1128be413816c,5844d7b06ed88cc69798c807c4500a135ff8b30186fd20525a48e3a9255e5631 +Chords1217,ChordFormer,submission,2,TRBPAAD149E32F497E,179.617959,0.9351035773154491,0.9462670828299871,0.9382502606468428,0.9229068895054068,0.9382502606468428,68a2fe0a0e383fd25c58e5b7ed598d43078721235ebbf006a8ccac58ef0be18a,1b5cd1146a9fad205ca57903633199d7c5579d113266ca41a0e788b345eb222b +Chords1217,ChordFormer,submission,1,TRBPGDO149E2EA6EC5,232.462222,0.9443396132254163,0.962852113418022,0.962852113418022,0.9443396132254163,0.962852113418022,1c69c6f144ddfa5f54b4a605cf8f465147f272ecf40769117b5d137438fa7da4,a0465d715b322e6fefeafabef80a596f4dfc6045e09a874396454be6c8cd68d4 +Chords1217,ChordFormer,submission,2,TRBPNSS149E33E0214,317.570612,0.8094463698360099,0.6674068444649465,0.6520581668699372,0.5343870273266972,0.6520581668699372,b60159ecf20b36298dade7e42e1921fe006211b464c505e8858121e5c596a32a,0156f0d46dd3e04a73d008c1e691c45a3fe9ad1c49c063241d64d89d532028d6 +Chords1217,ChordFormer,submission,2,TRBPRKY149E3DD8368,265.27347000000003,0.9656624653343591,0.9656624653343591,0.8972548801205043,0.8972548801205043,0.8972548801205043,aac84ff1bbbc367f9517db462262a7ee3da168fb76155c397d6fd21e316e393d,85c9d1281431947fb3265b0021f06a03dcb3db39f4cb2e67ce3b6a34c00ed6c2 +Chords1217,ChordFormer,submission,1,TRBPUSM149E3B6F3E2,183.013878,0.8108885612270362,0.8291191235488955,0.7128646307978508,0.6820658484270814,0.7128646307978508,2ebf0d8077908b2d2274fd80d043c4c9bcb96236a5499ae0cfeb5c0164e7deff,6f97a9191b1324ea53b221aa20c1cc346e32f03d6683d717e8a63b3cd9a5cd9b +Chords1217,ChordFormer,submission,4,TRBQREF149E3D2C6F4,264.25469400000003,0.8335747987961952,0.8305273387953522,0.910934480772424,0.8142753284337123,0.910934480772424,0217423ee050c0b6e8472e123606af2fe05fc66ca120c4639be866f54cddad5e,ec3ab4fb85df9558dec31398264f04cb11406c4da91b499c9f98272af1ec1344 +Chords1217,ChordFormer,submission,3,TRBQRLW127FAA18F96,337.0,0.8064151005726987,0.8136129356728454,0.6792846218123005,0.6426691832047463,0.6792846218123005,e941f9984d8f82a99e909f820d266f9603b07194123ab7d26cb7ed3e04971333,c16306168d55c93af9d781758b47cd2afdcab222637437d13d1de9b522c0dce2 +Chords1217,ChordFormer,submission,2,TRBQRUB149E39C4BC6,72.75102,0.9042403677501727,0.9028939788034227,0.9028939788034227,0.8671854868564064,0.9028939788034227,6edaaff6f8f45f77f026084abe595001c6fbc47d4b44367c6df3eefd12f3c02f,d537b1d39717479585674c2e32386c6754d933d43cb7f0a19c7f9f98740b981f +Chords1217,ChordFormer,submission,2,TRBSXXV149E3F15977,166.112653,0.7526401440232255,0.7530221843778129,0.6711953264526552,0.6425205631987594,0.6711953264526552,f66785bc08a88adbf6e4ee79bfdf0ea529fc16e01904e5e17cb59373b28b31d6,023b3352177ca9019de0d7fc48ffe8d1cd11a46bda60a849822f7e21e68a1fa0 +Chords1217,ChordFormer,submission,4,TRBTTXD149E3CB5743,162.115918,0.04688115311415625,0.05923215135249533,0.05923215135249533,0.04688115311415625,0.05923215135249533,54e750ae8c3ff4b9c5ff05f59f714c578c1e2c0d11cb2063920448714b7ec3fa,559707ee2c55f8dd9bbfd005d8929723134a04b8acf2eea963ae4289622db9c9 +Chords1217,ChordFormer,submission,0,TRBUYGN127F8D2ED81,216.0,0.9567184219398115,0.9579732782517187,0.9579732782517187,0.8811890589629596,0.9579732782517187,aa14a9bcc53cdd83b8c1d56d8ab780d99f3ec67a8ee1c5d8feea7f9e00979873,236638b01bebd9df9b7f00e443fc4b6d40bb78280c366fd151a6d2b6f39a1bfb +Chords1217,ChordFormer,submission,3,TRBVFKE127FA1F055E,462.0,0.8539300438744568,0.7269306398540438,0.37358904254586034,0.20188363714718505,0.37358904254586034,262da68635bb040cfda118fea0f496d273332dc7e8091637e965bbc9d830b8ae,920d76a92eafc872f418752c3c3c350564deb731f11965c542568616db178ae4 +Chords1217,ChordFormer,submission,4,TRBVKYF149E3D6E9C0,147.670204,0.7766130038054269,0.7263662074788853,0.7094856801643237,0.6862808989076778,0.7094856801643237,02fc2c70d8f5e97c0ee71d5972057a7884ddb3703e4c31f2e8e45ffa959cde96,329bd1cecd04e0e3fc57be052bd9a8807dbde2c5e10e9d470e44450d9efe7e0c +Chords1217,ChordFormer,submission,0,TRBVQDL149E2E3410C,124.734694,0.9742225827563258,0.9728461108949678,0.8405159609772692,0.7979089309186103,0.8405159609772692,f56290d6d2a7b684ff1d2cee51b86c6b2cb3e56ab3cd2dc9ba56e11b31fbee9c,3fdceca78f2a7e8399d9f96b05802729fc5d6de1f27eb5a34f1a21fc965a753a +Chords1217,ChordFormer,submission,0,TRBVYMI149E3A20617,137.978776,0.7760568956054517,0.9113854074577097,0.7851689901272157,0.6546213041852175,0.7851689901272157,4757cd2ff8c4c7c58599f797bd2a14d4593c88e3efcf2f7d13b24eeb1375d5bb,443aff4714107a4112e7ea451c63ae2a32502a08bac131558ef769d0717ce704 +Chords1217,ChordFormer,submission,1,TRBWSLO149E36857F0,240.796734999,0.9476669045115904,0.981044613748139,0.8675102043832706,0.833256751595213,0.8675102043832706,452cb1912b0a54986b14b418303f1785c2f504c2968b0e1a0397b380fdb6e624,efe148da2a597b4be7fa4b2ad1d47d9780915fdfc8ea8c26b41a6a85d5300795 +Chords1217,ChordFormer,submission,1,TRBXEFS149E3424060,213.30700000000002,0.9017105714580363,0.9042485741114328,0.7867840344772292,0.7824795486036529,0.7867840344772292,2c762f9c206feae37e4e262c9f366165b827c9ea8999a39ee4f7feae32d27abe,feb0ace50565b9c42b16e38a069f7fade9450fa8a840b3f98fdbc44c3d904cb3 +Chords1217,ChordFormer,submission,3,TRBXKOF149E3A7ACF1,208.45714300000003,0.8867533174672748,0.8921508241064771,0.8110739521763923,0.7499102629599029,0.8110739521763923,2747718183c507ec181b4009accbd953388b24ca9cdf190d3ffeda90a56e942b,25e316b66300f682ccfb7a504866b67a9e5882c5fb735a412683858920387925 +Chords1217,ChordFormer,submission,2,TRBYNSM149E3E5B350,211.17387800000003,0.9650089521678442,0.9683930804884308,0.9683930804884308,0.9221737615956468,0.9683930804884308,8378539301853a1cf38361e87c08e1b591fa1ad24fef549e41c68f866612f31e,85cf9f37a02c581bb57803fe75cf55714659eac27eb3ecba9a1d83683d06bb3f +Chords1217,ChordFormer,submission,4,TRBZANS149E32AE52A,149.524898,0.9431378530885222,0.9431378530885222,0.8007088089436466,0.8007088089436466,0.8007088089436466,fde69d11c04cf3ad6123ff3e6d70a4d791808a17a9e8c18789c7fdb99c306459,cd49658c02f21d1f51198767ec1eefcd452b265a5a0a1e3773a3676c1eca622b +Chords1217,ChordFormer,submission,1,TRBZEQE149E2E57033,153.155918,0.9486020814422602,0.9486020814422602,0.9126056227810939,0.9126056227810939,0.9126056227810939,d6322f492830f7fbf956b773736056dc190ee7c1db6537878c7a4b6219ce1188,c37818fc0dd04037ab648412691878213a32c7f54b3a497ba52559cc3e67bea3 +Chords1217,ChordFormer,submission,1,TRBZFAA149E3EEDCEB,225.96,0.8853514096831313,0.9097764591762241,0.3454456577291213,0.27425443829438956,0.3454456577291213,39e4769032d94aba71ad230ea688ccb36eb45f836320ad43349c2033805149ac,0a5b58bd8daae3c70721346eb35526293aa11f12dfa8b592474a8270a82627c0 +Chords1217,ChordFormer,submission,1,TRBZRSR149E361EFCF,230.42612300000002,0.9154802804671576,0.9141745922438224,0.7301663904179989,0.6235793256695983,0.7301663904179989,0e473503c1119ecf744bb8f06902f5221896b7a272f85ad4d100475c8def5a5d,d3e37bfcef78c351940f6817859a5253bbd9c616bcd586438b9208229bbdfce0 +Chords1217,ChordFormer,submission,3,TRCAHTV149E3A052FA,164.806529999,0.8527741580618968,0.8496309519248904,0.827677588461109,0.8103764122927068,0.827677588461109,f97f1f9d8d028f664da687dcfcc98a161d972e0e3564fac641317c0a31cc994a,0c0c792c7e3a5ff75890c8ff04e9e657e21a5f293b9779e9090e4ff50387d64e +Chords1217,ChordFormer,submission,1,TRCCHVK149E3F0FDC0,155.29795900000002,0.9301048604701871,0.9340695619400101,0.651228840535621,0.6477588818021741,0.651228840535621,3af8e75d994108ca19f519c83eef926815d2b15b8980cc13bd3240bc7b7be3e6,a8cfe08a9e06f7e8c054b484328a4bc58321b76d35eb7448dc46c31270378e70 +Chords1217,ChordFormer,submission,1,TRCCICY149E387B12B,263.366531,0.7622835274122206,0.4319628244623802,0.4319628244623802,0.31512707015152197,0.4319628244623802,30727579dd371201ab3e8dcaf9d13e52a8a5628d670f19fa670c7ed161849f7e,1efad0635837afc1ae3cddb03e9525dab1d5cbc94574cbf08c8ce5000529b27c +Chords1217,ChordFormer,submission,1,TRCCRPJ149E3746F38,173.34857100000002,0.9612631122237499,0.9612631122237499,0.7484137013708495,0.7331310150978965,0.7484137013708495,d511f46b26364c743fe25b8071149b222c090053cab787b6009e8d987aa94bff,97f6e81a708d49e9febd500d69fec29cfcc88d26603de0d1f88797bb346e2697 +Chords1217,ChordFormer,submission,0,TRCCVUN149E37DE699,261.276734,0.7041901656999423,0.6821286059668819,0.6184517487041148,0.6184517487041148,0.6184517487041148,e84fcf5907115cb530846146b7eb083008ee64793870a9db5a35bec555804a40,d08dec90e8a8a914163c23ef09f1b8d6f02e2ac03241005e5e6524054278abf7 +Chords1217,ChordFormer,submission,1,TRCDKUX149E3A6E05D,310.752653,0.77738105662126,0.5045214424609538,0.48140445644892155,0.22677172990056468,0.48140445644892155,2be58029ea041d005395e6ccc11cc295523e8f0e3c92812cc2675dd64007a54c,1e6193aa7d41ee4a6dac5bb00ac1e96fce98e2cdaae115dc81f2a5a5d16e0217 +Chords1217,ChordFormer,submission,4,TRCEYZQ149E395A373,134.94857100000002,0.9509437002634149,0.9509437002634149,0.36287369604677133,0.36287369604677133,0.36287369604677133,d46ee0f1f0fdc2c547f32e5779eebcf21369bc0b8a23151cda4c1f8a8066517c,491ea244b5c9726b85ce42204d174d224ce716eaf2577f1ca618a44267214c26 +Chords1217,ChordFormer,submission,2,TRCGAAQ149E30D73B6,298.68000000000006,0.9251181464577494,0.9329753494992333,0.6499254148672418,0.5853876557955012,0.6499254148672418,17662ab27cdb88a21268c70ab029d5cc07462bd073cc132454526a105feda02f,5e86b90eef5e486a52bdeb867f60934b760f52a1b664a2385e5d3b24c98c70d5 +Chords1217,ChordFormer,submission,2,TRCGBHA149E2F49566,258.873469,0.8209070221985555,0.7803083975967847,0.6333004045949984,0.594857505749267,0.6333004045949984,d8005d4ef557dfd24ae5edb04abfb58619eae6a324f5b653519269e12892d75b,5f3a004df854db0e895dcd4f36d337ccc51d1a1722badae91a17d1553ba4f71e +Chords1217,ChordFormer,submission,0,TRCHFGI127FAA1748A,241.00000000000003,0.852110414846472,0.8137989238962883,0.6627119442108074,0.6172570544273857,0.6627119442108074,2da036abce9d25ba00f0fa12ad654abc5e40b164081d472afa9107f21e5d685a,4ffd7d591fc9b02fccf0feeabc05436ff1e43114c4f8d167ae31c66da7edec78 +Chords1217,ChordFormer,submission,3,TRCHNSC149E3B625EF,181.55102100000002,0.9302758099223237,0.9089147408897177,0.8075198209445869,0.6006028885180426,0.8075198209445869,cadc22916f2dd837d747838e518e077f079b0ea550b5cb38418e35461ea0c628,0eee9ed626af435647c696d25dbff13d2876c7217763e5e20a9b0a125dc3ebcd +Chords1217,ChordFormer,submission,3,TRCIBQC149E37C4155,249.17300000000003,0.9376685012902688,0.9224737307361666,0.8127376547618033,0.7786310311911805,0.8127376547618033,4636ea64558cd450246c2e43c7b5af08fe99d570559fa94a15d3c75c5ad0e951,f54f8de8039663a5aa352e2aac12ca70aeb965f51437babf8567fd3baef224f7 +Chords1217,ChordFormer,submission,2,TRCIEFV149E3C9D3DE,161.436734999,0.6537691602140865,0.6877835748846444,0.6877835748846444,0.135892078052346,0.6877835748846444,aa969ab088752bb4d96144786e088cbb9beaad4dd28e5772142d7427dc74737f,65072db73daf6ce677cf1d734c1620faafdaf82611d073720103dc67e257ad5a +Chords1217,ChordFormer,submission,2,TRCILOU127F92CD49F,247.0,0.942361315376513,0.948896020358822,0.7408765861784967,0.7357744360850165,0.7408765861784967,8285168073a9d6e070d461daa02de2301c651f002ad52e367a15f77cee109115,4c77f3e63a7ff4efd2d794eaa437d4a6187aa1bc4f78c034287182b1a3b4c8a2 +Chords1217,ChordFormer,submission,1,TRCJQNI149E3853B13,148.74122400000002,0.8896526161906543,0.9236228226616598,0.6068951179413888,0.5397561333097551,0.6068951179413888,3c14e248bfc7e01d2e87e5e066fc82a6a400bffb95750af92d12e5853d9792a1,d16285229cca5f4da4b1399e147adc3fa4704a6caf99aa0f06c1c4ce5b093431 +Chords1217,ChordFormer,submission,2,TRCKDDY149E37AF7A7,161.018776,0.9500266820932721,0.9500266820932721,0.9021921094344911,0.9021921094344911,0.9021921094344911,06f5e542cd558d93a005ef840918e92c4891bb72a33917e20cd1f27d58e0b883,3ab0b4c5dec7d858fcd115792a1c9066c9f1218bb692330a101e556f5e24b677 +Chords1217,ChordFormer,submission,1,TRCLDYH149E3F1394D,127.58204100000002,0.9578871713535309,0.9578871713535309,0.8176193674076757,0.8176193674076757,0.8176193674076757,557d05012a2487dac24f949af356b184a54e7d6aad1e9a0c83f63a2de7f91588,1e43c205fccc5778cfd6a910febf90462225efcff20f2a9f8959df04b0489b22 +Chords1217,ChordFormer,submission,2,TRCLSZC149E3883042,226.25300000000001,0.7468336897853288,0.8596945426067393,0.8117635467903075,0.7049530258781099,0.8117635467903075,c6fd40a6d5e56e1cea46a4bff368fd25363f3761f7be87322b22312a27520c4f,47c755462277fd7c303ec1fbe08475afac01f65016e33cba1a01b8dd80a61083 +Chords1217,ChordFormer,submission,0,TRCMANT149E2CA17A4,142.759184,0.9096061503545737,0.9096061503545737,0.9096061503545737,0.9096061503545737,0.9096061503545737,f8efe143f67b362b10591cfb95796301e8a3969100285ca945cf71370e1d2c62,6fba39bf5cb0484e7aa8b8432b91a7dd3068dd2401270d1a027c3417126e6974 +Chords1217,ChordFormer,submission,1,TRCMNRR149E3BDE1E7,243.09551000000002,0.6904565260995571,0.6112274714740726,0.5870614604564277,0.5870614604564277,0.5870614604564277,c5f65c3ac837c6846b80479f70d857e19064d8faf04b2b6e8ce435f864d9dc89,fb20c087681a95ed9822aa53d98d708c9ce027af2f51e337d2cd5a9875cab6a5 +Chords1217,ChordFormer,submission,0,TRCPMTN149E3BD5787,176.09995500000002,0.865303678720418,0.8793460840755079,0.8516380217076447,0.839045270477213,0.8516380217076447,2a48f9efb5fb32a49d0cc5aac28ef634d9576f26c0760cc8bf8938499f6594e6,c6bdf4d29681b27f5a5894ae853bc0f607aecd02c0566b0d26b5b2f748f19157 +Chords1217,ChordFormer,submission,2,TRCPZLY149E380216C,299.18040800000006,0.8360366301392304,0.8223173069475459,0.7196218287549155,0.6746215737094656,0.7196218287549155,7a0eb78ab1485c8a96a95ba6bae971a6db8b34f8d156286303c0b77ec3b81e40,a2e98696cb4a843014c78dcfa2c400f2c76f0936b258b6b867681fb8f6cb0160 +Chords1217,ChordFormer,submission,2,TRCRNBV149E2E04318,233.71755100000001,0.747568368881289,0.747568368881289,0.6948076846911659,0.6948076846911659,0.6948076846911659,c94ad88ce51727e034b3b6621d966fd6d1cd780967cc684aea9c682c78325ed1,b2f7c597052723071ff3379de5493cbfa82e7e6869d950edfdef5fe4284cac2e +Chords1217,ChordFormer,submission,1,TRCRRFF149E3C622CD,126.380408,0.849953671711521,0.849953671711521,0.849953671711521,0.849953671711521,0.849953671711521,0a16b749e3916367eb1f23adebe062d183f79740851d372dee1480616fdd95bc,87929afcd5b5228b9afe513c8a7f27e97e412bb77b5a30ef798b35d1a1a9b7ce +Chords1217,ChordFormer,submission,2,TRCSWZS149E3DE5F60,228.6,0.9280544396281682,0.9155579560542401,0.8783444232283435,0.8783444232283435,0.8783444232283435,6d6d3e9947558f80b8acb156874e9dcf3d571dba21f474b3ecab1fa42c7f8709,3f4675d825c5969271b2bffffab7801c58583d014e5985148085821bdf3494ff +Chords1217,ChordFormer,submission,0,TRCTCRH149E32EDF5C,339.356735,0.9033505449037285,0.9033505449037285,0.9036152787444403,0.8823895521036298,0.9036152787444403,154234a2c8d452f46b81308251e541dcaaee73945b30a3641c3bc1f39ee9b1ed,e4280ff67e077543c3f0b3711c842c2ce3b98975d9e0cd22571ecb319bd16d52 +Chords1217,ChordFormer,submission,3,TRCTSND149E35B76FC,245.420408,0.9613323466604312,0.9613323466604312,0.9613323466604312,0.9613323466604312,0.9613323466604312,05f757d9daae0ef3396da75ad7ef6d555022512345b67835226cc09e2ec0a6c9,1fa813b4e5b8f9d0fe320bedd210e6e2f28b34ea26e658ad63ecb22d2367386d +Chords1217,ChordFormer,submission,4,TRCTZLW127F95B6DB0,379.019,0.7052542535018009,0.7158964822059483,0.7295669396176088,0.5588568337735024,0.7295669396176088,0316ab5795b271144e6b4bd9a96763397751ab5616a90a82bbc554622606511a,546a96568c891e3f0fe9783eceb1bd1e3098c9314e70e48da53289b78b83327b +Chords1217,ChordFormer,submission,0,TRCUIYQ127F8A92700,244.00000000000003,0.8382875357827873,0.8542629532236041,0.8542629532236041,0.8382875357827873,0.8542629532236041,828e3f544e652e298c7b07986456b6fad8a604c68312e7d63476b0c4481f1c4f,907d89c251e6513d7d0abca607cecc011b8c57f8cf0a1d3b6c61dd412f4d7ada +Chords1217,ChordFormer,submission,3,TRCUOQM149E366DB69,204.199184,0.974988201706037,0.974988201706037,0.974988201706037,0.974988201706037,0.974988201706037,33534ea3d862d568eb56afb3e0529f8307bff32180fca5cf82a0faa165b62132,519fefd5d0efa126fc52303fbede72c7dbdfc3944b123447dbb85b951365abbb +Chords1217,ChordFormer,submission,0,TRCVHBO149E3A23FE3,251.506938999,0.7815619744621878,0.7815619744621878,0.7815619744621878,0.7815619744621878,0.7815619744621878,c26dedf5ca54ca8d3e1ba2211f28d75142f02352f77b5917da6b5abc420ed994,c802c380f97466ac674ded8d8df4a73ccab6fef144913c2fe6c6d1e25c16d903 +Chords1217,ChordFormer,submission,3,TRCVJQK127FAD0736D,318.00000000000006,0.7555012621446493,0.7380162045063917,0.7122075236343821,0.32152810222641226,0.7122075236343821,f75ac04e16d4b44c5f91a6f2cd7fbff7525e15a1dc038dfa1f855f20b266904b,686caf0543cba5897f13bf32047f5f364817a2a7fc31c4368ac4f52665ec140b +Chords1217,ChordFormer,submission,1,TRCVVKA149E32532A4,223.97387700000002,0.904107617746867,0.946189763614163,0.7634340012816923,0.6629873604188212,0.7634340012816923,67a2d923494849b82eef7c06c7c2655e1ac2f020ca434c7cb2683b474d12f052,ccaec7522b6a0895ebdc8f0e8bd221dc8ce54ebb0e7b3885e7d0105fec2281fc +Chords1217,ChordFormer,submission,2,TRCWFQK149E32833C3,199.23591900000002,0.9262738230248533,0.9265255150015104,0.9179533978112726,0.8689286027385452,0.9179533978112726,c332834d7b884a1427b34babf4502da3b617efae7c46fea0eb2dfc27183452b9,9a9c3eeb914c60c17bc21662a36c4c69b9f5055118560426af2ce6e1cadad5ab +Chords1217,ChordFormer,submission,3,TRCWTCA149E38A650A,181.51439900000003,0.8831843350565278,0.8876807286741091,0.8807617724090213,0.8036933264010659,0.8807617724090213,e29820390a0f2e9bb4ab813fec53b7260f3f512b7cfcecd7f9a55d5739251f18,93551dbff7afee33dd558b70009a0e2fa32ad2aca69282132b03588b7d326449 +Chords1217,ChordFormer,submission,4,TRCWTQP149E3DA1960,222.77483000000004,0.9547303187079093,0.970104502173107,0.970104502173107,0.9547303187079093,0.970104502173107,44ee303bbcdfb494efaef1e581734d836a13f5e0ee2e7a4336fb1bb14f89703b,1aef2aa1fe3352fe490d40c712419bc057f2201c99450699be1f8ea255069dde +Chords1217,ChordFormer,submission,3,TRCXPMV149E3673935,216.68571400000002,0.9119135357303736,0.8859837652662019,0.844636498577892,0.7944793782621058,0.844636498577892,ae3abcddd7718a9edabe81865e5161e9e36e16fcbd0abe9c0467c5bf51a97bf5,feb75ee578007cc24d28c1f45049f6cda7dbf50a6713a1491af6e1c97ccd4c68 +Chords1217,ChordFormer,submission,0,TRCXRKX127F8BD79E4,230.0,0.8816820072695617,0.8534424509159546,0.8534424509159546,0.6876705313739102,0.8534424509159546,9a88e3364aca4220f97b92aaaa226fa8c128c5ffa0d830babf3f2c2d618a7b19,73eb351e7d290f3b9f1fa170e34cd049de0fa8e19cb275cd5a5dd34fa902d7a0 +Chords1217,ChordFormer,submission,2,TRCXUOR149E39959E4,195.03020400000003,0.8819062182696582,0.8755439925089754,0.8303815231543521,0.7505931740808716,0.8303815231543521,27070534f33281b85a6b4e085acf4c51b7e45f6dd86f3606de8da35ec56c4342,2ff5b58f8e3752fd92643305477418a5eead3ca0b2466a636be87cef42c9c9e6 +Chords1217,ChordFormer,submission,4,TRCYFSX149E38E8293,280.476735,0.9097237558473441,0.7746037689604154,0.7817417333445628,0.6764527371120466,0.7817417333445628,308f9423ba1134d575cb01692b7e5e22f582c0911f6cd1308efcc2984934c9b6,45c3f47c21f0ad984495269725fe42ffbcb2bbe127844fde2eac82d068a57081 +Chords1217,ChordFormer,submission,3,TRCZCXZ149E3E2FC6E,249.56000000000003,0.8402714219225871,0.8294604026358857,0.7925159692522865,0.6766967277288047,0.7925159692522865,bc63d9ec2d819cf7f69a8b3ae5cca534c6812fb0a654159faeebfd43e77dd50a,b97f7a6f94d81b6fc3a16e5ef571e13bd2bef62aa67eb2ddbe79a3f1a102a8d4 +Chords1217,ChordFormer,submission,1,TRCZSAO149E37C88D8,362.44730200000004,0.7941415628471173,0.7484262415740233,0.3820911922736868,0.2829846826339464,0.3820911922736868,ccb49282121de1d64fa2496b1e5ec6324c1dd579c05ff270338f10d6c2e70b28,64b87ccb0a6111d0e7f9f856932b428aeae302cf73a445f5b153e2ef8ddfbf16 +Chords1217,ChordFormer,submission,3,TRDAHUY149E2D9B633,242.83428500000002,0.9655928321694764,0.965388145639135,0.9050620881506994,0.8997097595341608,0.9050620881506994,bc1d5fd80afbe670fca8853ab57ae32d58f83f51319f069db0d501b8aa52bd75,e54507877c328de32b5bbe24a45274e5ab1431c721391ed4f464f94117f46126 +Chords1217,ChordFormer,submission,2,TRDAJDG149E3784BF8,112.279819,0.8633225029424043,0.8633225029424043,0.510480249509487,0.510480249509487,0.510480249509487,6ccff5a22cfc6fda3a2009c1d5f0b81fb2fa3cefeb59fc571645bd6956c4006f,2c69685b6ba575f268263ad20c87fa3da3fecf9ba13e70a29d3278e8492d9fff +Chords1217,ChordFormer,submission,2,TRDAVFB149E389EC25,188.94367400000002,0.8996897899423706,0.9178140771413015,0.8782795614057888,0.8204211313579084,0.8782795614057888,ffa84d32e81da06accb53f453fc2d86725ae318d62c74d8c70972de3f4296df2,39c3b474ad88ae313ec50b6ff94a1eec4ac67d015aa336951d3fc1f3dca85aa6 +Chords1217,ChordFormer,submission,3,TRDAXCP149E3461F20,243.51020400000002,0.9484437057265979,0.950059231487461,0.8944297540671218,0.860878572074129,0.8944297540671218,220f8b7e954efc58182d41c55ef72fef095aafc6f6027302f4096e8aa5b368be,e423b78ba37e4a5b2aad0c4b35e540a9b6494e48b0a22794b4c64585a5ff0aca +Chords1217,ChordFormer,submission,0,TRDBIXK149E370B9CA,191.89551100000003,0.937122239962143,0.9183566588718857,0.6951218657833941,0.5056937884857561,0.6951218657833941,a40681aac8fd201e513d22ea4af8cb8b23b20f9189eacac81f493f274aa7c7d7,15c4eb331d36696bfa8d28128b97ffdd1ff1f790cf4487048a1c0056eb7e2095 +Chords1217,ChordFormer,submission,4,TRDBXBU149E38C0AA8,143.04653000000002,0.7505320105632778,0.7482744921362976,0.7643593372555912,0.5148081862244417,0.7643593372555912,f973ec0db508f5f4161a204f44e9aad48b8c9cb22df77cac9a2fc7926a250ad9,03662a3f288e14b7d1273daba62ee5d154d84dfef33a835151c1d2ca372a0da0 +Chords1217,ChordFormer,submission,0,TRDDAZK149E3704DE7,187.42857200000003,0.9008424002558161,0.8770129600996093,0.7266484389053676,0.573574378990627,0.7266484389053676,19c1becccf0eea8b1676b37e52fe495d8a89daec871bbcc6af52f9320621d6e8,111f3d05aff4a0452e488ec692176d1ab03f1f563d0b0b64b7ae697948a1232e +Chords1217,ChordFormer,submission,2,TRDDUNL149E32A03E0,215.35347000000002,0.8506440784492583,0.6074714734180573,0.6074714734180573,0.4304587603162374,0.6074714734180573,31b856c58b1fc77871efe836c76fd146734f671e605b486b9b6570444cc58940,dac03e2eec06d23014b7c851c073342e16490abb8c57b4a170a5d2c6ca6c6dc9 +Chords1217,ChordFormer,submission,3,TRDDWYV149E3F228DB,232.82700000000003,0.7434077818852641,0.7317393126183837,0.7317393126183837,0.7317393126183837,0.7317393126183837,18a1752d24a7ed1369614f6c8ecbac195d0aa290967f8f2cded3c09c8ef08be0,90a358719ff2719fdc39f4e7e76c8a9194d98dea2ebd8fb67ffb4773f7e53303 +Chords1217,ChordFormer,submission,4,TRDEESH149E2E84162,161.35836700000002,0.9204085600965484,0.9573757293703625,0.4705942413327212,0.4428219851902702,0.4705942413327212,2d5bb4febe36e6f4c367dde70438b035b70a36b8fff1df8a999b0479e2fb95b8,3d42c78a5aafcc2928d23f15e252cc3a576f338a09e08351f7bbbca1eea61c42 +Chords1217,ChordFormer,submission,4,TRDFOHB127FA68F711,196.0,0.8870030889999996,0.886427877280612,0.8831076866173465,0.8831076866173465,0.8831076866173465,26430ec5637ef52acb4bcaaeae9f4bc51a8aa4a19d6d35ec0d0842a7cc291048,cb838c317fccb2edece96a22ec7b565c260eba506b4beb0afce85e0a9b357678 +Chords1217,ChordFormer,submission,2,TRDFWRP149E2EB2727,220.89142899900003,0.8377293495522532,0.9469342519034173,0.9240518742034706,0.6478766853767235,0.9240518742034706,a20deea6fc054f67fd76a1e9c838de4064e925c2c39d168e5794353d4324a4c7,54b80a3cd1ca8dc5ce0a9f12bd1af20fca3230d07af1f0fd54c17351d083e0a9 +Chords1217,ChordFormer,submission,1,TRDGHFW149E3A8E4DD,125.309388,0.940723387205435,0.940723387205435,0.6839107929487303,0.6839107929487303,0.6839107929487303,efc6e94ec99c203a057a781e45edd8be2f9a0a66a5eeb527131a4a777fe9e499,efe1ce1aee61f47288a9a0fb96265df953b9e6a7d94f8b963128d65d8663694f +Chords1217,ChordFormer,submission,3,TRDHHMW149E3BAD09C,288.635102,0.9605784818923351,0.9719161097456623,0.9163901351352752,0.8908127203287952,0.9163901351352752,d7b37d9ea75aa425adc9cec0a2ed08874249fe0bc3383d5503de2b84c5935963,64e39f5644c12b68ea2f5ba5f8311b60c761bcd685bbb85953777f3db1b7f63f +Chords1217,ChordFormer,submission,0,TRDHJBO149E3C2C79C,180.244897,0.9716926742841431,0.9596974715353771,0.4711019436906456,0.26141777133917876,0.4711019436906456,45e509355fec921d639ba43fcd5f19561aab3141d7c069683419a070c703e776,a2dceebb3839256725640b7e14e3899af590f2b102b708d816fc8f5572acd752 +Chords1217,ChordFormer,submission,0,TRDIRNT149E3AABF0E,207.281633,0.9488752617266398,0.9499083807176117,0.6239610224227916,0.5921798084927297,0.6239610224227916,c575833c5105f1e8b7b8daf04cde4f14b7bd8671b5b89f4646a9f18cc5278ec4,f084f3e41bfd2cf529f9ecb3bef18e3c1813566dd5aca09818e808f44c8d9077 +Chords1217,ChordFormer,submission,3,TRDITCY149E397E0C3,169.247345999,0.9602046841665691,0.9602046841665691,0.9348235381010622,0.9348235381010622,0.9348235381010622,d5ee505a53702b6a3b734adb10d0d396c2d3b986cf989281d25587c3e2d7ace1,9516320fff786be31dfab60bc99e68199f0b2ca293472445f7756dec4da1fa9c +Chords1217,ChordFormer,submission,4,TRDIVBV149E3B72861,221.361633,0.6671351318681324,0.7212037961374235,0.7212037961374235,0.5542942694184048,0.7212037961374235,18aaf8c9881848e5201472dfdaa84a20d6bfb30ca5e31385927d94639415ac46,23310d92d1da96f80ce6fef4d6377710feab6d8761782a8f9ac81b74d65e586b +Chords1217,ChordFormer,submission,2,TRDJNUK149E2C83479,192.31346900000003,0.8826546290213297,0.9063109817399361,0.7639539843538448,0.7341999402704347,0.7639539843538448,0f899687c2459eee9bdd328d56b13f981a38ff3f0f72fa215688d27ec38f7c87,68ca15267e30b23b463b5d7aa3f64df85baff44e969b94b27221a4d07e50b533 +Chords1217,ChordFormer,submission,4,TRDJQBX149E3CBC58B,343.118367,0.8246196996851539,0.8369338921317615,0.7546984938395412,0.7107114244572059,0.7546984938395412,d2459454a834b33b6e3d203fee3eb71bfce9628ce3f7063e9f5b285b207f949f,e3cd945f387f1d0b69504e4ebf0d81e764c1e10b417a20d58c6cc170ba5fa2dc +Chords1217,ChordFormer,submission,3,TRDJVCN127F5FB5238,233.75000000000003,0.9350362787636319,0.9370607959756417,0.9588032169632178,0.4299335152342231,0.9588032169632178,194842d891f64061d6c50109af7753a837471cc06e6613fcac85a1b87b756423,ad26ce2fe4efd4cf7759a663cd553640f276f6c49773da3b6a1f5af82a5a680d +Chords1217,ChordFormer,submission,4,TRDJWFI149E3E7A815,127.869388,0.7549425584644227,0.7820501841177243,0.7447393492380645,0.6562240243145606,0.7447393492380645,5d221967de4ddf78ded132ef84a3073bc4a9d961be95c437156ad9ea35a576d5,73d09f6a9c39e67af40ffa0641181a8e81e01fbfc8df6131e4c7345e9b97b617 +Chords1217,ChordFormer,submission,4,TRDJWKN149E3509E37,159.63428500000003,0.9049908420738075,0.9190473190533573,0.8996911211003484,0.8766076437151341,0.8996911211003484,746ad024ddffd52835fbe68a91e209bdae762c4e34bac676fd693aac2fd186a7,fe592b9cee14b6c44cd488cb88ab7939bb082b37adae594e5768882e69e0a804 +Chords1217,ChordFormer,submission,4,TRDKQQP149E317F6C7,273.94612300000006,0.9451167976631674,0.9398702108652992,0.7940858801537074,0.7023981456419444,0.7940858801537074,688bbb2a497f586aff40e049577b39c6a53b7dfcf9f4f039726bbe4045fdfe80,0b1670af8fc8d80d0272e812e75b7399852b838c581e90ebcda7fc517e0e4cdf +Chords1217,ChordFormer,submission,3,TRDKRTK149E3447CC1,108.016327,0.948933101900421,0.9368523463587146,0.48473070694210973,0.48473070694210973,0.48473070694210973,82f6b754c4b2d540c382e4f1b718d9f71f0cfdfbcbba8a16a2dfda01643cc93a,0dc1345d41e5b89c482bd4512e248fe21415fc1859b75c33e7cbfa459850236f +Chords1217,ChordFormer,submission,1,TRDKTCX149E3D47335,163.578776,0.9742629802964173,0.9742629802964173,0.7932838699991254,0.7932838699991254,0.7932838699991254,c3bd6091cb807092ca6dacaafb57a61d0fd3817f0302cdcecc9c9a9587a802c7,2cbe34a39e6f53c19e025a75178f2de1197d3831bd54eda928c63b7ca96d1d37 +Chords1217,ChordFormer,submission,2,TRDLAJY149E2BBA3F4,629.315918,0.7893296011956263,0.8340167382970138,0.699947934142706,0.3257270908535952,0.699947934142706,fa4d8e9d6e46ea48cb15f67ce467a9a110379a3923734c5f6343b56a60a3b1a8,0ebf75e1f65b25dbf81e2cac7deefaed688c325339e6a98a08c27d98cc908e87 +Chords1217,ChordFormer,submission,3,TRDMNDR127FA622238,261.442,0.8905880209797943,0.8912779740892878,0.8456367480344373,0.8392518254106052,0.8456367480344373,82c50ef759add18418c2fc8cb863d7c1a6af2447677ebd8f82d56f422437de75,382c9688908924468f0799d3854813ef1158d7cbacd854414e414451281c1f89 +Chords1217,ChordFormer,submission,3,TRDMNOF149E3933763,206.706939,0.9432130798037712,0.9367946311641118,0.6124128951039675,0.5923726625210202,0.6124128951039675,23e3b8b71c8952969c6ce0bf53908773b8b7baee3a1410d4213c862150675aff,80c5ec3d2f0121c07dc32575fc19aa4cb4cf410811b2ccb8d305f85bb1256179 +Chords1217,ChordFormer,submission,3,TRDPDRM149E3D0E63A,328.54204100000004,0.9232606597613493,0.9048442018699352,0.9048442018699352,0.3077089331559854,0.9048442018699352,48944e0a52ac98884218c541fdd06c4b0784cc412d6f5c13d7278236fdf23378,f49bbe9ebaff72a55b64c7d0e525c44da3050e981b8953e3848e2b73cd880d04 +Chords1217,ChordFormer,submission,2,TRDPFBD149E3A7D7D4,141.688163,0.929499615553629,0.909432471017356,0.7707646466698841,0.7707646466698841,0.7707646466698841,f62f5c90758be96b0b83952f96aa53a54cc23ac7b5b62fbd16cec0ae5cec3271,1e06de2afc088cae3a8c1e759db967e9a6ad36c12eb8ebf8b1467500e2b22a65 +Chords1217,ChordFormer,submission,1,TRDPGMB149E34BCC36,131.44816300000002,0.9467980812558043,0.9440229561442239,0.9587984186853653,0.8879174618058391,0.9587984186853653,714968d7878f77e5f40e4bb7979095cd725a1c5ba2aa2920cc251b9bc057885d,cbd4c77d2c4f3cbc33710148488d9c8929d6b1f82bba00105a8b28ec93db90f1 +Chords1217,ChordFormer,submission,1,TRDQBXM149E327CDF6,221.44,0.5170514186009754,0.7828841207701764,0.37952574934546746,0.1869058139496027,0.37952574934546746,64c9e476d45f8a54e150e7b237b4ae2eff5d85dc6e1d0c38ba2aee1acdc97c1f,db7dbb98b94ea0a21ff6b0a4ac809f40373505aae91034aa86a5da5bf0ebc4af +Chords1217,ChordFormer,submission,0,TRDQQPZ149E398D631,143.17714300000003,0.968395855656933,0.968395855656933,0.968395855656933,0.968395855656933,0.968395855656933,ebb542a064a4229a3d041db753d0af795c680ab281b23d1ff737843a37e85d2b,72970f600d22202a7d8d9985f8b47d7e41502b6fbce44e3bc6029979ac8179c9 +Chords1217,ChordFormer,submission,2,TRDQSNN149E334A1E9,136.097959,0.7712982723568984,0.7417644904470733,0.6679471700087012,0.6408320067239214,0.6679471700087012,648df94a61d35b446d381757991d21cfdd39873c48be1a4c05e8ab53e0c814a6,f0c7a8b144423228a6a9ac70785547357231de8e32019913d8c7020926f7fe56 +Chords1217,ChordFormer,submission,1,TRDRSEE149E376D405,159.007347,0.9290756878234038,0.9290756878234038,0.7496186224212625,0.7496186224212625,0.7496186224212625,bbdf70de76702b56b138059488522bfb447f73f16bff98ba3734c115e1531e78,1bbb13b080c26d55f57c1c86702b2e914c0e35782a47b1279979d238c90374c8 +Chords1217,ChordFormer,submission,1,TRDRTVN149E3987A97,155.039637,0.7425625861017713,0.7990707843265273,0.6599065547015264,0.5837532621416026,0.6599065547015264,3e49b721abe8cf30c0cbc6767cfc065bf9fb8d4223041b3c13dbbf8b7a70e0c7,9d0951f0c7688ff32ac9d5b8338a6c68b9c07c7ae85db24168799d780760ef0c +Chords1217,ChordFormer,submission,0,TRDRXZB149E3811FB2,190.43265300000002,0.957899400508796,0.9432685800716087,0.7810183126889315,0.45431204779255924,0.7810183126889315,b43c5e44043caa9a58f4227608e7c44c3549ddd55ae9d122e779f96173a41ff8,810d7910617a3f0e0a35dfccdb609c9168610484bed5ddf29ed2680cccd2b99b +Chords1217,ChordFormer,submission,2,TRDSBAH149E37B923E,269.587,0.9000671363826901,0.8801098995955183,0.7043884325994618,0.6826349487846234,0.7043884325994618,9de29f84a325ba9aa933b011a3c2c9e9cb85ae7f284b0e569fe6ab9e758cebed,c4b7c0ce4f43379102c2b919439fbbe6af65691d0ecc9fa2f09caee85541b922 +Chords1217,ChordFormer,submission,3,TRDTGIF149E356F759,156.299456,0.9618815688776297,0.9634424433209205,0.9634424433209205,0.9539863491911325,0.9634424433209205,67a6c03541a4acba02669f74559851ccd35b8ba9c81c2adb22617a62dae586dc,9122812e53b56b777b31d38f55997f965aca56790a61b6c9b2c06cc11578fa75 +Chords1217,ChordFormer,submission,3,TRDTJAK149E396976B,159.76489800000002,0.8561711563262159,0.9197877172560766,0.7768165320271418,0.6932694072636655,0.7768165320271418,b2affb26371168707b1d00c757afc5e50dfa3b1b561d1de9aa2ba82a662b41b7,c58345022f890d3a2e8dfbaeb56fbd2a6304c91a05ce129e42a84b5b3bf767eb +Chords1217,ChordFormer,submission,3,TRDTLSY149E3B1D11A,212.397982,0.7443894102298945,0.7457183559699796,0.7263214314963681,0.6872792250210729,0.7263214314963681,e5574dfe864388065b417c0028133cabe8febdea16f580dd39ba990d908343df,76ba9c317ee8036077a46ccd80757abd9cc8aba528f66df09b17c24d3390a0ef +Chords1217,ChordFormer,submission,2,TRDUBBA127F8F314FF,236.0,0.921276432580504,0.921276432580504,0.921276432580504,0.921276432580504,0.921276432580504,f4870cc68539333e0662f5e309a8de99c5205e332719a7adac2f7dafa9f2b9ee,03006d76dd9b0faf56b9b86a0e85c96e5b9194440375865a4c8a40491e7b4646 +Chords1217,ChordFormer,submission,2,TRDUXLJ149E3AED5B4,157.779592,0.6453180976535928,0.5335834366174805,0.5271190005846402,0.49850074934913013,0.5271190005846402,b6afc29c6c3e4f08bfd8dacc4c856186f0767481a34928a69ccdf0c8db7a3d6f,600665e9ca026f5e9065a0e71f903bbf264ab3f18555aebe931cdd309947b363 +Chords1217,ChordFormer,submission,4,TRDVEWY149E3DE16C2,214.344512,0.8672990682122113,0.8726564880558808,0.6471251886390512,0.63336133635183,0.6471251886390512,aa07882105b40716957af405fdcf630e40ffab4e2a781c4c3fa1beecdfc1fea1,421f66cca53a1f8b4ae6021c670d1ec9c4c538139bc3e4268e42152438f842d9 +Chords1217,ChordFormer,submission,0,TRDVYHP149E35C4A3D,286.18829900000003,0.8707925893084841,0.9149111749430439,0.7500095136758838,0.6804332420522912,0.7500095136758838,beeb8224d2e8b8e4a5fea3f353aebbbef5b2b0b910a204cde2f1c07f084574d6,e28ba2bd4d56b8b62d9fc717c97858a6a1b04c5da77a3eed28293c3a1f40bda6 +Chords1217,ChordFormer,submission,4,TRDWGYT149E3256FEE,217.614897,0.9159385926001191,0.8584154918079896,0.709221391916014,0.709221391916014,0.709221391916014,e5bdeef2a99c10ee68dbbd25d11d7d42650b2451a7eb0ec4596c8e9972cd880b,ccaaca7fa55914e5e4787d8f1fa1f1787e25ef626548eb3c9ffe152e56ed219a +Chords1217,ChordFormer,submission,2,TRDWNJT149E3A0DE51,278.961633,0.7931077827537656,0.7931077827537656,0.7368143475307218,0.7368143475307218,0.7368143475307218,d828842923a37f1a5a54d621657b20e04f95c1a1e34d93c913b38a8bfaca2355,673827ca548a1297ceef9e4d6d85f6c1a9d3a4df2a029124f6e6d69e0960c595 +Chords1217,ChordFormer,submission,1,TRDWPHA127FA2A2EF4,257.0,0.7298855095680906,0.9959896158998989,0.9959896158998989,0.03066252856420217,0.9959896158998989,ad39b176d3d71d4afe2dd0903777297564467f35dae379251cb4dd27bed2662e,4c667486eb91f2c915b5c91166c69c9aac3dc7df3c2631306f9d2fcb7132e357 +Chords1217,ChordFormer,submission,1,TRDWUCT149E3D6244D,240.300408,0.937257546928512,0.9371702237375047,0.8160086745469004,0.7922493981450106,0.8160086745469004,176a5f811ecec2af1305b8cabf435474f5a654778c440e3648a37e84572fb58e,97c0aebcf0d43fa02e66718195ddf6234e198fd7947364632fe52e055dc6b61c +Chords1217,ChordFormer,submission,3,TRDXFCA149E3E95FC7,241.65877500000002,0.8444029371166004,0.8565033155797857,0.8437790544996733,0.7827615852807319,0.8437790544996733,21a84a0b947fca455b9f4a11559d4b21689178ceeee77969310a128a748f981c,5c0611dcf1a35ef625d5f689f36d1413c2f333545008d68d8f23075be317923a +Chords1217,ChordFormer,submission,4,TRDXIWV149E329655C,234.84081700000002,0.9276410883036558,0.9087419449914909,0.7677111514161243,0.6995753164578702,0.7677111514161243,86069e7c2c169968080e4f53143e22ebd51501161d97f26f7f40e03c314ea55e,2deb560fa01a418397050f7600e38f50eff632bdeec366c7de9d523a9125b1fe +Chords1217,ChordFormer,submission,1,TRDXQAT149E3EFF9AE,224.91428600000003,0.9316421393792632,0.7960257192110932,0.757799052933434,0.757799052933434,0.757799052933434,c22ac65ee8cf875d7f65eaccfcd2efde2b7310c96ca651cba29ee9ca0205c9c5,14743ac3990aeff48bfe0c773d463989dc2abf6d2aa485e415cfbdfbf5ef42f1 +Chords1217,ChordFormer,submission,0,TRDYKPG149E35310E9,322.69061200000004,0.7616828913572482,0.7673475520650483,0.6818196913583909,0.6503121868292838,0.6818196913583909,9c2e93b2e88df2acfb9e94b6e43cf0b8e621abf541b8839b22363c8a479bc20e,771624a26c090fd67146e4596b623cdec680f81a3c6a0319871e6b4ec4a0d3c7 +Chords1217,ChordFormer,submission,3,TRDYTJD149E35FDA15,229.45959100000002,0.8645034443472015,0.8047003496672424,0.8047003496672424,0.7089681213412431,0.8047003496672424,fddcc984c18fe4e501f637fdef749505d147e43c25e503b5fea80d63b1fc7cc3,36bb6d28df6e5a62cc2f636e2c50701c688413a1b1ad6ceefdedcd91771c0cf4 +Chords1217,ChordFormer,submission,1,TRDYWUD149E3128DC0,158.511021,0.9625683847118742,0.9625683847118742,0.9153649278998711,0.9153649278998711,0.9153649278998711,e0849afb5e5cc58edd8b2e63415b5fb52462ff4f70d8f6fc16667d1a33564094,11e794f2ff45cd9181238163607a76044d0fe012a36816a0cf04765721464f80 +Chords1217,ChordFormer,submission,3,TRDZILS149E38F5413,146.494694,0.9498212903738348,0.9446238871149837,0.7509068948736126,0.7509068948736126,0.7509068948736126,7af4c679003561356555a5b09cda2520314d443cd23ae475188b54bf45ac64b0,8eec6985535d40c8bc7efbadeee296dd5298e8c21c232e02d55d998dfebebfe3 +Chords1217,ChordFormer,submission,4,TRDZLKL149E3D1AA01,214.272336,0.9374108067314865,0.9475703048634813,0.9151712474930329,0.8824384081853671,0.9151712474930329,98f66ccc6be8bf0f8a4ae2a12e428a67c4b8f71104623497cae230af969fe170,f9be9784d181a75e5c795138a72457e45a20c624b86f96c54095e9835c2cb261 +Chords1217,ChordFormer,submission,0,TRDZPYO149E35C1079,23.14449,0.7889664005558126,0.7625929411769363,0.6867801505384709,0.5644623407126275,0.6867801505384709,80c42543f26d5ca01e21a1bad8f2122a12b6ea71cd1d39894002397311d4f038,bd1e17570edcf2ea59fc2849932d63e14facbdde224ce54a36baca0b0bb2d037 +Chords1217,ChordFormer,submission,3,TRDZYBW149E3F2C917,285.67510200000004,0.919445594198128,0.8625090370170707,0.748050399310765,0.7132957292581995,0.748050399310765,16247c5188f9a8d88261eb591e4da4869b277c4a00b0a3dd1cfb3608c1c43fb6,7cc31411b3d66bcbcc7472b3524e5c4978859d15c4592a13215ef8bfcaa884ac +Chords1217,ChordFormer,submission,2,TREBFRF149E30BEFF0,158.798367,0.9060511342474958,0.9060511342474958,0.7774455092098025,0.7774455092098025,0.7774455092098025,6161299adf42b2346a40be5f91f1f8db09cf115bcc31800089c737f628f9d7c6,c6f8f5bf9bb6921939593fd10f0711c71c3a5c5dcfbe6b67ba1c57c1476224db +Chords1217,ChordFormer,submission,2,TRECHHK149E3C27148,157.361633,0.988217205537006,0.988217205537006,0.7756990533836157,0.7756990533836157,0.7756990533836157,5f12367d821cba89f114c72a093bfaf4342f655a730bd4306e25c727da913ed6,fbe154f473d2fd762d4cca1d93c2072ef379cdfa29d948a581e4a73d71b557db +Chords1217,ChordFormer,submission,0,TRECLAG149E3600A62,106.03102000000001,0.8677699340815529,0.8770247354978332,0.7203542986299694,0.7105943017335856,0.7203542986299694,da88e87223ce07d73056b34ee0072d97507a263962a58f2cb0dd68e4fcb010ee,326f2978dc6de667b1638fdde280fb04adbacd107ab1324c5e0a797ae68fff18 +Chords1217,ChordFormer,submission,2,TREDDXR149E346C696,179.98367400000004,0.9206325637401946,0.7024048639839682,0.7024048639839682,0.6891925305680758,0.7024048639839682,c87794d62df8319b8554d0c08d8fcbabd6de8bf4b5ec943b3f3046524e36eb57,ad94899fa9a5ec616f3c76ec576bdcec39d84807a8c2a3c8017172015707a54e +Chords1217,ChordFormer,submission,2,TREDVCJ149E3753F8E,250.14700000000002,0.8444183301059018,0.8670080046591511,0.7702156521956505,0.714143602841533,0.7702156521956505,aaec7d736d516bd8f7e76f65146ed5da588b866e7002d269f9a2f88c9b471b63,0db27d476b7f0de33e4fa82694d784fe5b1ff63978203695b221cab208416da6 +Chords1217,ChordFormer,submission,4,TREEATT149E314CD25,237.844898,0.8500252811603288,0.8535255323341783,0.7565473103547158,0.7240083994906619,0.7565473103547158,f0b12b0489095e9d210a7f402e1d93dcfb03c8b7afd60ed92d6d115a59eaa9b7,c3c43ee5dadd4d32148f926567321495201c511c4c203064a68417fae4c118ca +Chords1217,ChordFormer,submission,2,TREEITG149E32E9DAB,210.70367300000004,0.7931914468572178,0.8093291542968457,0.8286543443878673,0.6689613085197623,0.8286543443878673,72e7db10e46c12bad56539c4917931b7f63500da796c188e1956beb68cf3e21f,6f51999315594407b2226e9e411c114ebffd2e6bdc066a19bb603fcb94334476 +Chords1217,ChordFormer,submission,3,TREFWHV149E36F15E2,280.899047,0.9496145984539446,0.9156580118514988,0.8246573395245467,0.8246573395245467,0.8246573395245467,f7f09648f6c2f272225f995d65cdf236331e1e9246f4182ed8134008e673808d,66ca1e11fe2e36bd5d369b4717a690212e8a11a6719a764923b8e8189b49dbc0 +Chords1217,ChordFormer,submission,3,TREGAGS149E3971F2B,253.236735,0.6694515510674226,0.6694515510674226,0.6694515510674226,0.6694515510674226,0.6694515510674226,0e1bbe12733440a03fcc8a0ec5175b3f1e7edb61e86dcf740ddeadf59adc25d5,825c81bf51d71a80c6d4aa8a27b7c05916c6bf17b365816a147fb1935cba43d2 +Chords1217,ChordFormer,submission,1,TREGRRX149E390D226,185.991836,0.5922023508064083,0.662249117693352,0.6474821212116261,0.3985787938294237,0.6474821212116261,899c9f67628f3b8c9acd8746c0762a555a2d3fa0e17351c2bca03923504cef32,e6ba391c28e4c695773ab7fd06de791aca45df97ea9e161817354c43245eba8d +Chords1217,ChordFormer,submission,0,TREIAVP149E3C94A75,121.73061200000001,0.8282131432642442,0.8273456022875514,0.697354156404145,0.6825425672221224,0.697354156404145,82c0fca05642c5a39615860eb9932cce53cd6827c1961a8d352563059a45861b,ef32acf82ea2d47225e894d6c4ca2ed0edc6f845568c7b9e171e396a68982271 +Chords1217,ChordFormer,submission,1,TREIEVN149E33F4F25,246.08,0.9408149811768535,0.9405041063037195,0.8006614721505845,0.7519215954730172,0.8006614721505845,41cc1b0a308104441936151bcbec5184c5402a8a1cce17db8c6703779120e9a2,55029b102db1bdf8b853d0d4969b123184cf8dcc61a74e818d98c837eba8eb2b +Chords1217,ChordFormer,submission,1,TREIIMT149E3789BE9,158.61551000000003,0.6850702872625759,1.0,1.0,0.6850702872625759,1.0,8f7236ed4e4f755f01e37e86771998d9d874352d40b1637f351d4291d7f6627f,c71ce4dad6eead6f16d36934a849f068520295db81b763544a04d2132c480070 +Chords1217,ChordFormer,submission,4,TREIJCI149E3A15783,324.675918,0.8945596635558748,0.8945596635558748,0.8729931125393326,0.8491693689971903,0.8729931125393326,3b1872b916184eecfc334db3cec26aa5231f6b0d59045dff950efb136fe1b4cb,5a64af4e52be6d2da0abb6d5852b5106b57cf2f88aaa21f2d56cf29dc2a56208 +Chords1217,ChordFormer,submission,2,TREJPDV149E3263274,151.84979600000003,0.9476080920056034,0.9476080920056034,0.8749607466380798,0.8749607466380798,0.8749607466380798,3ee41c3115744eee051d36c2b833eac22890690e129ca2fc1523f6e354a62524,9638623bedd7e888aec4accd97a43c55d7344c2d993e0459c897b20ec3dd2d36 +Chords1217,ChordFormer,submission,1,TREJVUU120D4C8895C,321.00000000000006,0.813709694056076,0.8405153082308289,0.5419510873830468,0.4873896129563866,0.5419510873830468,f77860f8e554cef1793fc58c0de521c9e0afe65b1ab7c24fac063dc06f9f89d1,860d69f00a045d5e393b0619b7f1edf8d7b80adb88f2000995d6004c51a067e7 +Chords1217,ChordFormer,submission,2,TREKHYK127FA690DA5,134.00000000000003,0.733033810529851,0.9825048533546161,0.9825048533546161,0.14239721460447766,0.9825048533546161,5430ca8ea1138e09dbc16d3f27dcbff720da142fae2ef217572ce0a74bd4aa30,a4d89ffe7453d06687317db197bd939b37fcfb621e24eaf3d2f32730d636f5dc +Chords1217,ChordFormer,submission,4,TRELCLT149E39BCA1E,210.20734700000003,0.7708320029984486,0.705728061683781,0.31361853408482426,0.31361853408482426,0.31361853408482426,f21d1ccab1438938f1b4f6a24638c333fad83f3445214f5110a0188c152a7a9e,491c7c94c087fa84df30f707a9e9e80ef753201261b89b43812e2511b8603254 +Chords1217,ChordFormer,submission,1,TRELLOA149E39B296C,323.683265,0.13819961394358776,0.0059916905342634,0.0059916905342634,0.0059916905342634,0.0059916905342634,daf96b3159c2eefb5e53353aabd6e79b7d606eb81f9a0d10ae0ee3b41dd04e2b,80b7c523d35707def1c88b6cb5de8f9494ec8db60ee8479b31a026245b7cb48f +Chords1217,ChordFormer,submission,2,TRELONO149E3A03134,196.388571,0.4732082335331016,0.7709655712151612,0.7287762097875587,0.44731297447039353,0.7287762097875587,d5808419400f6eaefcaaa10bf54c29ec594c2722929b99e36358137f5a16ed8e,94322e8a81e19012cf81f6f550c59b0f9dd036be4d4407256d30546b634bbd44 +Chords1217,ChordFormer,submission,4,TRELVER149E34135C0,122.435918,0.9607750933022784,0.9607299783994919,0.4833261616587105,0.46870594997294834,0.4833261616587105,6d7ba9391f5a6c6b38eba0f79d5833eb1dc4fc6b8a4d6dd101c4c881a03281fc,bd4e5aab6f9a0a75acd2d107568805557c7d0acbc6fa5206d5720db4aac26e26 +Chords1217,ChordFormer,submission,4,TRELVFR149E3438308,388.46693799999997,0.4796617849702304,0.5039261022405421,0.36042688756153146,0.17302788323777418,0.36042688756153146,0c2e3775dde224c92e9f45f21a8379a8afe99a2dd11f60d1476d6f2ec33c8829,3489856757986b2f84234bb940153f9e28f6379140ced278483beaebf6d1199e +Chords1217,ChordFormer,submission,3,TREMNLC149E3AD6ECB,162.893,0.9077575693246507,0.8368305791900224,0.7220861358751023,0.7180699409551066,0.7220861358751023,4e70389470ca6829b8c510c62eb58182149d533a0636cc43ee1e730a07a969dc,9b7101eef1593ab721dbf5921eaf47c96a59f75b3e466125b373345ed16e0849 +Chords1217,ChordFormer,submission,3,TRENGXS149E31561A6,218.096326,0.8547773401281402,0.8547773401281402,0.7855476596025924,0.7311060782060114,0.7855476596025924,262a137906c722acb60213033b8573b0b8de7dbeefa95c33c317275353b6c8e8,3c85ecf7fcbff82a7cccaab77b08748543b3106bd99d64b9df12975fb15b7111 +Chords1217,ChordFormer,submission,0,TREODZT127FA201DC8,327.0,0.9356806396360832,0.9357542565318964,0.7418767017063106,0.6747788318195702,0.7418767017063106,b8c4e59a26d8645d40b6dc8e477d9eb539c7a9e72e991844b80d9e73e4eec33d,69ad1045ce7ba707d3eb5b36192cbcf2f56b08c5b76257fcb4d394f86cbe2faf +Chords1217,ChordFormer,submission,3,TREOMNK127FA1E69C3,244.00000000000003,0.9440625534467195,0.9637012084373486,0.8595335336844248,0.824081298098359,0.8595335336844248,d2e0f9477d42580259adcc0de8aa516a8a279cddbf7ab2fca8f3b9c407ff7eeb,c8839ff6d90f3f2568ff1f040535636ddb9725d86abb7a4def5333f368f589e4 +Chords1217,ChordFormer,submission,0,TREOMZG149E38BE43E,184.346122,0.8358337352819409,0.9496574448517432,0.8635441745604142,0.7347672428389916,0.8635441745604142,9603a8e5da3f9b341e34f30d282931b1634cd8647c00d02f8f59a3bf611f734a,01f49943fa681b408f94b221487a8fa4943fe27a42c2336d069913864c29de70 +Chords1217,ChordFormer,submission,0,TREORGQ149E34C2E85,296.071837,0.8526865551551891,0.8548616623437227,0.6787918694652972,0.6300377575966438,0.6787918694652972,473efb4ea40ab726fa0de4cf40e758fb16f178bfaff0725d909af86f403b9fcc,4fd73f566c6b80bc2a37b4d01159c37f9433ca2b1f6e7f697c7abb0167d82329 +Chords1217,ChordFormer,submission,4,TREOWBD149E333539D,292.46700000000004,0.9078453465997893,0.9049144996579277,0.8476244043948257,0.7890155283467888,0.8476244043948257,4d52319b158f43b66d8a2d10ec2e62d0df80262db53580b81fb8d5620c698a97,f3d5bb7dbb9fdb48d15ce31b8df45b7f143ab56c6933218b9063b81fabb4a227 +Chords1217,ChordFormer,submission,3,TREQHLT149E393965B,181.36816300000004,0.7729339029474535,0.7451975432953233,0.4225485582898765,0.24362566134057284,0.4225485582898765,333681744e9f2567fc2a836eed12cc0be97621ed847f29105daee6011be32831,dd3085bdedb3aec1b26e706d821b1030864fd555fdb809610295df2e3e689ada +Chords1217,ChordFormer,submission,2,TREQOWO149E370718B,175.516735,0.952640534715965,0.951992781744653,0.04578121815632015,0.044629551045374756,0.04578121815632015,ef9efd7571cd9b7d2f2fa46c69e45f8165590adbe628038633f3759ce67ccb76,4c9202e7bb2c6cde4009f90a651aaf22b6e71a86041545774f1836b49467c7e6 +Chords1217,ChordFormer,submission,4,TRERGNF149E34BFAA6,312.032653,0.8203501925229608,0.8051558232536786,0.36801215821423494,0.2573723151884369,0.36801215821423494,913e8e189bff460d1bb259f5c2158f9dbf30262705e563a61f205ad6923fa23c,94a26df232a6bd8a4db13e1ea35b1c70fd8a114f17ded90b2b951cba2bc4a555 +Chords1217,ChordFormer,submission,1,TRERGVT149E2DDBFF9,191.686531,0.7111390500045107,0.7586489191793763,0.5462548191601674,0.5083390644645769,0.5462548191601674,2c65b88a979f0cdc4178f3a7552163039aa60a3b2b643faad2a7f31f197f2ea3,2c9f7d60d2cb6b64ad50e841455fe8421fc36b2f36979841a37284cd25c4586a +Chords1217,ChordFormer,submission,2,TRERMTC149E3B4BECA,219.77300000000002,0.949544042530246,0.9448368933796216,0.5227727700786052,0.44695426974651054,0.5227727700786052,7dc06cd34b5694408441893a16980b814cbfd392110176541b767e01796bbf83,e4171c1bee4b168250235c4e2f46eb8f9c120a1a54c511fc89c5a3efc5938497 +Chords1217,ChordFormer,submission,3,TRERUNS127F8B7710D,257.0,0.8886019305175097,0.8959464204902603,0.839617196011835,0.7762473331673154,0.839617196011835,5158ba42a50035843ee1e17f4ee3174f77673d251665d7becb1b527f3d921c40,ac4c369a7122d9f0215c304b0cdcb560a0c32cf4087c02c0a1fd25ac99d2cb96 +Chords1217,ChordFormer,submission,1,TRESROY149E3352FE0,240.64000000000001,0.6932956054105677,0.6986378975665493,0.6570196522073762,0.6519956033452419,0.6570196522073762,b262fcbe17767f6ee5e6215656607889d1719e72754bc65ca67eb4a476f45ce6,2a5e0d2a80c30fda67ed4555c1e101cce5ec4f8b9b67c540f843c03f2cf62171 +Chords1217,ChordFormer,submission,1,TRESXZJ149E39A2951,220.57796000000002,0.6305312437425743,0.6441114269624837,0.4846135376524163,0.36789411628886204,0.4846135376524163,901908bc9184c61d8ddbc80c873b057ff8c18f7d11c43c30154c4a7ec468ac69,02dfe6a96c617e1906181d25e3b51ac6d99eb7393685005d809bb4869d0cd811 +Chords1217,ChordFormer,submission,3,TRESYBP127FA6901EA,291.0,0.8616891398109924,0.9016963810017857,0.7946419136832347,0.6513879109621952,0.7946419136832347,e08f0d7c272b8a0047241e2ce6c8c877ca7021bfb95ccf2dbceb165225181dd6,c28d27a0abe325c8531c7d4269a71d89255f8d344fef593d8d0470a92fe6efef +Chords1217,ChordFormer,submission,2,TRESZWT149E38957AD,273.763266,0.8019747635316388,0.8201976794333696,0.8193044452684701,0.49241709136389217,0.8193044452684701,d67dd90c75a0575f80f9df3dd5b8e0870e441a89087e592fb3871cf9b89762ac,843c90721ae246f7abc1986ddaca8ddefe5520cec140ca60a955e05feed43ee6 +Chords1217,ChordFormer,submission,3,TRETCNL149E39DDF39,167.444898,0.8427788476063329,0.8220385882285883,0.4227165611639,0.4227165611639,0.4227165611639,09217ea35f4d6c6e884470546a2372d4252e960a7818ebf90ac791e66c734885,a6fce1033478cff656d3b9967e25b89d9c22d7145c928eadd9e23db94c578557 +Chords1217,ChordFormer,submission,4,TRETJOG149E363FB83,344.13714300000004,0.9422721111536615,0.9373277741804218,0.9373277741804218,0.9373277741804218,0.9373277741804218,4a73ee97c81a4f672ede3d5899cf8fe401f3fb47ef7d3f01943f273d457aea70,d5db0d55e24824aaf1df784fc0d4e49ef4323de485e1b3d04c163e1ccca7f575 +Chords1217,ChordFormer,submission,2,TRETREY149E3ABF474,207.053,0.7893223478481348,0.8181313767833716,0.7578546474754949,0.7311681554432914,0.7578546474754949,2744daf734231c7c976205244d684d10833f7f18efa226576f7d6fbd3946a258,b6f320faddb4e898085ba9c2e41231f31d20b5118a2d386b048a38b222cf6ab1 +Chords1217,ChordFormer,submission,0,TREUAPL149E33FE0E5,137.116735,0.8776742087025329,0.8776742087025329,0.8776742087025329,0.8776742087025329,0.8776742087025329,5ee46244df67b14c50bc341ba951173ca86d64dc159a7bbfca1b90189b3bb071,2703566c92546a76545280292ebc2323dccc8829c0339929b8cbd2d240024b99 +Chords1217,ChordFormer,submission,1,TREUCMV127FA622177,183.0,0.9250740616939881,0.9158930027486331,0.8893192322568297,0.8893192322568297,0.8893192322568297,e8dd36425a9001715df6bd8d73603bbae7c7f1e0d70539bec5784b0e6ca574f5,ccf55273b0b98bfed80e7312f42cde72294be6f54f6dfd9cf5fbc82ba1b94cfa +Chords1217,ChordFormer,submission,4,TREUGYA149E3377CF4,157.30938799999998,0.7465886858894906,0.32476204833700906,0.32476204833700906,0.06156305909727387,0.32476204833700906,ebf2f5ca841c9cf38a1ef975012e9b92b7b9b6daca9dc2562c9e721ac7c0fc58,f2c5fa1f2c9b2c9093fa7160f4c96b66448012ffdc4273bd4dc66f8d00493fc6 +Chords1217,ChordFormer,submission,4,TREUXJV149E3166B7A,195.68326500000003,0.9726988541048722,0.9723467147249096,0.9471797406455176,0.935118270072814,0.9471797406455176,7ad2bf671ea9ab73305a4869ee8364d6b8d80915734d0a473acf97351a40836e,aa50f511fbc31455525e340c06b766ab6b694055d91012482835401359a84a86 +Chords1217,ChordFormer,submission,3,TREVVAN149E3775495,179.085737,0.8565429233429129,0.8581177009534258,0.6407536807792344,0.6120855884575558,0.6407536807792344,1ef80d6968810bd79713dc95a7a5ec924be8f1d54ee8a1d0e1a80883ed801567,66b00ff95c6fdd01af23deaed08158b41663b368ea900c5a5e5a645c3e7f2114 +Chords1217,ChordFormer,submission,4,TREWUDU149E3B33AF2,449.45548700000006,0.8770015793110121,0.8962590461201505,0.717310246368795,0.6497907297903347,0.717310246368795,a79d50898a3c305125ad200641e174fafb2180956d598de1fbea23ce01dd53e0,f73acb7bbefa4da6722f0bfd4c926c2c1b08a1119ebe0eeae3b523caf2cf70d7 +Chords1217,ChordFormer,submission,3,TREXAOV127FA6900D1,200.00000000000003,0.9621930725399978,0.9611475280364057,0.9018523362437874,0.864010612214998,0.9018523362437874,c336fd1dd2f604625e14537d00cf09a3ee88f539b4971eadfb5f2470f0ceca56,abe59edd5e41b9dc30f6240bf32d4cbf2648015df4d4fab0ddb3f051f7d47e72 +Chords1217,ChordFormer,submission,2,TREXLAP149E3E9E134,124.08163200000001,0.9744765304666527,0.9744765304666527,0.7190747677464464,0.7190747677464464,0.7190747677464464,fbc64c352d0ba6877cffda4a4cc174cda82eeace9e740b116db0b81fcd633b6c,4598444a83980c63e916d324cc5c00a6f81297ecbe0510bb89d34c8f440ba0f1 +Chords1217,ChordFormer,submission,1,TREXPPD149E344AB31,367.36000000000007,0.945389361479205,0.9402468771880179,0.8507461532941478,0.8207430896477584,0.8507461532941478,7a752c3c8362d8a30d5a52ddb246113074f868b1bb3cc97867d99d7fc5e863e4,4c7322bbc687a86dccb1a5033f4c9acfd100c26aa14204840a1f85b669988fd0 +Chords1217,ChordFormer,submission,1,TREXROE127F95BC81F,217.00000000000003,0.7879051172027605,0.8010672385030055,0.7500951872504656,0.627698318654375,0.7500951872504656,99f6f3d6b9ec5212bfaa66b656cc0174a025d6f33c26eea7ba4e4204a459a083,a9f6cbaf8efee337291f37afc35116e70eb99cf4e6bb8d63adf3e28669f79162 +Chords1217,ChordFormer,submission,4,TREYEPE149E2C85633,275.053,0.8115915124285147,0.7889628498722634,0.6655246506033716,0.5727782020483336,0.6655246506033716,3968d8a605913abd2cbcc40c3fcb191ff5acd4cd74fa30e57cc35cb7731d3041,3ad8724d4684273915debbef9dd1bfea5deb4e82402f1aa2a4cfd1b4605bb5e1 +Chords1217,ChordFormer,submission,3,TREZMPN149E34A02BE,254.11596300000002,0.953943980174122,0.95597479228666,0.7690314224016266,0.7552219837011969,0.7690314224016266,fc5bf069c79b904ff4e2859c98d9313f69fcbc6daaf2dfb835369bc8273c1aa1,36e7b57e5c695e6d3999c928fafeaf94c036880cd1594129861a58cd4db77001 +Chords1217,ChordFormer,submission,3,TRFAVJY149E3C3506E,248.893,0.9245066952224466,0.95465746646555,0.8784098389120011,0.7652791868393263,0.8784098389120011,9dd80be2732dea2ee29793438061d5a91d0899efc2dceb1983f78c3cd1173c12,a6be7512092bf4153343a6dcb2c16a75752b341034224afd02a48b0b994aadb4 +Chords1217,ChordFormer,submission,1,TRFBENP149E37D6299,194.30700000000002,0.9717141050656947,0.9682493109605872,0.8410428269420066,0.8451400055324818,0.8410428269420066,36574ad063f4282de91cc9cb304e8483df59f7becf77e7ca437a44d7f6443d1e,6049721cb877c1efe32af1d9e1f88770d9f9a0b3953c75b142506ce53f5ceb57 +Chords1217,ChordFormer,submission,0,TRFBQZR127F8D30291,258.0,0.9701072703023224,0.9701072703023224,0.7918814445736406,0.7918814445736406,0.7918814445736406,de6d39397129282bc5701233f73f07d34eddc13d4403de60c9141e2b1845ca8d,2bf4b926f60bba060f990230aacb443d8bb74c3231df18cc196279efaea8c2f7 +Chords1217,ChordFormer,submission,4,TRFCSRO149E3406C39,202.657959,0.9341868533571878,0.9691463425821603,0.9691463425821603,0.9261256724587851,0.9691463425821603,b0ddbaa32d7c9e6908bdb255e4a580f2f4fcb60e8dbc0fba6bcbfe432175064e,454b8011a817474a87e06114cad07baa6545b0d9619c9a6b7d31a9e9b71a9d45 +Chords1217,ChordFormer,submission,0,TRFCZUW149E2E5D0CC,114.86040900000002,0.7204235601571072,0.7123944890159295,0.7123944890159295,0.7123944890159295,0.7123944890159295,583b872b69a2e65deef80be7a33209eef6399e7a664281a3f45872dc83c38bc9,9f47b223d7b81a6aa993a6b85b263ee9535863c0a9f147bc987dc1f9a7aae46a +Chords1217,ChordFormer,submission,0,TRFDEYG149E372362F,329.299592,0.9369688292204135,0.9303703934790862,0.844096222886052,0.7463632190956375,0.844096222886052,5e492862cd6443f1c50bd3aebc13c8346e598b91f447c53ba3a41fa3ed757c04,2c872387d037c10a498557ec814bb9fbd35c86de415d81af557056bace254496 +Chords1217,ChordFormer,submission,4,TRFDQCB149E3485818,259.94449000000003,0.9390176281789993,0.9389134768272787,0.7949363595655442,0.774444762452936,0.7949363595655442,86e799c5458221f35c0398aaeb91309df8a0729cab435290a1f41d19b04a19bf,8c62994fa5e4c80346b8a0647bad7e48fb4aa3007f66608b8a2cbc3ae5ce4b54 +Chords1217,ChordFormer,submission,2,TRFDTBF149E359A92F,526.8375510000001,0.8306106679677028,0.7196160454903395,0.22658187011659092,0.20811446942782494,0.22658187011659092,a963ef3c3efd6026d011c46418f74fcaf6787a4e22250423531e676c3704cb60,d0f6ffd3402b92a9752b55d4896e0a035af26073152817fb13bc261367693458 +Chords1217,ChordFormer,submission,2,TRFFDQY127F8F6809F,421.00000000000006,0.8729079936033207,0.9279673221784592,0.8336081043473339,0.7762970521567657,0.8336081043473339,13396b50107f3feba9f1376ce4d26c15b17fcdee16ddaf73a10e5289e1b0ffdd,7f3e0e1f38d03efac5e79534a9359dda6f0d79fa3d88c4aebd17065f522ba620 +Chords1217,ChordFormer,submission,1,TRFGNEU149E39C0A6E,159.085714,0.9194941746937783,0.9194941746937783,0.8139971342492792,0.8139971342492792,0.8139971342492792,ac91e92203d0048ebdfabfe2ae869c68946ee07882649b864397fca459796dd6,9af59bd60cf376348e20009748c936221aeb92be57ec7a255d215b22d2c61653 +Chords1217,ChordFormer,submission,3,TRFGWMS149E3B2A63E,261.27673500000003,0.7534079017827588,0.863759302580026,0.6074994577759716,0.4860151945943439,0.6074994577759716,3a0df4b123666a5eb56f2af3a90f214da26b7b439535fc5c63edff9fa4baaf38,e397be5ee80445835b275afb5097ec1c12dfe44dfa0d3ad38cb2d99bf5bdb989 +Chords1217,ChordFormer,submission,2,TRFHFWA149E3740BE2,149.13306200000002,0.9977159027419421,0.9977159027419421,0.029057437189883656,0.029057437189883656,0.029057437189883656,bad54e2693deb9f243f97eaee6406e3c73a35677cfcf60aef391a0176e5ccd93,5877fc8a2bbfb9be94541f7c4786b74231fc301fdc2a3a59491edfc5396ec838 +Chords1217,ChordFormer,submission,0,TRFHYVF149E3DCCEE1,127.45142900000002,0.8383315360708893,0.8818579890522945,0.6938566817603868,0.5992839004731758,0.6938566817603868,69c2a55907d836ef14ec01b12f6120b32984b724fe87a31496898e1a3b3a87ce,2223c37131a48ea279ac111db8341989e6caa54b037830725bfb0582a4b3071a +Chords1217,ChordFormer,submission,4,TRFIBMH149E374E316,142.471836,0.8936068233794674,0.8571720268229827,0.7764201035221208,0.770917608263295,0.7764201035221208,7ff1e1b14c82ed959e81809d1969a072cd765d8ae30e9d64cb9871db5da2051d,d21bf185aba7bb6ba2094eb18eae63f9855351d834bc9ebc918d1d56f4066e24 +Chords1217,ChordFormer,submission,1,TRFKCFM149E3629B11,318.159252,0.837783777358137,0.837783777358137,0.8252111364688506,0.8252111364688506,0.8252111364688506,3ac400ae35ae5616c4bbc3051e996fac5ec08fb9397ee87d115a38e3f90ac3e2,05606a664be8a616fa94b9d457461f281a77b7caff026f1eed23d2291ef958f8 +Chords1217,ChordFormer,submission,1,TRFKMTU149E3B8ED84,147.51346900000001,0.8585172573292282,0.8585172573292282,0.8506468049504017,0.8506468049504017,0.8506468049504017,b85f76ee0ebca4208695dc75534de70cbeb2215c44b682d4a8bb42af8e7167f6,9bfdcd7bbd695790eba1aae3c4b472aa4ba696bf12ebda43baea0c909865ad13 +Chords1217,ChordFormer,submission,4,TRFKRCY149E33C93CD,181.890612,0.8137498531315103,0.8230856336377446,0.6971378705571913,0.6070048146135241,0.6971378705571913,51a5d81bbfadaef7c033102aed04bf5a8e3a6a940e9dc4d51533af21b814de58,cf9066a925368fd2dc4e66baa43094e2bcf88e22d38fe25d8aa05723c37db32d +Chords1217,ChordFormer,submission,2,TRFKYUQ149E38A2887,333.388707,0.6307061023181714,0.45917491090695733,0.25758994521664513,0.2960953852986757,0.25758994521664513,512d63ffae8fe7a3728bed18662213a1ab03a9f9dc15a8d9579bffa5ea8f7d88,7f01debbbbfa787df2ea4e7b61d8238b84b9f82ab6125c7f43ee1c11be787718 +Chords1217,ChordFormer,submission,4,TRFLMJP149E3563A1A,169.90040800000003,0.9533859575722742,0.9533859575722742,0.6788844828141907,0.6788844828141907,0.6788844828141907,d77c504cd513feb42bdc119eea4a1a826da2967276fac0cd96dc561406de24d7,b25c7a44ba04f3df4b11d9d6315bd5f3912a3d4f31a1d388d21f27951277c858 +Chords1217,ChordFormer,submission,0,TRFLOXT149E32E65F0,320.6,0.8054482595539627,0.7923351968484005,0.514243924485233,0.41998936941048126,0.514243924485233,de0db7f4d707b0a7a24dc45b2f10097141f47a9161769959216a019bb5215371,08e9fffc5538497ce3360e4a65326e20af2e6eed0c50c00e4bb8b19e3591037d +Chords1217,ChordFormer,submission,0,TRFLSTA149E35BF9C5,150.909388,0.9220486954396759,0.8225260138885456,0.44452981159131044,0.44452981159131044,0.44452981159131044,38088db8edefbc62c254f4a147b393a7f80d43977a5b4d4e566bab7fda86a983,8aac1fdf2b768d9b99c38e1679f9c38b271967214802a7d6e8ad042aef9cec0a +Chords1217,ChordFormer,submission,1,TRFMFNT149E2DF2986,183.666939,0.9761580678001079,0.9707578145242585,0.518210499059932,0.518210499059932,0.518210499059932,12056469655c9f3154b2edf191ba7bd5f6fc57b2ac2ac69c5510d91579b85bca,44d7e007cb9bf7ab54a0f6bb7314d12f987cbca3f8d7cf7981e7f3d0ef7c490b +Chords1217,ChordFormer,submission,3,TRFORDR127F9D5AA6E,215.0,0.9541765648883715,0.9620712584675868,0.9399068376661729,0.9250475663116275,0.9399068376661729,cda6268915eb76c7fc43cdcedd7d4502ede41ac9f2fa09a20d14ba8400946ffa,a9ac4b110fe93d52221d57242b0d6ef7519b2edc682b9b5186d3be6d1913fdc8 +Chords1217,ChordFormer,submission,4,TRFPGQE149E3C29FA7,185.364898,0.9642605420148103,0.9740707868515981,0.42628810435434683,0.27553737413110435,0.42628810435434683,3e4ad8f44a2ab00f64f0f9456a4ef733f8a69b2268d052ce0dd7fb6363722856,3bfbc41d7801a29cc599df07349c1c04489ee53daa2dc28cddc9e6bb0dd42c7f +Chords1217,ChordFormer,submission,0,TRFPVJF149E3DDABCF,164.101224,0.9548364610126261,0.9548364610126261,0.8990774642180623,0.8990774642180623,0.8990774642180623,b2501112d35800538f8a0163ccd6c2c9c9e2ce9463ac0351fcf32accef95d3fb,b205d549a417344016941531a3b0dfe23a799f052f208da3a8dcc6588d3eb697 +Chords1217,ChordFormer,submission,2,TRFPYSA149E35A466E,277.080816,0.8842749966962736,0.8677659827124257,0.7116321845103879,0.7116321845103879,0.7116321845103879,f5b5f45b8766cd1a4ba37990a5dbadc9343522680ad7322b190b215d228a0660,2a93276e7762a2166ba637d2989ac905712360cb3bb6b672bd9513865a54b975 +Chords1217,ChordFormer,submission,2,TRFQAJM127FA6901CA,222.0,0.923402065346844,0.9143533341398846,0.9125794612116203,0.7797868174504483,0.9125794612116203,f439dafb6fa1d5219a203c2a1bf9f821034c9e76b19a94194f47f7bb328b7681,bb6a0d4d5e33a7d7d700cf6c2fbc8724139be93b303192640dffb69c773ca8e4 +Chords1217,ChordFormer,submission,0,TRFQEUW149E3434096,275.333,0.875715650626697,0.8376885812732616,0.7399882651224357,0.7351532511976417,0.7399882651224357,89d646b993408f0504fb5193bd0769ebaeceb33e9e8364dd531a5a4c002fa772,0f428486dc3d732b84ccf3ee60c8000e97ea8547bc848244a2ef90082e40c44b +Chords1217,ChordFormer,submission,2,TRFQQPQ149E3C5A752,149.394286,0.9215949304982127,0.8657990388802428,0.8657990388802428,0.8657990388802428,0.8657990388802428,16a345b39931db12924f2d9fa4c2e3d896b18d28f45f707f9332bcaa44e36e39,828cb4ac4444b90da30ecb5764dc5e8560824f645c47e52ada9af0496edc88e8 +Chords1217,ChordFormer,submission,1,TRFQYDF149E3C11C8D,274.076735,0.8820661611646814,0.8820661611646814,0.7573591691903353,0.7573591691903353,0.7573591691903353,752748768fbbe82f21575703ab9738427a91428e0394c3a07d0f2817dab90e4c,4fc7334965be53a765a8c0fa26ca771faf9a1aff1936447f84b4f790fff6ca4c +Chords1217,ChordFormer,submission,1,TRFRRAF149E2E8F807,208.091428,0.9460506374150126,0.8293713146992302,0.8293713146992302,0.8293713146992302,0.8293713146992302,4ac14578f45960c45292abf56280048f9eb4f84a1dfded1e46dc2ca6ff8c5656,ee6550b18a98c7909448be00bbf440fe93f077d3df5b906f11b72fbae8d2a9af +Chords1217,ChordFormer,submission,0,TRFRUTV127F9E21224,231.00000000000003,0.8906212955757536,0.7957154931770607,0.5675771999797259,0.26666545926839685,0.5675771999797259,0a47e39f0b958598899c2824296164cef986d24b5ad9532a000788758cb497b2,4c69e0528069225ef8cfa1795ac41aee94e2c9e344d1b40d8a7391f70a9fecfa +Chords1217,ChordFormer,submission,3,TRFRYWX149E3C3FC99,274.233469,0.9508017699364061,0.9500491548471702,0.9500491548471702,0.9357346557177546,0.9500491548471702,ebdfb710190227875bc3b979452f3433c1105cb0c613afc280e487abf7d14919,84c30dbd1ff35e9bb041442ea81a3d784687bde7f2cb1a5dbc57356db5cd677f +Chords1217,ChordFormer,submission,3,TRFSVDX127F88E2C47,222.05100000000002,0.8865870643185562,0.9466940966380211,0.9466940966380211,0.36762944215067667,0.9466940966380211,187e1588d716fa7ad4436e684cba493a650e4a0e672416e7d72e6fbe3379ffc5,525042a180177801c1b5e2f7970f87d4e40946e00c2a45a85a2d06f32a513bbb +Chords1217,ChordFormer,submission,4,TRFSZWH149E330911A,192.208979,0.8030644282648203,0.7982708924284942,0.7879231377475282,0.793027758750021,0.7879231377475282,45aca7f35e11e3b7a35253093c7e1f325320a52dc8d5b166cfc1dcfe81ab4a84,412f98c3bbda5e8baaec47149ed857fed09688c6504ccab884581b02f42009c9 +Chords1217,ChordFormer,submission,0,TRFTFEZ149E36D79E6,129.776327,0.9533556466118824,0.9533556466118824,0.5833485907487584,0.5833485907487584,0.5833485907487584,f3753a9999cb447ed31a0d869e9667d5a2848793c0b632fae3d219514ba4f232,39cecb1301c66cec0fe5305fe8bc5ed8a04f05ebaa3ba88a492d88f0b528cc1b +Chords1217,ChordFormer,submission,0,TRFTIAL149E3E2CC2A,139.93796000000003,0.9862546997112153,0.9862546997112153,0.9862546997112153,0.9862546997112153,0.9862546997112153,293a252b0427932ff71fe3c155f316e1b785c6de55733a073157d18c41f30c24,2583c3cf81fd8a6cff9c2676e62688c4138767c05497a2ebad6ecf4083732b99 +Chords1217,ChordFormer,submission,2,TRFTJMM149E2C3C7CC,174.86367300000003,0.9571688047122269,0.9571688047122269,0.6612325330887894,0.6612325330887894,0.6612325330887894,56d2bfef1edc111f65454038994b67ebe03c6e6dd750c05952b1eb6416312ef0,90e718ab1a0fed6bd65a4b3e7725f4f08f60350b52b9406c29ca661b85c04634 +Chords1217,ChordFormer,submission,3,TRFTUQN149E36B51CA,168.411428999,0.7815735648426898,0.4833470002590109,0.45702258269215834,0.45702258269215834,0.45702258269215834,c170b833f6e394fb4b5a4a4957465962fd5e3dbe489b4adb58284a976d27c0a6,af124567fa4fd69f8c192f2bacfc5b8a4f17211664abb3068f63252a3d93fde4 +Chords1217,ChordFormer,submission,3,TRFTZSK149E3787AFD,181.48240400000003,0.880740276302489,0.8724933103819934,0.8417539395199086,0.8427422602689347,0.8417539395199086,019067816e12f5ce897a0eefd514b0cc8d00a9344e7cf6f9f96aa2e1c5a26b7d,595a5e4dc07cf5f9d002d98e952149bd2fbb7694eaded2ca1473272090423602 +Chords1217,ChordFormer,submission,0,TRFUZDL149E30E73C9,197.87755099900002,0.9625021859097218,0.9625021859097218,0.8339240435658815,0.8339240435658815,0.8339240435658815,77798df5f1b1e4719bcfc7429147a4b9a012d3699917fe90919db0fa14ad81fc,5787c1ec8b784c85c0e053c20157b18eddd52dc68f5132e88a68064991f2f51e +Chords1217,ChordFormer,submission,4,TRFVHLX149E33BB902,171.180408,0.9454477281185145,0.9454477281185145,0.88040142350286,0.88040142350286,0.88040142350286,1de8ffe6979267c4b8f5119f79835b942bfaa0a26d2549d7808054f9ba8c635d,63fe0116c7192cb686ac6dfef636027dd1c1650870f4ade217f35c9693e43dc1 +Chords1217,ChordFormer,submission,2,TRFVOOM127FA301CFB,284.00000000000006,0.9627955989894337,0.9645998958417008,0.8423168469924167,0.7582453211302793,0.8423168469924167,f4f7bd296f854afbfb04f74274b56abd5c06fcbdea404ad95ac0eaa801a4ccdf,1c4d609bf4baf88ffb0bdcc050b46f381373c157fde4a66f18548826b1f8c83d +Chords1217,ChordFormer,submission,4,TRFVPWB149E2B948FE,222.69387700000001,0.8062497002196434,0.8363722955740138,0.6507457860175331,0.4408349604735659,0.6507457860175331,c13c304860a8ab83e3681ce175f892b07a462daa1b34d16fa42ad0a7500cefc5,4e7bee95a5d8abeed950ea73f38a1b8570e72da78b9e27a770ac2182f4604f7b +Chords1217,ChordFormer,submission,4,TRFVULO149E32F1B5B,242.912653,0.46744696718618406,0.4924016817447182,0.4445286722955437,0.3957053904022033,0.4445286722955437,a8699339b7160649d921884c622ba189736f7703ce46141b0d36fe5b54f043d9,f9e50dc286677cb1b88b91159902c4de1051efa8d7fcebc86eb86c21fa62c41e +Chords1217,ChordFormer,submission,3,TRFWUSF149E3716F4F,264.071837,0.7218033117745914,0.717158124306623,0.439475592047143,0.4042679223494777,0.439475592047143,7798c8f9d9726da0ef5064c5cbd9ff0e836da0fd71badae26e0eb2cd19d1b8d1,8bb3cf933ce45353800462e058ac7dded760e8030f6d4eb23efd64482bf0b902 +Chords1217,ChordFormer,submission,2,TRFWXAM149E39F3001,297.508571,0.7606038344824666,0.7195275010374839,0.7082766307940529,0.36850208138373186,0.7082766307940529,3fdb3fd3b1febe9ef4da66eca807bff0795cded8be8589fa35f1e9514c784d77,cc1ed9f2a69cb70073ae72805fddfd5b2b6619a9c30b0f9716b37ff4bccd1b0c +Chords1217,ChordFormer,submission,3,TRFXXUD149E37B3511,138.396735,0.884367795923797,0.884367795923797,0.6699165316647382,0.22101881947576255,0.6699165316647382,1c1dad97de8fd9f39b166f0de9dfb98575d27f009c62aed4255f3e379eed3e99,5da2b1d369eb6bc0220d01b72ba5bf8ef44d7ac4b8e976171bc62bd275574571 +Chords1217,ChordFormer,submission,4,TRFYMYX149E3B4EE65,140.460408,0.9696483116010896,0.97456386395819,0.9104132934405569,0.9058213068340236,0.9104132934405569,882a400f9b88f2ea70b458ec8d32356ee91b0fe3183c8c849f68bc0760ead0d6,9f3b15ad5be262d7750c5a19ff9e238a6d51a2358a012d7629b10d2de9b9c23b +Chords1217,ChordFormer,submission,4,TRFYTBQ149E2BAFFAF,171.676735,0.9566589045393962,0.944000249480515,0.9303497356994834,0.9303497356994834,0.9303497356994834,94c32cf016d7756d8a3b4eae1030ae86e4ec56ffdd3f7aba9156ac926f37634b,2b4a3751649dfc74814f3d95a4aedf90f548a1ff3679e9bd0582436ac43a5da7 +Chords1217,ChordFormer,submission,3,TRFYTTA149E386F073,250.98700000000002,0.891181524612831,0.8823214574611795,0.7381917585239475,0.6775421610402139,0.7381917585239475,bb908a07e744011d69486e61bc3748ca2e955f2e1249a17899436e71f9562608,b9ec0a503fe64b96c38bc9efdc3bbe8441eb0637d0a64093cf084eddcd767b84 +Chords1217,ChordFormer,submission,3,TRFZFFW149E35E68BB,239.15102000000002,0.7894239400233378,0.7889663019950903,0.5827808679264428,0.5120820813977717,0.5827808679264428,255f2d38c45bc9e881f5c116fa6bca69753ff9f4f5c3342bd2fbee60df594fe4,5c435bad1a8eae182072e6b711ad70020e934153ea735ce7ce8ffd08f23fd83a +Chords1217,ChordFormer,submission,2,TRFZJJT149E33CFCFF,228.702041,0.004708420652004473,0.004708420652004473,0.004708420652004473,0.004708420652004473,0.004708420652004473,ffc34bb11abda96633ed75afaaf2c2407f238cc73e39dac0932ae5a421a0cd11,2570ceddabb4efe35ab270f66ec4afd0941084663e5544bf210207ead88c95c3 +Chords1217,ChordFormer,submission,0,TRFZUFM149E2E27257,219.24571400000002,0.9695465760575824,0.9695465760575824,0.9695465760575824,0.9695465760575824,0.9695465760575824,67441f391966ee3ce041879d292c703986d47fdc8dbec409b4d1cb915d2f358e,5a55b53e8e80452f41fec40df2fdfa3b22126f4ccb53dcfe03b6547663a68450 +Chords1217,ChordFormer,submission,2,TRGANRB127F8603C9B,306.0,0.8600912883562073,0.8600912883562073,0.7272334431159306,0.6984673202549004,0.7272334431159306,edddcc216ca5c8d1c2035c5046b8b1ca9d96d526bfd704f8f035b50460c1bcd0,0431c1cd2c76b11a9815670000a20d4aa5a786b0bef19f5e368e1eecf4edfdc9 +Chords1217,ChordFormer,submission,2,TRGBAXL149E35797BD,206.315102,0.9259149954422629,0.9065274466190071,0.5725032069523561,0.5540821820498627,0.5725032069523561,c02c954e11d5f4a4794552af7c57eb180f63e96cfe44622da9c60ffcd25d70ff,b44c705058a5543904d8f83a8e68bd55b7ff70c87ee45662931adfe49aaa9648 +Chords1217,ChordFormer,submission,1,TRGBEBH120D4C88F46,232.00000000000003,0.9272323285689635,0.9229090527068946,0.6731403452155166,0.6731403452155166,0.6731403452155166,ca2c90b6971f8abd86e49141d961553d9249c2748ad338f0788c16eb9ddbc954,c3d350ee774a21913a1bb99fdfedf68a16f0cbaefec176e8f841afb54f936727 +Chords1217,ChordFormer,submission,2,TRGCZVA149E3C19A9D,181.23755100000002,0.9299437840285094,0.9299437840285094,0.9299437840285094,0.9299437840285094,0.9299437840285094,0cb504d14874a51d4a364e28f7de00d541b6e84aaecf6a02c718976527aa710f,bf61f11d0bbb79c79c61338fbf0acdcbee1685966524c7ebd435b673357ff56c +Chords1217,ChordFormer,submission,3,TRGDXYJ149E3DBFB06,169.50142900000003,0.8445824990891375,0.8365783322289152,0.6613082941207925,0.6536174137269368,0.6613082941207925,60800004ce4a2784105090ecc818e163cc6b9cba5d5f4a09ca1451c3fe69edb9,9e5ea35973d9c19cf91addad1572c241f45f0e966db4814e42d0034daf3ceac9 +Chords1217,ChordFormer,submission,3,TRGEMJK149E3273536,227.265306,0.8628855046929155,0.8628855046929155,0.7255340308036271,0.7255340308036271,0.7255340308036271,5ce3d76e6adb4b57a81436d7e23013cc93f51480d4ada7ee590daa735dc2f87d,e5fa7b4de22bbec78fbb8132f01c032a40edf67e5205c615c2c83b6abc51c9a7 +Chords1217,ChordFormer,submission,4,TRGFNMQ149E3C3BB4B,217.96571400000002,0.8590142868662394,0.8816577079594833,0.7758772866164483,0.7333102561717606,0.7758772866164483,5a14163ac5fee154bcbf28acc0ce175bb16a1818144b392c824c929196b8abc5,208b4d931c685e5a3ccca3de2b034f1a3b5c337d62ccb2a52cc39fe6cecf508e +Chords1217,ChordFormer,submission,0,TRGGECG127F8F680BE,285.00000000000006,0.9073377809824524,0.9045260654762513,0.8459075375084695,0.8493618888631542,0.8459075375084695,7f90d5809218777c2ccb3f0dd25a0a7f8e503cac60cdd453d70bde6a17ebda4e,782055aca3191b482a9ae92cfb8a5ed5ced5a78e20a687cb7ca9eecbf2ff485e +Chords1217,ChordFormer,submission,3,TRGHTPH127F9D5296E,218.0,0.9169393060091701,0.9169393060091701,0.9169393060091701,0.9169393060091701,0.9169393060091701,554a5990b4823bf40e730a25a831b2c2212e7fda3aee45e47acd11693a34e9b7,3ce4b255e38668741debce7f3dded9647ce4fcbe54162c2ad07e47e8864657e5 +Chords1217,ChordFormer,submission,2,TRGHUZN149E33755BA,212.937778,0.7227797015332813,0.6976819668117558,0.4777400400540366,0.4500706429180461,0.4777400400540366,f151d53bdfb359a0f103322ff653c8d5c2bb53db0d4dfc5469e800cf49f86ade,5593103306d39ff5460688d00696ad2339189fd49d8d832c6674846da9f21a6c +Chords1217,ChordFormer,submission,0,TRGHVCT149E34FDC7B,228.752449,0.6820212831076636,0.7545762074918277,0.6658204464912598,0.42794948305449787,0.6658204464912598,320ee862b0e2d7ae2ca248f7dc49a4f1df169763f78634430b0bc8ad522f7bf0,7eb1776e8346cecdffcaf82650e2cfcacd9405ba125be19b8d4f2a21e4200e22 +Chords1217,ChordFormer,submission,3,TRGHXJW149E3891B44,176.43102000000002,0.9655638764090356,0.9655638764090356,0.9655638764090356,0.9655638764090356,0.9655638764090356,688cbb8b7ebfc5f48750c7fcd913342c9dbbe402dfdc8d27ecd97798cde388a8,b8618d6a0cecce936260a8028e9ea2f921bb80d2040122d483dcb5e19679cac8 +Chords1217,ChordFormer,submission,2,TRGIERY149E37A456D,239.04653000000002,0.9716809945954873,0.9702305097482173,0.9402762368813098,0.8512634676730091,0.9402762368813098,804ecaf2c2e2a2a1ff4b1b5dab77a08d5af5041248edc4db9242ed5a602e3b56,c4f412b9a35877c7d817f67f2cbc9938a98d0bc6e0a0eff0a9458373823a57d1 +Chords1217,ChordFormer,submission,1,TRGIKLN149E3B88D1B,217.417143,0.9525974218049584,0.9623408260355841,0.9623408260355841,0.8902628703478086,0.9623408260355841,58746be001f412e889f5329940ab90e60c2f625511ff7e75eaf24ec30027b833,1c41ef200ab31559ce58bafd2c36dfc20fc6c1adb52187aaaccb124717f71951 +Chords1217,ChordFormer,submission,3,TRGJGFG149E3D8F5DC,206.73306100000002,0.7160975952946405,0.5597449569937177,0.4898337359704211,0.350648224557562,0.4898337359704211,302ffe05c71672290c684b7af5bdd5ea01a85135258489f12ebb5752d16723e1,5eab5b549ce36595b8e9769a96399684413e1bda8a4a971b92cecbb589b456a4 +Chords1217,ChordFormer,submission,1,TRGKLJG127FA61EAC9,394.0,0.9143462308832423,0.6816250043197918,0.6777600803451728,0.6777600803451728,0.6777600803451728,94a2d6fc74e29cfc3351bbe89d746d1c87e50801b6c052eb9aea289cb96cdc1f,1c0532479691e00023801cb7cc3fd38cec9f5cd2b70e93147eef972009061435 +Chords1217,ChordFormer,submission,4,TRGKYBE149E3D0A2B5,241.907,0.8378201637571454,0.8087454295717577,0.738653610581053,0.6280673518583577,0.738653610581053,e40b954595e75560c65ab791de2cfd4eac61407d90afdb4f5d15dbce03b8e304,96bd0ff6a77f2e668399d55b914f415226eb75af0c3049b17f697f2eecc00baf +Chords1217,ChordFormer,submission,0,TRGLNHM149E3631304,170.467,0.8228160797280404,0.7641172115893391,0.6827164944124076,0.6827164944124076,0.6827164944124076,12216ece8b907efbcec0cbaa50acb81f215aacac74fb7b451549d78238d6e483,677ca34dc86c02f3fb6ca2cb5cdaa34071e3b9ca64569594275a006064dcd655 +Chords1217,ChordFormer,submission,4,TRGMCTS127F8DD8B66,203.00000000000003,0.9039386861527079,0.8386297812312097,0.8386297812312097,0.13052466964532045,0.8386297812312097,4536f81e682ff04a56d0d9c964f645cb71f10a1cace236b98c417471fe3979f3,896809e8dc3c590a8b6368eb27743d011d1c7bb52741eb5a94a7df29caffba45 +Chords1217,ChordFormer,submission,0,TRGMCUB127F88DB00A,235.00000000000003,0.9538145607148907,0.9512179161848433,0.8752748825827279,0.8699693636297846,0.8752748825827279,b3e28b0ec135b95ee55cb53d0b63dca2c15ec2803f3618d7857c64e71419e25e,b766e26996a9d1add20a8bbf3447b4a948874a59e6cae22f39a08f4226c8b62a +Chords1217,ChordFormer,submission,1,TRGMVPO149E3112940,224.10449000000003,0.7998683956532947,0.8542988285928994,0.029199739651986936,0.024180491617994862,0.029199739651986936,48662e17f94d3615b018069608a8537e9ab0c70c8c5b088cd67469bfa530d1df,1a7d7b07d8a27493054ac76a3474030a3cef58b4faf08f1dbdf494c3a32a6b8c +Chords1217,ChordFormer,submission,0,TRGNGUP149E32931F8,280.569479,0.8964577000836171,0.8964577000836171,0.8865224290522302,0.8865224290522302,0.8865224290522302,07f3ae9e0cfe743d19738fb1d2e77f60628df6c20c3087a39bfe4c346f435c5c,a1bc5de5b0bab66dfa77b01aa9ddf7c0a3303f15104d04037c4643ae3bd31943 +Chords1217,ChordFormer,submission,0,TRGOMYL149E3C69C01,266.34449000000006,0.7390378217848598,0.6487045583497031,0.6487045583497031,0.6387009788338385,0.6487045583497031,b3ba588d3a0e27d48c6c80c9f6b50a793f307b9324e26f92fcdb1531dcf89346,42e5a1a3b3da1e8c84f891c0802de0d58f645448a2d1541ae0f75a73c8aadc23 +Chords1217,ChordFormer,submission,2,TRGPSAJ149E34DA525,217.730613,0.8577040046591871,0.8651919210311898,0.8651919210311898,0.8577040046591871,0.8651919210311898,2e0f43c3ad3e96aa726c049ca57f0d91a4c3197bdf5d6d3a645971936b8878db,691a6567cd0192426545df4075c6e200c94861702829343e73a5c1df35d3a471 +Chords1217,ChordFormer,submission,4,TRGQBPW149E330FAC7,287.01300000000003,0.7713174211028799,0.8241007478312409,0.7932502109792613,0.6937432961956451,0.7932502109792613,4bc6786c68e61793e38e0f1244a0bc54a354de0b7df4200e4985713bdfd95b0f,c887954aaf170f5fe7cdb27dc69629e78181f89bdf48b543ef5f9354d9456937 +Chords1217,ChordFormer,submission,2,TRGQDDZ149E30DBBB8,237.84489800000003,0.6444855444155881,0.6803762051342729,0.7290208064537678,0.4309377050795515,0.7290208064537678,802dd7338aeb5a51b998ec862cca90b60408c39cac2d38bc4b8ed350e5e9a2a1,1b7802a45d66bc63a9f7ccf07b8e485d4090c9cae8583bf218d67bf8b28ce6de +Chords1217,ChordFormer,submission,4,TRGQKIR149E333D094,190.27591900000002,0.6979272021279794,0.8524351732787567,0.713024366676525,0.561965535791211,0.713024366676525,f6700fd67e12176d9b4fed3675a2428003f28b5fc30f1a0db4c0a9ac45b43068,2715345abe142056f5f4b8ef0682c9e05898ca8c8a7b79cf8a7d9f024812a041 +Chords1217,ChordFormer,submission,3,TRGRMUK149E329D564,280.894693,0.7530636086812806,0.7492218910256447,0.7021027250593552,0.6177872117114017,0.7021027250593552,e4cacdd2cc34c32ea728add5d03bce11a28b319563dcdba9209d9f97f19d621f,b998a17cff0a3329cf77d673681b5863ab94ac29bcab40b67215e8e2ca1299ec +Chords1217,ChordFormer,submission,2,TRGRPMX149E3C03821,230.42612200000002,0.9246538830653942,0.9247727556810421,0.9247727556810421,0.921790709666156,0.9247727556810421,c7cb4351bb1c5d972c0522dc5f0bee9ee0b550a87e03e8029929ee4e6b29af15,315e8450377db498bc8d852d485f2ff542920081d3ce06272f43fd08f38acd40 +Chords1217,ChordFormer,submission,0,TRGRZMU149E3537D57,247.771429,0.8606942445450405,0.8587456884228802,0.7049209637501619,0.6890000640994011,0.7049209637501619,07edb903be7771ed63a8cc38e69a2525dfb80e090f969b45cd4eb0ee86682b51,f69ef5fbf2678ac6112d2c7085dec8e23d96c5459aa7aec4bcbed0e5396beec1 +Chords1217,ChordFormer,submission,0,TRGVWET149E3C8B670,208.22204100000002,0.7536164568764363,0.920750358819429,0.920750358819429,0.6277727349382768,0.920750358819429,126e8408c937725c55befeea7e4ee807eae2dfd7a3a11699c9005fac4e509271,afb5ec05e8b1ee881839c6793a162a6ee73e3af63b64047514cd6f69d97ac0b1 +Chords1217,ChordFormer,submission,0,TRGYRTH149E3A47DB1,181.211429,0.8139910701769256,0.2181571487520468,0.2181571487520468,0.03814032145842195,0.2181571487520468,f8f3d140cb15a1a1782946917bbf17fa537f9f1ab7c37c4f801eeb8b0b6055c3,6de25dfc78f0e5e9b2c9dc8e90bfaa97cc2f47784dd9e1f4a0d9afbc66d0ec7a +Chords1217,ChordFormer,submission,3,TRHAAMD127F825733E,205.00000000000003,0.6868489132292663,0.26574900324661777,0.26574900324661777,0.09343346053170716,0.26574900324661777,eb2f81c23823293ad7a46283826b345d8188b22f4071385642690da95e6fda63,57f1296a460a7f1fc4a53eb2fd6bdad69b6e5a55fc1269d22b987eed702d94a2 +Chords1217,ChordFormer,submission,2,TRHATMG149E34F712D,118.700408,0.8930707341629378,0.8892838382140624,0.8873681333705072,0.8097087820456377,0.8873681333705072,874711926c5d18024e418398e4f5c1ed6e32f55076e309f581385d5679f522a9,328041513b88e0a59f27e31558cc63685a9e2019d38ddd882ea37975f51818e8 +Chords1217,ChordFormer,submission,3,TRHBNVY149E3C92614,194.742858,0.9510345957796313,0.9510345957796313,0.8705059272468936,0.8705059272468936,0.8705059272468936,794c2c4070aeff4ee46f46d163a11a473d25e2cf40016ec2b6dcb403db627a52,6075198713b2851c25559cee688757c3d85df97cdc860207a1a6a8e25788cc95 +Chords1217,ChordFormer,submission,2,TRHCOZW149E3534AFF,161.15514800000003,0.9360272496786768,0.931260415648821,0.8075490685639006,0.7515485498359635,0.8075490685639006,5f36edcfc4a156c96aeb776ab0d31403716d732afdc58830867d467dad420b69,ba8a0fc092f8f05bf549f647689980af16a1a0e1556e078a79911bc1a0b67d9b +Chords1217,ChordFormer,submission,3,TRHDLAF149E3E5F79F,154.17469400000002,0.9726399106976659,0.9726399106976659,0.9726399106976659,0.9726399106976659,0.9726399106976659,5e6788db3d0d42aadfdf2be509c040cc60179ad741fea69ba349691662ad1b75,d6c8128fd36a3e0aae769af96268cd5cd27f616b345db8b6fe14b9adcea426fa +Chords1217,ChordFormer,submission,1,TRHDNSP149E39666AE,273.005714,0.8446721653085982,0.8920849996137368,0.878316677943989,0.7739112491506311,0.878316677943989,958bbf10f3e65acb461aabbce65655db199a42fd70e8fd6f14db75d13539dd00,50079ad3c8c59c02a84ef1ca08ac4016710b976f419cfe1a370d801d4a18f440 +Chords1217,ChordFormer,submission,1,TRHEWTX149E3B0DFC6,242.507,0.8346160557468454,0.8167886087947671,0.6316590912701565,0.5646971295838888,0.6316590912701565,7cf8a223e57d137a060eaf74de239871add0e8897b40e4c95064a0381a011508,86901323cc81920f5e08223e56dd5bbcf5d60e0366d39db21afd7ffd38939cb6 +Chords1217,ChordFormer,submission,1,TRHFQYU149E36951C9,196.293,0.6181702111741139,0.5407760839464768,0.23892448719997894,0.19311978127594992,0.23892448719997894,8ea88cf248184a5cb4b823674ef362e17b1249c7341e0760d8db2bde14871285,57a39027b52f5f20d7f220132e19ce3ccfef1982f421d810c40017ddb32cc8ed +Chords1217,ChordFormer,submission,0,TRHGBUI149E3750D37,199.34040900000002,0.6684068043223488,0.6684068043223488,0.558417193033852,0.558417193033852,0.558417193033852,2f90b04e2beee92cab015583792afe325397b6ad71f2aef700bec2c70d980370,009169bf91dadeef5228761309d0c514c99b670be95018d3294402084b6d6dfd +Chords1217,ChordFormer,submission,0,TRHGSPN149E3C7430F,242.311837,0.7134489405195646,0.6965012843916596,0.6965012843916596,0.6770982842823294,0.6965012843916596,ad6a7268bd624a6db834be4bd189d6a6e69a8f5d258fe60cf3db03168a2b5b89,04c9c87997466f1ee39d03beb01a2d1456e8be4e9733d497f469a8dd5b20b52f +Chords1217,ChordFormer,submission,3,TRHGTEW149E352675E,158.040816,0.9110100544596015,0.921066320114958,0.921066320114958,0.8990686202923671,0.921066320114958,4a7d9c236f16a80b8fe64b4c555919fe7b24346268576b6e35eb5900b2824b34,a68ee152ff8fd0773dfbf815e1756435f10f3886160a8cbe9b7133337957e827 +Chords1217,ChordFormer,submission,2,TRHIGBX149E352A28A,252.99591800000002,0.9334128948989596,0.9359282159332465,0.9304624725180299,0.6545092678728516,0.9304624725180299,4e282cc50de9850c516df902f355fd069307d2211715ca1492fad8b78458c602,a94da0e0cc5a4fb2db000af60fc0675fbe1725b614f0ab73abcea3bec729b2a6 +Chords1217,ChordFormer,submission,2,TRHIILF149E340D4D9,199.86285700000002,0.9501948347210893,0.882558233453093,0.7670398431547145,0.732006756673151,0.7670398431547145,857c46794ccd188659ada5bf4233dec227af7ec1908765c28925e86b0bb77c97,5d7aa9644fef528bfd53a32831465d856030dff62698b46543314f14978cdf1b +Chords1217,ChordFormer,submission,4,TRHIMSL149E2DE4F85,188.525715,0.8844082859492374,0.8844082859492374,0.8657312013808449,0.7453060912437584,0.8657312013808449,4180c912f732b41d260797b9c58081e6b8036ff3ba263c0723f6d5b092d0e5f0,74ff115138fa04ed8edf723c6e17aff3f5eb5f5c6de25fd9fd2e26f94d145eed +Chords1217,ChordFormer,submission,3,TRHIUSN149E2E80359,195.4,0.8720831041453446,0.8689145548868539,0.8200291520210323,0.8109769366632564,0.8200291520210323,936a4a798ac171dc6b665c534286e1175facd61046a107d41bbdc445c5f6f205,245151979225e9e2a3d9599edb7311deb3678f66fbc9cb4c622a17586f24e60d +Chords1217,ChordFormer,submission,2,TRHJBCZ149E3A4C967,228.22224500000002,0.824385306668945,0.8516656652289333,0.7895010194913117,0.7343677603250288,0.7895010194913117,96995adc0f6cc92b1cfe3ba3a38473017336f3d9c5ca9bd2f645933e9cc462dc,fca641688f577739fe660c80b40ef0cebdd16ffc995c18749f9912f7bdecf103 +Chords1217,ChordFormer,submission,4,TRHKBES149E3AD0CAF,200.64653,0.6601836825037548,0.7967042286456673,0.709396885170545,0.5651479578191563,0.709396885170545,2c915d770cb69535f38a9eff1b2f8f5bf9e079ba79bb35450f220b16e48d54c5,128e5530ab8afa2f694622704f455d09091529d6df3b5af06130aac16b747c31 +Chords1217,ChordFormer,submission,3,TRHKCYY149E3C6521A,333.79265300000003,0.7772564654261591,0.7721290324952526,0.6787025322704625,0.6235864992510796,0.6787025322704625,d6c8ca507aad76d383b8f5167914efe29443a07f5ab6f17eb38846f2abe85f42,6565fdc983d51556b5824132ac868d4f46dbcfed2156e2a6d1239240526c3f9a +Chords1217,ChordFormer,submission,2,TRHKGAF149E3C232F0,172.12081600000002,0.8035781203186958,0.7723152036312892,0.6716049894317779,0.5835931218975867,0.6716049894317779,f43f9b2fe16e5bf144b9a01777f5ca01867883d1ceb3031b71cd799fcbfba20c,6b81e528841c3533904134d8255a936179f7a04ffa84832273cfc4f92ca51c14 +Chords1217,ChordFormer,submission,4,TRHLPFC149E31701C9,195.34367300000002,0.9435759180232086,0.9435759180232086,0.857812660044538,0.857812660044538,0.857812660044538,22a1f121932476577e5e41828fdacded9b7cc45ef66e952afb9e9c24e6e4a30a,6559c0a1eaa85dd606300c687a70d7ad432edd0a1041866aad4fc3acd7d0bac7 +Chords1217,ChordFormer,submission,1,TRHMUPX127F8A932EE,298.00000000000006,0.7481200216342261,0.72691536208912,0.5391291693096468,0.4936487391510054,0.5391291693096468,f235be5cf7fa25cff0b16176ab86a5b75bfae609fed8584435929ca2dbb34112,c601be65bb3d04899736c8f2b5b6b4c9f948e0d89daaae048d24ca16795c7093 +Chords1217,ChordFormer,submission,2,TRHNACN149E3596A6F,157.675102,0.944713522424105,0.9439873029836424,0.9020554216827601,0.8781756172956211,0.9020554216827601,2499a40cb2d35ff6e27626dc305fbd6ebf0b01c7d9fdb4644f3d2aa052bc4fa9,a292119d5c1cce33ddc9597862a179b74bdee339cfe4b8513b529aeb06c0e9f8 +Chords1217,ChordFormer,submission,4,TRHNJLQ149E3A6B3CA,175.542857,0.9129234079572959,0.9225987175394716,0.8906276547081169,0.8692567744923974,0.8906276547081169,aebefc915184b69d5dd7c0a3ce982498f86d03c79718dfd0f49a0d005236e8fd,bf5bd0c75ae7fb9bb12934a9cbd23965bc70c41eb23a5a6d2d39e1e91ec67279 +Chords1217,ChordFormer,submission,4,TRHOOHK149E362E7B2,234.947,0.9368220518329686,0.9368220518329686,0.8293700034199021,0.8030536283417125,0.8293700034199021,0b6945b0d7bea50be8deafbaa78065df28ad471ea79de83387088f110b865420,3ef0462fa0c90ba18c198ca2e6fcacee7d19266578053732536055c864259751 +Chords1217,ChordFormer,submission,0,TRHOVDW149E376FB66,321.149387999,0.7404155050279182,0.7789595856852155,0.6935908002266674,0.5857681651703657,0.6935908002266674,52c3211ed1e0e6ddd582332f2505cf5bdb1724e9cf35d01b8db1a36aebc6274e,30aa43f434ca193c87f5b8913d37a0e34d4b9344e85a6d260e2ef078d6e62950 +Chords1217,ChordFormer,submission,0,TRHPDSU149E32606EB,186.98449000000002,0.8658775176540061,0.8797287401606853,0.754345269904878,0.710106866703224,0.754345269904878,38e4dcc7be8b3da90585c77c7f6ce6821c7c1d24071e7115c95312f83da1898d,29fde91cfbb0c1722ad75b68ee054b99ec4168ce1328239906129151eb6764f9 +Chords1217,ChordFormer,submission,4,TRHPMDJ149E38C891C,147.983673,0.9636096520188437,0.9339351926614252,0.7995251065163136,0.7995251065163136,0.7995251065163136,3d63cc05b867b901604ae5a628f571cf8c813517c089f0271bc97012d493ffc2,730b4553426275e96ec8e41a9333e3ac1fbc76aa429e5644987ebca877119ad5 +Chords1217,ChordFormer,submission,1,TRHPPJI149E35F6FE8,217.887347,0.8938677459825172,0.8983008758669109,0.7039528501795178,0.7085963543169874,0.7039528501795178,ab34b8dab36547b59d0dfbdff3581cf9d55aa3ed4c24b9df6496bbfd1fea4e25,d6661695cd1a9959f132419793878a55c9199058d3d5544114c7030c3b815d79 +Chords1217,ChordFormer,submission,4,TRHPQAS149E30CF857,232.21151900000004,0.9526942030166903,0.9526942030166903,0.8516151162165218,0.8516151162165218,0.8516151162165218,faaa90f7357a96a2cb7c944af3775a8671d8d99620a0876da1fe84d1aefc3486,834266ff8f7e6a06e6c11ae92ffc6332ae5529752cb96cb5d89390aaf5d1521b +Chords1217,ChordFormer,submission,3,TRHPTPU149E3CF2AEA,211.983674,0.03279249853929785,0.04118990322627127,0.04118990322627127,0.03279249853929785,0.04118990322627127,7e574fdedd0b2849fbcae65376a3593c69186ef4c451554f4d41ae98157ed064,a807fe41efc317d4b3115f895d896cb1309118a387824da70a30d87375d56855 +Chords1217,ChordFormer,submission,4,TRHQLZX149E3275F61,139.337143,0.929973494798872,0.8530044573326736,0.8272358350134977,0.8272358350134977,0.8272358350134977,a07c8b2f229ff9961092f6c02ff66d794ab31581ec90160156236d03f5732823,aed8375a9379602df7fe76fc8b5a9304713db0e3b5aa2bb7a20b7633de9234d2 +Chords1217,ChordFormer,submission,1,TRHSBYA149E35F476E,151.04000000000002,0.9015415185911013,0.9128518562640939,0.8225913466518573,0.7904310857521183,0.8225913466518573,21eabf42aa71771cd931be016921f414b69a8c72aae995e7df564f157f657773,dafd858e72d595603426dca38d601faf1e41e0755351d9e47a61403605105074 +Chords1217,ChordFormer,submission,4,TRHSELP149E3A2933D,189.283265,0.8840699934777656,0.9397980371500017,0.7456316891790806,0.6836159619393725,0.7456316891790806,21e390ddc328c3d6a071aa1cc8dd068472aae374a35792c213d5f76f4b055764,110f75a46f85157741490ea7590355dd820c4a59b0cdcd153e9da5de2bcbadc8 +Chords1217,ChordFormer,submission,3,TRHTCNT127F7D91188,219.0,0.826388935493148,0.7627659453303163,0.6075658373445513,0.5818619161552497,0.6075658373445513,2f3a37b1960841ed45ab79c3da06cd893e2a2757ca289af880467b5c159c3105,f04a6ab807a9d54e83a0420a12942648f8cb8fc3cf08c863c0a573de77d67a40 +Chords1217,ChordFormer,submission,2,TRHTOPB149E3E82A2C,167.836735,0.8749993424204772,0.9585711028376717,0.7520725919471655,0.6655215170206926,0.7520725919471655,b591999b65d7cf7ec23a0c278377e3f6476e514acb64dc33f8e4644b30af6941,c81267fa92a5d7d356555ac3eda34d9fde374d8670c0980fa789f6685e73c457 +Chords1217,ChordFormer,submission,1,TRHTXSN149E3980990,248.76000000000002,0.7010637159149395,0.7429887486636905,0.43377638462614093,0.3616843398054361,0.43377638462614093,a74097cf216fb05b733937bcf8d822c525170bebfad8694ea508411c3c032bd3,62ee673322a3a435efc8863698d63ac5f218bf2e67e8bf8a78ccefe58923b5b5 +Chords1217,ChordFormer,submission,4,TRHTYMP127FA37D440,320.00000000000006,0.949491588728121,0.9470244685468711,0.8769005243874965,0.8769005243874965,0.8769005243874965,bd4eb41acdc512aaf314661c8e2f93064eb185114caaee6f6f0c1dbc27d5b0b2,d910295d7cfb3576a79a742a93da4645fab8a4dabd93e03278395970b4407a44 +Chords1217,ChordFormer,submission,1,TRHVAQI149E3ADE80E,145.86775500000002,0.862031967010121,0.8612145426226664,0.5384416623323859,0.5352703261251965,0.5384416623323859,6a241b2ed60777637b412a899292afaf5891dedd54a412b105601f28962fc43b,96d092a18c1d32a1229169a915eb85cb5195946df6b52e5fd2328b0f3163cf33 +Chords1217,ChordFormer,submission,2,TRHVDQH149E334FF58,234.396735,0.8827203481225968,0.8409610818642733,0.5546620865241554,0.5187602381193575,0.5546620865241554,d1e07c1bab213a71d5de2663dceb867566bcc98ce31c61cb57a41e46beaa7b9a,b84459f4b71323346caeb41f04f1397580bcb8a88900594bf58d62db0c5144d5 +Chords1217,ChordFormer,submission,2,TRHVVOF149E3C96BD8,242.41632700000002,0.925496532624226,0.910743904911173,0.7661090152023224,0.7537799027125778,0.7661090152023224,318d9368bf9cd5b90c5376a1b8d1d6f1cf7b00dfc5f3b699bc9ed324a4dd7a4c,46306167c776de158fb5f9b195c3bd8c45b6ca5ef992afc4632e21038994eae5 +Chords1217,ChordFormer,submission,3,TRHWNTD127FACFF8AA,178.00000000000003,0.8899279981685375,0.9037347108503877,0.9037347108503877,0.65387744910674,0.9037347108503877,46a9ea479fd713d4045db4b3ab333e3c2b24cf28b47068d5785864f610a4e4d8,86fa577b4bbcc8a5200b4c3d3b33e02cd3606b927364e9ca606919d13f821fc5 +Chords1217,ChordFormer,submission,1,TRHXAEG149E358BF2D,189.466122,0.8314530198016082,0.8319105953901185,0.8319105953901185,0.8128247126998247,0.8319105953901185,09e877d0664a9d1423b1933bd36cae934cd3f1d14c49630f41b65737b25af6ec,9270872b4729276821ba6039e3a0745e79fc9d37a746e295d0dadfb8f45b81d1 +Chords1217,ChordFormer,submission,1,TRHXPFS149E3EF0196,154.697143,0.9699520407367836,0.9478605633831321,0.9236818240686202,0.8940936888860325,0.9236818240686202,1692c103f20dc9ba93b3807d3b9e4c9126ba35c3ea5f46f791c025641f47af22,0fd9bd19e02c4a5674ffdc04398ec13996d108a8addd210ec407b625309b7577 +Chords1217,ChordFormer,submission,4,TRHXRQR127F8B51809,346.0,0.9527628550520204,0.9379070573400268,0.8401389155247172,0.7870936127832346,0.8401389155247172,b6aa7716cfa1fa75144e4981873dedc9a201312f5b3f76276bddccaa54cc2b1c,298e05ba722871022234027c5641b9e1aed69c8c05e96b777e056e2539d90724 +Chords1217,ChordFormer,submission,1,TRHYFAK149E2C9E220,153.182041,0.9687801565850653,0.9751820606617337,0.9670187200938809,0.9606704069571699,0.9670187200938809,b533e8055fc49ef13e0c3ff240ce3bca10c3c422c6560e3da31bddef272ec280,6d6de53f8c1e5bfbafe8bf5ab90721e88e43dd4f6451573f5a67d285389b7bcb +Chords1217,ChordFormer,submission,1,TRHYUPT149E3D5A6F1,302.158367,0.9232165663246357,0.873750128917546,0.8830965458148916,0.812979709835403,0.8830965458148916,d8aa0de920ae1e6d15ee3ed2d7937485301d9d595b178ccc5368038eeacd6b22,128c53f38127b2ba07e1810d5a6398c621b64f0d6ff31b3993d49269726a561c +Chords1217,ChordFormer,submission,2,TRIAHHW149E3B0BEF3,118.804898,0.958455485597909,0.9553312723350634,0.9553312723350634,0.8873667254947694,0.9553312723350634,129cd6095d5373ee9dcc30755acea2d2b2a46da463d88dd9e9bb444339a56cb1,2597bbf6042e2243b8fcb714b99b86dcc8aafd588f57112e49bd375c6e8ecf84 +Chords1217,ChordFormer,submission,4,TRIBNUC149E371A7EC,137.952653,0.9338079096891296,0.9338079096891296,0.9338079096891296,0.9338079096891296,0.9338079096891296,0443b960ea853bff99d28781b60fabb6ec543b88ba71c4dee904c1f574c7e1a2,408b2d9995189910f87520259fdb66dfd642f30e23092c70bce6276c8a4019c1 +Chords1217,ChordFormer,submission,1,TRIBTCS149E36ECCA2,145.58040800000003,0.8931815160663649,0.8931815160663649,0.5896398487631659,0.5896398487631659,0.5896398487631659,de7c6d84a8a7ddf68ebb95f5770f19dd4149846a3eaeccce8d95d09a055f12ef,f0d83fbab4f6d2bca5b0574006b7f3a6b6ec11317087b6f33a4d7bf150f6ac93 +Chords1217,ChordFormer,submission,4,TRICODO149E31508F5,140.43428600000001,0.9764623056651566,0.9731463681377689,0.9731463681377689,0.9681043584612948,0.9731463681377689,845a4bb96504948014fbfb2d950cbda0367c1529eeae638e681dfedbb2354d7f,e43532182dd65a44b0f7020063ef5d20026f4b07114615cb5d954d2a70e7886b +Chords1217,ChordFormer,submission,4,TRIDTWS149E37DBCD8,145.137959,0.8514866819644324,0.8792015686159375,0.7123621736249288,0.6784655375717384,0.7123621736249288,f35f9cfcad59e9384c0e5fa5440c60c52834ee580966be2f1e9d9897525e236a,12a00691d4b622448b72403c07380d24bab370b6de2308eb6389da33954164e0 +Chords1217,ChordFormer,submission,0,TRIFGVJ149E35F2A12,148.244898,0.7912060931837241,0.7912060931837241,0.6385401272966558,0.6385401272966558,0.6385401272966558,e8ef89953fc1417d44ac7beb55b210a03aa7d1d432242ebdcf4e38cf9daf4a68,361fa70d73552e1dba0ada7e9064a978c4b7f0f47e64c06e80029884b2592098 +Chords1217,ChordFormer,submission,1,TRIFHGO149E30A6AD0,193.645714,0.8564831511478728,0.8480506944816357,0.7322546469549258,0.6895300931886348,0.7322546469549258,dd8ef0d1ef7f9ba7f8f283cacc620b1bb9250ad3a62b66a786b40defe0c002d4,c09502543d446dbd9d69afe98159582a5194d698ff78091f95f921cf014fd2fa +Chords1217,ChordFormer,submission,3,TRIFNCV149E3A1C47B,233.40408200000002,0.9146164232037737,0.9108962724422414,0.7625094591064372,0.7366493932741087,0.7625094591064372,a946d7e3a74afef2b0ec5369c5636e63cd19bd1d948935162cb1853c0ea1d382,04c352a8c7c64eb607b4b6c570868f1ce0b0457c8c549667af24a00f23b7f030 +Chords1217,ChordFormer,submission,1,TRIFUBS127F931792B,158.0,0.8409531129050647,0.8409531129050647,0.8409531129050647,0.8409531129050647,0.8409531129050647,3031a3c016090cc9dbc0cf6a28470c101906b57d6404735dae26fa77e06c4b28,f9b5abd3cc9aad5921e2cf9f4ee2f4aa7801fc30663ebc2376499f4539f60d8a +Chords1217,ChordFormer,submission,2,TRIHBAE149E2BC4D19,122.77300000000001,0.9015124108802421,0.9026312904610464,0.9026312904610464,0.8923604987334346,0.9026312904610464,7a26b0432d391ff6d04f93329b125fb7e1ac13e24c76419c80b7a8aa86497c2f,2db42b52e18356b74f42b0ccd5b56c2d33cc1077c339e2297206cfe9f14b8ae4 +Chords1217,ChordFormer,submission,3,TRIHCIZ149E315BD00,145.76326500000002,0.8816734934484347,0.8816734934484347,0.8166912047695962,0.8166912047695962,0.8166912047695962,32fc9fb30dce2d01f18c7dca9adf1ff3f24c54df00dde51ed357161165fb677c,da9c79a56088eff3b3efd47ab608af2c8b26f792bbae24a4ee2f277e962677d7 +Chords1217,ChordFormer,submission,2,TRIHSFS149E3814B5C,164.12734600000002,0.8877091319565968,0.8877091319565968,0.562906165167626,0.562906165167626,0.562906165167626,52ef6fd9a26ce97bec9b5ae7db4404f1ded0fe870baf6896de6b140ac1482521,5fc8ec1eaf9202487693e703260d26a42fe9af63d0b07a27d718bbf76c56c809 +Chords1217,ChordFormer,submission,1,TRIHXWN149E3398F19,130.089796,0.7848162132870133,0.764577834874837,0.4900936982300688,0.48790675951248363,0.4900936982300688,239f79eded6d4014c43834190005aa01708189e7c7c92e38dba52d937983843c,267bad82305a8e475e3a02d96270d80c78f7f48347ee8ac12a9c2a1bed9a88aa +Chords1217,ChordFormer,submission,4,TRIIODO149E34B404F,286.062789,0.7860777017314116,0.7759728668554573,0.43848726040701,0.43848726040701,0.43848726040701,38e972a0e746fa3c7e03dcfc21638d95c5a9f572687fba9b869982dae1de033d,66d5b406e2d2c3a0e38e5b84c91544e06a6dcc03d973870d313cae1160e55e80 +Chords1217,ChordFormer,submission,0,TRIJTAH149E3ED5344,302.88979600000005,0.8552923970043553,0.8497655799439733,0.1534644442308778,0.14326678559022887,0.1534644442308778,56ddc0d5ea85462f78cbd30d8388eab1c88e953ea3628e2eda788677d3d42266,e1922175dbe790b684601fd0dc42541e9d3e0cad9aa713e35604ef1b089c9f27 +Chords1217,ChordFormer,submission,4,TRIJZVA127F9FBCB2F,199.0,0.9080068938743693,0.9784877301838535,0.9784877301838535,0.04038351622110546,0.9784877301838535,2662b006dc0ddc3a3c52c0772b8528d7cbea518341528994c53be8bc916b9d05,e21c57fc0217ef71f8d06f07f3605f9dfb3c1d73189f1dbe69b79851f51cbc00 +Chords1217,ChordFormer,submission,3,TRIKLPN149E32A6A4D,173.008979,0.9199781653933695,0.9199781653933695,0.9199781653933695,0.9199781653933695,0.9199781653933695,42b83b45899799eb44481478eb10f1b5590b00f5ead65157145a4709bda6934f,0d7d62f3daa31cc9b1f121bb93be6fad6a01cf3da24dabd3f3bb41d0f8f20d4f +Chords1217,ChordFormer,submission,2,TRIKTBG149E383D8EB,215.066122,0.7658805076980015,0.8702162026213893,0.4884213126437642,0.43454023312421175,0.4884213126437642,cae9d9c78fd58763877c6c9c7acf74ddcb64b5673cbecd683908ddd24532557e,6e111ed34a8f018800323f0462899dfdc742c950db00adcfede1a3bce6a79669 +Chords1217,ChordFormer,submission,2,TRIKXOU149E2E17A5B,237.400816,0.6782251066778131,0.6365934962739641,0.5657377630432954,0.44688572078454736,0.5657377630432954,7292cf4767b8753f1114f4d026084f6c7677ac802a155d83ea3a0536d9b63348,2e29ab705f3386c0182b80042d3162a8f9ea8c510d0adf88d7c22785e418ec04 +Chords1217,ChordFormer,submission,0,TRILOSW149E30C29F7,134.164898,0.9349237321225408,0.9349237321225408,0.8862366801933543,0.8862366801933543,0.8862366801933543,329e1b8643233ea0ec53a4d6cd7ed1937c7dedd90bf5bcd43321dbd93f9b4221,8420cd85d4a282db5117bcfee6006f3d0a74cbc4a7628fc46dce54e844ebb2e6 +Chords1217,ChordFormer,submission,3,TRIMFLU127F88D9DC2,213.0,0.9315001118028132,0.9505154561565872,0.9202069799033019,0.9007314256056302,0.9202069799033019,7c55c074822ff3509d92194643b9cf31993f9e0df6333964a627d058b8803ee2,bfd211d9572ff562058e20c96edf702c084a03271055f3c225f6b5ee3b7ac0cc +Chords1217,ChordFormer,submission,2,TRIMXXT149E369AFFA,194.089796,0.8735660821035619,0.8721937237474278,0.868949497089469,0.8291487343208894,0.868949497089469,c9495489af161ecb793cc236c433d362c833f1f50216f03d9bc2e4b02f0f773f,6a30608018fdfb80e72cf1c6789ad4f805aa85929f82c715a52dfecba6f66c9c +Chords1217,ChordFormer,submission,2,TRIMYHG149E3A00712,157.64898000000002,0.9306849396424888,0.9221017636016415,0.8038799819890994,0.8038799819890994,0.8038799819890994,92b65aec78f885432dced722bc9656a649133f9233dc89330ecf91fd238d0361,5795651238de042605b041582729cc1f2978fa8b3daba54a9917e01a231e4f85 +Chords1217,ChordFormer,submission,0,TRIQGJF149E3D7C8DF,297.26700000000005,0.8004457646190128,0.8142478157675593,0.6570769111284027,0.5759220619274933,0.6570769111284027,7ccb455cc52e902165711b5906bb78abd619f1750cc050611677f83fbeba79ec,34e35926be8067b321f9ab0b4fba9882101908626bdef8b9035657dd917c7e63 +Chords1217,ChordFormer,submission,1,TRIRDCR127F98EF151,219.0,0.9713611551187187,0.9713611551187187,0.9713611551187187,0.9713611551187187,0.9713611551187187,03a8836e896a0753d046419fd0f0301d56b558644566f82dbf833dc07b375489,228f3a551c68c12e697b5b813a6c833a0dee4bce79a071fc74c18bd5aa4f559d +Chords1217,ChordFormer,submission,0,TRIREHL149E30E3515,266.866939,0.6609448645603866,0.5333665672075916,0.46371819383871027,0.40809836478095907,0.46371819383871027,27946e43256b206f1ee79e45cc616db9cc3e2cfa5bc853ad2f264a39c9287798,72f81853f69f429de37622195b472186572a18eec0b75063d86e72822e3f7440 +Chords1217,ChordFormer,submission,2,TRIRKBL149E3657617,115.644082,0.9043001501884023,0.9043001501884023,0.7123821451840477,0.7123821451840477,0.7123821451840477,a8e98131958f6fdf0d528e65217c2cfabcf4c9782d97a2277432fb6d80062c5a,7b314cbf21a3a018c7a4c1f26ab5b75471a9033132a5b589ea112fb288edca68 +Chords1217,ChordFormer,submission,2,TRIRWMQ127FA390C13,236.0,0.9482943714194896,0.9482943714194896,0.9482943714194896,0.9482943714194896,0.9482943714194896,ec42dd662ba02a02752eb3c78387cdf0625aa62c4bb09cf2be947952e2ac14ef,f56d9ac25914c80bb763397fefedd95d14a5ad0bab4ca461cc178738f997d5a5 +Chords1217,ChordFormer,submission,2,TRIRXOK149E3D749E1,143.20761900000002,0.838281056275365,0.8363803796307316,0.7657650102570684,0.7488427124397621,0.7657650102570684,4e1d727082acbddf1955dbeb6d75588c81f1ae17e3cd00a64be4feff49e84c2b,9b658131bfb992a9e23d095801198be102380ce6f58cbd3ca61919366e16de1d +Chords1217,ChordFormer,submission,4,TRIRXWY149E3DD1B4F,207.841247,0.9496083786535392,0.9199964754445481,0.6189318127455221,0.6189318127455221,0.6189318127455221,08e19e0aa4185f7235fc8e93ac602c83d76d94323488b9adaf131adec84ccd30,56f218116e54f4f7a12a9ac88ad5807835162085d275dda1004fdf8b3509f1fe +Chords1217,ChordFormer,submission,1,TRISCLW149E32DB2A7,172.04449,0.9653033073886876,0.9653033073886876,0.9653033073886876,0.9653033073886876,0.9653033073886876,2247074e9771164281c19b2bde1223e911c71235d60cfe81426a91fe06cae6a8,1ff369e41a24a4a03046997720bd139419d8dbac461f44a7210d2b3981a07c1b +Chords1217,ChordFormer,submission,3,TRITICN149E3E27CF7,220.69115600000003,0.8387974233910858,0.9061744876676214,0.8710099585391479,0.7869132962718276,0.8710099585391479,6bcc4dcb7d7a844785c6f9708c1fc8f85fcc569d7e2864e11922ad117a0fc2f2,e80b637d9e099db51422069fab9cb54a75a66a0681978475c743fded79067418 +Chords1217,ChordFormer,submission,0,TRIVRSN149E3EA0C75,158.48489800000002,0.8572932211875505,0.8591140697046322,0.8115583819031615,0.7883556533632649,0.8115583819031615,7edb2cb1a927d0a2a60ecd4a10f23a6addaea4d54b9a7d916ac63635682710d4,dd8b52bf33ae94d3ccab9f2edebad0495390c2b828d6741f4f36d8d5af875fe8 +Chords1217,ChordFormer,submission,0,TRIXEZU149E30B366A,227.97061200000002,0.9360022440129259,0.9360022440129259,0.9360022440129259,0.9360022440129259,0.9360022440129259,bdc067170cb67f223443314d4920bf29cc332bedef54f078eb5dba7498517c00,61247bbe3c09ac0f5a5707e6835e2de3369e8ff6dea5b1adf9c95c8c231e151a +Chords1217,ChordFormer,submission,2,TRIXJVN149E3D79707,152.30610000000001,0.9009042248931595,0.839934592146999,0.6645081822565555,0.6582044467490141,0.6645081822565555,5116a7212ba960258e5df9eea816c63974fdc37f20b5802e262d12af1c95d2ad,c7388221468a629f61acd233a52aee3eafabb396fce8d8478b4f43467c360b59 +Chords1217,ChordFormer,submission,2,TRIXUAK127FA1EC3E6,293.0,0.9522178805597254,0.9522178805597254,0.8737975126416367,0.8737975126416367,0.8737975126416367,fcd4f5d2e8fc1727b29a109bcf8cb71c21586bb766dc55c2f984bc6cb5f21e51,6a4cf44a2e40076972817d038f9a2e5fe2f62bc98e9fe3db34ec40551f76d808 +Chords1217,ChordFormer,submission,4,TRIYMAA149E38CDC1E,225.45300000000003,0.8760874917832104,0.812171699244659,0.727072087395589,0.6911615377706226,0.727072087395589,e851b5da58f60d4ed3a432c273c37835f96b71293fce2bd9522bb1c6e3da7b81,52c5caaf006d9d8ad572af1854813d6dfffc7536144df0970531cd5ebd36fbd8 +Chords1217,ChordFormer,submission,0,TRIYVSL149E3E1D830,248.42449000000002,0.955449664427203,0.9544514726197751,0.762546567353989,0.739133118204244,0.762546567353989,10e8a2c0352a7979e28508dc1af02d3b7851fa33bc130244655b24c5c567d232,fabdddf61157ab0f99677e6d5e8835a7d09866e105a12080127335041cda6226 +Chords1217,ChordFormer,submission,4,TRIZGNY149E3CB6FE0,164.04898000000003,0.9597477611686496,0.9597477611686496,0.8510536110130067,0.8510536110130067,0.8510536110130067,b9451f96e6a2e9caf65846cdfd93a46af6e4404d638b936262710e777408d77b,817c77a684c8b43fa1473f17e629742c943112561de62f24c20f90dc958edeb7 +Chords1217,ChordFormer,submission,0,TRIZJBB127FA1E8001,385.0,0.7346410637012949,0.853264519474584,0.8280557865269642,0.6989914774597363,0.8280557865269642,fb9e727cd0d61650020a068e24dd1540023942c17e85f0b2f1e854f760fb486d,2a88e30a561c667db78e4d5de08f487d5c33f7ba4f121eb45e8597c1035e15ad +Chords1217,ChordFormer,submission,2,TRJATCP149E38F6EC8,241.110204,0.8600716933365453,0.742484110552202,0.742484110552202,0.742484110552202,0.742484110552202,21bdbf364ec521fc1255ded45ba326e082aa071e560ecb165dbc2bf566469b58,0dd01eb1fbb12826e700a14a66ca667a33bd522256e108c283e218283c0a3dcc +Chords1217,ChordFormer,submission,3,TRJBNYP149E3763883,165.12000000000003,0.8395666220990794,0.8391799550255887,0.7408277402125238,0.7352896445736433,0.7408277402125238,8a60115a1c7bd2348b628d76e4aae9d18eb1468cf289f07c10b9ca610a450e0e,fdbbab9b6501ab9b529fac1c07747b9e77a55cbcbf1c651473c5103e4d3b8150 +Chords1217,ChordFormer,submission,1,TRJEFSL149E340AE3A,137.45632600000002,0.9432607932718936,0.9432607932718936,0.8605074516832351,0.8605074516832351,0.8605074516832351,80993c0bfae0558b710e31343b3086a82eb08a3687e4061a2862bd80524c1761,fd589c53d39dcf9157ee99263d83abcda733ea5f62cae0ded8e4f0630bf3a9f8 +Chords1217,ChordFormer,submission,0,TRJFCXI149E339F3C6,134.739592,0.9239060171118839,0.9239060171118839,0.9239060171118839,0.9239060171118839,0.9239060171118839,31797a2f6359dffeb1940bd40b41b4621990dfaff38892502106c0756a7d7df9,be0d4fc7ab198336d1448da890e3a4eae3768666aac73f5457e815de44f248c1 +Chords1217,ChordFormer,submission,1,TRJFNZN149E3593A26,195.317551,0.7291994829333066,0.665088248490096,0.493150649922323,0.44624197446546765,0.493150649922323,12db9728705d3f5cd5e61e4049c4541c57a7c36b452dadc51207b45896e2070a,d9b0f8bdaa7b42b042d001e1132536eb776cd86628e43f1c98eafde3f5dbce09 +Chords1217,ChordFormer,submission,0,TRJFOEJ149E3D1F5FE,291.51049900000004,0.828668566766315,0.7907822690328417,0.7007999585261532,0.6963317056756083,0.7007999585261532,830d7e7afeaf7ad38fc2680ac1909405f5649c7f9629a4524ca9332b665ee176,254e044d2e07461d9eded68dfd589e9078fc0e573cddf476c3de4a60b0f35025 +Chords1217,ChordFormer,submission,1,TRJGCLJ149E38E44EF,325.77306100000004,0.88667876563311,0.88667876563311,0.8444082812636243,0.8444082812636243,0.8444082812636243,3f34b4058c544eab833f539b99fb0fccddc1407ac1b3d498eec1f07a66a1ea6c,d83c201b4162e918b83e44c2d4268107b527f23b0cf02ba8f29bef88994edda2 +Chords1217,ChordFormer,submission,3,TRJGRAC149E3A0A32B,257.853,0.8832218585628278,0.9062514732386135,0.7833625479374469,0.7560598630033417,0.7833625479374469,4128c0b0b54ecffdb01e51f49f86c4ff5374a34255ef994c2700ba14d927588a,d67c44035faf1140bf8d79262cb173c6075875730cf9411b8058c244b37a7da3 +Chords1217,ChordFormer,submission,4,TRJGRVH120C9841D79,171.00000000000003,0.8458170691052613,0.8766842420538381,0.8123189289120085,0.6969061409941506,0.8123189289120085,24f6d8739c8c510f931e99c406e4d77e4e613aab58198480a99c9a488c0357b4,609e2bb9e36b197f415203adced550fc45c64fb0ef7aafd5f3e1b174ecc62dfd +Chords1217,ChordFormer,submission,3,TRJGZXP149E31617D1,186.27918400000001,0.9117590154356692,0.8990545921076509,0.8990545921076509,0.6087373423323561,0.8990545921076509,df7e06222e13d1ea12ba5f9ca88ec665a7c936601b94beac113f402043084373,3c603f35c0664df65a5ea78d2d9e43eb66c8e0ecd3933c7014018b32975ec108 +Chords1217,ChordFormer,submission,1,TRJHHAB149E366A3FE,168.489796,0.9791963623067108,0.9791963623067108,0.9791963623067108,0.9791963623067108,0.9791963623067108,d7a5141af0e86ce3cc2000f19a6179e116605d15c00974e54cdf06b89b956012,76d52b3568b3360d73615646b78ed51431fbf0b463929e8baa2eb40bfa65b1d4 +Chords1217,ChordFormer,submission,2,TRJJRFM149E315D74F,147.774694,0.9119604792549938,0.8916780713816002,0.7754816821187149,0.7510089201132099,0.7754816821187149,a38c427072f0a2d012a635f9452ee43b1ccfb3c293aa52a9fea94f89a837527a,b5c811c76b6e7ca103cf4b5493ba6a38e5b8e7260c5740abaccc802843762717 +Chords1217,ChordFormer,submission,3,TRJJUQS149E3EA9ED0,138.24,0.9593919926866324,0.9593919926866324,0.7279063171368639,0.7279063171368639,0.7279063171368639,4887156c198e56e0281fb7dd978fd544467e43bc24dec8064a6421629e748d20,e9bb5a44c38410174c5a7a1f5a596ceca2de1b2567bb7dd3e71c04e6ac24eb42 +Chords1217,ChordFormer,submission,4,TRJJVZL149E3829FA4,220.49124700000002,0.8394638677607021,0.828864819855889,0.5811292373860859,0.5917041102951368,0.5811292373860859,9b640597efe4189a8cbdc9a29277e3d6e0062b819ff3075979ea07915638bd23,72cb28facf471f85f5eb44bc2b55e082cf9e25843fdb75cb234a56e122bd2ed5 +Chords1217,ChordFormer,submission,4,TRJKHWM149E3AC8A0C,143.07594100000003,0.9201206993214885,0.9201206993214885,0.9201206993214885,0.9201206993214885,0.9201206993214885,4ecc6c096953707db19cd6cf81d8775846e3ff19e7cca39968e1220f455e617c,8756241f0a3067d2526057a3dc1248ee25f6ba5e76a03d0a75ac15b1bf4284fa +Chords1217,ChordFormer,submission,4,TRJKXRV149E3409224,166.76712,0.9358094894305306,0.9394496789805455,0.701442289724975,0.6987243337235782,0.701442289724975,58b9140686ed2433c01288b214d483d67c5863377539852b237563458a3fa87b,af42cd405f6970331dbd40da0048763292ed2938092be04d42b3e17ee0d3199b +Chords1217,ChordFormer,submission,2,TRJLXYR127F98F0A8E,282.00000000000006,0.8539817629148914,0.9628877592667004,0.6460827764541064,0.5642570801382965,0.6460827764541064,e54271df2acc62937831d2f5640012ad6a0fe79604d894afbd88b0bb95438283,6131dc962351a75f9cba158ff9708d90ed14165dd5f5f1202980f67d7e6e8fa8 +Chords1217,ChordFormer,submission,0,TRJMAJM149E3BAFE12,217.413,0.7306091722896075,0.7421792041897489,0.45805082705746125,0.37083886647532666,0.45805082705746125,b897b6814587827f71dba9d53818199454d6835a6d7d650866c34b74d81a7762,a303837bdb15d3ca8d0b6fb84317c92d45b24f38f9057d459a0f5d460802a0fd +Chords1217,ChordFormer,submission,2,TRJMBYA149E3B410F2,247.29945600000002,0.9186773851738692,0.9290335127825803,0.9290335127825803,0.7665792597578546,0.9290335127825803,96bee2839d3a8a2230bca91ef65348c2c091f2c273d8f158fc5dbdc144cb3548,45c09d5c3f5f17041d02f2dbc07fbe608993de1ad91ffda58a719db5e5686b6e +Chords1217,ChordFormer,submission,3,TRJMEVJ149E2E77FF2,134.879615,0.8817771166754904,0.8933265009097269,0.7773135657509231,0.7672640563809452,0.7773135657509231,19861dc0ff25cf1d20bdf8382e9d4da0d87777b266f3c8226052b8daeb0eb39e,d566eef1f1493b5eb30bcde9b06e2d7bdfc16ac4b6f99910b93c8666b1fe40e4 +Chords1217,ChordFormer,submission,2,TRJMVAT149E3794AF4,155.898774999,0.9598644122441604,0.9581919540325784,0.923747014949209,0.8894375606215583,0.923747014949209,ae616daf8b1db127059eb12516b826093473f7745cd81a183798da7fe18c2389,ed17f351773201114579a8cb59f00a5bdd02118f09e8ba705f967dd3cd06d883 +Chords1217,ChordFormer,submission,4,TRJNGIY149E3AD459C,138.370612,0.9885655342262997,0.9885655342262997,0.6386394620773951,0.6386394620773951,0.6386394620773951,8635c7c7eba79a04d3a12514be3b24e00a62c72c73e07db218a32d9a9902d57e,731fc0ef9b258adaaad9579cda89a56d037170fa5963015397101c975e764a9a +Chords1217,ChordFormer,submission,1,TRJOADO149E3259BD0,158.040817,0.7022132312186143,0.7826747857817693,0.6640210454766355,0.469607892440848,0.6640210454766355,0c3c51fa12fb3ae49b1ae087e4ea103ed0688bfdd62819179802bea8f59c172d,91d50c2f1013f19b6fcf4778c5991997619f3f2b85c74164b06f89aa78aa680d +Chords1217,ChordFormer,submission,1,TRJONLD149E3EEB926,163.709388,0.8839349945709903,0.9003716876342618,0.3217109888993963,0.29917280471416885,0.3217109888993963,61207c916d8515e8f496ad4147fb0dbedf3ff6cca7c3ae967fd29eddb660b587,afeb8d8b86c7572e14d7ac6d0f91af6a11e283c5c76eadc0f15bcd70e33f8bb3 +Chords1217,ChordFormer,submission,4,TRJPQPW149E363D151,147.173878,0.9409155870445978,0.9323073247548038,0.801969167934932,0.7602384393105412,0.801969167934932,de265d032633286f897bd6310e104385c85fa32fdef13abc1b42de4604c63d13,9a7985328599b5cb214781ec109085f1e03d2d2950c1ba1ee8d6948c96524f0f +Chords1217,ChordFormer,submission,0,TRJQAOT149E3E32ED1,155.11510200000004,0.8690102214160935,0.8235281296987852,0.6067902477917241,0.5861648030505758,0.6067902477917241,88aa687a633dd7e89dc7b85b29563329ebb83381bca2290ced58e3ab6a44518d,5568d021d2e35efc36406f34079c7f86bd73847efa9fbaf02182ad4e71815b5a +Chords1217,ChordFormer,submission,3,TRJUASP149E37D8D25,183.771429,0.83520172757649,0.8951050036723027,0.8513448765594757,0.7943701674649342,0.8513448765594757,9ded05167eb75e75553f10401a593a66c1aecf96a9373f4a1401b6e5e06a1971,a0b4aa86abb68dce5a1c194b542ba07d401f3fb43102e10acc5b21a0f0610cf5 +Chords1217,ChordFormer,submission,1,TRJUBRC149E336F126,186.20081600000003,0.9432991379318122,0.9432991379318122,0.9432991379318122,0.9432991379318122,0.9432991379318122,2af9022831a24075f51daf8eb9ed1bc8780644eef0d7858d832486a1af9f67ec,73d7e02f8dbd94259708df2eea92abf46d97461d443240eaa1214c377184edd8 +Chords1217,ChordFormer,submission,3,TRJULXJ149E35AC5DA,177.266939,0.8401614393871838,0.9829710408902059,0.9829710408902059,0.8349514473762087,0.9829710408902059,794423e83914e15456f0b21c2de5e0b3e2f86c08fbec89a908e66455bec375f9,d90130dadf5a5e9f4450acd2ba12ad5aacea8dad90d9866f9510c064cb210997 +Chords1217,ChordFormer,submission,4,TRJXFNV149E3EDE11F,290.017234,0.7309841037274329,0.7342896724552586,0.49271172515335493,0.3899270220541451,0.49271172515335493,bb6e02233d71c98eaa2b73a96a436cd4ad66d3bfc6e3ed5ace637eb9246275d2,d7cb48ba1cf95929919e38eb02eabcd3909aafe67a1b21e8ecce8c4a8bb43dab +Chords1217,ChordFormer,submission,0,TRJYIND149E373D07C,260.597551,0.9209722270375459,0.9299762178059142,0.9036379961100882,0.8796142213362564,0.9036379961100882,4e225b69508ae84a0ae1ed2d3df229de0e858faaaa5e7032ddf894b63f78bc3a,9b4f0ebec8f427133703526f720536acb4cd21b7733d92f7f839dfed609c98d3 +Chords1217,ChordFormer,submission,3,TRJYKUB149E38EF744,246.308572,0.9425953840534653,0.95001611125674,0.95001611125674,0.9370939272994552,0.95001611125674,53d9c99f90544f4824bf867f900f673302a5cb357ddd8b392e08c45e4b9abcaa,aafb29704797cdd0ecb3906c23b05a3401dd6863a2db0e0ba8e381212bb9f341 +Chords1217,ChordFormer,submission,3,TRJYRLE149E34E8993,170.81469400000003,0.9756051255637292,0.8710829261036437,0.7047790727915387,0.6895460389607931,0.7047790727915387,ff5714738f799d557c67361b857d8c9eb90b6f9bb4220cb5222ac344a00ae10f,c7fd2c3b88e85b311a8645c9fe9eeaceff174cde55fa38212aebf33390420ff6 +Chords1217,ChordFormer,submission,0,TRJYYCU149E3A64F41,280.398367,0.9327270003430506,0.8906689442686223,0.8352016373244207,0.42890544142148984,0.8352016373244207,736539944556ad04ea46699cd1c1d242d3f6840d5e697b4dceddbb80be27970e,5f11ff23e0c41afcb94d4a9345a757668a73fa8b78f93ee8845db32c9e27af35 +Chords1217,ChordFormer,submission,3,TRKALMH149E39EC208,139.075919,0.9648069831269654,0.9354350678926677,0.5628503675176149,0.5628503675176149,0.5628503675176149,9c6869df32c1884036d186f947bd162642725036e038029cc7cf6d583852acef,af877fea400254a4cc8d4140b29b965fbd21557fe66ddf9f211d12f3e94aac69 +Chords1217,ChordFormer,submission,2,TRKAOWL149E3B47A5C,138.738345,0.7326943688855438,0.7248545287750108,0.5929019909593622,0.5885942335336345,0.5929019909593622,e824659deb39302c19dbec3b96c33f268b052dbf487acfa6f1f41a068407fbfd,d8dfd7e2319a393495e6e2949808b978d750cab9f7354f5d44f53bca430104bf +Chords1217,ChordFormer,submission,1,TRKBBXU149E348D0C1,217.48000000000002,0.6732122511541299,0.9050858916082436,0.8273924571525781,0.5271771748988421,0.8273924571525781,9735b6a6d94a0b2d92072fec3983ad69621fdbccead09f1e3eda9ac4f9a2eeef,b066a175cea9c783a398d162935a8cd7a0d8584500bd4e60c7f1432cb003868c +Chords1217,ChordFormer,submission,1,TRKBIXR149E3299CEA,158.988707999,0.8531746492326551,0.887665417318527,0.8754564929419082,0.6078273473271301,0.8754564929419082,d5d1d9fd33dc06df7d4f85a304a21d924c3d65a4f9e3d9d3b73c9f51532b0c1f,cd8eddd5518627dbc4854c5aa7a451020eabed096e457ed7cb1e3d9933fb3924 +Chords1217,ChordFormer,submission,1,TRKBURM149E3691669,220.421224,0.8599907855107456,0.9604023864069731,0.885689331323936,0.7945649485187505,0.885689331323936,c1dd23dce2499391c219c7179d5e2aa37d758b461d6ee295cc0427453ded7bc1,b74a4791fdd88fb0d1974660988ef1de2235bf2b170767e72bac4bc03dccea51 +Chords1217,ChordFormer,submission,3,TRKCBKD149E3C4EEAC,288.853,0.9164605323503654,0.9264610383226912,0.8440150509716895,0.8176268883930583,0.8440150509716895,2eb937e2d3d1e5088f27cf64ac8c10b5d109e4e07097f4f91407e35c88cbca2a,f801be3cd93798456d155a3f93216b41c34d97ea85dee50383f56486f1226a70 +Chords1217,ChordFormer,submission,2,TRKCOQV149E388A0F3,196.503287999,0.7222992027834291,0.7038141026285147,0.7038141026285147,0.344975425771731,0.7038141026285147,446b1c4bfaaf34dfd15ae4b56413d1ba10407b34d7fc20830f761bd2b0aeac9d,c3e7f5178c912acf292125e0149f868a03d97d9b4dbf382294750d15a8353061 +Chords1217,ChordFormer,submission,0,TRKCXCG149E3DF10FF,235.07591800000003,0.8700322213013754,0.8858578058140559,0.7868979328499972,0.7600162520773395,0.7868979328499972,3c35182fbf6398080fb2b2314d49d63232bbe152ce6dec10d99d6cb6f949a36c,09a9b814db6921a88a7c0307a2348672f417a8d6924a4d63d84914105e5b7a49 +Chords1217,ChordFormer,submission,0,TRKDCAQ149E396ED23,301.008979,0.6411342914823823,0.636569607853438,0.6046492566316807,0.48985481176626366,0.6046492566316807,44418a3ef97dfa1860bfe8f549d2936c868dd7903445ef71d305e178cf443aa7,e9e9079702e9e38c97b04385b1a53408704ea9e857ea326ef90bcc3c9cf184cc +Chords1217,ChordFormer,submission,3,TRKDDGW149E3C8EB3B,238.236735,0.6712671348816129,0.7547757718429853,0.7230857185535078,0.4718496236149312,0.7230857185535078,689f7bddb4846b504f76924d2c6ff3c833c4f84cf45db71a9dd20869ab45d6da,2c9c52c610c773857b71f5a9cb148b3b18fcb6c13800328e684130e6be98f6c3 +Chords1217,ChordFormer,submission,4,TRKDRGR149E3441958,153.887347,0.9670650515925772,0.9670650515925772,0.9206795448621242,0.9206795448621242,0.9206795448621242,a6bdeb25cc7f6ee649320a9dd7a7da7458abb1a20545f7f79793f1207d54db2f,473212df58002f17cc276290ebd06ab12098af4fec66f36c8cdce526225a31cc +Chords1217,ChordFormer,submission,3,TRKDWGD149E3947BE7,127.686531,0.8932865908621174,0.8932865908621174,0.7862729105011739,0.7225017355902642,0.7862729105011739,8dff752910767a9c7ff67de7fb67e32864dc90b1f2ca76868bd269bc0379e020,8aca01bca79e1c08426349a77c548a0f0d56b9dcf9e1898339d1f234c5058528 +Chords1217,ChordFormer,submission,1,TRKEENP149E3DB9D38,276.76734700000003,0.9721548361772603,0.9818975677186098,0.9818975677186098,0.9548818404072787,0.9818975677186098,d1c10186c4265828ab42c5a0077fd998cadc5c47c94e4d3502f57cefcef0a718,a0b38d1c92b4851476a017ead1b6c5857d24d3f7a4475ec1638d2edbe1c673be +Chords1217,ChordFormer,submission,1,TRKEFWN149E3A93843,167.52326599900002,0.8063006690593435,0.8148768763795147,0.811248780728179,0.7748213407132052,0.811248780728179,bd4c156acf69f8903ccfc80ae2ea7906f50a34e8c8517b5605345caff15e790d,7d59cb01fb20a3e0831df0991d304f1beb1654dfbeea7bacaf5d2a4618bbc1d0 +Chords1217,ChordFormer,submission,1,TRKEOPJ149E356916C,166.373877,0.818708703782864,0.8447668735799598,0.7034352329031643,0.6522494970349209,0.7034352329031643,96ea1397b988e1a3067c0c03a9dc3c08ba085e146fa3290eb11bd6b6f0ea55dd,22459eb909ba4b47f7727546bce2a4aa3abad7174fea26ad0e7e60bef2a9078b +Chords1217,ChordFormer,submission,2,TRKFJBM149E332692F,171.93795900000003,0.8666865037754684,0.2825130753180562,0.24507829790214458,0.2327690878603477,0.24507829790214458,b51cbe84b3f7387f7440470f288cfc99f198b9f2102d82fd856be7520e149b38,0c9a5c72fab7793158c1e01061a363f2a778bf1db792aa0f96e4766c61515d81 +Chords1217,ChordFormer,submission,2,TRKGQXJ149E3B69A44,241.136326,0.9012603774928545,0.6365360224320449,0.6162544184881678,0.2876377486691904,0.6162544184881678,79f2b646cedbe906e358c89c287825127afe6b3182ac852fca30d8f1bc77253b,666034e71cc1c575b2989bf576fe6975edb11fc1d3b10410996f899deba63f98 +Chords1217,ChordFormer,submission,4,TRKINMI127FA68F716,267.0,0.8042021367752819,0.8542345550019445,0.5971737827257239,0.37392696204119896,0.5971737827257239,80ef4238ef4fedff90c776b4829f34b3cd7de028a8e00bb36d460e0db2cd3765,420a416543bc8ddf5194b4fc8bdedee5688a9d2a3aacd19d02117086241a0e03 +Chords1217,ChordFormer,submission,1,TRKIVZQ149E2C78F90,228.83845800000003,0.889280961244721,0.8600881378513736,0.8600881378513736,0.8600881378513736,0.8600881378513736,c5cf2d73371b0a1a7619188a2195e220f614345b6651bfd72e6c4f1c4534d930,e4d4736805b8bfef206621661f73e7a6bee057406d8973aefac56e1e362cfb5b +Chords1217,ChordFormer,submission,2,TRKJZYI149E32E05B4,264.93387700000005,0.9493278258219882,0.731726085758299,0.7031783456682402,0.6946990620380342,0.7031783456682402,52adbc95ad548161cba2f6455e5858e80aa9a394b62c85b53118e52b57de348d,33d534a56361d7453d090ded89cb5b43572232e1394592d0b7191da0a2a4df20 +Chords1217,ChordFormer,submission,1,TRKKAPZ149E371FC05,180.11428600000002,0.9877286734601373,0.9877286734601373,0.8164459239396475,0.8164459239396475,0.8164459239396475,47d8a14741f0c001cfad92567afb553aa334957428ffde6c7660345e6571b5c2,bcaacd3705d0054a7c7f52ecdea73497b87a002992ed530e7db511925b9eb924 +Chords1217,ChordFormer,submission,4,TRKKPEH149E2E45250,164.31020400000003,0.9142787291434626,0.9142787291434626,0.7467381405405411,0.7467381405405411,0.7467381405405411,006cae6ea409fcd4539ca4abaa448e71db3d628224166ee840d3bbc81064e386,10c893bd832e20362bb1fa168814ba3a62c59d03fc1d94fbab51e8a1821ac8a0 +Chords1217,ChordFormer,submission,3,TRKLGWQ149E3E580CD,262.147,0.9060825706988813,0.8712197160982184,0.6543396291941965,0.6471259608006188,0.6543396291941965,45e2bc4a45edc149cb49f7cbffb9fc30f5df2eef10382e425c3a1738452f9e04,3ad5fe6aa9a971f20259dfbf6508e9534fd828efdbf548d86a88239347d7f979 +Chords1217,ChordFormer,submission,0,TRKLPCM149E33E7EB9,141.270204,0.8290906405500764,0.8290906405500764,0.8290906405500764,0.8290906405500764,0.8290906405500764,b23a1196e54baae697d7bf973ac27af6a0fc309d47822193eff235935e6fddc6,9eeb921e6b150c54e1a42d07b031060ce78e13776dac8caf0811e7b7eb329e5a +Chords1217,ChordFormer,submission,3,TRKLPQE149E36D47A5,209.214693,0.9483467687950587,0.9608020469295894,0.893882052465574,0.8138265779545427,0.893882052465574,ab1fed5111d43f6f898cf51290f614e312a075d41f3df5207643c4a75ec6202e,b147256bc51b2cb0a7737586628826c10e3e61920e4b3582d10dafcb2a5a3e56 +Chords1217,ChordFormer,submission,0,TRKLVMG149E34C9E41,144.052245,0.9594714288902618,0.9594714288902618,0.612484647970578,0.5889163764230125,0.612484647970578,78e8dda11bcd96514fbc8097ce141c039506241e864da6aad425901ccf38f05f,768b23556ff7b975a7f089888c1be5c29b15505b22610bfec29bbf5dc00ae319 +Chords1217,ChordFormer,submission,4,TRKLWGI149E3565FD1,146.31183699900004,0.8241108196244171,0.7590223114463898,0.42268363372610107,0.25133610323853284,0.42268363372610107,4db9eaa1e38cffcf0761eafa5a4aba3bddfbd084190a1395b348161f989f4aaf,94ae55dc9a043344856e967beff6d68829469bc263b38d6ed56f87df25c54125 +Chords1217,ChordFormer,submission,3,TRKLZRT149E3942FFF,141.44061200000002,0.9170105951606031,0.9170105951606031,0.9170105951606031,0.9170105951606031,0.9170105951606031,9b649369657bc7b1da1ec0d9cd5e98dcf8081c5fbb8012b06898a584f5266e2b,87a71ecdfbd019cdcc741df8e4923db1966d62f9c5191abf487bf8144c1b91c0 +Chords1217,ChordFormer,submission,0,TRKMVZV149E3823C06,216.48256200000003,0.8791677926649827,0.8871153672707444,0.8297756148591272,0.7465107307904102,0.8297756148591272,3bc0e8dc86cc8274eaa56c7fecb02606b4f0db102ea8ac2bc9a2438d2a54ffa6,8e129ffb2e14a60d542e40d6af23c08b39df6910b0bc03b9d648f0f3e493af79 +Chords1217,ChordFormer,submission,1,TRKNDJC149E39779D7,163.827,0.8400551591068613,0.8400551591068613,0.8400551591068613,0.8400551591068613,0.8400551591068613,01fb6127321e1dcccb1cbebfe42c96c4d17e031d018caf4345dc685c34d9af00,9c9a1eaf59e07a6173f5dc9114fe067fbfe477b533c52d72dd2b2df1f3f15819 +Chords1217,ChordFormer,submission,3,TRKNQAL127F99CC717,298.0,0.8056405058557032,0.7916999117214749,0.6223152612147642,0.6223152612147642,0.6223152612147642,c16d211f95672a2ba7e7631fe61306f0e09271d5b4e209c9f205d1bd98cf38d8,af907b13035e712d7f61fd2d46ba50aedbb51879dddb4046a29fb7fb70145253 +Chords1217,ChordFormer,submission,0,TRKNVIM149E39B99FF,320.000476,0.7277079337031978,0.7465745484660173,0.7218147699850661,0.6857007005952069,0.7218147699850661,173e77bf0cc332f5778878d8608a9dc501dc1f5f67f056d9fb3f9391a7c07261,e47b429dd9acfc8bc84fbc19f08567e3c406dc5eeaa4568028e463bdbd98d8b4 +Chords1217,ChordFormer,submission,0,TRKNYUQ149E33EFA7C,210.493,0.9625989361736502,0.9607691444710229,0.9536283583137357,0.8996072528872701,0.9536283583137357,60bdbdd8827845dcd512726534254232efb289a43d83dd82f77ec73190df2061,71ae95d6b745089823be4f4fb8f58cfd150e4013e69a8e08704a3ed76366293e +Chords1217,ChordFormer,submission,1,TRKPDBD149E3D82E7A,194.748141,0.7116945481086765,0.912124689941315,0.912124689941315,0.7075214740612071,0.912124689941315,edeb5db018b7de648dc836ad3c4acda0681c4e174df4bc6e4fac78853fb3e69e,af685db0c22512d7e538c2afbc520c1f6af5087d754364a865cb5db94d862543 +Chords1217,ChordFormer,submission,0,TRKPDVF149E3B98AF2,279.992631,0.9017635452984449,0.863317138660693,0.8624661127635151,0.8624661127635151,0.8624661127635151,5e1d7603967957a84800212f82381101e77624bc5b5531d8695512631ba55357,3cbbcc410ac98070a180aded91c1c1c85f48a18206e5406bb23b398e0e9f7e61 +Chords1217,ChordFormer,submission,4,TRKPLDT149E328A514,166.19102,0.9819100128935966,0.9063179369258338,0.9063179369258338,0.9063179369258338,0.9063179369258338,a0dda2375c3a9c8c87c3f769e25cf7a06da334289a49ae79e0ce539daab96b38,3c3af96448481c99ed157210400a10a5fd7f2ab1e4c79a01c1605f7544a25a95 +Chords1217,ChordFormer,submission,0,TRKPVZE127FADB1A21,218.0,0.8673001830550432,0.8646373442201808,0.8646373442201808,0.8646373442201808,0.8646373442201808,976525fb0f45613ed44b8a6ee3c206b4297e78c9a88bc3a4ee446a9bcfcc9a15,603fda4035946256fba045b076b8a610f5a97742aa2524bd12899469f123232a +Chords1217,ChordFormer,submission,2,TRKPXZR149E37A7F22,243.304626,0.9199244319588078,0.9174091561292395,0.8691500820333773,0.8691500820333773,0.8691500820333773,a6a9978df60f4e4480aa225c7c28d3fe51300b27c3b4bcc64ef19346e59d3b9f,675c0bfaf6c45ef224ea6ef3dc7c2433bc9166d29f7eb568a07f45817f6d12a7 +Chords1217,ChordFormer,submission,2,TRKPZBM149E34F53AF,182.28244899999999,0.9063107284673352,0.9090609285546603,0.9090609285546603,0.8817253479516278,0.9090609285546603,3571185ccda613320274fe9867ccee7452312acb9198b31e097afe25d0fa283c,8a424394019b20593b34d590773ac0930d960cebbf26e873ca41aac387b0ed2b +Chords1217,ChordFormer,submission,4,TRKQLGR149E3EE2ED8,227.422041,0.7797837737867366,0.8027600927397924,0.7257367688837562,0.6989065127741758,0.7257367688837562,f74daebb57caf797912202e6cdee19fceedb10407425d27c6643f3745aa80b40,657d62773c7348f8d6755045eaf4702afa048c0e1597a3f83585553346582429 +Chords1217,ChordFormer,submission,4,TRKRCNM149E3573E40,158.850612,0.88907106260944,0.88907106260944,0.8770588821905192,0.8770588821905192,0.8770588821905192,82737ef7907d5a9182063cf038418837ce2412ce42b97ed631b832ac903ae221,b013691895446c1d5f7d635c41333f5782a25bc2720db3965909b209742cbc6d +Chords1217,ChordFormer,submission,4,TRKRKII149E2DEBA69,278.308572,0.8839293853119256,0.9275611459239754,0.9246250201704234,0.8787442440723665,0.9246250201704234,55b6ff05eeb8d958beb33f3520425a8ec85dacfc45fb9e11386528495f821321,92445cdee97ae6dd5ce5f5443364e5f238ce14b4e4d01c55418dde39841367ef +Chords1217,ChordFormer,submission,4,TRKRPZT127FA28B9CD,263.00000000000006,0.925610701581743,0.9396046744724144,0.7401136173781904,0.6178429080190074,0.7401136173781904,805c3042bd08ff0279b2eef58fe2189d05664bb9ca70bf1185e62f07666a8640,045965d102bb882ec8e852ceb1973ef352966011fb82ffee268f0fbff4a56cde +Chords1217,ChordFormer,submission,4,TRKRSNQ149E313E6FA,155.32408200000003,0.9661144874430994,0.9661144874430994,0.5191677111215757,0.5191677111215757,0.5191677111215757,218b9f234ee94afcd985fe0fbde6539837f5c552f3e17e3145a983919aeaec6a,cde3efb0e6c04aa7cd01bf5bcc0fe355dafc58893e4ac42e450f18f6f61cdb3f +Chords1217,ChordFormer,submission,4,TRKSBPY149E343AF57,219.036734,0.9370328674139194,0.9344663723424204,0.9344663723424204,0.8978698428228021,0.9344663723424204,5eee9107e9405c2c6b981291717fb4ccc33a21ae9167771bb75425896aec0b31,6db60040f529af5da24b9beabaa761f6d1e6c5061a778944367e5587984f5579 +Chords1217,ChordFormer,submission,4,TRKSQJL149E351A4E3,211.487347,0.8690072319503845,0.9105980009240273,0.6196133797920922,0.5627961006433178,0.6196133797920922,ce4f4ce9ce18734e2125da589c203d6fb1082a0004b2705e68450be7f3151b27,460000f14b28a084a6745a1e87b7b0d731cf2ca5ee177107a19b30638615cdea +Chords1217,ChordFormer,submission,2,TRKSVQD127F954FBD0,140.0,0.8463531746142816,0.8463531746142816,0.6519249757142824,0.6519249757142824,0.6519249757142824,460f0edef0a40340106d17a675cbcebe7fa2115289757f40201974db24d68d4c,f11e67274e1ac07a6a6dbb404380301a319453364226909ff1aff03e1bfdddfb +Chords1217,ChordFormer,submission,2,TRKTKGU149E39FEC67,132.101225,0.8934607922750151,0.8934607922750151,0.8934607922750151,0.8934607922750151,0.8934607922750151,9ea7378770b679dc9f4421542e4d06b047ed62ae32efe39397a6871a6d166647,757bef0494a6cd7a3ce6da63386eab0ad3c5c88fb887594bc13c95b5c8b78858 +Chords1217,ChordFormer,submission,2,TRKUASD149E3F332CD,202.57959200000002,0.9155703346416062,0.9155703346416062,0.204316301283695,0.204316301283695,0.204316301283695,0af406e804e74a7e3d639903f049dcaa75106665355c5ed53ce8a7f073e217d2,26ce45082be6e454e65620dc1579bc603b91bc461a40d8f63f4733fe79ec0ce6 +Chords1217,ChordFormer,submission,0,TRKURTJ149E3E1002E,219.271837,0.8481533267265909,0.7263671766246967,0.564422324285998,0.564422324285998,0.564422324285998,737d0cac4ae6680a159099fcc5d3e96cf56b9ef3ff3334c62fa425581bebb448,d79f4b9bf50c5a60879ead1e0b73d2459dd3cbcab9bd6db87b30d4bc0f7b405c +Chords1217,ChordFormer,submission,1,TRKVJQC149E3A19224,201.848163,0.6805494107072965,0.8419055594243872,0.8247144331281846,0.6356689491694825,0.8247144331281846,7947f7c05401da5011442b55ccb6fc5ec55b5448d84a43c7aa12e6b099d4e9ce,3c8fcc624c66ab0a2120b5bf481f5c621519b5343db039f92359020b72d4cc08 +Chords1217,ChordFormer,submission,0,TRKWIWN149E3603415,222.70700000000002,0.7730171223176638,0.7712330923444474,0.562382245449548,0.5052695402120277,0.562382245449548,5fd10ac0822bf40a8dcf2486e3416168565fc366d471ddd265e96aeeaa199512,70b0fae8b47ff9e77e361a475e3693434621a91dc02fbd20069ae679455d57e6 +Chords1217,ChordFormer,submission,0,TRKWXXF149E35BAEB8,178.886531,0.8742898282487237,0.8014620258505071,0.6744813790836798,0.38741010129488185,0.6744813790836798,5175e6a09355ce203aeb2cd09531dc7adfb2a169f1064d9bacbde9fdd6fb1b86,0b1f53cd8bd27b78c027b5bb5f3b50284893147611da190e3f2c4f7ea9ae6755 +Chords1217,ChordFormer,submission,4,TRKXMSW149E3D25BEB,188.83918400000002,0.9526780560278214,0.9544433975941811,0.9528016140840867,0.9277609975003922,0.9528016140840867,538402b151d24116a3810c31c3beaad39f206c40adb7bb74d05f24543800098f,19cce3b171a18297995c8a1097ade936da543a43adddc4f24967a8430f2ea949 +Chords1217,ChordFormer,submission,0,TRKXOTQ127FAE9049F,187.0,0.9476812058181788,0.9469602049680654,0.7010488336802938,0.691519068251335,0.7010488336802938,58f5469bf53be3a0ea18d9b1f412f6302d95d6a15d3583ef25a74080436ba637,3c400b14ee6f1070f4f2fd17a4fd2945ae87b89762dfc43f00fb2a4ac387ff02 +Chords1217,ChordFormer,submission,0,TRKXTSL149E3514462,158.27591900000002,0.765067036584383,0.7012673890027705,0.501928881695748,0.4947181012671922,0.501928881695748,7955165adb037c9dad5d7d33b37ff5ef465d36a541092817c95383eb681ddd64,d5ff12af99ae092fbb25047225fcfab6d069ab5417e176a432a29411032096ef +Chords1217,ChordFormer,submission,2,TRKYEBW149E3CB2BE6,202.605714,0.9414050647406723,0.9683255342685719,0.7948619473386491,0.745806515136094,0.7948619473386491,41ddd6b2e6eb0feb46f9b7d82fba806f98997bbb47c37156552d6f58f8f924cb,624fd37fdb77a7dbf994f7635587c976f177bed3dcf65003bcfa59bb2ac7083d +Chords1217,ChordFormer,submission,0,TRKYFZI149E32AB3CA,252.68244900000002,0.855305158305631,0.7952981793167129,0.4878915036017626,0.41125477688400836,0.4878915036017626,03b37ca3dc20c83ae33d5c38d0ea7e7dac084098e140df0311d5b098122147d0,a9cad0d4ffe557bb3b3a152073b88f34c44b67997875ef311b79818413d4ecef +Chords1217,ChordFormer,submission,3,TRKYKTY149E330C6E8,179.11542000000003,0.7772546146668962,0.8261886417403089,0.7042174952791751,0.5496718741468463,0.7042174952791751,99ee2ca877105309ac07a0387d658c35c2bdc0ec378cd27cae123d9b06f45ffb,1f8a2e075a2370ac819d79e0ad08f45dfff08d67ba0df90059520d626fb1dc20 +Chords1217,ChordFormer,submission,0,TRKYPXK127FAA23B8D,235.0,0.8823207507148876,0.8823207507148876,0.8823207507148876,0.8823207507148876,0.8823207507148876,72b90de601a1d55285f96e9ca9b977a20448ed117610d9928e3978c565fd18cd,7b02257728bf757c812131cc5cb14ed316ac53e6785f6075669aaadd76ffe362 +Chords1217,ChordFormer,submission,0,TRKYQYZ149E30C4E0D,217.37219900000002,0.82772410468645,0.792793579053777,0.7216683186795193,0.7216683186795193,0.7216683186795193,5d6ed081e4ebbae03af8b6e048704589bc9cd06c3d81fec37c38aaefcbce6ca7,2d71e58ce9f9df94ef6a2ecbc4eb0738aef664a63dbaf5cd0e2f0906ea2f41d2 +Chords1217,ChordFormer,submission,3,TRKYVLA127F8B1F259,235.0,0.7669174506680847,0.9514111227746078,0.9060597971358038,0.707524745502127,0.9060597971358038,c0e9fa085cdad1329d97d73c9cbab7d717d04706f2c252ca105747135f330ccb,91e0d232e8c8ecf846b7ee177c3929c84f55abb800e2650d320793c8d9a73f0f +Chords1217,ChordFormer,submission,1,TRKZLHS127FA301D0E,264.0,0.9409763021212099,0.916265911406638,0.8486365338603992,0.7546371796060589,0.8486365338603992,85fb29145896ef09769836cf2390a316963f40c56351edf512df398fa75664af,3aff945a411805b8cc9670ff5459a69d114c2655f9cd86421c4b87db67bbdd0b +Chords1217,ChordFormer,submission,2,TRKZUNB149E2E31D84,283.15999999999997,0.7596403994702656,0.7596403994702656,0.32494824365376596,0.32494824365376596,0.32494824365376596,8a85f9a05d4cb92426a3a40456e99ca0c610546c0e022c544d0d7ecacd0ca9ad,c815cdebab3b0bed7abe87ad5b072d3c771dcba42d419d1ccacb56506a721f3b +Chords1217,ChordFormer,submission,4,TRLBPGI149E33BDA3C,192.187,0.9539477370373657,0.9444166502044753,0.8049040252519621,0.7665732945828814,0.8049040252519621,f8f678944a6b89de20abaa793d3d079f8ad9d5d261ab94a3f28ae5dfe3b399aa,fc3677d774d31fda6ac5d585048edba0e9dd1e38350cb0532dcab7739ffc4143 +Chords1217,ChordFormer,submission,4,TRLBUYV127FA6902E5,153.00000000000003,0.7532721977712411,0.7052890193202608,0.7052890193202608,0.7052890193202608,0.7052890193202608,1cba484e7760a2507f4177ba6c5cb1f8349391c97e5b49fc34c39b81c678f72e,8a55b71cfb881a27bce6a396c794241c08e64b1a287521de39864ec38e8352ba +Chords1217,ChordFormer,submission,4,TRLBYQW149E39AA843,230.84408100000002,0.9765266463513962,0.9765266463513962,0.48864950928501416,0.48864950928501416,0.48864950928501416,f2670fbdb8d3e7a421edb1814c1bd78f6bf839d110cae1ef585dc7a8c5ca0b5e,84961e63055d5f7d8f5f17f258e7ab6673315419735c93f4bb5d30fd01ce2db9 +Chords1217,ChordFormer,submission,1,TRLBYWX149E3AF5338,186.17469400000002,0.7682864263227925,0.7820768701992504,0.7026262931134506,0.6278300640472627,0.7026262931134506,63d7735ce914413c7dca414671cb958050ba60cb3cb3e568281afd183bb55424,711c1e04a9569a15f90d9a6ec75332a9060ec7c04cedbff60b886630f0c52791 +Chords1217,ChordFormer,submission,1,TRLCPPT149E34A2FD0,125.70122500000001,0.9661244685801584,0.9661244685801584,0.9562455509164681,0.9562455509164681,0.9562455509164681,f9f0dd035c65096827300e019d538212d2bcdf9d3422e4e3a6be7b68851aa60c,2dedc13e995ff13c08e17367f451f45fee3275cac4eb796c8f959196cf72b046 +Chords1217,ChordFormer,submission,0,TRLDQHJ149E387F2FD,218.435918,0.9594465824205711,0.9622731028916905,0.8309118392339854,0.738005281288035,0.8309118392339854,bdf00e02bde578242616c704da9d6d9bf1320430227504a8df30fb16b249cc0a,1b72d7f6e03c7ab82f7ee8f7cc6677515d9f85758ad3112e6fdb3e9fd42f035e +Chords1217,ChordFormer,submission,3,TRLFVXR149E3456EFD,227.813878,0.7423230647739536,0.7014752544662776,0.1716083123566327,0.1716083123566327,0.1716083123566327,4a9d8a37ca109867bd48eeab1f4882ab059495dd7126971a43e1d48538611aa6,9effa69671f91ba8493cd5ba39773503e9ae299fdefee19fae227d8ebec598e9 +Chords1217,ChordFormer,submission,2,TRLGLWL149E3877084,347.820408,0.900142561447976,0.8828936272390455,0.8330958985877,0.7119535833360306,0.8330958985877,409b40395b6a2e6c30cf259df3cf3fbd850ea929a0e5df4cf8a4fd3ac5b49257,cf50779b970c3e0a317c356ee06c2df62cc5054832fcb9f633472f03e5c36c5e +Chords1217,ChordFormer,submission,2,TRLHBHG149E361B8F2,223.24244900000002,0.7429486548366967,0.7337333962499605,0.35365023031285947,0.29348186134618093,0.35365023031285947,9accd21b81732ed90cd19bc4a01ac51d4faf3f011c206b697379be751b6e1282,0fc986be12ce2f84ef47ba0f33b68b0ac951f6f9f9d5015b03283f06dd4e9e09 +Chords1217,ChordFormer,submission,0,TRLHBYQ149E3EFAAAF,216.907,0.6215766400623289,0.5753268872558834,0.5753268872558834,0.5291457292756789,0.5753268872558834,af9adc11b742fa3cc4841dea691d82198f65d7d0093bc335dddde703a165666e,115e6a0123acfc3e2f8d167946ab3f80b249b20556a7d55134d99557bace012a +Chords1217,ChordFormer,submission,0,TRLHHRI149E36C96B2,231.209796,0.9557997627098809,0.9557997627098809,0.9188573120967592,0.9188573120967592,0.9188573120967592,ed232c049cb5a59ee53771564eb478e1eaad54ba7a27a02f58de8b903b11cd2b,9751b82e6589236c1d6c89a008aef4dcba3cfcaea0d0caba710cb0831d43d36f +Chords1217,ChordFormer,submission,1,TRLHPPM149E3A84557,255.558821,0.8806023717764766,0.8806023717764766,0.8672608349723139,0.8672608349723139,0.8672608349723139,d906e020f7a54fcfd01e4067acc3ac0d5decc96d9468555e0a0f47a6c25e1929,e05b6cb27371fa52c1470aec54813adcf4247a09c8d9528343e9e02fc47b169c +Chords1217,ChordFormer,submission,1,TRLIBKW149E3E8F7FF,188.809841,0.9613610915863258,0.9613610915863258,0.871793880177043,0.871793880177043,0.871793880177043,14d79d13ebb443b6bb363453ca3d5d5574a510fec83bad94f677788754913b3d,88179a6bf464f4258fcb010fb547e0472b4eabadbde5d9870e7c73084b0908d7 +Chords1217,ChordFormer,submission,3,TRLIGDZ149E3804B76,111.04653099900001,0.9069727674870545,0.9069727674870545,0.7809895500723116,0.7809895500723116,0.7809895500723116,1bfe201f3b62e55778686556a9cf692700c27a334998ab4f9690f59874f00551,9d9f2fedb1ae08f787a7421ba38ebe72c400446ee70d03d3b190249557c42550 +Chords1217,ChordFormer,submission,0,TRLIRNS149E2E4A8F5,264.33306100000004,0.7598951198616829,0.9552261265631359,0.9552261265631359,0.7585057507505674,0.9552261265631359,be41f6077c81e2babc0b8cdff88d97f1115006d8b186b5f4459cb4ed2d7def05,801191e395a37739b4dde6e572902e89ec8a033d15f1d0fee6341ee97acb9bc8 +Chords1217,ChordFormer,submission,4,TRLJHLI149E33DA88A,147.382857,0.9586498844434819,0.9586139838278918,0.9372049945844756,0.9270178984113479,0.9372049945844756,390b53d1d233093272e5f705cf0f27c0aa3c79175a92ed42e72b74524d02ed5b,23278b0df6b4ed1d51ef9a4eceaf4b0a1f908fc8857e23fc5624c222b5e3fc94 +Chords1217,ChordFormer,submission,1,TRLKBIY149E385DB7A,165.773061,0.9687845742379088,0.9652720751111661,0.7395844054058938,0.7395844054058938,0.7395844054058938,e5a61adb143caae8f9fdbb4bc22eda8e2e57a1304d38b3c3389596ed823660de,023327dc4b05dd354adaf83a1e30153ba5a6115fce84ca0b41f69aa98a37ddd5 +Chords1217,ChordFormer,submission,2,TRLKFFB149E3559EDC,263.235919,0.8632013202233292,0.8632013202233292,0.8632013202233292,0.8632013202233292,0.8632013202233292,4331dec759239b6ddb0c2c2a284ec954c5b2eebae0ae27e295991c23c20ac264,a40c891fb1d01db8efdfb085ab48eb42ccc46a3dcc1289ae6eb4fcd63eeb9d77 +Chords1217,ChordFormer,submission,2,TRLLOYJ149E39D0872,179.435102,0.8497544116702433,0.9055701390766779,0.8753046454420718,0.814565718161434,0.8753046454420718,2f3ce10352a51ff6d5ca5df16e15622d96706da6d415f0416af95a6371412dfe,63dea8cc849568e21e8e729c790ed2224b655fbe564a8e830fa139c81a9fb50d +Chords1217,ChordFormer,submission,2,TRLLTGA149E3BC27EE,201.187,0.9528551673965024,0.9528551673965024,0.7258094862342005,0.7258094862342005,0.7258094862342005,bfe9694a6dd7061754daecf51fd44559255cd6f769de2e31c006d4d06f6d4433,1ede6e443a707446237e10cba697d8435d805b0ba60272737b6c62ff4a096cac +Chords1217,ChordFormer,submission,3,TRLMCKC149E3133C1D,232.05300000000003,0.9287051995233875,0.9159477965202731,0.7336272303570168,0.7087543131482921,0.7336272303570168,37a96fcae231961408b722c5a0d583ff7734d014fb36e500a104d6301979ea47,bf1571627620ceb6e8cb91f635bebae331db95f0e6b9bb155e7f45344d50a776 +Chords1217,ChordFormer,submission,2,TRLMIXE149E3898756,243.507,0.9591543774347346,0.9366014707520522,0.7234725211274933,0.6849141783316286,0.7234725211274933,7905ad180c8e0fae8f700f297018e095bfeb729ee3c61c9886335fa5467be126,d167df2e2f98a8a20f1e4f1e0618add21b22615d9880209714e79e34cd34ff74 +Chords1217,ChordFormer,submission,4,TRLMOYB127F8B4D8B9,338.0,0.8626870815384529,0.8723327632450089,0.7103528659761016,0.6951097022573897,0.7103528659761016,fe214b1b8b38b2483a825a84fc0a17bd0440a289d8fc6f6bc9b4d22e70da353d,cbe02b72931dc4ea895326b25ef421f235f32d41757d04ecebea3023a32b18e2 +Chords1217,ChordFormer,submission,3,TRLNINW149E2E6FB20,243.330612,0.9034048032970106,0.9034048032970106,0.8624096719684498,0.8424260530647953,0.8624096719684498,846080561d707c440633a83f86b6cf71953a78ce71c86e336149304a443b1997,f8e3af111c88b61e62202989d31ea4f76a7b322e5f60d3f8478db39c527309db +Chords1217,ChordFormer,submission,2,TRLNVUM149E362C57F,137.848163,0.9719493179898242,0.9719493179898242,0.8705017052837936,0.6568379938585038,0.8705017052837936,fc6536d2bc53a12454b73e6b6db5739415199e92011d1ac3bddd6643aa4a4b96,fdae9ec19b7d9f310f79385ccea1a8fd5839a4d8de38a063310a86ec6f621cb6 +Chords1217,ChordFormer,submission,0,TRLONQT149E3DD4C0E,185.573878,0.8913251982156698,0.9067580537131362,0.6825841824873331,0.6486343310506255,0.6825841824873331,b7c7fc3c59b7f747d27d66ad58f7d8ee74da89934a16c8fef5524290a7a08567,2e4a6851841608a5f8029ba1b556cfa42a4f2e44db167c62427eb9fe77f1eee8 +Chords1217,ChordFormer,submission,0,TRLPAOL149E316DA9F,164.78040800000002,0.954720235527029,0.8532918235340208,0.8532918235340208,0.8532918235340208,0.8532918235340208,120aefe6aca79ee909aaad94db1a9655aed3d1b14a1bb4d9a57122fd12960f9d,2f25cf6be6cb5ef740e0b1f42c598ed956a9c287d14bb304c555b094a73afa97 +Chords1217,ChordFormer,submission,2,TRLQALV149E387368F,278.047346998,0.7893598299881599,0.7595805316743323,0.2471985242921579,0.0927180996953928,0.2471985242921579,e515cdbb2d23d4f1b0814bffd17c33b6af98162207864bd7ecc3e73fc04d5b36,c8487c32e9e09d21031dfa47a526e6fc58890e89f2e6419e74dd1f927764d149 +Chords1217,ChordFormer,submission,2,TRLQMKN149E34BB767,175.827,0.9085693475802893,0.8985213085817284,0.7731284953107294,0.7731284953107294,0.7731284953107294,f5515c9bb299779c54cfd82dac4a68da0e8a801dedb52ddcb9dd67e2e04daf63,4c9cf8ddb688f9ef59ea48697ce47b4b8a7fc580f91c51e227c2d0d56fd11f20 +Chords1217,ChordFormer,submission,1,TRLQMRV149E2E2E832,350.19755100000003,0.8695282267836352,0.8664260008797289,0.8384510794274092,0.6542198347726342,0.8384510794274092,e7b20a1719b62278a4dba08fe50dab68bee67d354097f0d41293cbe39e2d0851,8f7db14ee112081539ecb013eb628bca494ffd1a0af8140096ec3d07873206c7 +Chords1217,ChordFormer,submission,3,TRLRZDX127F8DD65E5,213.00000000000003,0.9760794396056329,0.9760794396056329,0.9081453376384969,0.9081453376384969,0.9081453376384969,c381098fd4cb1cdb18386f87d48d204e8ef52633d0a23ab2a1955819a28d2563,c0554056a81e4cd889e652e65565c3d3c2c52eda123675c194f521736d6e3cab +Chords1217,ChordFormer,submission,4,TRLSCIF149E3488ACD,148.388526,0.858721401815125,0.9619279521832671,0.7916107942582562,0.6707656583299445,0.7916107942582562,e3be2bf792ac70ce3262793951661cb11835fd6430695e4e1ef408955368befb,1a914d7e027ab0843ebb56a648b2edcafa68882ecb6ad7cf2237ece342797a79 +Chords1217,ChordFormer,submission,1,TRLSVMR149E335FFAA,143.17714300000003,0.8621665938815395,0.7510972176112523,0.4128312550227757,0.41015309793547217,0.4128312550227757,7a3d3ba0a2be82d3de8070a6c364f9fa7beec401e58e8eb1773dfe26e033a92f,4379529eb567aba9cb5359e7176be01c571db4ab5ea02a67dc478a7456db7ecc +Chords1217,ChordFormer,submission,0,TRLTABN127FA62001E,212.0,0.8316522483207538,0.8316522483207538,0.8316522483207538,0.8316522483207538,0.8316522483207538,4091adb6ad1f1cfbe2cbb9a4f4f3a8416f111637633be8e3189a4631010c8248,68d005529bd392fcec5aa26df564d233ff7dc051eede261965a1fcb5a63ce135 +Chords1217,ChordFormer,submission,4,TRLTJPK149E3903789,193.38449000000003,0.7181752548511005,0.7859552656463309,0.706377943860008,0.4643641789835367,0.706377943860008,e0ed73c1f2dae8ac522eaf7a69adbda4a7a8a8815eb48a49e6d5a9e2ece5b07d,73c7c891b79e428d5c3aff49212aa092ae500b8cd2cfd4ef811fdb8fa4459bb8 +Chords1217,ChordFormer,submission,3,TRLTQKF149E3F05633,285.309388,0.8506531108923793,0.8461391298026891,0.9318938450668047,0.8165969384435436,0.9318938450668047,2bef1658e20a1942cfdd6ada0bd2881ea59b7d6c90a1cfd90f026fbdcc6a1437,041b8ba0f798809d1929f5dbe03182df963b7903cb8775e35f5b03fcc150e5a3 +Chords1217,ChordFormer,submission,0,TRLUVHO149E3B65B46,256.46700000000004,0.7031520509695213,0.7042929743215287,0.5144522289962796,0.3627445158051531,0.5144522289962796,67a59538633c6ab0068bd9e8bf71eba3f5c33cc97d56653368725c0aacd1f43b,7dd4b7096cd4aff6ddc9888f489c929b039ff3312d55c8c620c23034736c0fef +Chords1217,ChordFormer,submission,0,TRLUZKQ149E39630F5,212.16653100000002,0.36497114506717376,0.37237539467931235,0.37237539467931235,0.3611119333284477,0.37237539467931235,e7ddcf7b34a88dbf3cc006451447b83bb332ef50db66f7e0ec54ce8cd8d237bb,075e7dd4086abd91d79533c34d582bfbfc63e43ffeff5c0f065c4b6deb57132c +Chords1217,ChordFormer,submission,1,TRLVJDT149E3B04B10,237.975511,0.9629146775610898,0.9336819006145507,0.9336819006145507,0.260709333343968,0.9336819006145507,08af38da60a9f08e3a2e72fce0f90dfacba21fc4991c33155fe503d28b64d203,4577bd1e9af373345a1b3c7b1971cad4c8727ce9a50f721d38a7114d68022ab7 +Chords1217,ChordFormer,submission,0,TRLVQWZ149E34D4B9D,144.82285700000003,0.6794953448059665,0.6876267908097529,0.6743267580953616,0.6301738985165867,0.6743267580953616,4a76df08ee639df83e38cc341ed6193b8ead5bb139326b12a4355847696cfee9,7452fa8a3682a05879064039eec593188dd35d1e5795580ece44473edbd305b8 +Chords1217,ChordFormer,submission,1,TRLVTIO127F9522C3C,212.0,0.4591809031886797,0.4633497729191726,0.3433481277144175,0.31667386515094353,0.3433481277144175,7a5c3c32321b2066ddfecf552770f1b9f776f79ce18bacc59a8b15046d669d82,0c23bfa4ddec6e6e4625ab91daf269e0b627cef16dddd0150164efebb332888d +Chords1217,ChordFormer,submission,3,TRLVVHS149E3F2F105,150.282449,0.9011285276965397,0.9157569362411081,0.7210562565893484,0.6466347043958556,0.7210562565893484,62552ec5d3bd44fc8d7cb9c5ff4aa7b12d897b2513e410e589063b0c729d5ca6,1ebce7020a450e2282c5daf3e0f6ce03d145e5ace3f07c9755883bfd101e5f29 +Chords1217,ChordFormer,submission,2,TRLYWPY149E3CF625E,209.86775500000002,0.9541323489451725,0.9541323489451725,0.9541323489451725,0.9541323489451725,0.9541323489451725,780d89edefffd0ad1fa74e6fb9267cefe6ba51dd372b888342bd52f767c343d9,2e1b9d42158422eb1a0e14b168163a6954b4bdb466f1cc586c9eaaffd2c15347 +Chords1217,ChordFormer,submission,3,TRMAUAX149E3C7D3EA,189.361633,0.9710224044645825,0.970476007120133,0.970476007120133,0.944454082828911,0.970476007120133,2eb3d9057c1f6a35e40776d98eb2f943f475b016023ceff293c47ed4d396f9e9,3219043b9d101e724b5ae6210b43e0561c12543d3e40308d888d53b14eb7b9fb +Chords1217,ChordFormer,submission,0,TRMBFAW149E39FBDB4,209.502041,0.9568401359202023,0.4400147374888812,0.43141124521073193,0.43141124521073193,0.43141124521073193,fef2d41f35294fa082c8b308e0b8638fc393a7412f24148d2ca233e80d8150ea,2b215ea4f8f9c8beb8e4c1b70ffab24f7c5b16bc7aa5d41dc2f59f35ead7efc2 +Chords1217,ChordFormer,submission,0,TRMCOCH149E3B6C906,179.644081,0.7912724650694147,0.8306768992884228,0.7704001824015259,0.626566513148851,0.7704001824015259,475b86e9d9c1ec92348d7ce4865714a83739230f5649ab23e27ee8b8a08f7512,5c2e97eaff6af4bf865be814494411f3c1609cf6db6dc2ba472a76eddac1bee7 +Chords1217,ChordFormer,submission,2,TRMCTQX149E33070E0,154.45333300000001,0.9806409428730158,0.9806409428730158,0.856483305491374,0.856483305491374,0.856483305491374,6e25c4ca3d2b222e7dddeae30230ac5fb89d103317ba97fdbe42e133f7bb050e,06a4d248e98f5734fd984dd1cd68c531478f4a066f5348df2163c7c12fca3efd +Chords1217,ChordFormer,submission,4,TRMDVZU149E389C14F,177.632653,0.837328877579732,0.8797382086384198,0.5965387230003625,0.5009380517893857,0.5965387230003625,cfccd0aba591d37b9c33f7dd24e06e3ca8f165927df8f1842f1fc57aaa6f9a17,0859a7c624746a7920f1c5d6b059b6f619a0c5640bfbbbd20e02c85ffafd8bd7 +Chords1217,ChordFormer,submission,1,TRMECJP149E3116D62,286.48489800000004,0.95310608033866,0.95310608033866,0.7626692278871906,0.7626692278871906,0.7626692278871906,541d605220689eccc2cfaf1c64dc9252f6417846f44dee708b575d8a5a93598e,89e6b96000977fbe538425ae934815ddd3bcac2055c89b88b991bcffa0c004a1 +Chords1217,ChordFormer,submission,3,TRMEIQX127F9FBCB52,328.0,0.7910294646432907,0.7794153518902506,0.6347715133830225,0.6036619033902417,0.6347715133830225,8595ba4a41b560c71665613b9ceda93eec50f26d80f4001580a0268fe08d1033,b4acb1b895d2bb4b776f9662162c81dce176d89fc7c214a84ab795559bf9c157 +Chords1217,ChordFormer,submission,1,TRMFXCV149E3BC8790,168.979501,0.9453389227726501,0.9453389227726501,0.8884257545416705,0.8884257545416705,0.8884257545416705,eb6605d4da384cbce959b6c37a29bed5243a0abc31b35e3787a17698f268d96c,51ccc1ce485cdad22d5e9cb7db4ac733615f53de76a03757e03e7570a293b1b0 +Chords1217,ChordFormer,submission,0,TRMHJGW149E3931ECC,145.162449,0.9867210165764011,0.9867210165764011,0.9867210165764011,0.9867210165764011,0.9867210165764011,b4db99d8d80c1c6f741c75cb32cdafd0964b02f2f4956fc0599141ff013a27c9,16892dd519b7f4489195050726dd921f7da5e56476a74b2e9e2eecf62d4cf94c +Chords1217,ChordFormer,submission,3,TRMJAZQ149E39E0743,218.383674,0.9694880637368521,0.9077535392610312,0.6807766376759331,0.6350743875615903,0.6807766376759331,84da8453993be9c7d6a813bf4b39d8a3781dc71a14dc7a8ebc794c42a4a5d252,c1bb412b2b238bdf00d6414ced2fa59ba9a507edef2e8380b4d3e633ec4c70cf +Chords1217,ChordFormer,submission,2,TRMJCPH127F8DD69E3,166.0,0.961178810487951,0.9602416143244049,0.7916952217142637,0.7730331530240955,0.7916952217142637,d701f56ef58d5112dbc6980930398fad94882720165517f0360e23a2e7b53580,4ffbc630bcfb197e2029352d71d2c24a6b0b7ddd74b0324adad95956b01b2219 +Chords1217,ChordFormer,submission,0,TRMJPZM149E34D297C,238.88979600000002,0.8238914136458111,0.8042277547116394,0.8028716591269818,0.794808016496441,0.8028716591269818,4c66ec656696d3faeacd75017ef7b572a018063bfad2ce605bb02df562c6150d,3ae760a4e4c862bc62e65f2a6134315ed75778040a44cb1eacdbdbc864610f06 +Chords1217,ChordFormer,submission,1,TRMKNRQ149E3125A8F,209.34530600000002,0.7406523840424701,0.7999129631530486,0.738284169038183,0.6029740269170417,0.738284169038183,463d3711dde23c0a7733973ddac3778c28b4c9f3884fa1b322157182386baf4c,52cbf9bd1142c0e30962926fbeabc01c33000954ac0d92cc6a3c46697ccf072a +Chords1217,ChordFormer,submission,1,TRMLNPR149E35EF902,318.44,0.8201653981472181,0.8535746690402983,0.8379111634890809,0.7055251992337652,0.8379111634890809,b09371828ca701130f68d816ea431b2f41a0c622acc9c532f2ee295c9bd5f1c1,1ecb152471351cdcef45643cc09033499b2ec3d7af6a09ff982116a5bab6e217 +Chords1217,ChordFormer,submission,2,TRMNIHL149E2B42588,341.76000000000005,0.7415113145014034,0.7076844815422327,0.4280849073907721,0.41768011128862337,0.4280849073907721,e7c14bbcbe311358bbafb3b76413f036a6ca1aa21cbabd64456b5b1bfa2f1f88,48c3f2549ca92a186a6c854a544e62d454d1187c955d904fcfbcd24957a48b1d +Chords1217,ChordFormer,submission,3,TRMNODQ127FA1E8014,321.0,0.8242940923115243,0.8757642994382622,0.9196130313393258,0.5502179413894069,0.9196130313393258,cf1dba872d2fd009f20ac46032058a43ef0933c48a06a157e084b2d1d4eeec68,4ffa5561f1111923ff10f63cb5177e106c1ee45b9b85a8fc1e76a5bbb3a9169d +Chords1217,ChordFormer,submission,3,TRMOOXL149E3A2FFCE,228.10700000000003,0.8928646357542742,0.9157863885428014,0.8385079305278358,0.7691878041840019,0.8385079305278358,7e6f17c38bb360cce46d2e40738e94e0c9e66033f30cfebc1cce502a3442f86a,ea8aff71b9c674e78e5ebf908a648ef455cf8932341f22d17d56d4cbf09af402 +Chords1217,ChordFormer,submission,0,TRMOTDD149E3AFF936,196.33632599999999,0.9511180852492889,0.9505217181235575,0.7184409409979374,0.7091140389170782,0.7184409409979374,14f27c39daf2d706ec531705246fea24cf3bf487944f5ead255c7ada28d167fb,081c79fa96edf6a68f5445d01ecc645835547c3da95e93aad08183fc1a9ac241 +Chords1217,ChordFormer,submission,4,TRMQJPT149E36A221E,283.533061,0.8220878149373885,0.8202981327336532,0.8202981327336532,0.791760097229011,0.8202981327336532,27cc2c2abe55c800c47d66ec95c2a340c6ac432ced06793d32548732292eb146,32f060879040c2786d9a7c6f0351da48852d6b4ed6a7327ce92eab76f70b6bdb +Chords1217,ChordFormer,submission,0,TRMRIQW149E39E912E,243.40898,0.9376986126189752,0.9276776975645251,0.7884668362002154,0.7323134805708486,0.7884668362002154,72ccf4b9e8f3d1319353d939a6f3b8c490fbc0956a1dd1d1becfd08dd6ac005d,4903b80678d523b8f1d97cc4a6aaaedb885f90f79dfbd4ca234a83a8abf2f252 +Chords1217,ChordFormer,submission,3,TRMRZVU127F9B887BD,285.0,0.7215285276596457,0.6477036840059671,0.5054872922919234,0.41710505628420813,0.5054872922919234,3670478f9d2cf65d33a6f8d90426f61aa1024efa6c821fc29507fdac5ec18fca,4d19803b465d051ceb0961e2d665e2811ae372e57fa225e90f4bdc97621c32ab +Chords1217,ChordFormer,submission,0,TRMSISD149E333987C,415.387823,0.7863212935637733,0.8714883745038317,0.7574261522326573,0.6784297407244885,0.7574261522326573,47d92037a73e178fdd39bf403d85d043ed278934bef87e1b39312372cbdd1f6f,e114b6f15b9561a13e3bde39a2d73cca85a761784340b085e5cf1c5b4a23f5c9 +Chords1217,ChordFormer,submission,1,TRMTEBM149E3C44056,259.952086,0.8642407624649715,0.8950838519779023,0.812928335551006,0.6330838789768347,0.812928335551006,f6891c4ef043a25c3aab7116414786ca672d2dcb9efe43995f63784dc49ed358,65587a90c2557c19bc2f06601137fc8707a45e3287296ede56194ea610843a2f +Chords1217,ChordFormer,submission,2,TRMTSHF149E3179C00,163.369796,0.9111985517506549,0.9111985517506549,0.9111985517506549,0.9111985517506549,0.9111985517506549,4874cd3d2c2fea89ff0607f998cb8df094b56b2366735bf1e865c25e5c3d97bf,5d91b3271d03559edf0041cbe6314b0c95bb64f53104304fb3871518e16fd25f +Chords1217,ChordFormer,submission,3,TRMVPBD127F8C987A1,457.00000000000006,0.8182209966236262,0.8161314704329496,0.645373112165807,0.6023802477746125,0.645373112165807,a71cc32b7e47f215d77a9b64b04893a537e23c559389c954ce1394ebf10ad553,7a36caf903bc430d2fa24055c7077a8da709bfa211705fad195bb496d21c3994 +Chords1217,ChordFormer,submission,0,TRMWGMM149E2BFAC2A,133.74693900000003,0.8565513970155241,0.880840409761351,0.8126940661043414,0.7625730946709746,0.8126940661043414,0d3e854c91670453c7f1184e03042582f2b67a552a31e0cbb9f8c5c7053de1d0,1986cfa03a590c296f779ee5d99625a41dd21df6f8700322106f17eb8daeb14e +Chords1217,ChordFormer,submission,1,TRMWIHJ149E2B3ADF5,176.776621,0.0849037712006046,0.0849037712006046,0.0849037712006046,0.0849037712006046,0.0849037712006046,38c019f6d882ec0b4d4871bea098681f5e6e9424eb95345527e1de5592e4281e,7dd0fc39d7fc2dda04af7c41b07fb9eb25a96031c697e5715d0599d3089f7684 +Chords1217,ChordFormer,submission,1,TRMWQVB149E3DC947C,315.14285700000005,0.8799477900842916,0.762967809359793,0.7434186129674831,0.746710776573305,0.7434186129674831,738f90c72f69ebba055faeda072b320860e9fa04b50ad6548867c2c5f85c792e,3c1185be1477e2cfcce8f3aca8ac2edb8fb4539ff4b5ab3d228d407ce7ee352f +Chords1217,ChordFormer,submission,4,TRMXGTS149E336AF65,158.82449,0.9707824724763806,0.9707824724763806,0.5767714064310865,0.5767714064310865,0.5767714064310865,2feb19f8d433650ac31a208566248ffabc231576dc3e3c59544b215335b68718,77421689632922eaf8d58910f73085fb875b28a6486073dfdbe4da3d255ff571 +Chords1217,ChordFormer,submission,4,TRMXITE149E318876C,223.71265300000002,0.8691775951551381,0.8691775951551381,0.8511433778836325,0.8511433778836325,0.8511433778836325,840aa888dff4b7147d4c2cf99cf6b34a02f9047a70e1e0aa0743ce7ec5e0065f,8a41586ee5b7b69ab871a431f5fac80fc94d930f224a169d152e857a670f4132 +Chords1217,ChordFormer,submission,4,TRMXIYF149E3E7F2B8,219.716168,0.6960533700050687,0.8885884528337038,0.8869341142771119,0.6317913077384447,0.8869341142771119,eb295c368512e1ff2e0f71fafe52500523a5470bd5b638094da0911c7f7becf8,fbadafda613ee1b11b5242887d90bae8bb44b1e5d58c4ce10ec535d70f2802b0 +Chords1217,ChordFormer,submission,3,TRMXJAT149E3EA4419,180.610612,0.8800668441398111,0.8321760934047064,0.6500695837787812,0.43883721705123213,0.6500695837787812,805ba56550a584a6fa2444e769e54172add23177636124adc8352f0a4170b230,ad8f25d0a4f5fdb9646c23c50612e86600074754b8cf29fce6b825155c2a8d75 +Chords1217,ChordFormer,submission,1,TRMXQXG127F9D52963,246.0,0.9291870748333309,0.9287403987965188,0.8712183660219728,0.8657573143130057,0.8712183660219728,a508ea44f816d865baf2291b1a5a47391038bd1a4b9fa2e565e15f47cb367c39,f89ff9a136a1f8b63fe502b336ffef0ed913720dedc17054fc9fba0cdffb6261 +Chords1217,ChordFormer,submission,4,TRMYEQZ149E3A8B2B1,222.902857,0.9417468517956222,0.9417468517956222,0.7850189026199869,0.7850189026199869,0.7850189026199869,f1801d97f0334cb74557bbe09ac46f30e3adb9ed653b35ee438afbc2e8585788,3e827b80890c580fd2359bf6bc77536a42e98b87d02be9c8fbf11c0f2f3ba79c +Chords1217,ChordFormer,submission,1,TRMYJLC127FA6901CB,239.0,0.9007996660292855,0.8847776646841303,0.7904278317782758,0.6833992732343068,0.7904278317782758,9319ba0dc0ac5f2c1038548896f43049b5a7f8fe508c888cf087df074e878469,84b069a5262e00b903967cc33c8e707232488c6a8d0dcb2b8561b075084c0b49 +Chords1217,ChordFormer,submission,0,TRMYSSL127F8DD6DB0,298.18800000000005,0.5506983267368236,0.5494594455544822,0.5036586535196181,0.4951846188008906,0.5036586535196181,0fd0d7d5d444b256fd0d48cf38ce29f9dc9213205e19c2c4bd418a70135065b8,bcbbb6c562fee6dc1ec614e74e5c7206e3fec05fd11c6ab055671ac5d7a67f17 +Chords1217,ChordFormer,submission,0,TRMZQJO149E39AEC42,235.04979600000001,0.8521060351101076,0.8468598925650612,0.628924356896697,0.628924356896697,0.628924356896697,1e8c852c26dcb19d3cbba8029f33eb7d2f31a794ed059ce191798ef7ec3b33da,9ae17a806eacbaed12a574df0414b30632d53274b08431f6878fd76f1aeb3105 +Chords1217,ChordFormer,submission,1,TRMZUCZ127FA803600,265.0,0.6413847002943371,0.6394308235494959,0.6394308235494959,0.635965832369809,0.6394308235494959,440099b05142d333add62577208362225af034e07395df3c8894c87b1c05cd0e,ffebba5a9b73b9ec3a6b30fbb4e064585ea25b5643072cd55cf85f1eea09a422 +Chords1217,ChordFormer,submission,4,TRNAPSV127FA4022F9,281.0,0.888916236960851,0.8988981323686729,0.8606219068491126,0.7985989380391433,0.8606219068491126,342a6fa71badc6d19e76227070b7ad8f9d7f0a2a575c25693b022354ccf32578,d433639a6502c0160a19c015989457cc2cf5fa14152b9616fc6575038f1ecaa6 +Chords1217,ChordFormer,submission,3,TRNAVHR149E3BCF9D9,147.67020399999998,0.9296270855222765,0.8834072211818712,0.8813392880264199,0.8640417914639034,0.8813392880264199,60ab60b7bf18ef9979d50b94b117a1f1807affe7227a50160fe3637dcf4f062e,ddf50b5ecb975294d0085bcaa91bdeded15fa181a0e768a3670cdfb12feed5a0 +Chords1217,ChordFormer,submission,3,TRNBYGS149E2C98936,346.070204,0.7157588835530038,0.9318224048031551,0.9235028428274928,0.7001043678698222,0.9235028428274928,9bb1f2fd05ecde694cf32ff0672cd85fdae15239ece22d29846e0fddf3e69a27,ab6a09644432f7aa94144fbd3a548240885e53f01ed7477d3e3184df850b9f3f +Chords1217,ChordFormer,submission,2,TRNCWYT149E3BB415E,169.69854800000002,0.890148308876515,0.6949754192475477,0.6338212873159059,0.6338212873159059,0.6338212873159059,46f3d98383b6d5a0413641169b0d22358ded88c63a7dd61938604b890bd52fc2,dcac7190bc5499a23730ff0e525cbba1a29b8c6ddd4f76110edd572aec8c3c6f +Chords1217,ChordFormer,submission,3,TRNFEEU149E38D3E18,305.841633,0.805757005374736,0.8369794863042885,0.8369794863042885,0.7323984836394044,0.8369794863042885,3d6f122cf6bfcdcbd653646ddeca20ecdac7db8fbb27c92eac70310ffe6b8cd3,48c39943fd5fa110c238c97cec99546b3a98e838dcbf93d330ce2cd46c3921e1 +Chords1217,ChordFormer,submission,3,TRNFQQL149E36F4C99,215.745306,0.7335925321870047,0.7310359360704446,0.4655873154317789,0.4534944452418357,0.4655873154317789,45b3dedd9efcbb560057bea827058cd5c7023d2ab85ca1211ebbd64f068e1a55,20e4796c086553a04812f27c7bfd1430e2d37b0e7dde5d01ab2e5f772292fd06 +Chords1217,ChordFormer,submission,3,TRNFYXT149E3C0DCAF,266.71020400000003,0.6694632865977634,0.6640496167184538,0.425200059964948,0.34195233842646633,0.425200059964948,0755b9f86f4674798a32ca8c2262b886464256ecf2be49499ddaa188799a1ffa,8091c6ca4cfbb2eb94480411a263bb44c58c4fef796951979436c3ba2e442b97 +Chords1217,ChordFormer,submission,1,TRNGATQ127F9D5667B,381.0,0.935957457703409,0.8398495455488851,0.8136764664997453,0.8128734682020973,0.8136764664997453,bf5ccc3f585e4239c15855193949fe247b5b334a515ee82cb8048a1ddacf8e56,c3e3243bc6879256b341f30080fe2d2e019f3e414c1d1d5e7b7e6796f7944df9 +Chords1217,ChordFormer,submission,4,TRNGVIP149E3EC0CAE,199.653877,0.7097734394408981,0.7498247358708406,0.6259069563952493,0.53797087473538,0.6259069563952493,95a1731ee4fd7f226ae88a986601a8bbc027c4d0714091a8233e6d0803f05f3c,355e1be2257a66b4a09f4e6ba4ca6a380fc6c2cfa211801cce65d10135605569 +Chords1217,ChordFormer,submission,4,TRNHEDY149E3642196,149.89061200000003,0.8636680643815108,0.9149476572247325,0.8854834488587525,0.7872885537954843,0.8854834488587525,c1a18e5ed0e17211ace4a0769b447e1cb5b848db242fb9d092e3700bae1e64f8,9604ef98d5300129e28702cf6a15f721d555f163764c794fe799e4dfde56db5b +Chords1217,ChordFormer,submission,2,TRNHSTA127F8E6CAF2,200.0,0.8992652380999961,0.9118533739270591,0.8190082455650214,0.8077018367349964,0.8190082455650214,4985a30050db1a10a4b982caf2f9a105f45796894ac2336cacb41d8673eff6d1,447204b01b387f2df5bdcd2c5c21abf3271ffd9435fcb4b19f034dda282756c2 +Chords1217,ChordFormer,submission,2,TRNIEAG127F92CD3AC,231.00000000000003,0.7932815325324659,0.7046170527253072,0.7046170527253072,0.3614044919523802,0.7046170527253072,f36fd869b0a6bb65be2405d57e617c70c074d13a40b1579a4f9be6d08d410369,52cef54406afdddcb09b8d82b6ef36022ed4725dd421d23f8ab53f95da2d84b5 +Chords1217,ChordFormer,submission,1,TRNIGES149E337E53D,153.469388,0.8941454205186488,0.8933785200079601,0.8867941987817047,0.8774073866835235,0.8867941987817047,f9f7153611d4e6764775591c688adf1e1d9e7815c64c689e0c9797a48671838f,72a4529594f5b86cc7f3dc7c872fc14304e269dc5fd4feedb5e65c339448a7a1 +Chords1217,ChordFormer,submission,1,TRNIPEI149E379918F,433.6065300000001,0.878895583911062,0.8758288474120677,0.8060044752339803,0.7118864239336968,0.8060044752339803,10ef417c047d3ad35a8c7921c9999a8c21f9c634642a31884bb997cf8c629463,cff41fe603116d3a588b532c62b2d36511f91d84a0c94a9d90aff52fa962d390 +Chords1217,ChordFormer,submission,1,TRNIWPE149E35E9B6D,204.30700000000002,0.8731697253691755,0.9133143284309876,0.8405496934425375,0.7786029332524105,0.8405496934425375,b9201026dea130d684837265862a5293ecc3e6dc40e36f53db02b4fb30f7da81,657a1d081121bccff103cf27a614fa592737518bae2ebf36633d18adac9fb95b +Chords1217,ChordFormer,submission,0,TRNJHGW149E3E0C53C,123.85229100000001,0.9117536419168882,0.9117536419168882,0.7816425591836672,0.7816425591836672,0.7816425591836672,718d846986ace01fd4c53a7009aceed814d041ac525fe9762433c2ad8a8a1698,8caaf0698e9f3fdab2bce9a3d25ecfe50dedb8d69a2f493dab2ff2263752a625 +Chords1217,ChordFormer,submission,4,TRNJJIG149E3F26E26,570.801633,0.8055273847455887,0.813817027217034,0.7808902473528503,0.7376922748887811,0.7808902473528503,7616cc26acd862b12f80d8f477e785fc0edd86ac2ac84b7c586e400065f0a5a8,ad4b15564ae437def23c0bbf8aee32b51a11520c98cae2f66b8556e36d812b91 +Chords1217,ChordFormer,submission,1,TRNKCIC149E2CBABC5,167.627755,0.8388078962162324,0.8388078962162324,0.8388078962162324,0.8388078962162324,0.8388078962162324,1092b91d68c7972fae83570e17b71a72681613e22d675734d012803873004a10,356767c9e378e55910439d0e7f093e5cbf94f8315bc49509fb924690b8319d16 +Chords1217,ChordFormer,submission,3,TRNKEBH149E2BEB0F5,255.84326500000003,0.5096312825354214,0.48770279535268324,0.1754926613324185,0.16167957386331755,0.1754926613324185,2177b849a983a1acd3f576f2aea9bbf865033f9fb2a2c50180eef76f1331e7e1,94779640bfaddfb7449247c19db91907ed6889d8be6a065254c31e734b12639c +Chords1217,ChordFormer,submission,0,TRNKQUC149E37B1823,138.292245,0.7815787471741464,0.878256633847025,0.878256633847025,0.7110436927753983,0.878256633847025,4aa9d9633e95eaab6763af579a6cf1df32cf1c6b5c609aab4b68327f405e3419,6cb428f1f2b7e13cb6cabaf719960782f174aa587d4efecbc0528d0816e789ab +Chords1217,ChordFormer,submission,3,TRNLAON149E3C7A10A,201.37300000000002,0.8722272506393624,0.8626182846033805,0.6418263278651597,0.6011104741201658,0.6418263278651597,113c7d6395774c7606254e675dfb85045098c647fd3e65b9b5c3bed1e729d5d7,9d8d484e9df42fcc8a2d02247960b4bbcb71cb59f94054f73ec7078e41a4a78e +Chords1217,ChordFormer,submission,4,TRNLPUN149E3F193B1,168.77714300000002,0.7985418291622588,0.7310969641250542,0.7310969641250542,0.7310969641250542,0.7310969641250542,544b665e1e00619f5d5acddf6d7a8dcaee3f9a0e537adb772ea1de5d61a89bf3,2c9dd31ceedeec56ad5c11206cf9edbc33591244535144f42b1a65bcd826841a +Chords1217,ChordFormer,submission,2,TRNLSNU149E3EB4EB9,221.936326,0.8519303033925163,0.8259192402211102,0.42857280010479004,0.34213973479042015,0.42857280010479004,52aa1d04b8e164cc8c0033d792a6aa7b5412e493872ab9b61786814fd072c87d,e45828af1c9497b074822bee005c8bd6714184fa33c2a56d0621bc4e41085ddd +Chords1217,ChordFormer,submission,3,TRNPSDZ149E39CD276,324.497324,0.980205595945066,0.9781356116229133,0.9366029535116426,0.9056872477691039,0.9366029535116426,581dbd574a17a6d8cefd80c85d112e2ee312568766dc416d0179494a1a67ff37,16e6463c9d2b18910052ddd4254c1578b36a005613ec730fe397ea50190997ae +Chords1217,ChordFormer,submission,0,TRNQAZC149E3265FF0,163.474286,0.9740379419733349,0.9230573773384202,0.8676340652972782,0.8438485172157313,0.8676340652972782,d739a1f9b3fa6e01b093c062292e5a92a8cb49c18dc826c6d74d7465dee70626,37f98d0edade5b4e2b38d24438bcc325d7cf9b56304fab4b3773d4519e4d2bb4 +Chords1217,ChordFormer,submission,1,TRNQSQQ149E3F080BF,156.708571,0.9714754655889253,0.9272557098041571,0.9101507812294461,0.9101507812294461,0.9101507812294461,5cd0ec8f403b152d8549b5ce35daa1633ca35f30f46190b104ebc43af27603fe,033ac808dedd3230837b4503755fe3d20a0aed295af2008300f5a481f7ffc9eb +Chords1217,ChordFormer,submission,3,TRNRGFS149E3EB9B16,174.915918,0.8537193333942323,0.8231462357744939,0.6748562006691443,0.6443071488325042,0.6748562006691443,0fcf21dfc7050409118762737bf4545521d46e49170b993a74a373eef663021c,d6b2360265ecdaad165b997d6fabe04188bd88b025ef26c25031bdffaaba3807 +Chords1217,ChordFormer,submission,0,TRNSGUS149E3C5EC1E,170.133,0.9805557351307514,0.987688068440074,0.987688068440074,0.33412329819023956,0.987688068440074,f49668f0cf70cec66bb2c8adcadafe946f8e3023a54bc0e97425706e110dcc89,0c64f397ce4c433dff393a6949c68a03527312fd18ea4bf6e30cb565cd01afef +Chords1217,ChordFormer,submission,1,TRNTBDT127F92CC08A,276.0,0.8572764385833302,0.8366671442633412,0.7907944460687506,0.71694685167391,0.7907944460687506,70e49864aa75a53dd304e68f9a0dcbe9121cf708995d7ca55f5a0d1fa7895b21,d5e139bfac3061f6a63fba8ba8cf6313e8625b870d454c7170573193c20473bd +Chords1217,ChordFormer,submission,2,TRNTMRP149E3ED9498,205.013,0.9087563088487084,0.9142506332920383,0.6773779004236595,0.6888531254457042,0.6773779004236595,0d4dc02f5ce2f767dd832a308b7908f5d80a7fff5d98a57f003686b1f454a486,a78e5cbf8375084912d72561391954f9eefd1e546c11eaf681eb0c1c6bff4323 +Chords1217,ChordFormer,submission,4,TRNTNSE149E339CB0F,211.2,0.779016246813448,0.3435304093265297,0.2733950962089122,0.2694771930255687,0.2733950962089122,39855532b1f957b575a754d5ca5d29d9edfba07fde594b377a25726dea9261ea,fd73fcf840cd6cb96e89d44e1c751d64e202920cc4abf563a992315b36ae9c6d +Chords1217,ChordFormer,submission,2,TRNVHIM149E375DDA7,203.96408200000002,0.9536827486812108,0.9475693929881019,0.6935597861420755,0.6311598362941176,0.6935597861420755,5e0d376a21fd7c24d6a63b38b8a620fce186ee37938b3c59a60cadfd8edd7bb2,55c7aca9a2894405c0a9214d41cc38e3724ff1d57c59826131cfd14e5bdd2266 +Chords1217,ChordFormer,submission,3,TRNVHMZ127FA1E7FFD,237.00000000000003,0.9329896380464127,0.9299230353207015,0.9287719057493464,0.9174527684430372,0.9287719057493464,00d14473c7654dbb46a83c305246adc363da4266460534a8e7e57ab8568577a3,ea3b98cde6b120c7dc203d22a50379223b5c5a63cc5561416abfb7ef8c17abb6 +Chords1217,ChordFormer,submission,0,TRNVUSO127F8603CA8,322.00000000000006,0.8275221546024835,0.8458122870726121,0.7988936652512328,0.7478899804068313,0.7988936652512328,bfcc526daf8527e50dc11ffd2011360daad2512f5092857f10506247540bb153,370381762f5316585a1ad00648a9ed18357076873c63b9ab50340bd63bbadeb2 +Chords1217,ChordFormer,submission,0,TRNVZYX149E3E7CB36,194.821224,0.9507368439487878,0.9507368439487878,0.9507368439487878,0.9507368439487878,0.9507368439487878,16a843014c20b281ce5a29a236aac566763721973ef3194a5f1aadaa5abdec79,327898f6e6eb19ee3fa76c96cc722995dbd47a16ee036c1924554f03bfe8be6a +Chords1217,ChordFormer,submission,3,TRNWLCF149E392F223,192.24868500000002,0.9107722262495573,0.9127722615909653,0.7739460396923137,0.7641889227902905,0.7739460396923137,b64fe13c6e87ed85e781db7e197eb863e7f32afcd39700457e2fc022de188f4b,69638f738be935a66b2717265af0752083419f427b5c1794c1b1b751212653c4 +Chords1217,ChordFormer,submission,3,TRNXKOP149E3A76670,173.71428600000002,0.8815163793025949,0.8456840358958453,0.6293288813523891,0.6177133081436661,0.6293288813523891,480f83d56790439860f8e73fdc120c5a7959334a580e14872ad8fb92995bd8cb,635a3a3e624337bb76e4019ed4f6f39b9635a60bfff0498f7036cb59ca03c19f +Chords1217,ChordFormer,submission,4,TRNYEJC149E37E503D,274.31183699999997,0.7521228890643858,0.7521228890643858,0.6645318391491766,0.6645318391491766,0.6645318391491766,e10616545dc2f8c894ca450f7fee55c0052814cbceff6156047eca8ec873a7c0,6fa90e132c63b6800193084186c0a8f487dd9deef0368916d0e415c14db79f9a +Chords1217,ChordFormer,submission,1,TRNZIUE149E334CE5E,139.023674,0.8969024321210206,0.8259588708004696,0.7461855139542336,0.706390906630765,0.7461855139542336,0249e830a28590e66ebf1f0b67347876038c2642429b99803294b5190cff77fa,99182e715ad17542d651945b35030473c096d5d81bbca0410de85072f5846bdb +Chords1217,ChordFormer,submission,4,TRNZSTP149E32DDD82,170.499478,0.9024483995018444,0.8911448092644598,0.8332075281544262,0.8332075281544262,0.8332075281544262,3c0230cd7d53b33267fed457081304a9298c97b7f304a6a0ec835f17c37b4ba5,c4e58442aa1f7856d4a70d41908ee84bbf6705e3187ebe486295e2b01406d335 +Chords1217,ChordFormer,submission,2,TROBDCW149E3B9DEC1,243.561474,0.7648763267174168,0.8073727360975637,0.15268620667827792,0.11153963061087385,0.15268620667827792,106299a229192b0958c799b90c2efecf778d328e4604ffbaa5fa3ffc9cc117ab,d12a3926ab91677db096377e3636262f5639a21f36a418e1b66cd1a8a0abb957 +Chords1217,ChordFormer,submission,3,TROCTGN127F9FBCB6F,266.0,0.9457927301278188,0.7813866515679303,0.12368700616961506,0.1184024090827065,0.12368700616961506,83154355fb080636e80c618b513bb1c3db7b2890a49416041352149d8667f7ed,5813a83c4cc5e3f50548932b54fb34bed507829ac42a7052179519d31e57cdd7 +Chords1217,ChordFormer,submission,4,TROCVGG149E34EBF31,253.38204100000002,0.9672602464829021,0.9785999621896831,0.9501498602557875,0.8524164171800981,0.9501498602557875,5afcffe54d9faf71cd9fe2e75627d7f10f6d48d3852737d9ee23e2bdd2616446,5d02680c2a68974ca7011ca2ca8ca345bc688d27639450d90d62fcef4fea6d4f +Chords1217,ChordFormer,submission,1,TRODGYK149E3CAFA9B,286.380408,0.825255875789517,0.8252763647928558,0.7479940338367261,0.7338657557468081,0.7479940338367261,a5d34524c2e6973d11c9dbe107e54c704db4ae96cb0ab76841a4bdaacd73e617,2d8f35ccec8f06b332892974fd14d430c0b7a7350a19e77bf997b53dd9a1a672 +Chords1217,ChordFormer,submission,0,TRODQFS149E3D43363,234.65795900000003,0.9409615464779528,0.9335469711212896,0.8342369569912815,0.5987214398042219,0.8342369569912815,169c720f49a740611e4a5b35f5f337113498cf440cafbec7230e7e4939763e51,09a4a9dfea60cf7cc203978ced808bb213cf404beccd082eeeee0c1df29b2526 +Chords1217,ChordFormer,submission,2,TROEXGK127F847B850,253.0,0.8312176601660033,0.8389540923301484,0.8408122595885441,0.6930220572806288,0.8408122595885441,c06755ab65781ccdf5831ed9dc1714c70104b32e9666c82b749256d38d86ef7c,297780725b83281516595b87e88fdb20796b2d806bc1b2a4979203c3c47b9692 +Chords1217,ChordFormer,submission,4,TROEYRZ149E37A0689,179.258685,0.925106973148887,0.925106973148887,0.925106973148887,0.925106973148887,0.925106973148887,a949ded350913d255e7ce18778b0760b0ff77ad52740143aaed55e6f9ccce681,926967b49f436ab006733cd62abdae04af62d91f8ddbe672202d69c704017fd8 +Chords1217,ChordFormer,submission,2,TROFSOZ149E375AFC9,230.81300000000002,0.8591863387764143,0.8568482873022474,0.6769113391555981,0.5848061391992668,0.6769113391555981,55094612eb7b4d6154d36557f1f279be8e8b93bb709e6c1192d1f64035ca5e16,6c5f271d87b32b566bbca834230f1fc3240525d7f4f6ffa6e085275a8d4fa564 +Chords1217,ChordFormer,submission,0,TROGHCK149E3C77537,187.97714200000001,0.7651213939884236,0.7689416240587795,0.5795370773005597,0.5669626211680561,0.5795370773005597,2499cb565e5ae16bdc81f93d26da1aa2c1f9738874accc2383d598b1ed47a28d,87777cfb7a37c2a63d8169eef37cc52874cbb928c08d420b352166248e97e42e +Chords1217,ChordFormer,submission,4,TROIPHG149E34008B8,228.02285700000002,0.9459040438082061,0.9459040438082061,0.7769138655823447,0.7769138655823447,0.7769138655823447,b2def4718a2b81f0c3350f702a2878ebcc9f0cc69900adb3538a4cbf9432a3fd,b8cfb5ecf2943d97b8a568fdd517f874278641450b2cece1882a566d84838a73 +Chords1217,ChordFormer,submission,4,TROJGGU149E3BA435D,159.712653,0.9372518538152399,0.9372518538152399,0.8607789107479176,0.8607789107479176,0.8607789107479176,cc2337ea6f3e722334f2df3a9ec3efdb76c7e71d1ceb2d4756749908c513d78a,623e85107044877845e576c531cb40cf1e116db5b5111db51209766704bfdbac +Chords1217,ChordFormer,submission,4,TROJTML149E2F4307C,157.20489800000001,0.9370249449161558,0.922792045300115,0.8835205586903685,0.7072690269357886,0.8835205586903685,a3fbacd03665177989d45ce547cde5ab0c05067bacf6b050c76e9410dff2d3f6,e306b8e2e4e8b6893531a03e9056820668a21efabcad34fa187acf1033212be5 +Chords1217,ChordFormer,submission,4,TROJVTL149E385A1B6,252.813061,0.9589923086568709,0.9589923086568709,0.9589923086568709,0.9589923086568709,0.9589923086568709,f03a10a8afa8276daa2ddefa56fbe987d58abdeb473f0f5415d3ed041f93ea93,67ebbfc5621fc5e7be97e391934cb119c435dea737a47ce765bc1d41a6fa7d27 +Chords1217,ChordFormer,submission,3,TROKBVV149E3EC4C41,261.242563,0.6607931967655656,0.7480259352044809,0.5154780863654301,0.37441659517021264,0.5154780863654301,b7d35287af9e28004d7bb52ee67786847ded8d42dcac4f86484f578d6765f1ec,2436243c38cfdd4bbfcfb07a44188ff91337410c56a2c64427b9f3008c56ff99 +Chords1217,ChordFormer,submission,4,TROMDKK149E36F9DA0,293.413,0.9582279574524659,0.9577502673977146,0.8403233260121714,0.8033725039551769,0.8403233260121714,3c125db95f71dee430cc47c45aeca62568c5864bd1838975c8a314787ce9d39c,70921daa35fefebbb31c04c57f73740b3d3a7c1cfa0b585e8ac3d4c4a559d307 +Chords1217,ChordFormer,submission,3,TRONMEC149E3886747,248.81632699900004,0.8292515210339446,0.7577358126916731,0.5067867074930054,0.4682613526541943,0.5067867074930054,2ba20db3a4b9698d21cdc8ed1a2b227009487bde2f409c8a94a8162c653a2003,6000770f5b89171226cc44d9c0179a5522e6f7e75c34b1609d1d49c9fa068a2d +Chords1217,ChordFormer,submission,2,TRONVYV149E3415A2C,183.275102,0.9211291418460121,0.9211291418460121,0.9211291418460121,0.9211291418460121,0.9211291418460121,7faea77312a11eb4ee0d5f734c5e6dc687600cb6b3a562106c47255df120627f,c6bac0ea3d665d1e62dfc04db0370b5aa48feefeb937202d017c85e86246c666 +Chords1217,ChordFormer,submission,0,TROODRH149E365410C,262.50700000000006,0.961135574773242,0.9611150073483732,0.7855925135026522,0.7746124675151502,0.7855925135026522,e2bb9ac83ae0f64f286b22e02912ea2c4dcf9fc29aa5c2d8476636e21c95595e,ed5fbf71a594629de0492dadacfb42ba6a8b656ab064e5416e89f41a9854cc7d +Chords1217,ChordFormer,submission,0,TROOLCK149E3DDE511,245.002449,0.9025525276524891,0.918164895937142,0.6483807427455801,0.4157395931458633,0.6483807427455801,2a4f7a620fee30f27725b5b910760181bcbe1a96d54c1811e0160f2163501dfe,4cdf86188e99a1c55531a2783365f70136bef208c928b00f1d500dde4f138406 +Chords1217,ChordFormer,submission,3,TROOZRN149E2E1A502,157.10040800000002,0.7857291164832646,0.7425340436033281,0.7181508441122785,0.6237265607292397,0.7181508441122785,7482cccc3ff86e0810f8263481ed217ac6e8940bc6fb68183c1fdc0c052ae2e9,269b9fce4f69789f77af5c4fb08ee20a67587a4f1bbd7a8f97c3f4a81fe23b78 +Chords1217,ChordFormer,submission,0,TROPWER149E3BE16E5,183.8,0.8470325010554919,0.8408676992460193,0.7385824630481137,0.6912496946463527,0.7385824630481137,47ed964f8ebdcee0b46d68c1eeb12d4757f25a45e1e2c088117ec4747cbe9b58,140defaf3486f031dc8758ec3d7676477a297bd0c16519eceecd6fbaa8482a93 +Chords1217,ChordFormer,submission,0,TROQOWJ127F9D570A3,268.00000000000006,0.8560406978768631,0.9534817362144896,0.9361759468211601,0.822409610119401,0.9361759468211601,d0cddfff83c08def29ea3fd4dbbf5fa11b16fbad8b5cbc3d113b5d9bb398f02a,002d4bac1a31b00ae9b1dd3bb145ef85423b5934c2abfe57b8e3e206811ab490 +Chords1217,ChordFormer,submission,2,TROQPJX149E3523677,239.960816,0.8747993838919103,0.9229279520927085,0.9099554016332454,0.8303799055092395,0.9099554016332454,f3245b8718b813100632c43bc117d94f6baf70860865285f9e4c05a73d1ddfb0,c2f9e53559cbfe64735e39042838e94c4eb153093326503308bbe4eec5143bc8 +Chords1217,ChordFormer,submission,0,TROQWBM149E376A1AD,272.538504,0.9145484800268816,0.8910499460822426,0.7458582868412028,0.7050136132764568,0.7458582868412028,3286e196ad94f2bc8c3385520fb0822b78f80679ec6002113d79ae59b0adb6b7,08d23ffd989b6a4744645aa6b5f002ec83168704095522e5d1ca61c42fa9b58a +Chords1217,ChordFormer,submission,4,TRORMXT149E3670858,260.649796,0.92239304623511,0.9180278873304777,0.8696547998871252,0.8696547998871252,0.8696547998871252,68ac73d3b3eadea01508f08e6ed55f4866611d108dba02d66a31427213768d1f,1137b66a761b1b1842208499cbe37b090605bee9cc8cc620f4c68f21329aa7b5 +Chords1217,ChordFormer,submission,0,TRORSKP127FA1EA406,209.0,0.6418649654258336,0.5908591159010098,0.5908591159010098,0.511455001124399,0.5908591159010098,f3c0e3e999afbb3d1072cf830b5580a6644830ec540e8ea25a2169a375fdd62f,3068c17ce4b9c4d058a5458c73b3d047c91684e3959fa5ed7a34503cfca5782b +Chords1217,ChordFormer,submission,0,TROSPTM149E3681865,166.21714300000002,0.7085091185510264,0.7474217273207053,0.6380943044812913,0.6019453874381653,0.6380943044812913,ea134605296b01ddf044c2ce4031722813998d113bfb6c6b066f0f803479fe58,238812d6d96e856dc013e9382cada32e16ce9dc3059c29d56053acbb5e05c0d7 +Chords1217,ChordFormer,submission,1,TROSSUK149E3AE03BD,175.804082,0.9536124096310795,0.9532824663877822,0.9182794043371527,0.9182794043371527,0.9182794043371527,e94ed69b4f2323c9f4eb5c1f945bc6651d75774ef27af99d5489a0ab1dc8abf8,783218ef99171b917807b6fcbf84fa0df955bbddd2c997edc106f63e93b8ceb6 +Chords1217,ChordFormer,submission,0,TROTZBN127F8DD6AF1,218.00000000000003,0.7191582412660543,0.7748494952645223,0.7629432628692356,0.6961822276284396,0.7629432628692356,b75c76e80d0523d7b9f33e2782aa7a419edb1dc4c168663a304b9cbe98751a0f,709cf001986b46f466d73ed06e3aa28172839529754dbce41c3121bb3889b447 +Chords1217,ChordFormer,submission,1,TROTZXG149E3D156F0,234.44898,0.800617688236477,0.800617688236477,0.7891567356274792,0.7267870058295844,0.7891567356274792,bf004dacc0304c3dc6cfed4180ca7a956f98a46c9a3d5b7a597e188db587905c,01a78cf400e8720bd9055be2e626e396d4787de438128419e9613929095c5899 +Chords1217,ChordFormer,submission,4,TROUCLD149E3E29CEF,211.925,0.9790025190279582,0.9790025190279582,0.9790025190279582,0.9790025190279582,0.9790025190279582,6a4738dbfb961a35d82f6fc0690fd40a3bf649eb5d4330f441e1c75059349a05,e9ddcb42e560bcffecad39e42de309bd2431f03e8db1adbe9b5120ceb10e078e +Chords1217,ChordFormer,submission,1,TROUVBM149E3A2C650,260.54530600000004,0.5934293559293669,0.7108080145169984,0.6771715866564364,0.5611137266698626,0.6771715866564364,2d73505e7741903837e769d2acefa53406d006664b4a9dd69092a99b11c0a8e6,33e6aa21f2f459d69f15ce8b90ad8382c3be7353edf1c2a8abb98411768ec0c5 +Chords1217,ChordFormer,submission,4,TROUZRP149E3506958,226.24653,0.9477107434841113,0.9472780168347594,0.5663597189140274,0.5639258968214902,0.5663597189140274,914fc56d3fa88a5c60c58bbb9612d0913e53bb0a84d77d3a84b78b91afedc322,90ad3f8cc6ae57b9c25b8adf5d1180326209efa51fc5fd8c41d484d5507ec9f7 +Chords1217,ChordFormer,submission,0,TROVGTG149E309B5E6,236.46040800000003,0.815655716863182,0.8050485277541648,0.5997691491851487,0.5353120482816741,0.5997691491851487,16a73563ef6307a4407995acd8f4573c8ef3a3e6f0c830856cbda03f36578e45,ea4fdea8e4b1458b10f802b4085cc32bfae7f86d344941040165e5bc36cffe39 +Chords1217,ChordFormer,submission,3,TROVPUC149E3B5F537,176.616281,0.7839258242675826,0.8018617161045649,0.7871002759995218,0.6708847822415649,0.7871002759995218,424c35dfe1d9cff339d9143bd0d41d4e69df8a4f25a271f1247f8ee6ebf209d8,0df5f577e1b1dd056dbdbf610d0ef9054852cc232091df5592207c28e637d0e4 +Chords1217,ChordFormer,submission,0,TROVWOJ149E3B0950B,306.580839,0.6881571306972623,0.935498296725889,0.5055610011874094,0.36566510902202776,0.5055610011874094,809f22e63c17aa730e8149f6565ff100e410607212cce25fb1c402f4da553a9e,c53bcb73c6e13a77c04505933900a8c353ba2db34054308acf12bdac03536e0e +Chords1217,ChordFormer,submission,3,TROWKIP149E32811AC,151.09224500000002,0.9307133943770594,0.9307133943770594,0.9307133943770594,0.9307133943770594,0.9307133943770594,8c3b20a6c380db25c0c5a05e38a974bacb3eb4beadb505fb8a65d345e4c9f3b4,50bb35be4ae02fd662c06f2a781eb0a482e1a506b26f3ae5f0ea377344cffcfe +Chords1217,ChordFormer,submission,4,TROXQFJ149E386AAE8,222.841,0.9001395715734524,0.9445700154938749,0.8475560894931973,0.8008784743067914,0.8475560894931973,09953d53e18320e6ea48b81a17448a674ab5ed7e5d2e9553ad07ec336fa5a842,a5b6093bc1b498eed4ed3d2f322f8911ef79225a96c0e55eb9ceb72efec6bb69 +Chords1217,ChordFormer,submission,3,TROYPAQ149E2E1477E,203.20653000000001,0.688690755562825,0.909595656587299,0.909595656587299,0.45673643126527386,0.909595656587299,177d72715ce7f49e3560e07bff028241c65715592d8fe70aa25b072cfe387b3c,c6243bdeaad8e805dfa5bc9ef0df1b1e9cb80593a22d3f2e8bafc7062356e843 +Chords1217,ChordFormer,submission,4,TROYQYU149E3A124EC,209.52,0.8913186841447127,0.8670519334049267,0.8369635724990466,0.8369635724990466,0.8369635724990466,29a50f99ae34fc7c56e55b2dd82ea1515f08c47c2c367346cbbf4dcb5c24a03b,f7ba2036d423aab79720f9947ceac6a9d7225c0bf02cbc3cf7570f89d2c7a03b +Chords1217,ChordFormer,submission,4,TROYRFP149E3AF313A,206.573,0.9402624799417157,0.9305956014048303,0.8522756458359939,0.839918921775837,0.8522756458359939,05626dc111d9dcfbb8d0a549328ee93a730b76f7f31432918a4327241e69baf4,7528cf9e85e59cb020ab9b56c7d207f7f52eef8897289b773b159d647ac5cde8 +Chords1217,ChordFormer,submission,1,TROYSRF149E2BCDDBF,180.819592,0.8552508513568582,0.8552508513568582,0.546865703353907,0.5404040207656251,0.546865703353907,784cc34b144892b7c15670434bf6f297804c4324e78d99a34600a95f2811715b,2a058865ceadc238a093c59914493664f1e6a1c5a2fc9660140bcdcf753202a2 +Chords1217,ChordFormer,submission,0,TROZLMZ127F8603C9C,215.00000000000003,0.7712098402325552,0.7868680828999665,0.5729833640214268,0.48006678268837066,0.5729833640214268,2339e3173c7c660eed208ea88779d469724b1bb5825c1b9dbb3b1c5e53749ed5,2d1475cfb4642ef7eceadc25293fd76bad2bc3c95833c1deadce948de9b43d81 +Chords1217,ChordFormer,submission,4,TROZSIM149E3D92690,150.230204,0.8296980017480375,0.8113738957846323,0.6416840778635968,0.6416840778635968,0.6416840778635968,b4ba714d7985b92d4e76367470fd37d6dd168795e820073c750ec80b4a1527ed,068f9f21f206fafe704c8a65066d3deb900ea2ffa7bb5a3d26842bad67925673 +Chords1217,ChordFormer,submission,4,TROZURE149E3AE4362,191.19020400000002,0.8746086352363525,0.8549082900681414,0.7107199849522212,0.6142879408193944,0.7107199849522212,14cb126e80af286a0d35e0a4db34f13ea1ea11d708a206b494fb83e67ea54b0a,b912fbdfd37a424d97adbd1f6cf56ade5ed5928ebc769da3b81ebd7fb0598e13 +Chords1217,ChordFormer,submission,3,TRPAGNJ149E33C3821,502.204082,0.6601430498328764,0.6690098104191426,0.6647772616750938,0.60841357629387,0.6647772616750938,eb9bd3a3f1033e00fba131f92ade667fa24a1ce68e3c5ec516413b18213e3975,ae3fed905871e8746dca0b60a7d49f6a8230d1bf1c9428a9e763f6283a1ce892 +Chords1217,ChordFormer,submission,1,TRPAOSG149E2BDBD67,323.352313,0.8520326952663554,0.8645367597015419,0.8401331881509653,0.8080981969873838,0.8401331881509653,9c682434c8b71394ee00eb0e7cbbe5e2bd65d5a0139519d83cde86f47949e73a,23562a48e47beb4748395d82ac596a015197bec27920e47f25d35234a5da741f +Chords1217,ChordFormer,submission,1,TRPAQCL149E3F1FCAA,222.493242,0.9074653067440148,0.8986988553522013,0.8986988553522013,0.8986988553522013,0.8986988553522013,ec541985c37a9de08abbde86598ee85e08f6e4465bcce9f3d403297862141265,7f3b0d28f91e3dfe5f4d794833304e9df4c0f4978b9489bf172ba3cf8debe217 +Chords1217,ChordFormer,submission,3,TRPBIIJ127FADB1A1F,186.0,0.9707740106666661,0.9983058642111051,0.9983058642111051,0.009763001973118222,0.9983058642111051,a536bfc23d0b5d220c4a994626402949010eeef2421a179f7c3e9340a7d8615c,68c8422558017aa2dfa80b0ed17abc50664b3026766b8dc420915f9a6f59ba94 +Chords1217,ChordFormer,submission,0,TRPCOVG127F8F3EC4A,241.0,0.9158997657095416,0.9019700583683006,0.8531227656387217,0.7254729443568451,0.8531227656387217,3fcb784eb8faf730881c6b681ea8f736bca4ee49226472de7b32fbab15586a38,ed35d54ed4ba07134967d03ccf756d27a6b0c7a063b63d74f40e45c2aa7b7d4e +Chords1217,ChordFormer,submission,4,TRPDWVI149E3B57EC4,215.14449000000002,0.9194219717827761,0.8772175518322582,0.8246885061755462,0.8246885061755462,0.8246885061755462,948fb0d5b4f9458f67d89d7dfdcc38f703ab48805480512943156724e6eb4a63,b27a33174272589e22695f99c11f3cd39d38c443e480dbcfdeb3b4bf9b0e4ea4 +Chords1217,ChordFormer,submission,2,TRPEKMS149E34781B4,223.4,0.8370030572694681,0.815834928452515,0.5452938715482197,0.43892038521933563,0.5452938715482197,7106f40950bd94d3f66d74237c1e8c17d4d4f6b87c73471a6247ab43f3acbda9,7a7f7fe334cd3d8d26e610f62db869158d77d88f3249380230425530e9c6402f +Chords1217,ChordFormer,submission,1,TRPFDLT149E3475293,227.552653,0.799032894452783,0.7908436980793223,0.6832703157820366,0.5756935939613052,0.6832703157820366,93f6ca223697bc33847aaee346966db550cc57a2e463046603c780ba8f76f500,5124db8b59fa7369d0c71f119c22f1cee622256e096e5043ca7e18ab7cb9a875 +Chords1217,ChordFormer,submission,0,TRPFTHN149E3372300,173.244081,0.9177630270496794,0.9320259623998115,0.8246619026975965,0.5893366151712853,0.8246619026975965,b8f30b69f4990a11f3cae2644a3af41e4e90bdf6c24ef720421096e5531c96c5,17c85d67c1ccaf001f88176383b70746404717ec0b3cf41932add27c7c575bc3 +Chords1217,ChordFormer,submission,2,TRPGAEW149E310F92A,231.340408,0.7642138198658308,0.8240810166935963,0.6224626734159722,0.5501795045680037,0.6224626734159722,b6ba51235b859732f4713cdb8a49e824d5f0f0283264fab706340f7e957b0940,11eadcce1968ec351dce4069f1cf4d76ab84f0f45d6ea73dbd5133a48148f3fc +Chords1217,ChordFormer,submission,0,TRPHVKU149E31970E9,250.514286,0.7428281730647488,0.7939977136522927,0.720245087834132,0.6533212342588717,0.720245087834132,73f4d59a29b62f123834e133419551e53481b0b6284428838170210317d2371a,88f548b0a054c4a5ad6fae3c3815bc0761d0ca5cf58481459b40f8ab912b82da +Chords1217,ChordFormer,submission,0,TRPHWMS149E30D3CAC,265.45632600000005,0.3458289214023096,0.5547094370791865,0.48681665208646463,0.23856864089951985,0.48681665208646463,d2a4171cb3f60bcc4e9575c9f3a397ae4097e3190ef4eff4abed66c2e94b6c42,38512937bca04d0f61b058bbfc979ac0c793cdf802fec74da7c3dc174ad3e140 +Chords1217,ChordFormer,submission,1,TRPIGXM127FAB14CEF,313.0,0.9157860511629361,0.9157860511629361,0.818857327924075,0.7983361877316264,0.818857327924075,99ae2ad75e151c553bd243ad8834d722b6d8451192d61cd65c100aa8459db031,3991c26def56a6dbb8cd3e80f36b01f9ddfa7aa090981c9639620acac88eea3c +Chords1217,ChordFormer,submission,4,TRPIILG127F8A926DA,278.00000000000006,0.8998020114388463,0.8696842849024093,0.7898063601783196,0.7838544021762566,0.7898063601783196,52268bc2cec953cd6fc18fda30ac059be5a25f402ff6af093cbf42b18ee23429,f2fff9d8594d1f1a3dbd7642d8ec20fcaaf699ae9116740bf54be023faab36fa +Chords1217,ChordFormer,submission,4,TRPJFKC149E388EB80,206.54027200000002,0.8801100640411654,0.8460483732373996,0.7443234903020756,0.7486692453421371,0.7443234903020756,1faee9edddaea8a2fb720f68096700a5abbcbb97d518a716d5b1270a20fbeb8b,e7c76862cc9025423d67dcbffc32bccdcacc4302a58c0ce5a7ffaf71f9e68f90 +Chords1217,ChordFormer,submission,0,TRPJMUO149E34AC72F,156.738844,0.992240526802661,0.9806852772118192,0.7569319307982135,0.7569319307982135,0.7569319307982135,6392ab18dc044827000bff1acd694645223bdc65eeefb8c99a20c6154c5c17c0,2c83c27908caca44df1c58734aeeb3cfcf314fa080cfccd5d2509c877818a3ff +Chords1217,ChordFormer,submission,2,TRPKGUF149E3758E50,156.708571,0.8081442381923076,0.758668807864084,0.6524070228443766,0.6402718584677805,0.6524070228443766,b5297314c568d2f0691631408d49a584399893d0540e1304c8253508cd89d7fd,8641b05dc684cda2f4f97dc59b4e194f4f4c3011cd03dfa909e4b1ef7345f72b +Chords1217,ChordFormer,submission,1,TRPKMIZ127F8DE2737,246.00000000000003,0.912095385573168,0.9201832148011091,0.8301898233024152,0.8175346496219488,0.8301898233024152,8f86090fe00cfda9023b612c6801591d5f329d80eb42a30410f9ba3995668eca,49841f1df72df5bdd16dd9abb6cbd309c6153b5a4ac8fe0863e9d9e8847add9b +Chords1217,ChordFormer,submission,4,TRPKMSN149E3C0749C,467.17387800000006,0.7828835598016906,0.814409398931306,0.5149582332220065,0.4379743305039873,0.5149582332220065,cc30bcab33e9dbdc7d09ad785df9799fc460a5fec4ee2856c1576f07055871f7,338155a2700a043c6b4d872c6b5807c4168b62a0646a8c9ef2e41a814ba75454 +Chords1217,ChordFormer,submission,0,TRPKWTG149E2E29E63,257.541224,0.8933191613355058,0.8683248499359661,0.7433071452445943,0.7370862677774639,0.7433071452445943,86e0abf63e4b88cd999dfc3f670ff53cf3710a6b272d7a70d41c5079abc9e8b1,c7f4101d8f3b26ec996bce1983664ff0f019723f36263a8fb6196db0a54a6879 +Chords1217,ChordFormer,submission,2,TRPLBLU149E3BFA2C6,273.711021,0.9565079591296395,0.9701197238564747,0.26591971670392833,0.2477006466319817,0.26591971670392833,25b5091240e0ed3f4281a117c06624e6a4012e145586616a630db691b47cfc4e,0c8b88f9fafe2bf9978e3119489c9534751ff39dc6af4340ed3df225db3dacf0 +Chords1217,ChordFormer,submission,0,TRPMBOE149E3AA8508,274.808163,0.7132028488578765,0.7348668273952021,0.533942404953402,0.4717222310241188,0.533942404953402,411f0f93de7e39b28d1a1d44fe37fcc104e960efd71e2ad1bf1cecd060668b83,115788a700edc83ca6ee17a1a7180cf2275691133551429c1d91433cfff60ee5 +Chords1217,ChordFormer,submission,3,TRPMERX149E3AA22C0,290.795102,0.8471434098088751,0.8687153247355583,0.8132150513254127,0.6759397768983038,0.8132150513254127,74e893060b85b7082ee255e64d7d47b76254ba0a562a66b0546d87210bded691,44b1f2984c742242551264b83853f8af4351e35529e6e0d87b844ebc2d581bd6 +Chords1217,ChordFormer,submission,1,TRPOSTJ149E3819EB0,166.26938800000002,0.9350399720662945,0.9292024900518662,0.8873819866168023,0.8873819866168023,0.8873819866168023,9ff9c778f69bc86039194bc3abca312ee05fc3f2db56790f315cad28592c2254,629dc0d0194e1e7c219dddf4d8d986d4956e7f0b0bdcebceca77aba25b626bc0 +Chords1217,ChordFormer,submission,4,TRPPEXI149E3ADC22F,107.75510200000001,0.9696471501831998,0.9696471501831998,0.6982346634872102,0.6982346634872102,0.6982346634872102,616a87ff7176caa104b46d7e0f27384a8ebbb382a1cead87dcb3d5ed37c6cf25,5315d575838ced89a6a0974a3641c55ebeb2d37c440c0be7dde4e7f483a07aec +Chords1217,ChordFormer,submission,4,TRPPWEP149E395F484,260.597551,0.9681317730764077,0.9681317730764077,0.9590791884993565,0.9590791884993565,0.9590791884993565,6a50a7e3372ecf2ae14c161f6f884dfecd77f354be6f640c8a04a064f4bd171c,23d0dc4054cbb124a6abb3570d4485c17d5a46f0ba687b478c2f8878527cad01 +Chords1217,ChordFormer,submission,2,TRPPYUM149E3B856BA,155.491633,0.818193565000376,0.8235425590130212,0.7573157293586548,0.6992323513381593,0.7573157293586548,b29159a6f638bad69123263b8c604443beb249e96054d466fd5198024258e020,fffc33dc1a88dfe1d3d7a572c7b8801bc7c9ce77f39efdb0ac8a48dbbaa8d78c +Chords1217,ChordFormer,submission,1,TRPQAYT149E38EB56B,204.56489800000003,0.40477073707924205,0.39975406564619886,0.34308117682465655,0.3410167131361901,0.34308117682465655,0660d4a305d8e64b10c02e469b9727aa3017fbb5c4bf04b69e9bf24a4ddb6da2,569b3ebc1f6fce7625469cc47f42441af1dbaddbad9e071d64a494611f6cb637 +Chords1217,ChordFormer,submission,4,TRPQHWA127FA1E615B,194.0,0.9453436893608234,0.942600307356165,0.7778368478521772,0.7837262781340194,0.7778368478521772,aa33e53e9063c0359a0f2e223bfe2fdd9e7faf6aefb23cebc07d48ad8dc86045,e7ad6d045c78d8c55b1296b74b4904eccf9ace82e78349c95b9b772027c5e26a +Chords1217,ChordFormer,submission,2,TRPQIGL149E38486EB,274.207347,0.9244438741497301,0.8992125710100467,0.775970245225059,0.7297392701297657,0.775970245225059,cb08f89922b1e36c230eb544866cab783eabeee13067bcc68fad28a80125c7c2,60eca9d388e8db02124f0ff6535a905924ce94e4f7afcfbfa8c098303e621870 +Chords1217,ChordFormer,submission,1,TRPQUIW149E3D17C72,66.298776,0.9098387843238619,0.9098387843238619,0.9348110807565279,0.9098387843238619,0.9348110807565279,9f4ef7e6f00b48422ac779876341c3fdccdccf994f9b9fb8d5b928433b42540a,8e67af8a92325bc586bf612ca9bb94f2b5f2da549a169d5e81b5fb4f0ba68677 +Chords1217,ChordFormer,submission,1,TRPRGZL149E3D70933,146.991021,0.9497201019918086,0.9497201019918086,0.8342509922765966,0.8342509922765966,0.8342509922765966,61cd7639d18cfd749f5fe2e920c9cf63bffc160414ad6a952d015ea68d4e077b,8b12874f1e7957104f1d958c5762483a2f757bf78f86b421d06a0dd1da1c4587 +Chords1217,ChordFormer,submission,0,TRPRZWQ149E3B51161,156.780249,0.9587419859245141,0.9587419859245141,0.8957078987226244,0.8957078987226244,0.8957078987226244,07981129cd81139356d22f534b09f252fe273244e0e22066a0e6ad5e1b8de571,7f6baa8dd6cf8091264aaf1726b8ff733a8d4838a3b88eaf6435a958f371c740 +Chords1217,ChordFormer,submission,3,TRPSORJ149E39990DA,183.170612,0.7652949483020794,0.8010989927957735,0.5845332932403697,0.462584377323586,0.5845332932403697,3befe11d23a8b8202ebddd1d6123a527a4301e795353fc31b2d59f2be30234a0,495d71c76c6fa0c502377be322655c218206b3950cb59659267dd22906fb28c3 +Chords1217,ChordFormer,submission,4,TRPTCAI149E38FFC99,243.670204,0.9601001006549003,0.959550250359572,0.8462005817859981,0.8305871748767449,0.8462005817859981,373a19041972268a41be1cadd9ce99ebe56dfd3c5807313b68aa9c501d0b7363,0549e163a40bd3db0dda9045d7d1a3e142d218365f5c3d1a5580cc54933055b9 +Chords1217,ChordFormer,submission,2,TRPTQTR149E3CC333A,212.89795900000001,0.9044006297213953,0.8963578829155829,0.24807033158501968,0.22699365468787802,0.24807033158501968,55cebaeb4261bdb3f5f8ae3c215b8149f8c6060755f113cdc5f3748f61c2fd87,9b4f4f85df840eb9b2bbf982215b7d8eb29550f2e089a94208d88e33571f459a +Chords1217,ChordFormer,submission,4,TRPTQWQ149E37728AD,181.36900200000002,0.8124568230628517,0.818706568663306,0.7089407214078896,0.6930854878332513,0.7089407214078896,41d6be7a8a7da216ab8b56ce2c1225207b22737f272f986451437dba08a8d036,8054c9ce8c2cae2b59d9ea8b3dbc2eceee5cf8251f59180675bd6c589613fcf1 +Chords1217,ChordFormer,submission,1,TRPTSTW149E2DFBB05,289.04,0.8981124002560255,0.8967037248546517,0.7262817693115597,0.7010312659216763,0.7262817693115597,f122335d2263697c1e0001e312def54a063e2d1462d82fd13546aabc997b31c2,fca902a6bec7f96b49cfd7bca7f2770ee08a3ddac16e01143185da931e8a3dd3 +Chords1217,ChordFormer,submission,2,TRPTUHC149E32C7126,227.369796,0.9016297832408655,0.9058132084050309,0.897125425031806,0.8048221128148428,0.897125425031806,b71d6ba4745bc0ccd68d0d718cf3fdaf4614a332b3bd9a63773ff6d53b9a49e6,86d3d4dfe5dcb57f542890715914e331f3dc301268ea46cea043a29b5c8a044e +Chords1217,ChordFormer,submission,1,TRPUBEZ149E37E1883,144.615896,0.9148596830738438,0.9148596830738438,0.7731961643552654,0.7731961643552654,0.7731961643552654,2c731be2f770584f80d6af3e48a2d7fc210e355bc72a654f0edbdfdaea7c134d,4f39c483435cec65a9f7229d1571acd73fa5e797827a173821afed171d86e1e2 +Chords1217,ChordFormer,submission,2,TRPUIZO149E311E3E0,194.168164,0.8973117210759642,0.9270495831444514,0.7492360611508937,0.6402508793202579,0.7492360611508937,fc20b7573465c27e3049e75688b661a7dd248864abb9d5008ed209dfcff33ae7,df5d3bab9c799ab36a2424b47402045251cbcdbaae4b669bf6dbb50a3c07e790 +Chords1217,ChordFormer,submission,2,TRPUJDB149E3B1ACF2,121.756735,0.9064355339932533,0.9363636505040603,0.935033422029191,0.8981397412964467,0.935033422029191,1beecf8c9585c12396e506f543a36801a50786788b832f7d2c430616ef583792,e099d6647f0e8e36ef9a05bb6b3ff4b22de6d30be9b254bb75dbb6ff472597f0 +Chords1217,ChordFormer,submission,3,TRPUZRU149E3174A67,207.960816,0.8646768688963022,0.9736995724719038,0.9736995724719038,0.7396227859771429,0.9736995724719038,cfa1f9ba86d7fecf72ee128f86d8ef5a881678ed888adc9387a53a623dc39321,2c19529f2c49f2b6f628425f1f7727902334cc6187c1800a9f7b0e99f105775b +Chords1217,ChordFormer,submission,3,TRPWORD149E317C83E,152.534308,0.8842003621178781,0.880962311665648,0.4724530099634186,0.41822713273790235,0.4724530099634186,4447d8928e2774438627316b8f67d14ce6b908d0cec77a00a19240b806da6f96,e5b0afba0b596f240ceec1cf807524fc5614a5dba7414002ee6814fbf1ea4afd +Chords1217,ChordFormer,submission,0,TRPWQXQ149E3C9FD11,165.694693,0.05606143070617221,0.05197159934821139,0.038830847016143394,0.037837942093896695,0.038830847016143394,026caa4b92b9a5e0397a565403d57106a82de4c3dfe526a3b33a92cbce3ba0af,fac649783b07d10fcb451f48b38dc1a18197818e438ae9cb0cb0fcb58100fb8a +Chords1217,ChordFormer,submission,2,TRPWYKI127F8D2ED7E,211.00000000000003,0.8241502831753531,0.8183148155642525,0.6004017243817769,0.5894949006398084,0.6004017243817769,b124b930b392c03274c21e7d49c11ed653d8b6b832e3e0a26cd04aca8af64978,4e97535874c6c3fc89523e863bf0e5d59e9a5285f5d2ef9a886c96f2a80c2f7c +Chords1217,ChordFormer,submission,2,TRPXXCL149E3E6A86C,222.53300000000002,0.9637141844939885,0.9114421833258887,0.7681237577706452,0.7492566034161254,0.7681237577706452,6aa6ecf6115c8edaf3aa3cf7e1284b84df9a6534bb1bb736180aed15baa611d3,2ff886ab8e820b8ada76ff927492ad883d638c4c74d6f53d7553ff461bf366a5 +Chords1217,ChordFormer,submission,0,TRPYKFL149E2E66B60,212.035919,0.9452157031092459,0.9274297094399373,0.9302371785134098,0.9049673721601862,0.9302371785134098,03f6d676252fef29543d4595183638776a3b3b3f090310fd55e2ff158e7e6a10,edbba98239d13c5edac86fdbed08c765c8d658f99f23884e3dcc8a77a25378d6 +Chords1217,ChordFormer,submission,4,TRPZBZR149E365964A,132.46693900000002,0.9813820653695333,0.9813820653695333,0.5588762052318579,0.5588762052318579,0.5588762052318579,b074462cd42b7ffd5e0cd21fc08c8551057b2cb8c832968823e5b5edf8772810,d3b2b3bb0ab657c4d037b83234e3218c0f62d2c5f182895786b4ccae2c0e3448 +Chords1217,ChordFormer,submission,2,TRPZXAB127F8DD6DB5,218.0,0.9660632736330269,0.9660632736330269,0.9524302461100912,0.9524302461100912,0.9524302461100912,a5953a207a7da358f1d6550fe4520241a001d67bc8baff6856831ad2e42250fc,a23435b173f820e29c34282244aead74477ced530f8aecaca735c41f0a2e58b5 +Chords1217,ChordFormer,submission,0,TRQAGLO149E37AC02D,253.58775500000002,0.756671407241253,0.7480427077103395,0.6960553728949802,0.5718086414148822,0.6960553728949802,655133743e52e2be095e92a3ef1a8878c29f12da768746b91c54d4dd4e0ed67d,038dcaa22d796c3618d463aa775a71d24a9888b93c63a0e8fe6f2f04f82da85d +Chords1217,ChordFormer,submission,4,TRQAJER149E37661DC,158.06693900000002,0.9543465893522505,0.9543465893522505,0.9543465893522505,0.9543465893522505,0.9543465893522505,cc0b95d2b52ce83df6fa952e2ea1fa1acaa0ff420c013ed978af802eaea32e6f,bda0af48ad436acd6d833a0817fc772d2fe70d0e94f81d405a9d911c3b341269 +Chords1217,ChordFormer,submission,0,TRQALTY149E3D385C1,241.30748300000002,0.6387208636791426,0.6473025462516043,0.622837033851511,0.5987789636469749,0.622837033851511,a5eca41c1bcb8323eed905d28fc48ffb2369f25d70161aa646b4c48941ec4983,a787aabe7451bb5dc9a0299530d75d67fa902c26f3a90c39b5f248bced164c78 +Chords1217,ChordFormer,submission,3,TRQBMJV149E332882B,178.78204100000002,0.9585846311151548,0.9585846311151548,0.890556957306464,0.890556957306464,0.890556957306464,ce5910a8bdae318b7be6f900fc78918afc3f29b3b52642594be4a8b9168f6f5c,8386843f106f71c176c654e24a9bf04aa02887239deb9741520df9af7f359b20 +Chords1217,ChordFormer,submission,4,TRQBTIW149E3380BCA,190.515556,0.9622725000419382,0.9591233238560313,0.9591233238560313,0.9591233238560313,0.9591233238560313,786370fd343b902581f10dfeb4e5a775c27a6671eeb052a97b831eaae27847e4,8e278de3cb6bab6c358d343ff374307ccd43cd8c8dd5ba8e2a68e147cdde8015 +Chords1217,ChordFormer,submission,3,TRQBXOJ127F954FBE4,306.0,0.9444659641666646,0.9437681557877906,0.9247535986374567,0.9142111214901939,0.9247535986374567,4665b104f2def5a9f0efefb75cf2cae31f3572158c6429ae00a1db5ba62a728d,a9c90c7802b1cc8d682e8d9bf4c382099707b19d4121ab042b537d32c2c33cb1 +Chords1217,ChordFormer,submission,0,TRQBXSM149E344ED1C,174.341224,0.9567871082687813,0.9567871082687813,0.9567871082687813,0.9567871082687813,0.9567871082687813,1579817897861041f17bc09efc00620e4389dd1ca2f80aedf02d319d03b431ea,b1b7da11e35577c9282e49f0c2d9a22eff8a25650df67b3dceaf7ec5e9aef2f7 +Chords1217,ChordFormer,submission,4,TRQDNDB149E3E61A7E,128.02612200000002,0.959316939343052,0.7406822722397239,0.7406822722397239,0.7406822722397239,0.7406822722397239,2ce339e5ac79a7a5a4b4af5f5471243fd35676aaa0484eba992d49a558f48f95,184a9f5dfda790264679a6b9fa2ee1a5c987404ae6ae3bd8882a5949598cf2a3 +Chords1217,ChordFormer,submission,4,TRQEXUY127F8A926CF,160.00000000000003,0.9564802437499981,0.9564802437499981,0.8829139172249986,0.8829139172249986,0.8829139172249986,d160f9d1c8cf3ced2fcc452fecc62a64f16148d665c61248958bbfa1ebfc177b,a51a5ba629911d46ea555bcd9956cc9051fbc50592e6647f42eb286b82cba1c3 +Chords1217,ChordFormer,submission,3,TRQFJTH149E3BBF50B,274.67097500000006,0.8646018189216285,0.7100182893472631,0.7100182893472631,0.6903710641858178,0.7100182893472631,7c202c8e697c24a14aa84fbfded96c18497b391d9432e3ddba8f5f75c295b48d,657a5cdb3934144c68cf7b6c0eb1a57f34dc2904fcc9074a8ca919b99c739ae4 +Chords1217,ChordFormer,submission,4,TRQGPYH149E3AE9D3A,301.534467,0.703092740565542,0.703092740565542,0.703092740565542,0.703092740565542,0.703092740565542,6b8bbacce1ae84f8a1d8aeff2375c8758dfe94b53f36c4cecf66252444c55bec,1422298d64cd4d152875223330612074b1b6b949179e4509bbf651635f7db135 +Chords1217,ChordFormer,submission,1,TRQHXNX127FA620029,370.00000000000006,0.8271966047810806,0.719588438819966,0.6159183677493396,0.41220694981621553,0.6159183677493396,714f9d24d5064615b4630500eb24375dd5d647cbf45ccb68bc5170bee3c41428,601ced979f921f99f560f1295af7dce206aeffc2f7c03298f354d0f689f292cc +Chords1217,ChordFormer,submission,1,TRQHZQL149E32FE0FE,222.354286,0.9079738689318528,0.918871810868376,0.37163669644265696,0.3575142343377173,0.37163669644265696,af49d6d0c755ac612a0966678f22c4ce00ebd6418d6286ded56d0881ef8089d5,b0e850852c8cad3053e0ccc26454f0f309fb39f433fb5c50739a2fed18ed5f30 +Chords1217,ChordFormer,submission,2,TRQJVYO149E3B3B60B,172.173,0.8758325437495993,0.8234191432390806,0.8447420621490112,0.7714509135694898,0.8447420621490112,9693b39aa9605fc11175c3aa68034bde4e8d31a1eef84e69cff30bc72ca856ad,8410cbc724b6ffa72456d4120b03cda14ad40a6c2214fe33a7cae758329e3b1f +Chords1217,ChordFormer,submission,4,TRQKIFR149E3A06E36,215.69399,0.9294613674771359,0.9190935761167924,0.7299421343125958,0.7299421343125958,0.7299421343125958,21587f36e96a0025f52b2ce46eab98b871d56bbb1219f337b9b616c73364c664,a3c99cc0942b2017880e24febe4f6f64cb0bf092edd88af6985c91fdb7cb7898 +Chords1217,ChordFormer,submission,2,TRQOUHV149E35CD310,152.73795900000002,0.9071995088267497,0.8099264763681864,0.4850300390985438,0.482415443288725,0.4850300390985438,be3765ba8d9a03de65e3be0a19f7a2137a4d940e34699253cd00c61c5d4cf1ab,5a6b89916f942bcf0b7dbe97a9baf20a378133801874c3591b473cb87b58e280 +Chords1217,ChordFormer,submission,2,TRQPBDX127F92CD3B3,163.0,0.902970076368097,0.8951122518466245,0.6207546248794175,0.5290124229570546,0.6207546248794175,b0a8aac6276b575655de722676c2ac1c80ca4a94c80bbe27f72c8ea4d917bf34,41a6a838bfcf2ddc4163c9e1532115f5eea778105ef8f83a36c7a587dc9c16fb +Chords1217,ChordFormer,submission,1,TRQPDEK149E3650142,253.91020400000002,0.8870019753440062,0.880874860570785,0.4828056862771835,0.4828056862771835,0.4828056862771835,f82d6994023354c271e8739c2e536943146c11cb58f6d781acd8db40ff7e33d0,aff01180fdbe7bd9902f4cdf3263a765981f6420cb71b1adc606aaa841bf525d +Chords1217,ChordFormer,submission,2,TRQPWQI149E394B4F4,262.696168,0.7550219992055589,0.7922888628186084,0.7922888628186084,0.6811121238433879,0.7922888628186084,fe7189ad9897f789467803e5c79cc4bbfc76f617e9e69cbf6095df7e1895ed8d,c70493ccacc2ed3c72455c858dea6e5489ba24dab4581929a49f893f34f6c33f +Chords1217,ChordFormer,submission,2,TRQRDES127F9522C43,378.0,0.7075486688439141,0.6471414453468087,0.5767833910782613,0.4911128507830679,0.5767833910782613,81410aa93a7e02c48fe3a3e3080c38dcdd7f7e3fc8bb695af5c379dc6d4fcf2e,787733d33f4cb4149e97b5aa90db8b4682caec1f349a897ec5a238099ec90027 +Chords1217,ChordFormer,submission,4,TRQRQZS149E38C4980,162.56,0.863215710396162,0.863215710396162,0.7838174974468571,0.7742302705647153,0.7838174974468571,9b8bffcf187eefc5b5f8e3c3872a9910131edf12b84b16d01f4555cee78077ae,cc0dae21f7991a49cf66cf7b04658a62b78e7620c6f37c7312e5d30b10ffe0a2 +Chords1217,ChordFormer,submission,2,TRQRXXK149E3BEB330,145.240816,0.8685671500151864,0.8685671500151864,0.8061549948948239,0.8061549948948239,0.8061549948948239,6665138c5f6892cc3f82129e6771afea4fdd99598e41885a38a3fb3a1b7bf7cc,2ca5b10cedebf107160c91028a467d80d8eac9436e900f8f105e5dc07306ffe0 +Chords1217,ChordFormer,submission,2,TRQSBOD149E351007E,218.81648600000003,0.9408275574035132,0.9244934681841113,0.2796521269974146,0.2796521269974146,0.2796521269974146,eca115caa6ad95d414e300b317175238f4f25e19922a9e4393d675c6d48fa53f,2a515bedddfca0a486ffbf63044d10fd931fddde60fbe99f38aacade8bee0b46 +Chords1217,ChordFormer,submission,4,TRQSILX149E38F360C,204.56,0.9030370589166978,0.9137105283339042,0.9077016718820745,0.8916518236849809,0.9077016718820745,b949008869fcfc78d12ad49374aafff482a135736cb39a1fd81c6fb49de9b4e5,797157d4a61491aa862216e69e11c8c975a50e20aba7450dd36aa7ef5fc92c2f +Chords1217,ChordFormer,submission,1,TRQSXJL127F8D302BB,228.0,0.9780240283114008,0.9780240283114008,0.9715420595043833,0.9715420595043833,0.9715420595043833,2039d2a7fe8c648c50a3aedb24038fdc804f76026ca483c1e02f8e3153abd8c7,3f509bec170da3a2e6fd68c82f118d033030e84cd52ab88de449f15ceac11008 +Chords1217,ChordFormer,submission,2,TRQTIBF149E38D0D49,174.08,0.9418863061351135,0.939237475235527,0.7863644718372418,0.7784775406479807,0.7863644718372418,dd32936ac3f6fc0e29857ff18e242d03ccfaa256e064e70934b9693820fa8b66,224eade22c56ca84a9cb2ab71ab2f831cd84fe1bafa46edc5604d24bdbac6f30 +Chords1217,ChordFormer,submission,0,TRQTPWV149E3ACAE9B,130.24653,0.9506001470979681,0.9393465760882898,0.9046029397483165,0.8175844366218427,0.9046029397483165,3ee4ac2074b8781255f4932daed2f0f32dc680c600ce00a35f62ad5ab6bc2e79,69fa5c95ca1b983b5f210ff3fd5a6c5ceaff2dcdd104de4257243edd4e498a80 +Chords1217,ChordFormer,submission,3,TRQTTVG149E39099B9,303.333878,0.9621950621288675,0.9277473501012446,0.6910846514397473,0.6867165455880935,0.6910846514397473,580e14e636206559abe3d168e1d05aa689e2b471ab589d5707cc5037003dd511,1fb75fea278a44cf7e20538ef9fdfa3b218feabd92d63c37107d6a54f3476168 +Chords1217,ChordFormer,submission,3,TRQTZGM149E3BB7021,124.342856999,0.9222890180810515,0.9678709708825501,0.9575450026718766,0.9036311263050996,0.9575450026718766,3bb8e1408cf334da21b497f79f7057e9da774e3b0ade0a6d403e49b1b87ea0fa,07536c517b1a335d96707cbbcf8da2c2b22fcbcf960a918677976b005a0df43f +Chords1217,ChordFormer,submission,0,TRQUISX127FA57F892,243.00000000000003,0.925941826925923,0.9038298106543183,0.9038298106543183,0.9038298106543183,0.9038298106543183,aa45ac435877afde5c3b6b84eedc16a85d8d67975222a79e1ebff4bd644e6e5b,5260993f21610e7b69a0f6beaf207ef2763ab33b44747ae572ef2609bd33268c +Chords1217,ChordFormer,submission,4,TRQUKHR149E32791CA,220.417,0.6655094188333945,0.6280798395000267,0.3747652430953829,0.255896036775749,0.3747652430953829,a479bb30f663026d0ff70e65225ab723afe26af0c3b644d406882d1b35065645,8ebe07f8d9c7191e6a760a81e494589f6b29ac02d4f195cd9e239ddbb2808404 +Chords1217,ChordFormer,submission,1,TRQUYPX127F92CD749,97.0,0.9545136638762872,0.9718207577883081,0.9283916466350696,0.9087709984329884,0.9283916466350696,a79a60e865d25cf447fb4c9fae8902de9166ecb66746f0f2dfe1e5494e87bfb7,30dde11534323a6fd066efe5b499c15e88400792bc9a02192c4022d05a1b6971 +Chords1217,ChordFormer,submission,2,TRQUZDG149E3806F61,156.238368,0.9544386807599015,0.9537066764941985,0.9420934716736823,0.9201701897321406,0.9420934716736823,ef5af7f6786b0e2fea1671c6dc4234ec215812739d6ac6b6b36e2e4bc7ccdab0,1eb00c99618d82ff25947bb16b8b2a00c51e79e70c793ccb8259d544cc689b3b +Chords1217,ChordFormer,submission,0,TRQVFIP149E38CB4EB,201.456326,0.023467205939216466,0.025048618669726283,0.025048618669726283,0.022130007473679245,0.025048618669726283,e1d8cb06d3909b7f683e0db0ee566b4b81497b9f7b5b20d6428afb0a5d529004,e696c2bc0bde7f6d52d9b2957093b86bf5405306ee1147d95a451b3e2559a288 +Chords1217,ChordFormer,submission,0,TRQVVHS149E369E28B,235.363265,0.8484569385838527,0.8410936871895676,0.5990241558229553,0.5869660512612279,0.5990241558229553,5aa2bb8d23478fa48f57b7c83544244a4f88a09e14e0ffa9e593b60fe4e223e0,29c8ac78b8cecfb7b57293a4223b070dc99490d5c5750b3898a161caffe34121 +Chords1217,ChordFormer,submission,2,TRQWMWG149E34E2B0B,237.87102000000002,0.9685405192234002,0.9685405192234002,0.9553135884312424,0.9553135884312424,0.9553135884312424,927e6ca40cb7a5c0525ed0c85842a0172c16fb6d759a769a9fc8a92af6571b70,5028d9d4b875042d4e822b67723b4b5413adb6e81add15a5930aef9d8c200806 +Chords1217,ChordFormer,submission,2,TRQWQVL149E3AA51F9,214.857143,0.9427233756701431,0.9240981292791886,0.7446665563063566,0.7446665563063566,0.7446665563063566,87f097b1d7115e186b1cac119b272bcb395b236727575007294bbe4fd2bafc48,815a95dc575eb10d3b929784d73ed3c3ac8be353463456bedc78ac270cb23149 +Chords1217,ChordFormer,submission,1,TRQXBKF149E34454FB,160.20898,0.9787841890198661,0.9787841890198661,0.9278921516946175,0.9278921516946175,0.9278921516946175,df1539522faf2d33373154577a711b877b3e9cd0a0503f044cf0b62adc45e6ef,1603162f48ce2f33592b27e8112cd51b653cfe7dda7aace0c11bc9e921d2adb6 +Chords1217,ChordFormer,submission,0,TRQYKBJ149E2CB61FB,128.339592,0.9381416419572242,0.9519197939207111,0.9072558503978716,0.894124167396451,0.9072558503978716,0d8c1a0fdee2ac79c686c872636cf400e10545f554f282895e0050cda47f4379,bdd76ed3380356f9c3d66aa5e0adab9b07eadd60eba43325c1421bacde65b788 +Chords1217,ChordFormer,submission,3,TRQYXHC149E347AECB,198.63510200000002,0.8214074975630439,0.6757352064507234,0.6537935983522498,0.6244117996576457,0.6537935983522498,b879ad5f7bba11ecb513fa29bb6422ff999e2274202b58164b7c0a92a8b1b16b,e1d39916d1636beb69fcc362e9d6cb700a1f5867cd10d8434153eaa1a9da2a52 +Chords1217,ChordFormer,submission,2,TRQZQWA149E3120CCD,175.125125,0.9210964240853498,0.8323772998218865,0.8323772998218865,0.8284426212686494,0.8323772998218865,7e9f278fd1ffc16b8a4a309a2cefb48cd67c9225f2534733bda4968030d23c53,0cd2b05d9652ebf4bbe3216df1c92c2b17aac5f95389f5eef66a9e772ad3f343 +Chords1217,ChordFormer,submission,0,TRQZUHU127F8D2ED7A,196.60600000000002,0.7858880738888919,0.7801604423509075,0.7185694219185937,0.6732928891641126,0.7185694219185937,a3ab7e5a11efad1b7ba2a5715b5d617aad135c8ef3fd1a0662ca9b4ad58a83e3,35f33483ef29ea2dfbe597a75992e607d0874221ee84f22fdc9c57baf7ed842f +Chords1217,ChordFormer,submission,4,TRQZZXY127F7D90914,312.0,0.9247860195256407,0.8347906640852932,0.3794606711575532,0.08486591516987174,0.3794606711575532,26eacf59fea881238f329c46f5f7ccbb78b37a5da17ca70ac20ee365d3cb2db1,bd389dd6d43ba2e060713b6635648519c80fb742e1827cc2e2d81af649c2bbb0 +Chords1217,ChordFormer,submission,3,TRRANWD149E3CCB0AB,225.985306,0.8875269905955734,0.2259309611616953,0.17236795700336366,0.17236795700336366,0.17236795700336366,fd42cd84b7dfec71afdfe3883be652dbb18791ed876c491da64f1d2dda04c05e,19325c9ddc490d5300529210872514eec6056fc7a0951f3b6773a61b31470a1a +Chords1217,ChordFormer,submission,3,TRRARWC127FA1E7490,246.00000000000003,0.9346861161910552,0.9346861161910552,0.7596501392032506,0.7596501392032506,0.7596501392032506,acf8e5e26e775ee6929a87fe80b6911d7f1c8478726c60feaaa3cf44e9fd223a,04d801203d4b48e5e6ae50e97b9b9e1da92235aa032e5f6f301945996cef8887 +Chords1217,ChordFormer,submission,4,TRRAUHJ149E3711AAA,533.603265,0.6997788916902536,0.5785836009272376,0.42235968740377505,0.2881306547552709,0.42235968740377505,d2e8f78007d3b68c43e9e66025baae03dcc4b526366f27b1f8565b312ec54bfe,f0b79e607e649e7587fce046a73df22ee3b2014cb9c31a8dff42ea1a8a754216 +Chords1217,ChordFormer,submission,1,TRRAXIR149E3D9E643,123.376327,0.9280354982929613,0.9280354982929613,0.9280354982929613,0.9280354982929613,0.9280354982929613,9e7e5e960d3661606f106424e3a088dd50fee2292a684ee3c08e0d12fa46395e,f19ddae00016fef428a8a0cdb89b78f34d994f89d37015238f7c747e0c62cd08 +Chords1217,ChordFormer,submission,0,TRRBCHM149E3CD8FAA,305.084082,0.5643032655338602,0.5645485922537116,0.5645485922537116,0.562821570025407,0.5645485922537116,4105dbb37299b94a5802994263b4d245017ac099af5fa0d5474a2041db9824cb,5651a1e426892edddede87cb5cabf1c6c59dd715a83bfaf908c32afd90d9fecc +Chords1217,ChordFormer,submission,3,TRRBIJV149E36A897E,229.052131,0.8430171765789016,0.8892657959947231,0.8892657959947231,0.8430171765789016,0.8892657959947231,1d238bb4e7e551d53f018c801a8e0f74f850e64cbc9b0ac6ea6a3f2a3e20f3a1,403d89fb7745e77ac83abd6bfc0f96d66057815987f524aa94fce88f74f15ec6 +Chords1217,ChordFormer,submission,1,TRRBPLR149E335A87B,335.02040900000003,0.8911309071770609,0.8911309071770609,0.8480637241774726,0.8480637241774726,0.8480637241774726,a6ff43d1cc6d08c68468cad35a71bef5cec139ed979ebbbfb3196ec34ac0d753,e486f23a3fb788b073967bbfb2204b03c1877b3a59dfb535f4a5ddaed4a4de19 +Chords1217,ChordFormer,submission,0,TRRCPSB149E390690D,125.15265300000002,0.8918651979435054,0.7945277533269698,0.7812125062343345,0.7364258154479543,0.7812125062343345,0f8ae752ad35d0108f56444709ab238ae06a52939935c7a98502cc88c3e8675f,b2314d552e8167762736a1a3cb438f69ec33b629c720a23f603f0ca1ed60d6c4 +Chords1217,ChordFormer,submission,1,TRRFPKV149E3C83783,240.25300000000001,0.8142361227497693,0.7795942294306246,0.34428842267589693,0.3172622741485024,0.34428842267589693,6ac60ae3bada471cba23a853b4c366f5b487a8394ab92799b2c21c893f2ac8fe,069868abf2253ff13e4538513f6cd9ba9430e3216f91fb0e9a5c54315ee036ab +Chords1217,ChordFormer,submission,0,TRRFSHJ149E3EE8CFA,158.832631,0.9261359267416526,0.9252811345942455,0.8743218096718559,0.8538827414689111,0.8743218096718559,9de6c260fd72a75a3f6da290e826cf4d3cbd0bf8ff3bcb62ef643da9f592c552,559fa0cc0aeca189e35ebd49592d280624535f1aaca7d6bd2ea416b881a0ef1e +Chords1217,ChordFormer,submission,2,TRRGHHS149E3B530AA,221.657846,0.8331764349230398,0.8585595580988219,0.7518104861927823,0.6103675627119471,0.7518104861927823,a63d749aa94abde7e9e68fbf6601dd3676a024e227b4650be687546ae4a5443d,78249e58faf1286f493c310d81191f3e0b1ba4bb48166084366e4e767ea40d34 +Chords1217,ChordFormer,submission,3,TRRGNGE149E36EF06C,143.856327,0.9636466464140998,0.96353208306511,0.96353208306511,0.9636466464140998,0.96353208306511,f2cb9f033204fbf8674681163c85ebdebc0c1ac2eb957fba5e840bce31421f99,43e6d7aa2dd0b1114cc58d392358b82573b3643465cb864d0e4703ee0188dba6 +Chords1217,ChordFormer,submission,4,TRRHADT149E397ABFA,186.09632600000003,0.9132992257783743,0.9132992257783743,0.8267020762178274,0.8012697928007453,0.8267020762178274,4efd1d86243224f4480bea60aba02be47af12ec81633b9541e58f1b88f82e921,2442cd4f4bf75c226a8f3c9f4328890eb56a55d87fbf0cb230890bdd93284c13 +Chords1217,ChordFormer,submission,3,TRRHFIZ149E32B9626,222.72000000000003,0.9603644537131824,0.9555686656654093,0.5974756706941451,0.5974756706941451,0.5974756706941451,a1e72fb1b469614c33c74df195b02e4b1b36b7a8fdbc434fd3391d8b63a1370f,9da19674e92b1f935db2571e0cf6375b715d7e4fdb8cd5489bc66f4e328963a7 +Chords1217,ChordFormer,submission,0,TRRHMPD149E377D161,255.50367400000002,0.8021263781553304,0.7855178580602337,0.7298916522123082,0.705618813019496,0.7298916522123082,1e63c1e33282e8ff72d114336d3e1dbef0ee944c8fa93984581a0f8ae0bf1464,446d6a106dda52bfb4e1711c510e21d73147d3c38836b4dd2f0ae207c2165eb2 +Chords1217,ChordFormer,submission,1,TRRHMTU149E33FA181,157.15265300000002,0.8810740570443961,0.8760098740872048,0.8760098740872048,0.8760098740872048,0.8760098740872048,77d9cdea6ffd72aba0fccb1e7275314bad559ec0a66d3824bf601dd53d6493c7,d6110bb8e5c2111599a4ec89b8cce351737c13e41fe17399bc027f2d388f68dd +Chords1217,ChordFormer,submission,0,TRRHOZH149E3C0AE0F,182.987755,0.8825771632369613,0.8671780740216968,0.7707754639677522,0.7275612530357568,0.7707754639677522,d13fa011019e7a21b4d8f144d9d5814bf533c9a59cc13c03efc8cdf9ab5d47c0,0e5c7a4062964ead37d8076a408f055600f985219ff9e4e8c9f680fbfec83597 +Chords1217,ChordFormer,submission,2,TRRIKOS127F98F4268,227.223,0.8151103479577329,0.8494819612450024,0.809389504155773,0.7462444592316801,0.809389504155773,c96815e073dccd900ca235f5430b70158bc390e759e2915e1a4ef9c351a94cda,60ea3118a9805ffc87d1a8fc0e5c82c8d62a7a3909efb5ab3162802da5d08dad +Chords1217,ChordFormer,submission,3,TRRIYFF149E39D2C83,216.241633,0.886175548794529,0.875547035314796,0.5884704872377297,0.5313239086249413,0.5884704872377297,172b8544ce67085b85d4ba174c315fdec543b92ef7d4d6793aad0498d43b5a41,7009aad678ec8183613f169b503c911ae7dc843faa179578465a1f7a1c45a6db +Chords1217,ChordFormer,submission,4,TRRJGSO149E368DD52,200.228572,0.9088529930683419,0.9088529930683419,0.7937957861378543,0.7937957861378543,0.7937957861378543,4e9594ec432042105288260734b8160479edebc67af89f91a02907e38d03e0da,8cdac97c77c59d6bc8d2c4d078340ccbdfe6b722189205598d215ae970561a91 +Chords1217,ChordFormer,submission,0,TRRJNHJ149E3CA7D46,180.088164,0.028490879533871083,0.030494146458174255,0.030494146458174255,0.028446763763997317,0.030494146458174255,88e8fcf335f499a9005d6aa15acd8eec627cdd15b76d6ec358413430f48e33f4,2f14c6d957115743529408905307dd1b7d878530217c8076ce110fdb5d9b9629 +Chords1217,ChordFormer,submission,0,TRRKDWA127F8F3EC57,238.0,0.8192472131512591,0.8457161856132693,0.600816972086267,0.5819028658907552,0.600816972086267,2e26c4db54eee554899dc10b3bcbb9b89afb13f040371a9c3ef878fea04ab17e,786e168e479138349e3f3c2c9d977b9d6d6207a809e6e21d2cf095c0cd9d1806 +Chords1217,ChordFormer,submission,2,TRRKFDD127F8F16B07,207.27300000000002,0.8797125304743021,0.8755484581011519,0.8755484581011519,0.8755484581011519,0.8755484581011519,493eaf83acce805b4c7920a14b81a11017f7a46315f04ba999dfb3df59331826,09e5ec7058bdb5efd57a6b3a2e37cae46f01928015da5acfe4700be1982bfd91 +Chords1217,ChordFormer,submission,3,TRRLPMX149E3EF7B8C,239.85632600000002,0.9461390089874058,0.9120983766965562,0.188961093371371,0.188961093371371,0.188961093371371,9035b3767da1da7cfa416681cf0263a8b3491346e2ec3cde269d7725d81a8ca6,79a68add455b71415e668396d633b3d1e038768115c176d308c6a956a8e90964 +Chords1217,ChordFormer,submission,3,TRRMBEW149E36A5D49,216.37281200000004,0.7509286780124664,0.7158328213690361,0.2602867291008953,0.2524184454606986,0.2602867291008953,f680d5b475d3542a242c07f421a9f40d48174c056f8ba4173ea929239e922424,ecf0097fb02b708241bcabbd9b5179eaf608a9cd7ca558c48191c200ef0699eb +Chords1217,ChordFormer,submission,3,TRRMNSO149E3CDBE10,169.46006800000004,0.8965357359174438,0.8965357359174438,0.8182127025583404,0.8182127025583404,0.8182127025583404,f4b9446f9ee343fed6bf45db87aff90e547f8cca4ef1ad5c04363c69ebc4f357,a591b900c39353d833135858b8b1253e97e94c7fb50866482082eb1102fb0f0e +Chords1217,ChordFormer,submission,1,TRRNFEI149E355EA54,166.643265,0.928874472154634,0.928360958734645,0.8982871664323683,0.8992465710330377,0.8982871664323683,16b1a9be55a7bd8845afcd3377433d9695d1b68308b559f2cfd194ebb6053e96,5b390d2342144dc72e710515a3c41181958fb4b58b846afb594690b08b4fbe41 +Chords1217,ChordFormer,submission,3,TRRNTEZ149E3AF80E9,126.432653,0.9558533667485409,0.9558533667485409,0.7470634508950784,0.7470634508950784,0.7470634508950784,887f8b2084ebc5e456e01e963193498b9c2593f64cd0d977e7c2011e827a1ed5,0168fb55fdd287c5c32aa7b8e3e0083a0c8c0a4aea41d5ea948aa5c62d5c5c57 +Chords1217,ChordFormer,submission,1,TRRODMM149E2E1DA41,125.51836700000001,0.9057144268216915,0.892802340800241,0.8307281390325452,0.8234005807373173,0.8307281390325452,8ef7f592367408a9bfdbb6edde770fad17c023f93767d67c94241f86f3a9d862,2d1765c7b5a40fae2e6e69e455f6b6ef689d39af24450c1bc3a34a29e618c986 +Chords1217,ChordFormer,submission,1,TRROFPI149E30DF3C7,240.71836800000003,0.8744567887648756,0.8622274002679389,0.7717827975954746,0.637159582595713,0.7717827975954746,d87b2c9b4bb7165e49a40c5cfd8a21316cda5f2c88f2ddea90f9ccb143ed5866,9452d0de0c33838f7035504fbe0defa18ca2968fb54546e20fa1e0ab3d8f6e3a +Chords1217,ChordFormer,submission,4,TRROJYM149E3D54946,145.005714,0.9030929924802857,0.8894158092901115,0.8621840183070334,0.8621840183070334,0.8621840183070334,da2adb53ef6e6bf00ed4771e32412c2a6173609cadd23c8b9426bc3259884ae6,3d5fe83e98b1b4bf3f272a6f05d7ff48f1899087e7e1edf5f6cb0be29bc5a1c2 +Chords1217,ChordFormer,submission,2,TRRPFAV149E3C5403B,249.96571500000002,0.8999760181591304,0.7666057821949811,0.7666057821949811,0.01463729367845509,0.7666057821949811,8cab5b7d8eb5bf610e4ce1c7e654eafb3e7aa9c481ecb1dc35c99752af741cd8,0f11f9b217bdea85b6e430956247a7ea6b116260d3e8fb778e989265838f52a6 +Chords1217,ChordFormer,submission,3,TRRPGRC149E37CE5AF,142.46530600000003,0.88557234152152,0.88557234152152,0.023510833227003387,0.023510833227003387,0.023510833227003387,b6bf398c94d672176e380f071706da590fbd5e269544768661d7bd5387a8cf92,8103605183720863dd1f7f3285cfbeeda8911367921c253639dba5f64154209b +Chords1217,ChordFormer,submission,3,TRRPLGY149E2DF4A0E,169.195102,0.7848368084496904,0.7782065726406182,0.7782065726406182,0.7782065726406182,0.7782065726406182,54acac765db809b641ffe48b1becfff21a1ffde704f476ea5d221e76975b1d2c,6d9f71aa4f8c0bbbe4d0d12112ba3e5f07a85f6c1041be264238a6ae57a009a1 +Chords1217,ChordFormer,submission,3,TRRPNCG149E3D40943,211.57811800000002,0.9043045159235229,0.906879675567502,0.906879675567502,0.9011651769347904,0.906879675567502,f4a9732d91de15c3883351b4fabd101ca900feae88be01e8f5936e9e06d1faf7,44994e26c8d551eddad8403f2a240112b31f55e230168d17f4e60da22aa1a598 +Chords1217,ChordFormer,submission,3,TRRRITA149E3D68729,210.78204100000002,0.790960577390937,0.784417164354821,0.6491783705224095,0.5715035138738419,0.6491783705224095,92dd165f568cfb307034c34a49952322df7a3c9d5a98aa3b06133d262e5a4e59,e191de225e3cf2b7e2b3d31f6144c1003d90df3108bc525f3f41c5509396da1a +Chords1217,ChordFormer,submission,1,TRRRJZM149E340494E,139.833469,0.6867603830310473,0.7268944569836423,0.42514905477505455,0.39419189945863403,0.42514905477505455,56370ddd1d1cecaff3901afa8c3ea3c996919b11850d287fbcb8a41c42676b12,b63f9e2adfed4e9a58a86e81af725abf6160377f923e2a2226598b31de93a20c +Chords1217,ChordFormer,submission,0,TRRSPWE127F8FDC133,204.24,0.9227061578045407,0.9227061578045407,0.9227061578045407,0.9227061578045407,0.9227061578045407,132f62bad822ef640db0c02e328644e1727b8c8341cf588700e85eb35a152ed7,7e03ff30b08142b7140c41ccff13bbd2a3fce76bc56c2f6f02a05277ba5b21c5 +Chords1217,ChordFormer,submission,2,TRRSZBX149E3A67D34,236.38204100000002,0.6012617117135397,0.6278381122900885,0.5157342127273112,0.3977032609554301,0.5157342127273112,4a885204ce312bef6f955fe3370b1ae69d4c3dbd0a5135255cfbab40858a2628,23cb8f343b7dac00b17c0ffcda40ed798d8d11703ebb5bfc099959a9ae380b35 +Chords1217,ChordFormer,submission,2,TRRUGWM127FAA19D08,246.0,0.8778447172886179,0.9191762384553857,0.9191762384553857,0.6180360138536589,0.9191762384553857,479371b331eb9b750ad52b955fa4256c867ebd6b1af1f3d653b3a9bb30c0b499,369850d44e895c6fc7ca953540dedd1f11a71b65c7e9b444b6e01cd595d5a9a5 +Chords1217,ChordFormer,submission,1,TRRUQGW149E32BC076,236.721633,0.8248861211471957,0.9757114190732094,0.918395170281085,0.7764298079170483,0.918395170281085,25452c700036b850c6a22a9b25c727015ba682596cf2b19c285adcdf2ae58f7b,c82af8818756eb142b0cbbfe2dc0b7b5b1e8fd9db1bdf341b449bb80c558ceb8 +Chords1217,ChordFormer,submission,4,TRRVEXU127F8A926EC,428.0,0.7522444211308377,0.7431373259532676,0.25317012630840874,0.25317012630840874,0.25317012630840874,97569fc321708e55c1f65c115d65629322b78cced25253afdf16f706f57a0e7f,d01804c6b83f30a0ac8847fb81813d431b964a567bfce230a58e31117a4d217b +Chords1217,ChordFormer,submission,2,TRRVQSG149E3AFC5BB,217.80898000000002,0.9462514513497127,0.9462514513497127,0.8751669016401458,0.8751669016401458,0.8751669016401458,7612a77d66fbf32c76c69d42765b614e728fa9bda1382f3cd9b3d8ca30dc62a7,abb3cb21a7426528a5eeebe9e047a7bb051be0b6b9c1b359f1535043b2a1316c +Chords1217,ChordFormer,submission,3,TRRVTWU149E37E8438,181.68163300000003,0.7873558763146935,0.7873558763146935,0.7873558763146935,0.7873558763146935,0.7873558763146935,847c4b8945d627dd00b8817ebf1c7824beedff815c10d8c3af865ff1665c562a,0cf040f1d31cb5b72f53225f5636e28dbd45c019304875eab1bbfe29d57aaea6 +Chords1217,ChordFormer,submission,1,TRRXPRH127F7A961D2,215.00000000000003,0.9109325317720912,0.8897423469037343,0.7064745484591425,0.4516705373627903,0.7064745484591425,378a897975470aa5ad236beae5f746e5c81f4e356458fce336031a63da497893,7bdefdbd5821c4fa610c7f705ccf05a10cacf00353a428ca811b0e2ad7e56bf2 +Chords1217,ChordFormer,submission,1,TRRYSDX149E3CA2A43,360.36,0.9398246626234905,0.9168929192921407,0.6521170834200163,0.6192613320235352,0.6521170834200163,38b40cc4f40015d999bd44e63ea49b7e5d68844fad39a1c5e4e93eb43367b1cf,140f3b5c5382a4f315d77962da33da0d5cdaefc450b3813ff8fbaa021378f913 +Chords1217,ChordFormer,submission,3,TRRZBMF149E34DF030,286.455,0.797029914230857,0.7648526505843729,0.7356751587058644,0.6748974869909761,0.7356751587058644,d934c38fc9c2fa484e2976b8304114d9d49a57d236318d663cb3e6e21b57ee4a,a0d905bcc5a6814b405ae3b98c3be80b7091f6258804b31b824e08dcdbd1c598 +Chords1217,ChordFormer,submission,4,TRRZUTK149E3856CE3,256.0,0.9355878243710924,0.9782626912672993,0.9650444079139658,0.912440764585936,0.9650444079139658,81ac0c345fae36689fd8f18c051e78f8f7c4a93c3d9d4f0a6f14dbc4cdcf7c25,6a7b1514162a9f06741a781578a758d7ebaa1b276b71efae97b1c660f19ae4d8 +Chords1217,ChordFormer,submission,0,TRSAQCB149E3E21216,218.25306100000003,0.8593540001438975,0.8593540001438975,0.8593540001438975,0.8593540001438975,0.8593540001438975,197a0877aeb8c44b91403a40eeec3f3cfa38045894e9d11fde953f5aca611846,1b494c76e51442562219b3fd12e6783be8c01dd1e4defe5f7d8c0f5c8c02aa4f +Chords1217,ChordFormer,submission,0,TRSDADD127FA4022F5,283.0,0.9156841742544151,0.9522269654100888,0.8807823809038771,0.7577965273215532,0.8807823809038771,cb85697761e11ef3cc93c70c22480f58fd2e4e8ba34efaf2939269d9d51375dc,d8973989edaf41de638d2177fca2be35925d5769b6e341bfc0f1ecb65f8ac1fa +Chords1217,ChordFormer,submission,0,TRSDBKD149E2E3E57D,149.315919,0.8169536452975246,0.8890038001531935,0.7204622350302251,0.6326423736239398,0.7204622350302251,a56912262b6b73b22a789d40da2099eaa86de8b3f23ce764cc73c00b72ef1208,ff39be1d9328092018312696222ea1a87a94159bfda5eab67771d3cff20296cf +Chords1217,ChordFormer,submission,0,TRSDEXU149E3D5EF78,272.56163300000003,0.8013436302643473,0.7947914005673673,0.7947914005673673,0.7947914005673673,0.7947914005673673,9a147857ddaeab8a7c1ea8c6f14ac20ead6f0f60fd84348f3738a36a2a68480e,063436ed6b8eac0d081ea2153eec0643ef76b5c01cc50e3548b3ad341dd6cbd2 +Chords1217,ChordFormer,submission,4,TRSDMKT127F8D2ED6B,243.00000000000003,0.956193938201642,0.953517055481276,0.9176501398989519,0.8558503681316832,0.9176501398989519,ce18161bdc3e303c0ee7a5e7531f9e949948c220a837411721fceaa89f478867,63f3d36aa25b434c7bcf5cd41568ee1c1767aee8b8d45fb313ac91b357a7b378 +Chords1217,ChordFormer,submission,3,TRSDNCC149E2E39ECE,133.40734700000002,0.9069126010428815,0.9069126010428815,0.8726634156063401,0.8726634156063401,0.8726634156063401,89152119fd5bdf745262008f4bf9532ba1863f816d847b391af2069a20f11738,13fd93d977cc7befd90642c5bbfd708875bb90d2cad8149214d5092eb1e902cc +Chords1217,ChordFormer,submission,2,TRSEEIA149E39406E0,174.341224,0.9006747967422768,0.8219300535035594,0.6098454764086203,0.49750326972580994,0.6098454764086203,d18995b032638f2dac93662d5dbc4274c8ebd58a4886ead74eadd4fa6d20b887,23b31846eada00020e452895ac68ce97a1a0cdc9cec469ffd4d2913c3223ad43 +Chords1217,ChordFormer,submission,2,TRSEUKX149E3498CD6,234.13551,0.9202566095975759,0.9202566095975759,0.9202566095975759,0.9202566095975759,0.9202566095975759,033d6c7949e5d8d5a6b6dfeecd65ff9393362cbc426d20a98668b4f9d234ed14,b20cd9f372fce6d846b1a79342ac476868abfdd1793361a53573638f75491536 +Chords1217,ChordFormer,submission,1,TRSEVSV127F8D26A91,420.00000000000006,0.8718516737071369,0.8718516737071369,0.8628046431476131,0.8628046431476131,0.8628046431476131,76606ada987f45c4532c9c19028ca28c989fc180f2ebf923d70969b1c3042872,976ecd39eaf6df9dbd4275f5576f281c78adf2e1af09d25fd885542a8cd9e694 +Chords1217,ChordFormer,submission,2,TRSFCNH149E2DE2270,228.231837,0.8845559276815531,0.7512362740830063,0.5735126214157548,0.5542052782890232,0.5735126214157548,4726d92e8c71185b0e73b3e76f45433861ec5eab28b0a3813fe8150956d0e332,c4961031b001b8453974e76303f3c65d3f74ad9d1dceb6a16f435b976b955831 +Chords1217,ChordFormer,submission,3,TRSFSPT149E398A15A,186.26621300000002,0.9458821871629516,0.9462746826377442,0.9267548063229853,0.9233118381539233,0.9267548063229853,d93dd1518de2e5c42be74b0246e673fd21a8b234dcd56f42a8c0a76f6a39ee1d,209c0dc34f63bc40875536105201c3db77c1aea42e115cede664e2a4259b8a8f +Chords1217,ChordFormer,submission,4,TRSFWZL149E39848C3,237.688163,0.8851033430680331,0.8584323627045727,0.7419968920216136,0.6667679650416574,0.7419968920216136,b8e6811074597df8ea5c6880242441376af6b1605f94f3c2748901f2c8bc7247,2882ef0cf8e7acde2e2613d2a61248cd00ff5723372869fd5aa2dff1e54909b6 +Chords1217,ChordFormer,submission,3,TRSGPHD149E34AEB6C,190.27591800000002,0.8830714177345346,0.8835986833451251,0.8835986833451251,0.6066445417385926,0.8835986833451251,ba2864c97a74fb4e433b8aba53eb90f88403c047dac33f193c1a136297c75728,dde76f725dc4d11d1cb9874cf6af90df1b46970b7f43ed60c544106482546322 +Chords1217,ChordFormer,submission,4,TRSILWP149E393C98A,166.765714,0.9157247868467716,0.9066465376690059,0.734714279902881,0.734714279902881,0.734714279902881,3f428626ff4a934dc23f85e001ddab1a5de63882b64f3acb17f494b5ed6e1fae,806674f2a27a4d988cd4d7f37468a0b180e7f10a4a04c0a1d6f8c698ea5fa880 +Chords1217,ChordFormer,submission,4,TRSJAMU149E3EA8219,135.209796,0.97896964495827,0.97896964495827,0.8001099446300483,0.8001099446300483,0.8001099446300483,c01d66cbf9150eef05381ac04af75437a18ed55dc9ad6818ee26ec9c080434ec,be2a608d8647a101775af67589ce9ded2a69483a72052a0a5cacaf06b4ef5cfb +Chords1217,ChordFormer,submission,3,TRSJGFR149E3BFD0B8,145.737143,0.8771144698712818,0.855760108624029,0.6574642360163208,0.6203987895590909,0.6574642360163208,f2f5429f2e9f8c422afd2dde896fc1dfef6de7e86d91fe6817ec4c0c4659d2fd,f0bc87e7b74d56ac932b40c1ec842273ffc71ce22040c62e02c793213db41443 +Chords1217,ChordFormer,submission,2,TRSJXSR149E3647FF0,222.302041,0.9022751365382209,0.9088680581945301,0.8454501553320234,0.4829007115953563,0.8454501553320234,93c7c1a5bc28abf9c4384caae81a0ec1c953a09cace3445f09da74959c712e5e,4d43e5ab95750117a06f1424dbf3df3d8c1445218d80e64a76465fc8d5a125bb +Chords1217,ChordFormer,submission,0,TRSKTZY149E3BEE007,231.44489800000002,0.8685106710366978,0.9510524341912354,0.7703325979282272,0.5989065379786424,0.7703325979282272,fa74aafae4940976a4532aa461b92a7697cd5add738f31b9cfb280ce33cdcd2f,e1344870bdcc49048447bb989865d2ab63ca4b0c196786fb405320cc6add38af +Chords1217,ChordFormer,submission,0,TRSLJTK149E39920AD,274.04804900000005,0.8264969290877913,0.8396586996111624,0.29617470219968495,0.28187010586964734,0.29617470219968495,60f46d8eadc993dc35fea15945c7fbceaf3034b9c954702165be177f08da3a2d,27fc3e7d8c89a349607f1bc77b05c1df22289f74b5dea91a991ec52c8d95f571 +Chords1217,ChordFormer,submission,4,TRSLMMS127F9FFEB59,344.0,0.9229794138401164,0.9257350903882489,0.9257350903882489,0.9229794138401164,0.9257350903882489,718e13350cbd0b8b5b2bd6a870a8ea1c5781025c486a487db5697679b8506252,ff3da278c8bff3c40dc232c1bdd43eb3f640e6e9aa4546814ff879c527658404 +Chords1217,ChordFormer,submission,4,TRSLOFF149E35DDC54,267.92,0.7258177805650947,0.8630380951135809,0.7470886651968691,0.4932675777470891,0.7470886651968691,c9ed48a485e509c4d80e8171053875dbd099cb8477e260e72a85738f97f40c18,f9292d0af49642e65037f56c0b0d2abd5fd6a653dfbb0397bcab802299b8f99b +Chords1217,ChordFormer,submission,4,TRSLPYM149E3667216,145.240816,0.7658550745129385,0.7653440797730027,0.7551122652051196,0.7551122652051196,0.7551122652051196,fba5fe33cd986d3e895eaf43e0794593ab42bfe9f9528912f19e83506dcb4f34,b4bf0de624d2723b1b24d7beee540252f9945bff3dcd5cd1033d0c1a920a1383 +Chords1217,ChordFormer,submission,3,TRSMIEU149E3E4E9C4,164.989387,0.8697560872263865,0.8697560872263865,0.5052766497795338,0.49796866363895287,0.5052766497795338,3fb9538f50640656f140d0f9b4c6ed184dafd0350da39707aa2611d1d4dc6c02,07dd380ffa002c1d8bdd3a6ef75081e4914956142fa8a6e12e262dedb66f9595 +Chords1217,ChordFormer,submission,1,TRSMXVN149E3EFC7F0,149.394286,0.9637924412249599,0.8660046454186335,0.8660046454186335,0.8660046454186335,0.8660046454186335,34121723d09aaa333491521f59c1b6ccb25922b689fb0dee5b703daa358910e9,aef2309990564b3125eba937ae9971c7a15930e0ef263cd1b20051f0b9b8bfd0 +Chords1217,ChordFormer,submission,4,TRSNRKP149E3D951F5,208.74449,0.7345662678329865,0.8681781059840707,0.8681781059840707,0.6715970110396694,0.8681781059840707,6617ca10ee2a510faac4a94ba599e4f04b4b3552531dd6fe687517f9834d1eda,bfb22aa77bef2a726f353948b6e083a2a77b5a66af7beac727a12727a50f444e +Chords1217,ChordFormer,submission,1,TRSNYXO149E365BB76,196.91102,0.9427209825889882,0.9338143489281568,0.8835953186651269,0.8708305084804291,0.8835953186651269,230fa887ddcf91cbfef2ca6f930691500878a8010d1794f5e34456b2dc6f1fa9,4c0070ce2e0380a11db15e69a61e1fd0587567b4dc48e2da135015f624da6852 +Chords1217,ChordFormer,submission,3,TRSPHTG149E380A3E7,127.19020400000001,0.9357213984734234,0.9357213984734234,0.9432118186891163,0.9357213984734234,0.9432118186891163,db2dfe4c2f0e78930d5f3f08a06e7eed6d2f2e97cccc37958b9f1ef1211c54a3,f4cc0bb6b718717c9c1290f82b90b562886abd045f6b2f1bd733ad44537162ad +Chords1217,ChordFormer,submission,1,TRSPOTW149E3E67FC3,160.417959,0.8555158635386964,0.8364093119274768,0.8364093119274768,0.8364093119274768,0.8364093119274768,74026561882028fa7207e77689b8d4567130a764ac2c4f91b1ef09b9baa6d9ea,0427e982772ba25331330dbef146a4a7f2193d54c46503ea66783949f5c52ee2 +Chords1217,ChordFormer,submission,2,TRSPSYY149E3EAE086,195.34367300000002,0.7867145696651248,0.8455966143266553,0.6697501750820218,0.5417301208675436,0.6697501750820218,dabc70ee214bddc9110f5d5bf1060e2286858fd17217cdc3a8bd79e58d0822e2,c6b39aab950e9834aa985550a1c851ec2d87a22f422440e12296a8a7290f5ed9 +Chords1217,ChordFormer,submission,1,TRSPVBD149E39C68A6,165.093878,0.968428042153082,0.968428042153082,0.8512099848426837,0.8512099848426837,0.8512099848426837,5a008f69de03e6d4411ae76feb1d3f586f58a4054b7b441d62bdc2bb8b35e7cf,b6df3479fbe5c855ce08074b7ad74f7dde74cf970664156f29d3917738bc118c +Chords1217,ChordFormer,submission,1,TRSPWRG149E31446F9,254.27591800000002,0.9532441696307217,0.93786634448017,0.93786634448017,0.93786634448017,0.93786634448017,f7d8d84c6340fc8090d3e997e85724a9d356774cbcca416b86d4ae9fec8f4ba7,e2f8b8d91c0b26973713424a4122faf15fe2a79d90da23ddeaa87e0bc2915fb1 +Chords1217,ChordFormer,submission,2,TRSPWSO149E3B7AA3F,163.44816300000002,0.5818357585762524,0.5818357585762524,0.5810967643729341,0.5810967643729341,0.5810967643729341,b68b00945aac26b2863ff8b3cc7f979facbca43bc01885fdbb68d41669650776,2eec93cc35c94e999fb3961a676374b1e81c4e1a45791e1e886275cbc1448168 +Chords1217,ChordFormer,submission,1,TRSQZTW149E33D64D1,199.68,0.9413399291816895,0.7343111046073708,0.5496870220602957,0.5496870220602957,0.5496870220602957,165e294abdcafa39ecdd425c59734b2d77a513a25d9139b4fd42a805acd434b0,78288b24780adaf73c7454947feee2c021af2a70151b2e537e28889f2508dbd1 +Chords1217,ChordFormer,submission,1,TRSRDHP149E3419900,444.499592,0.5525676494299241,0.750519026121645,0.5828724281101203,0.3529862837264428,0.5828724281101203,a7183b222237f87a30722aafd2f6ebdce1538b657832352bff8cc992d6af7947,77499af2db6346fdc2607e096823101cc3434f7d3bf3967d79bcf6518958d305 +Chords1217,ChordFormer,submission,1,TRSRYML149E3B24D5B,140.564898,0.9208128003621491,0.9277457454937565,0.9212260859411763,0.9078109429282968,0.9212260859411763,ba978d0d1af52bd9e4d87257464bd67a330398a085718d0b9d5669db398a3a8b,c73b06d81978c0604dad7965e368cd25b62c7df4cd4932e1ce0b48ff431d5437 +Chords1217,ChordFormer,submission,0,TRSSEJY149E3B1943F,124.551837,0.931010385956813,0.955240597933102,0.955240597933102,0.931010385956813,0.955240597933102,d2c985d06e86965145f1f63b95ed40b7137eb3073f3cf32efc26790a2a0b2ead,8f780504cc6c0624511db196110743f57282d53b64163e98429549d845e83529 +Chords1217,ChordFormer,submission,4,TRSTJIF149E3C16F6E,183.37959200000003,0.9490803567662004,0.9410816350191622,0.8101848500302717,0.7133381003432498,0.8101848500302717,37d3338cb540800ff0f4e1666761a5c8dd0b8fa637600ab54b9892ce3b6d222e,68494ff57989f6d1708ee66651e43c9b547225f84ebddc40e29a1f38ea37f99d +Chords1217,ChordFormer,submission,3,TRSTQPZ127F98F397B,228.0,0.8707744261491244,0.8797784118214242,0.7305744844892486,0.5220607570614034,0.7305744844892486,1cb15dde4ecd20105fc56aa1112849097fe4582efc83d42473cd74ff98b9333c,85a2f6d0f7584f29662d1f21f398c7c78b56af08cd0c4924774e2e6b40b42bce +Chords1217,ChordFormer,submission,4,TRSUAVV149E3B8B57E,250.21300000000002,0.9086532560098786,0.6536117939795285,0.6470970283397212,0.6422634491653101,0.6470970283397212,54db2bde7e7ccf53bea5b839fed002d9eb1b876d7b992d52aa577d4f3acfec3f,2089e63f5954749fca6d7b9822c59ae12540c8e98c5f0e1f9933d130ebbf1c22 +Chords1217,ChordFormer,submission,1,TRSUWFF149E2E9BA43,245.237551,0.8307550413924978,0.767914169496433,0.6952091610284583,0.6861990111701928,0.6952091610284583,e7e153a87a8a8a2405151045e433c9789f43c4a3fc02fe6c212afa02d9069200,d9b3007d978cf6947767cda16e8c48b8afe26bbeefbf84159b5a21e708fcf672 +Chords1217,ChordFormer,submission,0,TRSUYQY149E39E4A07,258.733,0.9493405563070813,0.9491247245635418,0.919376798398553,0.9155000602667616,0.919376798398553,6b0f4ae933e87da7dc9204b0743ac2b7d645432c2555a8fea2a39d928d89a1d9,fcd0d702f5d2b470c0c97930fd5b69e8f7eac5007c2a2b47f06dae6e2b689773 +Chords1217,ChordFormer,submission,1,TRSWGFD149E35D8EAF,216.29387800000003,0.8502550082762871,0.8502550082762871,0.7815994409051199,0.7815994409051199,0.7815994409051199,5260aff490518350037e96f574746ccde901973317d3ad4aa3c9cea70c4ce985,eff3e6fe7148ad59c2bc2c140942e5ddc37990b44fd7e9b6c19c1233d938074c +Chords1217,ChordFormer,submission,2,TRSWNJN149E3924EAD,240.95347,0.9168057035327195,0.8807911261248906,0.8807911261248906,0.8807911261248906,0.8807911261248906,93ae374879aaa2d2ddfe04e0a1f0cfa58707311ba165b2ac3de5f11b1e40df57,2263dec99516898d5e6a7a1a20cc249d0a636863a56d729996c7fee61e2de992 +Chords1217,ChordFormer,submission,2,TRSWRCE127F98F571F,270.0,0.8603665155074038,0.8924711531847365,0.64788779156607,0.14143245989999836,0.64788779156607,2a553eec5d19ffd905a5343195b314d43b58572de48e1d67c549a33e6b296cdd,ee97449c05970955a54ce3df098917460c5404b077bb58a234a052778e1d7c2d +Chords1217,ChordFormer,submission,1,TRSXMNN149E3DEAC82,137.247347,0.9004690880910071,0.9004690880910071,0.9004690880910071,0.9004690880910071,0.9004690880910071,6dc9f3082d4fd0f5aebec8b95009e0dcfc31c0adea8437e0a60de0f83e8a5689,fc893412c5aa77562f0b094095de5001e9633a07d9b9da377fc2b5d2e0d50737 +Chords1217,ChordFormer,submission,4,TRSXNVA149E36F7BDB,181.978843,0.7234850576393655,0.742210766340441,0.6523994217604983,0.5555720880750964,0.6523994217604983,02e667f230e7a0af2cf0d8a35f08bb49bb41328e2b16a32f26cd49635543e698,fceee251f80b7e9a43d01c6508fb04ee5138f8269c9d906cf242dce5aa20c81c +Chords1217,ChordFormer,submission,0,TRSXSXT149E2F46435,146.67755100000002,0.8690783728043018,0.8690783728043018,0.8690783728043018,0.8690783728043018,0.8690783728043018,ce877771f8a65f71f7fc110b03a67c9ef35dcc98319d84ac2667289d7ba056f9,ca08896e0ecd6bbb8038dc9d1178a99f2f5857975fd5fd1b638cb45fbcc4aa72 +Chords1217,ChordFormer,submission,4,TRSXTRF149E3CF0A1F,166.217143,0.839510308259841,0.8330197405199307,0.8066280461041102,0.8141937247170712,0.8066280461041102,9adf673756539ea117dee0f4022e004683236783f6032ee4107e97805c916adc,efa28ea1fc4a62b717298199bdc7afa67417ee4f59114aa748e30479c0083e4e +Chords1217,ChordFormer,submission,4,TRSYDXQ127F8E6A9B0,393.0,0.8523676296717537,0.883456588766939,0.8630611479784472,0.798511640796436,0.8630611479784472,57b4aee0a6f4f38261ba4af03312c6c2aed7e32c2edfb0e917ad6004260587f0,3ee5dc2156fc06c86ec713451e462562a7d9b644904acb2fdcd99cd1ecef19c7 +Chords1217,ChordFormer,submission,2,TRSYHZF149E34F882D,174.158367,0.9660876901883232,0.9660876901883232,0.9654435793333855,0.947448292863244,0.9654435793333855,787e9955aa12b372952ac64b846ef437a713935ec93754c6e58e68bd93295161,badb6338f218d6be95055738d164ac4ef21671913762f77879b6dbfc3782ce65 +Chords1217,ChordFormer,submission,0,TRTAYJK149E3E09AA6,207.64000000000001,0.9037128734492385,0.8795927977557302,0.7839045734193641,0.7618039310922744,0.7839045734193641,278d4997698bad2278231e170f0db009ca4e2cba0f28cd3f4e07ab7069e648a9,a2aa9bb6833fff6683bca9a4015455d52f7b07d531169a9f1eb251a8da2e32e0 +Chords1217,ChordFormer,submission,2,TRTCDTH149E3152ABD,223.93800000000002,0.8445651937813152,0.7518040859612936,0.563881794293375,0.550410353093268,0.563881794293375,288bf123a78822f65db34e9f5717a08f0e67404cbd6046c5dbabe637464deb42,4a390f354188dcfd7dc2b93ddcea9ccb600124f67d8821cfd18f1af595a607e0 +Chords1217,ChordFormer,submission,3,TRTCQHU149E3F02918,239.10700000000003,0.8513385410464767,0.8108700285849703,0.808688624607671,0.7920215360570781,0.808688624607671,ccef13b4c2306ea78583ff18b4f55d978bae39c1eff2b35f664dde0879eddeb4,e1b30a1c06b84d6ce59049d78da3460a18a7e19aa23dc659cf054e9bb8536c4d +Chords1217,ChordFormer,submission,0,TRTCWWC149E3D11653,179.853061,0.9010196823895043,0.9010196823895043,0.8421476884844354,0.8421476884844354,0.8421476884844354,df915a42985f9befcbf800dc2e87145b5fa31b4676ae43c6c6eba7ee40ade37f,1b5fce2ae29f5065cffa160e12bf3011d93f6dab5ac9b00a064f96f4eecf4380 +Chords1217,ChordFormer,submission,0,TRTDVNW149E2E006E5,138.94530600000002,0.9453187401307395,0.9453187401307395,0.599369945024469,0.41437210665468677,0.599369945024469,df496e0dfba67717775215909ab058ebc4a219c7ab0b7430bf8f22d85b6559ae,d7cff739c66a09f5df756ee2877ab6b07d1ae9e1e6a4ee366b4a0fc5be53045b +Chords1217,ChordFormer,submission,4,TRTEMFB149E38FA39F,267.964082,0.8840983529501549,0.8278212277362339,0.6838952674090011,0.6135500324517374,0.6838952674090011,0f40fa3247537f207b091aa88a69007958e4b9472ae06665ba9fb827039fa5ca,d83864bb3d4f11f7165415e85b5d8cefca04ad3fa1d1c7e89f34c56c19386bac +Chords1217,ChordFormer,submission,3,TRTEZUY149E37CC390,165.537959,0.9785355552740632,0.9801275218574748,0.9688089098461259,0.8354212081653131,0.9688089098461259,368a9b98572648f75a9b7a97dc14e8dd1105a6dabb42489f74efafda20e21824,56b4e96cbf20a5f2323c710812460246b39728ae80b3d527e5bebe491979df19 +Chords1217,ChordFormer,submission,1,TRTFUDR127F9D52957,215.00000000000003,0.6446753572930224,0.6521657908298242,0.545776025462515,0.5257930074511621,0.545776025462515,79b4f3e93d9af32c94b65f3c3a4b03ee49940eb631d016a97d2533731baaa9cb,32d88f0714639c2dc2b8901dbf37d1456aa9237c3dc37c5e0b85d366d246288d +Chords1217,ChordFormer,submission,1,TRTFZGV149E3EC9AC3,209.21300000000002,0.930468392977494,0.8638567149060741,0.7724795603722328,0.7297413252665963,0.7724795603722328,e14c62f0c9769b7706a63bb0e43422479920104bac137f395c79a78984c03c3b,0ed056cd67eca5ac91aa18edd2216609631dfe7c6c21a118eaab9281e037d0dc +Chords1217,ChordFormer,submission,1,TRTFZZE149E328EEC9,244.950204,0.669550948081674,0.686703061516769,0.539208598595809,0.5181857830826695,0.539208598595809,8edc209aeb378011ee5018fd928a29a99d501c1fc2cacc399f4d0eee9c26902e,fcc72519b403383134e95698dc184bb414a69d97b3df6ae2d71c0c836f1ff106 +Chords1217,ChordFormer,submission,4,TRTGBVF149E3E78733,151.04000000000002,0.8835019836798187,0.8726168353283886,0.7531586503773828,0.7531586503773828,0.7531586503773828,521c8e436c6312f862a89cacbfdf424ca3bda2731c9ab72ef9383885a419df77,cb1b2038657ee21d01f75879d9cb8c8e988d25ebfa640e3550c0957a0f3a6569 +Chords1217,ChordFormer,submission,4,TRTGFQW149E3A80CAF,177.44979600000002,0.9099959012632511,0.908870316718893,0.7783156797802512,0.6877102529833288,0.7783156797802512,3cd93df2ae5d60b8affc5a3e7521d60adc20a21ebc2741b5790427c321420c57,27174f727dc32432d96a3cddef32e66242599b4aa0e974c8e12976c1b92632c7 +Chords1217,ChordFormer,submission,3,TRTGOVI127F8DD8B57,269.00000000000006,0.8820268736914492,0.9093966544751848,0.7748925010968464,0.5331375633197023,0.7748925010968464,451d7269a7bd4383e1cb3cbec78aa2bf5776314f7a0055e7265caef04c1031cc,1a992581252cfb46305fd56efd7d46287ea202f8e8ae48090f36a048fc23d921 +Chords1217,ChordFormer,submission,0,TRTHNKG149E39EED20,231.314286,0.8093894889613533,0.7988338957953125,0.7430860822395475,0.6491075155989299,0.7430860822395475,f52b1a38a67dee3396e92d2b5f9b772de2c0504287451dbfe911495dbd14d5b4,65753dd430d577961e00315b765e86960edeef52d2a3f540d9be78c5949cd772 +Chords1217,ChordFormer,submission,3,TRTHZAG149E3E1AC0C,183.849796,0.8658291555134497,0.8822122066311422,0.6761924562498536,0.5833162104242966,0.6761924562498536,c53a7c107a2ce501e1c0fbbd90a56d6c221f72f3755fe1362cf721e8a4b3ba3f,4fe4d6f251291d8e7b3cf48b8be36496717eaf523b42ab04b4d9eb95fa9641e8 +Chords1217,ChordFormer,submission,1,TRTIHQJ149E3CD5E2D,200.02131500000002,0.8842955038016809,0.8921484459748017,0.7475172547307988,0.7094121909407491,0.7475172547307988,60eabe7cf901c952258d86c4066533526ce277ec961251e127cfb4c12f8f0969,16644a136abb04b4952c3e5d12ffe77af3474d9ee6bef1045f948e19f831f85f +Chords1217,ChordFormer,submission,3,TRTIZSJ149E38BCF55,145.03723300000001,0.9058224936075546,0.9130554664317694,0.621415822398718,0.5944416169812061,0.621415822398718,0508341c22b5771a61c9c2190f350203b2fc04e763c91bac13fff3ed14d9bd81,2cba3165b073c5afd7e61200256929b71c82611ba899ce3731e1dc643afe25d9 +Chords1217,ChordFormer,submission,3,TRTJAXH149E2C32E76,167.88898,0.605457221218451,0.7322031292130892,0.7252417961901928,0.5826992362333733,0.7252417961901928,c3bea46b92358ea0ae841bf197de1c24d6534acfa902de5a9df18be01f4ae695,5f5426ca359dba7a308268c9118fad5b62029fbf73fbbc10352907246035d16d +Chords1217,ChordFormer,submission,4,TRTJNPI149E399F325,96.888163,0.9111792821275816,0.9414195052688291,0.8680907136191335,0.8306427438200072,0.8680907136191335,21aa977bb32b32d9f9bd97dbe5b389ecf83bf5481c885dd3aba6b3eeea1aa51a,83d8a03fb20ddf2dbcb7063f8b5ac009c29f1e14bcdef4e7fb61939fb49f603e +Chords1217,ChordFormer,submission,4,TRTJOMG149E36C4677,150.543674,0.7784815708629507,0.7784815708629507,0.7401340928148196,0.7401340928148196,0.7401340928148196,11d2e5d230ebf731b007e3d9eff64a283860ff7b5853c31224bbc5df06b16ed9,2931469091366a13fa8fdc18bbed734c2cb18ce89db3f83f531c2e9bfadbf776 +Chords1217,ChordFormer,submission,3,TRTJURA149E3ED1B15,241.371428,0.5883868077790863,0.5883868077790863,0.23816211928778808,0.23816211928778808,0.23816211928778808,c9d1a1c1f5572a379a99ddcbff6842a0f18ca2ff08a347a32bd2d3c113850008,c9a3c1caad427a77908813da3fdc21957c3224584d1e081a53dcb0ad33047240 +Chords1217,ChordFormer,submission,2,TRTJWDY149E3268D7B,179.670204,0.8687493910342534,0.9553166370985308,0.6490260553609458,0.45831536414908325,0.6490260553609458,570903f5fb516ccfe2e03a106140465d47c4ceabe2ad27c4fd61389d0594c351,e0efb229682341e65204abe6bfb5bea8d7d7ff93137448619af4b99cce2c0d1d +Chords1217,ChordFormer,submission,1,TRTKIJL149E39F9102,221.98548700000003,0.9380610564014047,0.9380610564014047,0.9380610564014047,0.9380610564014047,0.9380610564014047,4a10543e990fe26ef9c19d19f23c90a4ca2544e72b2a85a9139900eb5eee7ddd,d039b0b8ff39f5ed4ec050da1d1c8d9fa3933bb6de2dac0f83017caf5a059fa5 +Chords1217,ChordFormer,submission,3,TRTKNUD149E3AEF7AB,162.37714300000002,0.7766855739295784,0.8030790404264474,0.7505243495750838,0.5508049010875883,0.7505243495750838,4391ecb6dfa29575617bda9eaa2cb67951d4494bfbfbb9695da33e5018837154,60b89e8a5537b481cb560b5e76ea138298d0ea0251ff9ad35c8415cb01775e95 +Chords1217,ChordFormer,submission,4,TRTKOYD149E37BD0AD,288.104489,0.9378872031285839,0.9378872031285839,0.7819479816643887,0.7819479816643887,0.7819479816643887,9f13629bc2e0560b288160eacb761bcab1f8efd6b08a52c9715f355dd77ea8d8,8554ef35657950d7ea7c69e23919319bb69cc040d63a14008f2bdcec72c08c35 +Chords1217,ChordFormer,submission,3,TRTLAYY149E3C01730,151.28644,0.8898831319118891,0.8984916744258892,0.8984916744258892,0.8555550138664118,0.8984916744258892,24db46e9e723dcde20541dace8f9e90b641a62131412fc5b79f6ef1b6410ea25,ccd7c4c123b46f2245c29a140b53def6b69cdf33964d98cfe7d158a54359fb2e +Chords1217,ChordFormer,submission,3,TRTMLIO127F8F314FB,234.269,0.9649381490508747,0.9649381490508747,0.8696666697002141,0.8696666697002141,0.8696666697002141,1fbc566c6c9974b694f574564ebdc969b2f074c8c29a360a7e0ca50d33a42229,432138438cd44c1465cca199635f5f51021f323eeafcdc1aba7f9fb793668aff +Chords1217,ChordFormer,submission,0,TRTMPFS149E3BD3011,195.134694,0.022222222753479168,0.022222222753479168,0.022222222753479168,0.022222222753479168,0.022222222753479168,a4ae0405fab8a4896446bffe9686d679bbd1490befb812781bf635393612a28a,d3ee8c0d7e1c8b6fbb4db2f7a79d9219230bbbe7ab7731dccf4b1850f0894497 +Chords1217,ChordFormer,submission,2,TRTNAFV149E35B29DD,169.61306100000002,0.9323714208600944,0.9323714208600944,0.9139364659187412,0.9139364659187412,0.9139364659187412,3238f6803645b16da838b0fbb914a39eacba83e3b2ee7a20d689d4ba10cb483d,285e1ae9dc58545faf622b750cf6652c3e2217041e03f35b0a2023e6907428cc +Chords1217,ChordFormer,submission,2,TRTORTK149E33AC35C,159.52576,0.8547852915667047,0.8727524502863167,0.5757003486170735,0.5284110947159886,0.5757003486170735,bd65452e3d1cb384b84a5ee32df36c6d26e94796c0092c80475ab23047763220,d82c307ff6cbf2a0477c46ffe7547e8c7280c62d52e11697ba46c508ed1c1ef3 +Chords1217,ChordFormer,submission,0,TRTPKMD149E3E71DD2,142.585554999,0.9544634160027958,0.9533210112549859,0.5174994768024881,0.42907466342876854,0.5174994768024881,56ccd91704f9e549e0ba5038bac424ecc6c391b0eda56b6639128fcae87ef1bd,ce4d3836ad414e82b5ed5e50f61cfd1b2c45ff92e9df941450000fd5ad861722 +Chords1217,ChordFormer,submission,3,TRTQXNW149E3BE2A97,52.924082000000006,0.004269469350455564,0.004269469350455564,0.004269469350455564,0.004269469350455564,0.004269469350455564,37cc8aa3c13053ec794c0619b1b7c3f099eb9fa344a5c4f90bec584683cad4b6,27765d40d7b3fe48e484f7cf4217767007115c42cfa3d9fde1b31d7b42570273 +Chords1217,ChordFormer,submission,2,TRTRGHP149E355409F,162.379592,0.9216571764572496,0.9216571764572496,0.9005682902688918,0.9005682902688918,0.9005682902688918,bdbd300b329e8ac37730862b976f98d2fc036bb27a10d63789f7c1bad8e02ea0,8e79341ab28bb9677bace14431ce30226c0826d460aad55aa098dcbc23e5edef +Chords1217,ChordFormer,submission,1,TRTRMER149E31848A9,194.22040900000002,0.9625580460341839,0.9283624181637634,0.7791961361101714,0.7834262961211251,0.7791961361101714,7984fd5a782e014d1a7f5eff8433b5f0c84b76edd3096aba01a5bd965dc8445c,910d267ce85341e6e808f064b76fad380c0eb9027b3075cf886a454dc98523d7 +Chords1217,ChordFormer,submission,2,TRTSGQR149E3E034AE,220.865306,0.6946303230893126,0.7995004837128752,0.8160891941458828,0.6132206017046424,0.8160891941458828,970d39feb5287d8a12f6df4c72506b6a7bd1ccdc3ce13f0349686cb794d2a97b,4c86373f2dde8e1c99a6891de2170132233e6fc03101e5aa6dd7a1d721d6c544 +Chords1217,ChordFormer,submission,0,TRTSRWL127F92CD8E9,113.0,0.9284194810707954,0.9284194810707954,0.6187573495486718,0.6187573495486718,0.6187573495486718,1c2b33830db48e629e057d1a28d46f378a0d5f0828826fffcc2bfeda0dbf2d1d,cf860788784432061a5f2e2b6eecba0362670a47def9929d723832f15800662a +Chords1217,ChordFormer,submission,1,TRTTPLI149E3921DF3,202.773333,0.8050261062779888,0.3293787950016091,0.029043075032948378,0.029043075032948378,0.029043075032948378,de9cb3aebe2af9c651166c5920f8303c10490c257b7c89018c213b8a0674e974,362cd4f8150b3eafba4393df3c0f1bb12de02e662aa15f6e1a87a114f629b2f1 +Chords1217,ChordFormer,submission,0,TRTTWSD149E3BA1B95,164.963265,0.6913198721970009,0.6329475153474794,0.34262219879960243,0.33723743954752594,0.34262219879960243,0d9986b9c272ea2e38641f4fa034a3a0c60cf5ce4aa3c7721d6f516f021c5ff2,98ea7f2c2e451ebe30d5b37daf08bf7a22dbcdf27872715d0dfcf7359143668a +Chords1217,ChordFormer,submission,2,TRTUOSC149E398EEE7,192.496327,0.9523243920700896,0.9523243920700896,0.812929922813541,0.812929922813541,0.812929922813541,89d4853dc66c2074e6522edbb3bd7c1d63c6f42b0432d01fc4cb220a23e3af1c,3dd2a4690b17f9b4392fe3c33c9d112ef06250f7db2f34ff03e5147695e5f2a0 +Chords1217,ChordFormer,submission,0,TRTUZHV149E32B0A56,179.722449,0.6832173312583776,0.6832173312583776,0.5127050804015925,0.48380030182539957,0.5127050804015925,34b35b972a2e50a49c7b248417c19220fac487738d405ebba0e26b8723af5162,f3d3e1ae6d66fcff493959fbc68a0d71b203e928c51340c173370f7277b9e68a +Chords1217,ChordFormer,submission,1,TRTVJNY149E2E23D7B,236.17300000000003,0.8345491923124155,0.8469266524633634,0.8012418389180186,0.6839255377752756,0.8012418389180186,36bd79a97f3999fdf9d8e49905295aab790f33c8351401f715b7b7b03e1a3334,811c07ac985400d026bf7858b7ef34b2532109569efe8f6328474a32223f1a46 +Chords1217,ChordFormer,submission,4,TRTVXNK149E36D1385,161.332245,0.8245111417807414,0.8309139131991574,0.8309139131991574,0.8199774603706798,0.8309139131991574,442e3dae67328a2e5656fd8104c08ee8610a28e6864256a1eabb38522e871572,55409fa26542f42807b866074b5498bf8211decc937554dcef1e17410f3d0d50 +Chords1217,ChordFormer,submission,1,TRTXHBS149E39752E2,153.919025,0.9737657427598699,0.9845330667887457,0.8629144827141456,0.8157924156614168,0.8629144827141456,e52e6bd7bf98f92b39570e1dc5b03a088edd1aa716cade49b586f7d5498771fb,009e4ab30f2c47c614f2a036c45298d4b7dcd2983827846eacbc004288700e4d +Chords1217,ChordFormer,submission,0,TRTXKPD149E34C6C59,247.79755100000003,0.880004573923331,0.9028425732110734,0.8481104319144583,0.6212577398434415,0.8481104319144583,9ba7c88e36a2b7e9591e57e6fdf72f52c50cd837d27f89f157389649fa311b07,98fe89e0e5c32982611407238d96676e88bba94890b23cd28df8aae5f9a1d4ac +Chords1217,ChordFormer,submission,0,TRTXOKG149E3689BBA,290.900862,0.7213054481907963,0.666339321748094,0.5926989802111815,0.5571313610682915,0.5926989802111815,0def4aad49bd3fe6c57e26e6c0d929d5c1a1b12a3e49bbf040e6037cf1a732fb,0af4c2069e56575a5558088eb69f1f59c53f1509e2feefeaf507632ced24ba27 +Chords1217,ChordFormer,submission,0,TRTYXNM149E33A2627,142.05387800000003,0.9369608346630307,0.9655502540941614,0.837480342969707,0.8112652295912701,0.837480342969707,aaa4314d583a85e545fbfbaa32fbea9716478d7bd2de8bfddf1541a07cf7757a,fbbf6b3119192c41604eca5c9fa19d038742ebff55e4122e261d08f39d0d5600 +Chords1217,ChordFormer,submission,2,TRTZBRC149E3633DAB,40.620408000000005,0.9412276688358228,0.9412276688358228,0.9412276688358228,0.9412276688358228,0.9412276688358228,d5921078c732a519796b56125ff83e471e29b0e7419337d16c7846f0f88eafe2,d68ca5b5023ccaea35a8a4e6db9979dd9670fb52c13af06db431329ec082bfe8 +Chords1217,ChordFormer,submission,1,TRTZHUS149E3B12132,192.976395,0.8466982222100263,0.8152006703358714,0.7642773345672658,0.7642773345672658,0.7642773345672658,4c4139b5d8585551e84e6078b121226d07d57516657c7b5ff05156062b56d30b,c760ad74633eaff30270cb711e4477d7ccc586aeb4622ae779b0fbf44e265038 +Chords1217,ChordFormer,submission,4,TRTZMDA149E34EE322,268.96000000000004,0.8857613722635362,0.8819517005422657,0.7598521483687211,0.7276634969884017,0.7598521483687211,75f17b736093f2078895ee8705c4b81551394f3dd59504a2f063f2db3e17f1c4,ce8a1884d6d68a66aaca8bc798d8bd4642d20e69650c02feac4a889196a86158 +Chords1217,ChordFormer,submission,3,TRTZUVU149E3A608E6,388.15648500000003,0.4495560089714846,0.4314302104059913,0.4314302104059913,0.4314302104059913,0.4314302104059913,d3cf7474fff618da62ee72a9d0d053cfcaa29421b0d7ea27791b650dc725a388,f16c9c25c04a07c4ee9d309ab2e61cf12fb54908142b9fe7d88e8d00fea2fb00 +Chords1217,ChordFormer,submission,1,TRUAHOF127F8C9BAEA,313.0,0.827400853444086,0.8331952151441488,0.8089817412627001,0.6886528149169295,0.8089817412627001,8616d23216da19d60221bbfdbb899c7ab2d8b02b3ac69fad3633bba8b29b8d42,eec91ca2960b97b4266bc479ffe93301fd046042c35c2d48e45bee54d62dd715 +Chords1217,ChordFormer,submission,1,TRUALER149E2C0BE57,138.68408200000002,0.949810017540441,0.949810017540441,0.9484335336782993,0.9107986951523389,0.9484335336782993,1ccdca0d3eeca5b45a80c21d01762aff93271d4ce27dd36a832d7b7828126671,4cf7ec967e7a2938aa8f8bb03f714636702d977cc6650d6436f151a33ee2a199 +Chords1217,ChordFormer,submission,0,TRUBVQA149E37F6519,321.828572,0.8969287341367598,0.8934578612322396,0.8154368318557682,0.7777681882576946,0.8154368318557682,b70ab33616c514ab256db662c0c704c065b4aad7f265512df9edfe772371047c,a010b4a69ca8fbf8d9f7a0936519532496dba5c583c2d44ea3b20d16b0f7fa08 +Chords1217,ChordFormer,submission,2,TRUCCLW149E32F95F8,226.56,0.9097022220692101,0.8145128822961356,0.6766960696143638,0.6593054077418794,0.6766960696143638,31f9cfad4e36f31c6aec2c48cbf6ad19faa56b261c97f7bdbfad28b7de88c639,f2e3efbe816a973a4a120a372477d5e52d69a62c60f693e319edd04b9f6614e0 +Chords1217,ChordFormer,submission,1,TRUCFWP149E3DF4075,241.44,0.9003294762963898,0.8484612450173972,0.7023617084340673,0.6979050395419161,0.7023617084340673,22d5779f5157112f26fa2f3d4e66fdd0ccb898c1d6e82db9d7a20068f7912c03,656a203c9b0ce0ed0a79e2ea6e584027178fcf02f2433fd0f7454b6ab1231990 +Chords1217,ChordFormer,submission,2,TRUCJDU149E3777F93,250.11805,0.956463828588142,0.956463828588142,0.8943892455622469,0.8943892455622469,0.8943892455622469,0681f00fa26487d998877378df17d560fa84688ac7bc616d36120f2a97b78f91,518eaa8fa2ad8bc18af38861fdc8570c43acdc06bbee552c94b30e674d3fc166 +Chords1217,ChordFormer,submission,3,TRUDNXJ149E2B85817,159.798889,0.86808928539547,0.8554991973386689,0.47807914481427327,0.4854899473299845,0.47807914481427327,6c635cdfc378d9480b010e0c9f4c7efbd4610a916d85b1ecef9b448cfd2519e4,5d38b9add55034885bbc8e4f8d1b6be406e51cc2e5f815be85f736b4b078dae7 +Chords1217,ChordFormer,submission,2,TRUDQAQ149E34F1B82,307.17387800000006,0.9519052040551467,0.9519052040551467,0.9519052040551467,0.9519052040551467,0.9519052040551467,f0de5ab49ba6463ae7f10eedf9c37a7096d70f4051e4bd6171261c53a3e17058,e81f1036547b090a97e682155148d708d8586fd11fe5210652b4e8d86366e7cb +Chords1217,ChordFormer,submission,0,TRUEIEJ127FA6DE0E5,395.0,0.9717901030455691,0.9656009357316452,0.31951789086582244,0.31951789086582244,0.31951789086582244,d03ec774949290225ff51b83a27d6aaca3ac6c7bf28a9687be50038743382473,5e8b41307107f15f7ac074c17587fa2313299830dbe7c668e7debf6e54c5e2fa +Chords1217,ChordFormer,submission,2,TRUEMQB149E3465DA5,222.92000000000002,0.9185082311053301,0.9410934510348682,0.8699080397361159,0.8399576350843363,0.8699080397361159,2e975fce9e96a9c13a7af115c0cc107b24d7e0c04ebfa168aeeacac298b2c51c,f726f0cfad4d5f4e94ced82798412b49ac7e1d1ba98446078aafc9361578cfcd +Chords1217,ChordFormer,submission,4,TRUEMYZ149E326FAD5,291.267,0.8287970454222437,0.8197593286030267,0.7699399794423809,0.5851725202237142,0.7699399794423809,55eccf9527cec67eacb2a2f2467ea973adab9ca2b9efb8a5956b5416a120de9c,ef06066edf93c4ecdca71e746d5a9eeed975422f5e8e17813ad577187680917b +Chords1217,ChordFormer,submission,1,TRUEYTA149E35FAE18,228.57142900000002,0.885306648925051,0.885306648925051,0.6505435251848284,0.6412583089288912,0.6505435251848284,7663bb2caa24d5788ef8dd8f953a60b553d8f620ee0f408b23c9ccf0accdcf91,d24cb8102f854eb1aabea35aff0c3bc58071d63dbeeb829b20f7b26391b5c815 +Chords1217,ChordFormer,submission,2,TRUFKEY149E378E8A6,183.79755100000003,0.9315677973696173,0.9315677973696173,0.7826291771156403,0.7826291771156403,0.7826291771156403,ee93bb65f476732466e2bb652430cc5348cfcca03faef99fbd9cdc0d21b32135,4e865bc2a6498024662e8ebb5bb63178734ab062fc9fb35032a24d3102cc8d05 +Chords1217,ChordFormer,submission,4,TRUFYMI149E32B70B7,141.60979600000002,0.9907481068541333,0.9907481068541333,0.9907481068541333,0.9907481068541333,0.9907481068541333,fe280ec7dd6ab5f32498a9a3ba0ff6d1a588c62aff9a80d5b4a014f7958302bf,40bf4f97a986379e53fcbb86b6e7aa3d911f50a9496f4dabf242fca6973a85fc +Chords1217,ChordFormer,submission,1,TRUGBFN127FA94ED1E,244.0,0.6802603434590141,0.7582998245909212,0.7582998245909212,0.46866184340983447,0.7582998245909212,04639e95d9571853270378bf8f10e21fede5db84ddd865cf4d4c14e382854125,cfd73f02d482a8374cbf869f74fbd0812493accc1b14824452396fc3dfe3a473 +Chords1217,ChordFormer,submission,3,TRUGTIL149E3AD8EC1,157.727347,0.9148727379976807,0.909566300077479,0.8384467203772483,0.8248691356293482,0.8384467203772483,afc70f9ac158bb0380dabe0096511933085ce14ac1fe8a474897d4adaa8d0ca1,21f3309bc5101e2ec307e3d2fd3577bce5fbc7a761b21c9899ad332caf67a884 +Chords1217,ChordFormer,submission,3,TRUGWBN149E343DBA9,234.68408200000002,0.8132490362086022,0.8132490362086022,0.8132490362086022,0.8132490362086022,0.8132490362086022,f50107770be080e792ac3750f1b9500c3bf9d4f53d8b44098626038be5a92896,2c8da13cdc6b94791f739aade3c1899107ddc6ad7f09e718a80a294fec349b70 +Chords1217,ChordFormer,submission,0,TRUHYGI149E2E3BD08,156.73469400000002,0.91487559578226,0.91487559578226,0.91487559578226,0.91487559578226,0.91487559578226,3c3fbec2be3a64f4bc2e3cfdf3ecf405e3480238f27510cbe9716e5aa9a360b5,5bfe1d1a2013f315ebe7e816dce1cb1b8b94816da2fc43e5d27f711bfdfb5dfd +Chords1217,ChordFormer,submission,1,TRUICDZ149E39A658C,208.71836700000003,0.7443521291013164,0.9588239166881404,0.9007070296403692,0.5183650813634431,0.9007070296403692,0c3d232056332bfb2f239e198cd4399d83c22a5f732a1ccf521869acf20740d3,5dd71814b6bac05e97f39ef8248d63eebb20f4a8ac0d4fd24794f07965043860 +Chords1217,ChordFormer,submission,4,TRUIRCT149E30BC456,128.914286,0.9423416249150246,0.9423416249150246,0.9423416249150246,0.9423416249150246,0.9423416249150246,4103c29e08bc7fe3674beedc4bdfc69ebda683cab32809c9a3840428d597ef17,4c714d328fbb32996ac6130bf81ee4b977a2c1757e960aaa2d067bdc453f1950 +Chords1217,ChordFormer,submission,4,TRUIVFP149E35E2C13,238.47183700000002,0.9385171546567156,0.9596275773097245,0.9529681877721634,0.8887313882561316,0.9529681877721634,5f130b7a4fcfe6353b132742a04df52b45b68981b43589b7f96959e261039e13,cdab71649d98d431b87b7fc841814ef047f4dce618f91bab014d48845e8579f0 +Chords1217,ChordFormer,submission,2,TRUIWPF127F8262B35,263.0,0.9361090849543703,0.9325143512433436,0.9325143512433436,0.9325143512433436,0.9325143512433436,a60bde5f99d922e0e645bdaccf829f1285745bf70e58212ed5dc9f6ca30eb4f6,b50504a82162cf6c96ae5fd870c964b7bababf7de850912a11ac507b08a6fa72 +Chords1217,ChordFormer,submission,0,TRUIWWH127F8C00FD3,229.0,0.9550077731048032,0.9525014298874511,0.9159596717751216,0.807987909554585,0.9159596717751216,80642c0d9e08423cb766f9bcef9eba6f4ee5ba7b937bade6b106a2b69c524d69,fd6d15aa11448aa3c6cafe8f8dc4cc09c3b310a1790171ab8ce6a8ef03617066 +Chords1217,ChordFormer,submission,2,TRUJFEQ149E34108AA,195.36,0.8454180293355874,0.8316679038686579,0.7526718008445695,0.734448328188986,0.7526718008445695,8f55c2f6a42dc810e5ebfe0bd954dfea93cc0f40a663928e69bb65f41356eb44,ad0d10aacc9914528c510cb1d19e3e53c36f73dd429f22eb6c7000fd75df864f +Chords1217,ChordFormer,submission,1,TRUJPRH149E33035C2,405.942857,0.8264668740580898,0.845611184488407,0.04653884454932354,0.045045044709334535,0.04653884454932354,02233605b6333f0f0c128dd270579ee601e9bfb8c9c84eeb8cf282760ce16fb1,ed198d4d267c3bcd3572f7603679a6e892c9ac5bebe69b7063470973112b85a6 +Chords1217,ChordFormer,submission,1,TRUJVYL149E3C582D4,252.08,0.9368165704855608,0.9153984411278515,0.880943381199544,0.8377711499325616,0.880943381199544,d9f60a1f1c2a466b6f818b65987b153988fd49e7b73c9c8f82f6988edeba4403,81fbe95b6d5639cdb57aa7f7121fcf23771c76c47ac3a97893bbb0afe48e8d81 +Chords1217,ChordFormer,submission,2,TRUKYMK149E347E8A5,171.781224,0.9462393805506951,0.9462393805506951,0.5849967066191134,0.5849967066191134,0.5849967066191134,e6ec70d6d677f2db4a89381e5619587c6d43bc811a264609a891ac653ce2e2c6,772242e19e7033dccbcca6fce684281763359819b5c9de644d7b0cb25a0aca39 +Chords1217,ChordFormer,submission,0,TRULHDP149E35BD5E4,174.482563,0.809024830687523,0.2394590769629729,0.16204402798969703,0.1474063187506019,0.16204402798969703,1fe4deff39e6bea5f0305d705c318a6402aff4d37dc20dcc28166fda5d2747d9,d74bc74076d671d5908d70fdad1cec7a6339caa7e68a589e177c9dae7c33acaa +Chords1217,ChordFormer,submission,3,TRUMEDZ149E3D52274,164.04898,0.8348207754111001,0.9075983111819717,0.6462417056132651,0.5877408729697684,0.6462417056132651,8ab7f65d49dd910acd7b8b42e559bbd88a6cac07f06fcaa24c84d9710f24caa4,3ae6fb1729b6bebf5a9a54f267ff0a4c0cbb0d8b3f3d2deef34e5c5b33110497 +Chords1217,ChordFormer,submission,1,TRUNXDL149E364C607,265.778571,0.856551786325164,0.8567537491076659,0.7908997646230339,0.6443204084199827,0.7908997646230339,d0a4dbb5cc0dbcf37b95c21a1c7ae93e2485f319bddcbd1ac2251ffd0ec46ffc,c26c3057e30cf1a050a508921d755b3899b17ce1fd294023ac64d3ef895e8ea8 +Chords1217,ChordFormer,submission,4,TRUPOQR149E34A5A06,203.781224,0.9021740252232484,0.910975629523437,0.8826987215459943,0.8741703212117344,0.8826987215459943,063fcff965131919954d4517f724e78d72fa89e96b0d6a03588b4beca214450d,d17a8d4f2f9300054108016b485b24b60d4434c2af822366a3689f21c58b7748 +Chords1217,ChordFormer,submission,0,TRUPVBU149E3BF1DB9,193.17551,0.8148046180853863,0.8323015562275254,0.8323015562275254,0.8148046180853863,0.8323015562275254,7f97bb56355e78a6541733e077a4e8df212e5391e17db1bc23543031fd10ef33,22f76d70c74b0a4dfede0b02df9cb8515254fda6d3a3a3dc81216c11771f2969 +Chords1217,ChordFormer,submission,4,TRUPVRT127FA61E680,286.00000000000006,0.9099848802062912,0.9099848802062912,0.5145557617097891,0.5145557617097891,0.5145557617097891,eb945ed856901a90efe3587c8875951700f062cadb38d75994a5af92aaab93c3,6b0eb3fc888d5cc1be5d773ec1b90fb0c777494ddcfd8e2dcbe14511cbb8b668 +Chords1217,ChordFormer,submission,4,TRURDSZ149E345C5E5,228.12680300000002,0.7961103012695985,0.8292654508256878,0.38339913785455815,0.24397343622967474,0.38339913785455815,6a0f71850e73eef640b61a71ff4143f99aada03ca2e4e84aecfea2c37903c7b8,f3c7ab628e5c58858b1fb218a516eecf256d2aabd620640d8ecf6ffcf07f75cc +Chords1217,ChordFormer,submission,1,TRURGJW149E382760F,243.891633,0.9442602638648132,0.9442602638648132,0.8124530135808314,0.8124530135808314,0.8124530135808314,dce25d8e43d0d47bab3c4ed7dc24f086822a72ccaf3ab01a0e09ff58e8fedf74,055fb442abd2e5291178a33ad576a4745fcc8dd37dffe1c2682a69d7821f1159 +Chords1217,ChordFormer,submission,4,TRURKRH127FA94ED0D,234.00000000000003,0.6931405120384594,0.6752741535299123,0.6418165978589722,0.6418165978589722,0.6418165978589722,dc90b97b39765ed8e9af0579b3003cc27b75231b1b85585f7d4efaa2d45c23a1,0437656e98b5a7fe797b08f6bd917b6f7ee2831cff849cdf6bce0d59b6cd5960 +Chords1217,ChordFormer,submission,1,TRURONL127F9B8C2A1,335.00000000000006,0.8771110637164173,0.9302633619558336,0.833676047084779,0.5917500118447757,0.833676047084779,f43da2920f3159fa5d0154ae4e37edcd5db25c57b84d55f6b785e05be8833f67,76ea286fc4b241664b93bf6f0048330382cfcd15f15771c729de8b874baa5d33 +Chords1217,ChordFormer,submission,4,TRURRNF149E38B4203,346.827755,0.8659650558127892,0.7147934595455671,0.7147934595455671,0.06659445029132648,0.7147934595455671,97c1d0ecf0630b8c120d863433516e41be63b2c4b5ca34c5cf352e70480a5625,eae04efea100e6e20236b48c4d4c2ca42340e6836706831b97eca2f8bab1ce49 +Chords1217,ChordFormer,submission,0,TRUTQGW149E34A8F14,246.88326500000002,0.5685821585031332,0.5721693540149875,0.5968184552800686,0.5111772104844816,0.5968184552800686,8fbdb0e2d44b98979062c8b09876481dd4a13ac8167563a60a2fb6958f15e83d,f6baf9b0ebae97a97da16b77c9d802ed8680485470cd7d5856b4460dd7379bc5 +Chords1217,ChordFormer,submission,2,TRUUEXF149E34280DE,210.747,0.9496438363060923,0.9561579063513652,0.8656148581136527,0.8063629981304599,0.8656148581136527,2dbb3d49ad7574c0d1d1a5c96e6cfc63714768b730f8f6b03ebd18434121f70d,df1579c4a7ab46f7bf33b44c4c5ea0ced7df4a3bfa6f22d89466dcb225db15d8 +Chords1217,ChordFormer,submission,2,TRUUONV127FA28B9D4,301.0,0.7831765543587966,0.6624957244178648,0.6624957244178648,0.22638205227574562,0.6624957244178648,78d3c1662c6c1b67d8198ac31cc24dc147d3d8d26d2d141f706c724265a4a96d,03e2c7885d95868e8f9f4e111f9591727b35e2e046c7a16a13e012f2a319406e +Chords1217,ChordFormer,submission,0,TRUVBWF149E3D3E15D,78.915918,0.9089889350333613,0.9126494008468623,0.8594124046554034,0.808787008813609,0.8594124046554034,10d3b331217e92ae9d6db4ce1d72075bc42839fdd7320c66df82ac4d906fdbdd,1c8b10c6860ed53db987a433f429b9cbea53a7bbdaa8dc2143b4f786e2b5e5a5 +Chords1217,ChordFormer,submission,4,TRUVTJT127F66937C8,263.0,0.9553505772471464,0.9647991683152872,0.512480007782349,0.4877523602585543,0.512480007782349,9b4af5de51f6ac40f699415b075c125ea28ab4196874be5feff4090972358c7b,51f378ded64fca9a1d6fdba752ae78fe2f12544805414a9bcfdcaf94c9dc0480 +Chords1217,ChordFormer,submission,4,TRUXDAW149E33EC32C,321.018776,0.81843157821398,0.9182344353717705,0.9182344353717705,0.7988688182120538,0.9182344353717705,f2b65408c1fd32b9c299d75ae25417dd916edd9b0888e7f5577f883b1eecda6b,4225c86c3f0d4d69cd90d32529715a6546aaea7d4a694783ff7c1cb9517ea3a0 +Chords1217,ChordFormer,submission,4,TRUXGKN127F8DD6613,384.00000000000006,0.903551823497392,0.903551823497392,0.903551823497392,0.903551823497392,0.903551823497392,bacb362d1a30438cb3f734eca80280c0654fa69d3f3a0a24d35cbda0fe99c56c,1740b2e44bf7f4e6f6aed3fb553dcfe4bfaa6a3679019fffd02ad8622c41916b +Chords1217,ChordFormer,submission,2,TRUXQCB149E396B884,163.317551,0.9175643053023728,0.9158579687604038,0.8642893533004257,0.8467622210854717,0.8642893533004257,fa2fd9bcfbb8ee84e1f2811cbbdea5bc30a98d4cfd57239da9624a27e80775b9,165660ddc44bf566ec297315c6ca3c7f6655ba9b1a42929d1bea9f6238596ffa +Chords1217,ChordFormer,submission,1,TRUXWDK149E366567D,125.75346900000001,0.9775333571752194,0.9775333571752194,0.9578139611401087,0.9578139611401087,0.9578139611401087,e8ef5ace2b06a34062459257b43e2f36e9eaa5061263428513e267dd3048f93c,502d1f0477561761c4cfdf6e432f0207932312d3a8993592655a9d85bddb221a +Chords1217,ChordFormer,submission,2,TRUYKSO149E3C87154,235.18040800000003,0.9050513839741311,0.9050513839741311,0.900057713680813,0.8423793614687527,0.900057713680813,10daed4ace273bd65108f5b056cb966973167813187f4e482eee574c9b8ef3de,3a22f0c5608596be00c320e8aefa7996ea60b0aaa57b0699a871099b656a1d58 +Chords1217,ChordFormer,submission,4,TRUYOUF149E3EBDAEE,214.543674,0.9266730836305151,0.9294515076773812,0.9294515076773812,0.8703147710521635,0.9294515076773812,d08e2847af5ce6a10f743815658e949cbc139ad26ea800fdc4d8ac3e42bcf470,053697a99555d14faa470fd212210eebded19f248df46a7beb91691e6e140f49 +Chords1217,ChordFormer,submission,1,TRUZCKF127FAA23B95,314.0,0.8337277900636937,0.8458820574908237,0.48096904193889256,0.45365643370063646,0.48096904193889256,34773cea3fe741b1a984b3670e0bcbc62f36428c646d583dd88cc8e79e4e5912,2e47a6350515c713ef3122043ff48c9bf4c57d7bc1e675bd4107689994316fed +Chords1217,ChordFormer,submission,0,TRVACGQ149E2CA49F8,141.087347,0.9616196782196215,0.9616196782196215,0.9625195369631365,0.9405164887465073,0.9625195369631365,fa91eff25e71fc30c3f3ffd3873a2c2b9aae6646ed3798b33c4821faf63d753c,1e35fd5db388699ba3b28965238cec2f95a4aa9b45c2452d955c2dc4d0c790ca +Chords1217,ChordFormer,submission,4,TRVAGZA127F92CD4AC,245.00000000000003,0.8735242445224467,0.8924877634681672,0.8043389379816405,0.6867413022326514,0.8043389379816405,65a6ddfe6de845333f87329fa47678b55386033e6d5bbbde385a50f8b0a0c33a,d89387b8e28c040d41bad11c6295ba67a2c62213c0af20103134c75b16050e5e +Chords1217,ChordFormer,submission,0,TRVAOTL149E3E51FA6,265.236032,0.42881520832735,0.9961660896602027,0.9961660896602027,0.08099011561898183,0.9961660896602027,46943fd99823c03ac8feb01559f1a78544f7cba258897d8191c1e9aeed836206,0802f5b92ef93aba4e05a91ed262bcf91619e1ff5f084f9fb457769c291f41a0 +Chords1217,ChordFormer,submission,4,TRVBYTJ149E2E0AA17,280.86857100000003,0.6717138594869717,0.7444212484445896,0.6344492539840788,0.3730848271734914,0.6344492539840788,a25b1ffda31e4615e051bbecb719c06203baae3c21031cb35420e90c04f8034e,dc8d97c9d699c260d147f1721bdd3103ecdf9b2581994798e7e10e73a654ad92 +Chords1217,ChordFormer,submission,0,TRVDAIN149E33F2136,136.75102,0.94216724681103,0.9096397709968389,0.7898815792692135,0.796569645162428,0.7898815792692135,9c96b2909477e3ec3664b1fcec56f2d50d978a195341ed90894d5b49e4830752,a1933c8070fc75030284fbb52f8d1466d5ab3b5e8b2e0f1bdd1d33cc3651d5fb +Chords1217,ChordFormer,submission,1,TRVDBEX149E3AF9D0D,135.401564,0.9265349041315363,0.9265349041315363,0.8172736704355946,0.8172736704355946,0.8172736704355946,0c34b992589cb8e6cd5bcabb5f113a0b2b3579480f7e4f0e04844f5aaaf05c61,b2656e65a786205bbfdd06e6c335d96c4526b2118d8176fb67a914312741a386 +Chords1217,ChordFormer,submission,0,TRVDBKE149E3CAB5F8,156.630203999,0.6208788476750048,0.5743330207684445,0.40808193509636587,0.24448548218225175,0.40808193509636587,060d980ccf03b82cc2bcd7641a4332181602d4eebf5ca6c7e1cf0d25d11908b0,bf285363183711149e4260f756e9b105ffb95fc6d9e3e7fb0ec25b856d5e1028 +Chords1217,ChordFormer,submission,0,TRVDLCK127FA1E69C4,369.0,0.7852805891924114,0.7852805891924114,0.7599675902818422,0.7599675902818422,0.7599675902818422,05f53207e0a6bbc410cc1c2145da8c45090d5beb48cca6643da57af72ad38373,077de984da7f528e52efd13d720fe47433e5edc809a08677782e178cb23d5c0e +Chords1217,ChordFormer,submission,3,TRVESVX149E357C8A5,137.521815,0.8064251362811041,0.8064251362811041,0.5700169834436808,0.5700169834436808,0.5700169834436808,f5df0e9576f77d7e89de1ed1f700a254ae641450877a694b03c8e0a99321537b,99ee3b4d504f82b01ee04d119bf79a8a8d974ff1a18134938024995d8eed2e40 +Chords1217,ChordFormer,submission,1,TRVFOFD149E3844F0B,335.36,0.9601872882424859,0.9601872882424859,0.8090480773586594,0.8090480773586594,0.8090480773586594,eb44a58fe12334667bd37279c5c6947199593a0e10b494ac52ac488b687561be,9c9c322a024dc3a7c8092b5ea0024dc88b0a5a63c8aa354ba3c6097f7fae1d07 +Chords1217,ChordFormer,submission,0,TRVFRRU149E3560CDE,277.73300000000006,0.8926734091447557,0.8972148322990969,0.8165343024534439,0.7674497455433831,0.8165343024534439,34d347018cd04eea1c059ce7d63ee241d02b14eea752c1b450cf4ef2f0051e92,d7efc4fcbb5c7a7c843972607dc1d872f890f7ccbfb94bec632a24372c37e060 +Chords1217,ChordFormer,submission,1,TRVFTDV149E3346FCA,119.353469,0.8650426766313769,0.857260766245513,0.7962375811710969,0.7774164661355598,0.7962375811710969,60eac562de3b6ede7717caf14d5f88c6c6920159630170e0c82cca27d271d5ec,e5db5adbec37ffb87c26f9faf0292a0cc55a9f5b1525a3e6280503f25a37022f +Chords1217,ChordFormer,submission,2,TRVGNVA149E3CCE4FC,227.572744,0.8451177310671251,0.8450661888288791,0.8450661888288791,0.8410697835809359,0.8450661888288791,4cede5b62456082f5b191adebb9a3c414a433867c8bfad7532def7874b03327d,b34049a747b85c7c79504cb2c185bd87b13d3542e6ee2412df991f151407a1d4 +Chords1217,ChordFormer,submission,0,TRVGWKX149E367A6E1,250.409795999,0.8570735197322177,0.8071189972588563,0.7018245636041052,0.6001143556883752,0.7018245636041052,d780e8d68a8c97b6ab25299b0bc6c69ba834f42057ab4d931ef8c110039d93a8,521ae20e72b6f2608d3a1ce61cefee40579f91119d4ca522e5a2454aef4f7be3 +Chords1217,ChordFormer,submission,0,TRVHIDP127F98F425F,170.00000000000003,0.7896484327294113,0.42279541312305724,0.42279541312305724,0.12568712819411734,0.42279541312305724,86806a51bc75b1e981c530cc262349ac2855cd2c5eb8101d28e195bccd5bd829,c67d63c525547339db3be143a573c4c6cc636ca8d8a396ec5520a0ad757d0b1a +Chords1217,ChordFormer,submission,3,TRVILYS149E3DC3B50,254.22367300000002,0.8118329670069702,0.8431114794872195,0.6563109235841628,0.6157990248650049,0.6563109235841628,7ab70fc9fe9fba19706484e0d6b41ef4839e4217182fa0682a54cdd405138b44,9bb335c7177525dae39b02fb9432d4ba31d7b26502a2ee1409e0d903cf0b193c +Chords1217,ChordFormer,submission,3,TRVJORK149E3A58DBE,153.077551,0.8640315502891732,0.8640315502891732,0.8339974205950026,0.8339974205950026,0.8339974205950026,108de84b7aa97eae4f7f4b275ebe8d36daf512fc188fe3ea6e64d4dc7fd64a39,35521527a763b8966b28a3b2fed768f3d7e425bfaa371e601cfd579bb4c58684 +Chords1217,ChordFormer,submission,0,TRVJRKU149E3B81F65,234.24,0.7465984390027325,0.7666975549802331,0.7269818164214917,0.7011562932761274,0.7269818164214917,aa36ba791a1254083232f7ba3c19224bc47a13d514f6ba0fe3ec70581ebc7fac,24a64ea029c51709ab68ac16c3947f94a03df84659cc376fa0241bb9d606a5cf +Chords1217,ChordFormer,submission,1,TRVKFKS127F9FBCB39,226.0,0.6792780486725651,0.8345198160076964,0.799698608922322,0.6067801657433618,0.799698608922322,20b6e930fae02fac8128925043dcc151a5f275dc85927ecb92f4d2e9fd6d2997,ab7620d41f0cc12c50dac3c373d249dabb44b5895de808b949d9544f07b86ebe +Chords1217,ChordFormer,submission,0,TRVKKPS149E39C8B08,208.14367400000003,0.6401611330738787,0.5939371692067734,0.3356836498542555,0.2718663213324466,0.3356836498542555,558df42c57c4dd787c96627ae59c87d4fa19f18bddccf2369abc9fb257c3ad35,01c13c7c122421f820397be067e60b5a43eb03dfe6e47b96c92d44baee7c7d4b +Chords1217,ChordFormer,submission,0,TRVKMEG149E311A4D5,227.36979600000004,0.9507394309840507,0.923054937829834,0.7065936455881774,0.6399470542252668,0.7065936455881774,72b1bdc7ff1567f05446ea34c78c3f8af0a354c9cb525d877ed9bb2177a2e3eb,0ff70d22dba3a8c3e3a09dd66490857f499526e2d81e3ed50a0a10b5b8b6addd +Chords1217,ChordFormer,submission,1,TRVKORV127FA621F55,211.0,0.5699267928483409,0.3886499016824641,0.37479222363856013,0.3660654265071087,0.37479222363856013,0f71a1204e500f431ae9f3696907142c4645af6cbba6b4199703f5c3623eeebb,7c8182f42450687d56418feca0506258ab4aafd34c19547a8d82c3662c3547e1 +Chords1217,ChordFormer,submission,1,TRVLIBS127F8D2A9EB,201.00000000000003,0.869501731731339,0.8615116346037657,0.6836735575123463,0.6128232082437782,0.6836735575123463,573fa33fa0bc3b9ccb24f68be1786a1ae32082233ad7605972e260010f26914b,419c8636e3ca1bf4cc847ae9a758341a110a75511d736be54ccded1635b26096 +Chords1217,ChordFormer,submission,3,TRVLRGF149E2C52310,270.027755,0.9535110386041608,0.9535110386041608,0.9535110386041608,0.9535110386041608,0.9535110386041608,6e0e28e0b44467fd20a02d11e7fa9b1686a452fe265fdd25dc9c675d8146e010,cbbcb75b6fad2a3b72f9144871f8c2495ab9723cb7bd860cd9fe3fa1187f74fd +Chords1217,ChordFormer,submission,3,TRVLUUL127F9B8F8F8,193.00000000000003,0.9224004911191687,0.9224004911191687,0.8186049722176149,0.8186049722176149,0.8186049722176149,a2af871b48fec43dcee321d462cd1ea9a3832da1c2d9077450dc2b52a5278583,9711a5ca50a45480c55c27e9ce4a71ef875d6569a56cf7c8a237570408a1fd22 +Chords1217,ChordFormer,submission,4,TRVMCLJ149E3556AC8,101.459592,0.9233248729504065,0.9233248729504065,0.5967967144693429,0.5967967144693429,0.5967967144693429,bed0d5b9df3a7c2392256fc18dd118723a67a61ccedc1d2cd95404fe4dd75034,084621a34c4c1af0d88722edf36f339be6361fcfb139bcee9a1406c7624c9f84 +Chords1217,ChordFormer,submission,1,TRVMDDH149E35AF0D8,358.293,0.7666635952586258,0.7447385585833155,0.6886574850716358,0.6585827382198337,0.6886574850716358,cb278f5a9a30690865c43bf985462cc3859b27f17150069b5e6a3290626b5466,8e8fa7b6cc0b9e0d7ce6d5b853ad5da43381e52af364da2f4588f0127865319d +Chords1217,ChordFormer,submission,0,TRVMEEF149E3DA585A,225.41061200000001,0.7040081921253987,0.8755104907744571,0.8272616473444668,0.359918622952853,0.8272616473444668,76da88bf3672d8fabec1128b2749f4ee2113dd2575533ed5f4b0039f201e396b,c0d2f5093d82e65a211ee04460a64189425c546cb9f9be866e003918e5285127 +Chords1217,ChordFormer,submission,0,TRVMJYN149E3863E56,251.00000000000003,0.8976338546055781,0.9292411995365653,0.7804445348540032,0.7335722687490043,0.7804445348540032,d5fd205814627674ba1e34fcca68ac3e3169c3d8ba94fd4786d83d8e049f4030,a7d5fee107663b8adce4db87c4a64f3d407236d0f0841b63386c8f74b93a5125 +Chords1217,ChordFormer,submission,3,TRVNNZJ149E350D332,147.774694,0.8351892643878547,0.8532741659967522,0.6347981129510942,0.6286526777446768,0.6347981129510942,d0839d8839b0a3ea4885d9582504dae02bd41e4e8053f2b3cfe9f7136f6194ca,af62b68d2ae77548def7a051506718e6449b9212f1f49b7713ee09b8334eebd9 +Chords1217,ChordFormer,submission,2,TRVOOCG149E3B26EC7,234.31836700000002,0.4746781743233976,0.48075425949584427,0.48075425949584427,0.4746781743233976,0.48075425949584427,7d65ad5e6d2313656da743ccaf5d78a25d9fe15a7b71fe2b9383e48fb4d730ea,4cea7ace1438d5cea5bae8ff75e3ccd3b29c9acb212e7c294aafdb19f3436e89 +Chords1217,ChordFormer,submission,4,TRVPCAF149E3ACD57A,220.50700000000003,0.6213454878031089,0.6661064782028142,0.6392381504923565,0.5796647855079438,0.6392381504923565,fdaf6322e5052f55b06793d99d4614fca3b4b35151c9ac6bb98744ebcb1b819c,9631357e169cc51b840b1e832a0f52fa973ffb68ea8d861bd26589b3d901c504 +Chords1217,ChordFormer,submission,0,TRVPFJM127F742B88C,324.0,0.9534630329629601,0.9534630329629601,0.629034286561727,0.629034286561727,0.629034286561727,315161ae016323511705bf2cbb7f79ce36e5fd41e5ba7c66886730a28f30277f,69f8eb88179c9624a5b6de49f7f71bde7d2d64109d8ccf5c8640d8e46353e690 +Chords1217,ChordFormer,submission,1,TRVPUYP149E3385BB7,178.121156,0.8704627270047585,0.8704627270047585,0.8704627270047585,0.8704627270047585,0.8704627270047585,9f7e3144e916945eb9f3df7afcf2be3c47d0683972b2c869adccbc516567b39b,83f2dd4c1d00ec63db5af197e5b5b8525be1112f61bf137f7c765288cedae53d +Chords1217,ChordFormer,submission,3,TRVQADB149E38B7A9D,258.142041,0.9768670051423367,0.9784256478244704,0.9646073495837735,0.9010953745616356,0.9646073495837735,64c96bbe1edb797f1b993d11871e30c230564a382e5805b0cd662f133438bd69,f0d8891046c2514ce8a9dee9cf497cc19f2305e69e990c7272bfad36049be112 +Chords1217,ChordFormer,submission,1,TRVQCSA149E36CC27A,156.238368,0.9188732061960606,0.9166387546770706,0.8294000699228229,0.7849368553824115,0.8294000699228229,82a3ff3779048f562d9f387b3a632821b636fbc4fae9fcb01ce4c31c7914c051,a7b473ca94e63d6be850940d31418801debc2a0c5a7f64c11a5fed3a436fc076 +Chords1217,ChordFormer,submission,0,TRVQHUY149E3D23346,199.01300000000003,0.9389535771834001,0.91124525372658,0.7970238859676413,0.7723017399365868,0.7970238859676413,d230a8994eb39f9c24d2bb1b8503b07128356df1a06929e2200e30adee927ea0,0a2d859b54af392cfcd9717317f5491046037fa0323940e6c4ac09f8fda9ee1c +Chords1217,ChordFormer,submission,3,TRVQWBN149E352D674,129.541224,0.6759111973806892,0.6759111973806892,0.6040332565485105,0.6040332565485105,0.6040332565485105,d724a03317112c3f44c700e38a7d3a582e04aeb5dc6a32bcf45314d8bd752b0f,cd614b6d2c8017e3f783148ffe126e001977d72dad6fd1809577a82444e57fa4 +Chords1217,ChordFormer,submission,3,TRVRDYP127F8E69E06,238.0,0.9197982621764673,0.8604539540675615,0.7607346734399014,0.7500236570924347,0.7607346734399014,a079695738270d2bbc989cfa1cf7970b4280da5d7a06339ccefd2a1bbd96ec38,4c913fe4e7bfe42c791fbfce2f6931ce915ba59d4f5cf2989457fa8281ea02e9 +Chords1217,ChordFormer,submission,0,TRVSDOO149E381C668,280.427,0.8842296110538597,0.8349387213624146,0.8277911762351009,0.6979652838492747,0.8277911762351009,cbb8215f16162a8763a0bbf77eda12097c93710693da35cbf897ff3a706b7b42,b39188ac1f7970f752fa39b9c4ec2b8d6616d0b037ce38d784ae18aafffee9c8 +Chords1217,ChordFormer,submission,3,TRVTJLD149E3B15371,216.973061,0.8352656866559106,0.5222210659456307,0.41384484525513643,0.4151756595165508,0.41384484525513643,7cd6dd17055f26b6fb1346d75243ec6deeb9dede5fe11f2e9c3d8a846a24ec57,7aa0351996449629b86073dca35292b4370d3f351fe1416b25dd18fe895d13fe +Chords1217,ChordFormer,submission,3,TRVTNEL127F9FC99B4,215.00000000000003,0.8794925697534849,0.8717622843835913,0.6801133632083967,0.6302974318418579,0.6801133632083967,4761a87837ebbf1e358a883c95bc3f0eef4736908627984ee8deffc56bd20cc4,732cd801f54ea20d1259ba4508fd36d274675537452f25d399e1e1fa7966b74e +Chords1217,ChordFormer,submission,0,TRVTQMW149E3DBD889,122.435917999,0.9471120737130998,0.9471120737130998,0.9016057830913764,0.9016057830913764,0.9016057830913764,557432b467b5d350fc1d0c8f8b0644162e8427fd2ad4ef1280af6d5b4cb4aa68,bdb35cd87c6aedf82e6015a7809f742805e6a628d70c4e048952c1aa7832a3a3 +Chords1217,ChordFormer,submission,2,TRVTXWQ149E38D85FB,217.312653,0.8644554734555697,0.9376578155197581,0.9278635623695755,0.850292668991533,0.9278635623695755,126c1102c4e0f996d352ddae9b4a4e6413238256fc9ab9ee559d620d94df02db,40a4095b873274eeca7930b35cfd53e5f18e1098e322630bb4a43b0761fa78cc +Chords1217,ChordFormer,submission,3,TRVUALV149E3C389DF,262.269388,0.9459334043285325,0.9393831658896532,0.8535484201794152,0.8383275468161033,0.8535484201794152,27a923bea0c8311523a73b41b32118c814f2478320dc97fae9de82afa31d50bb,4de3b824161bde045316687ed10df8190b193a487443ddfab57836eb30e2f43a +Chords1217,ChordFormer,submission,4,TRVURXZ127F8D26C74,149.39400000000003,0.8621135054486787,0.8445193623332663,0.8445193623332663,0.7382661933009351,0.8445193623332663,4c7bead77886b0367aa36c152fe0c950f124e751211e907c224cd9d25fd8149c,6076fc72e6a36acb17e74e60dc3a4e674ac701ccc8b2c29244b15c760ed7f43e +Chords1217,ChordFormer,submission,0,TRVVIUU149E2E41FE9,258.848,0.893554038427957,0.8732544201844011,0.8643968053307786,0.8228880732167132,0.8643968053307786,4bb5db8839c65cd5d89b0f4c2a5373494999a88b6baafddbbfb6d18e8c0c4507,124703caf2ad5990675e1fa9fece4841e0a3a7911d9460e03c3cd53850f84386 +Chords1217,ChordFormer,submission,1,TRVVMUA149E3780587,178.782041,0.032926752413571514,0.03511696157836883,0.03511696157836883,0.032926752413571514,0.03511696157836883,e79f4f3cdf2d1a3e2634648c25173c349a01b6752d2da74ef9fca58d3f415c7d,0708c4912feb52fb91435b3b8fb50a3a7c1abedacbe424ed99ba9c5607ff2a96 +Chords1217,ChordFormer,submission,4,TRVVPUB149E3851136,269.55755100000005,0.7848846147573096,0.8597219172011055,0.7040749350571474,0.5365926527256524,0.7040749350571474,201ea80b879fb2104618eabd4935b7b8ca7bc275ef8b07bdd5f7e7a219553be3,39a6eef73571da2d6313f08df37fca67861aa333608cd376c25e0c2a1fc0fa73 +Chords1217,ChordFormer,submission,4,TRVWBVK149E3D98C03,256.0,0.9787706152929692,0.8584233282797651,0.8507922429852819,0.7799341107304686,0.8507922429852819,092210837058aa34d27ba817d819bd1bdd5f1ebac4ab8957e1936a8cf8886c1c,814e9f9ab41d13fe6a87f3f62b087e701984cb3be5c8cbab39c69dbcad65fe61 +Chords1217,ChordFormer,submission,4,TRVWNBY149E2CB0543,234.031021,0.8033723666188679,0.6081098895279309,0.023143110437133508,0.021914650361671513,0.023143110437133508,6d70abc914bd73866502f2cc11ef7057eb81b68af0c56de38aa762a2a14f92b5,038613d684cb53445000c36de3a26f7dba3a3bfcae8b32ff91c05431b37b913c +Chords1217,ChordFormer,submission,2,TRVWTDX149E3637C62,152.028231,0.8982909642486072,0.8810319666417745,0.5448729664492378,0.5448729664492378,0.5448729664492378,0791137eafd074d7ce738b365c7c7e0aa00f4ed836592f78a00e99cf86a5b594,0a4d6833fbc6d2d0f5b087dfae7dd0da465d3a0929a1e928aadfadc66e2a4414 +Chords1217,ChordFormer,submission,1,TRVXKXT149E32BEE0C,117.733878,0.82681032115497,0.8333094301331773,0.8615937391780351,0.8084550179515881,0.8615937391780351,0480ebb5a5e8f8316bae6ba4a332e0b22c9ac4e361026d3156361e33aa1b9e01,b6246283b8dc6b1b87ab88848d3ef9108c13e8700bcee2b7057ce42c51383aba +Chords1217,ChordFormer,submission,2,TRVXNIE149E39B6491,171.833469,0.9268561965189677,0.9166832241893552,0.8998769467816362,0.897201727324727,0.8998769467816362,d80b34236ad3d43a368e0585160b77d214522afdceacd063b3eb5a44854d1cfd,72605c7a7bb888d97fa2548020c36058af504f45eaf6c7a4cf0567dfe29dd7eb +Chords1217,ChordFormer,submission,3,TRVYRFM149E346A53B,110.18449000000001,0.9807557423372386,0.9807557423372386,0.9807557423372386,0.9807557423372386,0.9807557423372386,dba9ca0ccd26c65ee4a4509873dd785251a0218f6cc6a2879f352f3e4540e8cb,c09cf6083e37906bb1911aa9a685deec462a9a7628d45aa1b61b26cbff945e35 +Chords1217,ChordFormer,submission,1,TRVYVCV149E365F40F,200.594286,0.9602532356729252,0.9588793695828977,0.8157056493837466,0.7563194107882023,0.8157056493837466,e8cad1b7106c0c353ec8c793c9572d285149b48efa4744c417aebfc842f1622e,32de7c7d1d49aa9a3858f165318e2bd1bbe2a5bd947f1d755faf24836137a152 +Chords1217,ChordFormer,submission,4,TRVZDLF149E384ADE5,129.567347,0.9579113939563817,0.9589585157448612,0.9350403680121614,0.9335997694851328,0.9350403680121614,e38a1b2cd809b7910570563284850a8a9b23cda568a7da7fef86e6c6878c95c1,00011d581fc45dad32038cfa9cbf77f53467d96b93e2c69568b1dffb09c1f29a +Chords1217,ChordFormer,submission,4,TRVZQQG149E37FB3B2,298.816620999,0.823447393988247,0.8218768332170342,0.8168506576812546,0.8082423479911061,0.8168506576812546,b6c2e5f2dd14b5b4089f9d513cf163ed600a21c9a2c911415d7ebf95d5dde183,0521ac043eb7970f1fa0f868df952f63c35f4334cee4f7e828f32a708f605eed +Chords1217,ChordFormer,submission,0,TRWAFST149E3DC68C3,243.151,0.7722152833753522,0.7365069724646065,0.5921432627867084,0.5776971209454216,0.5921432627867084,be0c52e95544a978f7e4d2ecffe4203e893eb119c75c3790021e5afae872cbf3,dbda95a1f23b24fa48d24c70d8c3da8a779367eb85f1d2615aa059b1f7f22b9a +Chords1217,ChordFormer,submission,2,TRWAPTY127F9B8879D,657.0,0.8602814932161287,0.8720331046410368,0.7770046800771306,0.7537217407518971,0.7770046800771306,7b558200eb4552569d84c9e624a0a311cc6313296c97e4581f0b543bbc096b7c,bea34b6ea46ba4588c1b9ba3b35fa0f06439d655923e36571862c7d61743f405 +Chords1217,ChordFormer,submission,4,TRWAXLL127F954FBF7,236.0,0.9584857315932169,0.9221611610889799,0.9221611610889799,0.9221611610889799,0.9221611610889799,4c694ce53d7c91e67f4b24e36652d9dfaf35c2756a0e26409fc10a3998ddabfc,f3119a19061515896cadd6aca4bcca9b60748f4091c6a4f59dc584bbf603acce +Chords1217,ChordFormer,submission,3,TRWBQZI149E386757B,290.66449000000006,0.8497596831074903,0.9014841871266532,0.5678956354781188,0.4608184104841982,0.5678956354781188,29b062de5748cf9bd7cd98538cbb7c71ac935cb6f7c684c55bf83647589630ce,b4d01baae0d54fc35e142c209db2a1f43736f283e84b007932cc68c659144143 +Chords1217,ChordFormer,submission,2,TRWCLUM149E3A727C8,234.814694,0.9644935179525026,0.9644935179525026,0.8789083077271151,0.8789083077271151,0.8789083077271151,f64ed245fb02a8e0dec5c8975e91d51bd6df035de9c98be57fa421bef0929c62,cbe47558432a5e1b920930a82031c3376f018f4ea0367244acc98187c6547266 +Chords1217,ChordFormer,submission,3,TRWCTAM127FA7A4CD5,277.0,0.9678637654801406,0.9504699525992742,0.9053027497364586,0.9053027497364586,0.9053027497364586,a817ef25d9ddea97063eedf73910a042ce5c39cebab4eb286fb44f49775fd309,63b9224eaa299bd8510653e77127682d2483305428aa46f9b20e8e7c5e05e279 +Chords1217,ChordFormer,submission,0,TRWDAST149E3929127,213.18530700000002,0.7370563116293938,0.7947498217324576,0.5961782199775592,0.5017226283985883,0.5961782199775592,84ca0b20ec9aa1bbd45c2544a07b61178f3fcea612df3294f7865ad4c159500f,98f792a669cf9cf7af855a31da44a142da7c78200c839da54c44a394b65a6929 +Chords1217,ChordFormer,submission,1,TRWDQBU127F9FBCB74,246.00000000000003,0.7657643567073161,0.7373309678581023,0.42870731492767866,0.38230061944308863,0.42870731492767866,f2298875c0859e0169d929c7f6209a74d07bf5b2b98528e20ab95cfdcbb88c89,7325e56e3f600334f0c05749958dd0d906c1fdfb2e1b6cff421ddace98360251 +Chords1217,ChordFormer,submission,1,TRWEETB149E36AC780,380.708571,0.974186719360726,0.9725266684500253,0.8472350266524469,0.8472350266524469,0.8472350266524469,fd51de6d5b43ea75529cd02f57561fd9e531a070d8115becf27f311f67fdde54,5443884064b9a9d9822c36a8dddccbfd35390ceb5f3e9b7486613c7ec004565d +Chords1217,ChordFormer,submission,3,TRWEVPD149E378B6D4,188.551837,0.839172673114821,0.839172673114821,0.43136118164152415,0.43136118164152415,0.43136118164152415,590641aaec85f463a04b1e7bd684ff9005b098d5b34803f57a81e1446e9bc087,090120b5da8e29adee075e85b6622a73c687804dd0dd0501e618bd14cccc2669 +Chords1217,ChordFormer,submission,1,TRWFJKX149E34310D7,162.037551,0.8711882609112016,0.8763624550861531,0.7186752987964875,0.7051749584514526,0.7186752987964875,a06b65b6ad6c1e0a353eb524e1ac1c6d7ec4040d16bdda8288571a273efde2a8,879f390a009c1c072f4c0e50002f4eaac13bfccc1c8842b9ef734761166af630 +Chords1217,ChordFormer,submission,2,TRWGAUJ149E36C2534,135.91510200000002,0.9546913085199302,0.9546913085199302,0.9316171006883385,0.9316171006883385,0.9316171006883385,4fd01f7451acfcd938d028f1922bd3712e979f2f8fb1707df388ce4d3b68faf5,645e7345430c51e4cda86b2cd429dccfec56db632af83ff3f15c273bd6559e80 +Chords1217,ChordFormer,submission,2,TRWGBHX149E35D0876,267.23267599999997,0.8904075479265099,0.8892559791777541,0.8334715701229904,0.8286448689755269,0.8334715701229904,d9a85163bcfd45903f4ecfa28f3d8c8bb393833224ea7f4d8e987629d35079fc,f284ba88a78c8db96437e8069ccb4be2e4518b048694bb233aa9ebc6aadf89c6 +Chords1217,ChordFormer,submission,4,TRWGBKZ149E3517142,228.310204,0.8696572064207879,0.8770727390295618,0.8350236847008958,0.816764069020762,0.8350236847008958,c9a407082906e82743dc7a754d65034421b2f36ded35bab7eba5efe4c9c8c145,2fa0eca99c46bae1d9618a981b4babcbed39b82495bec08bc6db8877d1a39ceb +Chords1217,ChordFormer,submission,2,TRWGFOD127F850AD78,203.00000000000003,0.8822400165221637,0.8739926017412026,0.8739926017412026,0.8149830322857106,0.8739926017412026,a9fd9824e5ceea3fdbb00085e1fa4aa274845ba55b9f253c3dc8e0c8fa557d28,eab657adee2c6ffee906f37506dba755d7953d5218f192c5eeed1929089cb51f +Chords1217,ChordFormer,submission,0,TRWGIFO149E3D31568,234.42285700000002,0.8868583216610144,0.8757397779688351,0.7704231890578827,0.7704231890578827,0.7704231890578827,fd4735540735d803cb31f7a7d6c6ea1645a17d13b186cc9c44b29a1383727241,e6b654bd18082dd88ec91ee504374a9362d650298f88e888ca0243e413dfbbb7 +Chords1217,ChordFormer,submission,0,TRWGQDZ149E3744218,247.275102,0.8306355791534541,0.4940919010491234,0.4759029572910979,0.3574402758834958,0.4759029572910979,fa419c4980397f91d4bf507f0ecfea68f15cd72ad68e980ae5666f3ad87aba6e,389ee2c22bb82e2aaabda0c9c5198f0968142deae26db1bd59cadb4615ec563a +Chords1217,ChordFormer,submission,1,TRWGUHR149E39F6073,190.850613,0.9374896002141763,0.9374896002141763,0.9374896002141763,0.9374896002141763,0.9374896002141763,194ad0d877f97a2b0056d8b2a53d8e88b70d3460d4c9a4b2d95c3927cebd04e4,8b32a4f29687dedde12217a14d23a2e189f48e58aed74679fbdaa29fd4ce1eed +Chords1217,ChordFormer,submission,2,TRWHZOM149E33B2188,283.16734700000006,0.8677164664010497,0.8677164664010497,0.731636415077194,0.731636415077194,0.731636415077194,1163194c62be807beda4ff872fa22dc9578c8ba34ef618c0c4b212d3dc2eac07,99b217f7bcf3e30f7cdd58f61989cd10b13bf3f2a0603020c3ea41fac8b6d7df +Chords1217,ChordFormer,submission,3,TRWINZA149E3C2058A,235.054966,0.8895898975859138,0.9075185505919197,0.8630236610023586,0.588079050212451,0.8630236610023586,a7e0db9123f1a9cd3bc8ef8455a127c4acc91962f3540e7de9908e3481cb40ae,eb462be244d093393072e6da9c90ada76d79052cc83c46a8dfeece6759044c7e +Chords1217,ChordFormer,submission,0,TRWIOTT149E3D27FC7,226.19428600000003,0.7276918860585192,0.5114265829265506,0.4014619673389042,0.07385443287457776,0.4014619673389042,b57d56652172e03a46a2ea4867d8e59e51036174dc3bc781844e04ddcf496b30,0687f1c49c453696ce8f30b672fde4a95dc16666504224855bf151006e8a9c9b +Chords1217,ChordFormer,submission,3,TRWIQVI149E3B20509,153.46938800000004,0.9462643821776361,0.9462643821776361,0.9157612937050346,0.9157612937050346,0.9157612937050346,c821d80df5873e39e3687aff51969a5c22fb5354d7801d22566cd9d33b5ef57d,3cb33bc6c911c835c6efab90684d071b06d9ec2145674211a15a7c1293f5f55e +Chords1217,ChordFormer,submission,2,TRWJCNM149E3C47D09,218.33142799900003,0.9571729676863441,0.9488930832163525,0.9326044734381198,0.9326044734381198,0.9326044734381198,8a330759ad5a210c6ec654548be3860a958fce2d5a57e597eeb805c6f2b42954,3a1346607731521dd64c2bbab54899e8e51cf623975ac05d6c8efe913764364b +Chords1217,ChordFormer,submission,1,TRWKDXN149E33CC446,229.773062,0.8869428827213915,0.8482825235100926,0.7987786820893779,0.7987786820893779,0.7987786820893779,78db4e3483a9ad25b01aecc1dcadb5507906999729976f89cb7926166ba431fa,f1d4cc92b95231f45dd05b965e2aafc998d69ef571d0ea410ca7ae81405d9db7 +Chords1217,ChordFormer,submission,1,TRWKQVT149E295EEBE,702.275919,0.965045608569415,0.5598895997056583,0.5366198130055888,0.5345593706025963,0.5366198130055888,e857682691fc0f6c6ad9648a52775fe004789774fed75f4eb658f1192f1aa25b,ed2aefa2b817c18bff1b333bedd78e7680843f54d67fc92182e9b4ff74f72fa3 +Chords1217,ChordFormer,submission,2,TRWKTXY149E2B9CD1E,149.60326500000002,0.8937260471621378,0.9421891536239533,0.7014193876493846,0.6369201204064625,0.7014193876493846,1a3352664fe3f772f6f2f52b2e41dbe1cadf1d76fe7c07579bfa9b0b0fea8ac2,efed3fd9c526f962c64f91dad8f5cb195be05916166a34d8fba5d86c5599dc7f +Chords1217,ChordFormer,submission,1,TRWKVUY149E33B5AC8,215.693,0.9452900918620467,0.9120772372714978,0.7857138094464939,0.788764019013136,0.7857138094464939,cccbaa0b5306c23c22f3271a7234b5c772ac8180be53fd1568ec40db329ec88f,325ed403b7f6bfcf6a4f4d45f38c8d39db06d8ebf003089abf82b6e6816ca76e +Chords1217,ChordFormer,submission,3,TRWLHQX149E35A73EA,158.432654,0.942229045705438,0.9193621550075142,0.9007568159079955,0.8899656309677162,0.9007568159079955,7a63cd812dd9fdf83122d37ef406a4098c43a3194d315f227fe2db8a3d283328,e49f8ae4e90d3466eda5ab67a3a6e551fd6a7c8512acedfd0757da08498dd460 +Chords1217,ChordFormer,submission,1,TRWLKQC149E374AE38,294.25300000000004,0.8967369411628783,0.8828912382137204,0.7908803742152231,0.7720790166659317,0.7908803742152231,a6c509f6740c2cd14d2741d746494c6c306c16dd962f9ef576a81161e4013752,5275f595af257e62c5854b10c376b2d8dbfeb3086bbb41417ba01f8375b50ed0 +Chords1217,ChordFormer,submission,2,TRWMAJH127F8F16AFF,358.0,0.38957045313128336,0.08016014580753231,0.08016014580753231,0.0441149495167598,0.08016014580753231,ec7045ccb846e7a22134daf14f0a2867ea1c9bb338e7585898b2578b92e350cb,b946b8e4298bd2b4e0ed215acc2e6043582099656908ab0cc7574f4b59f0d84f +Chords1217,ChordFormer,submission,4,TRWMBEU127F8CA1C80,235.0,0.8968517006851021,0.8967537265617969,0.8341739003650231,0.8333823225787192,0.8341739003650231,c935386571d4d0375fac7220dca6fc0b4a201907bbc8f527afd235f04e02ce49,5a864dda3fdb282194497df790fae80ab255c715c013c8f4313b8c553baccdc8 +Chords1217,ChordFormer,submission,2,TRWMHWS149E3A879B7,151.51020400000002,0.9647185916534062,0.9353332664213302,0.9258219794181226,0.7749998975052552,0.9258219794181226,a06c204855db4503472decc4f017dda17d494323c5b0e77250305ec6a334940e,741703d05ef95716af348dd43ab50485e88dfe170fa2e968a9f2efa9bae94580 +Chords1217,ChordFormer,submission,1,TRWNBIQ149E33331F3,164.310204,0.9010624226052334,0.8976277146488126,0.8870479063265626,0.800489829426541,0.8870479063265626,cd3efaad0f4bac21b0a10584482743071fddd852abb2c2867ae23c0487e752eb,30c33152bafe457bc6bf9bece16479375c52c55cab1619b358a3065cf1cdb9ae +Chords1217,ChordFormer,submission,3,TRWNCAL149E3362315,173.871021,0.9558128645946086,0.9537471129061874,0.8601416712825112,0.8432844331028543,0.8601416712825112,7ce9ba2d0090457b01f17a60ccd6d8cffd64390feea8dd246b9bd1e6690aa656,fa8129c946d1259f8e050f674ab13a3fbe0d3105ab4af6d556a51013910e538f +Chords1217,ChordFormer,submission,2,TRWNSOC149E3D499B3,152.015034,0.9085056037812667,0.9085056037812667,0.9085056037812667,0.9085056037812667,0.9085056037812667,aab7fa019e2046a2183641ee4dc87b360303654462ed4acdcdc6671327c4ab4c,85d8dd11c12788f49fb77115e911ec23cb5eedebb72c272605d8814ad3a1eb80 +Chords1217,ChordFormer,submission,3,TRWNUDC149E337B477,269.84489800000006,0.9188631525062227,0.9255945730577193,0.8625345082207445,0.810708239108527,0.8625345082207445,76b5904af46c2c5b7f85401683fb410608bfd67151e685ba2f5a97f2854df996,f0dc562b9ff8689e3e15b20e270a464abc2a1b38df07f83484244ebada94c0a2 +Chords1217,ChordFormer,submission,3,TRWOULL149E38DB8A4,197.773061,0.9327509838157384,0.9391303959328382,0.921067438932776,0.8806894584293257,0.921067438932776,66c2de226a27a0387306b36366f4af76959affc241647073302283af537e8d5c,4f20aa26fe6134d8462d8dcdcf3a1fdd3bba879648e2de9b840549347c77020b +Chords1217,ChordFormer,submission,4,TRWQPAG149E3BA92FF,355.00408200000004,0.9481694134886016,0.9473522763389908,0.9473522763389908,0.9313739282186604,0.9473522763389908,65b0c8ca87375b838aa6117c1a0f6f5fdc99a49522332d7309ae45bf137c3e12,67602a7ecac769fd0a29029e70feaaac7e39db68a1d126aee2583ccfc396ea35 +Chords1217,ChordFormer,submission,3,TRWRZYF149E2E37147,178.925034,0.8355230985285148,0.5970032499923963,0.5782619845024034,0.5782619845024034,0.5782619845024034,858ff6e283e3c7e0c2a402dce325a649bee116d7de3c048bdd78b21263e51bf0,4432f41343f42f86e3cb115971b7ea61c2dfcb403b39eaf1e5383d2ebbfc419f +Chords1217,ChordFormer,submission,4,TRWSTFU149E363B0D0,50.024489999000004,0.8897115281712974,0.8897115281712974,0.6592417634774347,0.6592417634774347,0.6592417634774347,917940cb9094a547ab5178a178cf5c07c1d09698d0f0d6ce1ab985eec05f1fbd,4b4053e405aec700e080e703d506dfdcb0f3228a053be77a0a9814eb7e0b28da +Chords1217,ChordFormer,submission,1,TRWTMKB149E3E9B764,168.045714,0.7636494830210327,0.7649200868817199,0.7605566232479721,0.6568017118484818,0.7605566232479721,92141233815961a3415bd8be60deb2ece08e67f1e665ea9e70750296b291fabe,b078d99db21234b6192bbf12a9262543b7a364021e181d4add9633edef796ff4 +Chords1217,ChordFormer,submission,3,TRWTQYM149E35B4C40,118.987755,0.9332227545683173,0.9869704167737818,0.16701123336877388,0.15791626638388165,0.16701123336877388,029ec606c68bafaa7e0bdf9aba354d37e7f1c637ca9362921cdf8e6e81b3d40d,37feeae2cfd561c1e5bac0af5cf201ac3b848162ab9f54e8c8e84bf79b5dc895 +Chords1217,ChordFormer,submission,3,TRWTXNB149E3D653D2,193.027,0.8809954177084037,0.8727155730712085,0.7606173497930768,0.7400671815082867,0.7606173497930768,a2631f8b0429bb1e2672ec39d6c73bc057162adb059d345ed768ed3ced3b80e4,de0d125d3101c47afa29e81a8d7879bd6a314ce737712eab039c7622fbfe2d66 +Chords1217,ChordFormer,submission,1,TRWTYBH149E37B600B,162.92571400000003,0.8476816856852929,0.8443778522099745,0.38947847617462716,0.3790687978264741,0.38947847617462716,f0cf3028cd08b3a50fbafb434846f051ee7a779a2b37e463fb58ca0045dfd247,b8cb0d44a6c8c775112a5e0ff84e68f5151fb28b3637a791b1b2200a1460b08d +Chords1217,ChordFormer,submission,4,TRWUJUX149E3E8533D,254.61551000000003,0.9114934579829819,0.9790080673824186,0.9056115319120843,0.8288321427826628,0.9056115319120843,130f6740fbbeea87a276b3381806605eec1474ed3559043143a44b8de28702e5,b8944e95ef8ea928b61708585f1efc5c9b3e7d35131634db05cadd00bb618588 +Chords1217,ChordFormer,submission,2,TRWUNJN149E38B0194,239.830204,0.7947317254569897,0.7947317254569897,0.7678486949729617,0.7511952618501725,0.7678486949729617,bbed47d111e88d2419032472d963c26df61bf8d168cf374a2694797eec4bf616,e5d250241d07affe87601542ca543027efa2bce0d91f03fe4ce47e16f90e291c +Chords1217,ChordFormer,submission,2,TRWUUMM149E326B5A2,236.93061300000002,0.9555773642302618,0.9555773642302618,0.9555773642302618,0.9555773642302618,0.9555773642302618,92e525f4fa23d94a285480c8ab17f29d06393e1642aca0a656ae15812c83944d,b24c5ce1625ec73be8608aef0f26f201d78ee56a1d25fd3e78ee7b70d830bd4a +Chords1217,ChordFormer,submission,3,TRWVITC149E2DF88BC,189.570612,0.7403622269363145,0.7672430131451655,0.7343898344055972,0.6693572716534778,0.7343898344055972,aec78a6e4a0a7795fc101052920b066fe4b2cb6b6a16a9458fde19bbaaf47a96,c7d92e3e4df3a275ab5264e6bbdd05608d48572215039eabec597ace4a06ea6e +Chords1217,ChordFormer,submission,3,TRWWGMU149E3A90638,165.982041,0.9540901465960406,0.9540901465960406,0.9540901465960406,0.9540901465960406,0.9540901465960406,8ae901684f6a3931902f8a60d7961961deba3d2f2691951b5cd4fe07d5769cad,f71c2ea4a40ac410dace7eba90af6ffda037ae71cd93e3da6720b0c1ddad39b9 +Chords1217,ChordFormer,submission,1,TRWWOOL149E3366289,322.96000000000004,0.9656355300718367,0.9505352536959826,0.9250461666445546,0.9067148083756511,0.9250461666445546,8e1d68c38870ed7d09755fb4909e6b9a75589295d93b7c17f221a7d9004f6014,c66357cf958b811416112142f174ea10e04795db01ceadfaf131e5e67ec775f0 +Chords1217,ChordFormer,submission,3,TRWZECN149E3D4E5F0,290.115918,0.9228577894509055,0.9228577894509055,0.9228577894509055,0.9228577894509055,0.9228577894509055,e409e4e6ab3510280167c5c71fdd011ef81999b5883dae9bfab6d5e7f8a1fc69,3b82b259d827bc162919190bc2bb711d33502a35e934e21dcaf2dac8a5f7a32c +Chords1217,ChordFormer,submission,3,TRWZGKY149E3A5C5A2,295.523266,0.750377861240878,0.7758217274446026,0.7247928832525278,0.6004434320308268,0.7247928832525278,e68d0b4c3dfc95e88bc4355aaa1f42010de6aad3a5efd95b4b4cf0356e4e0ee5,6672cacf1ae1a63410d029a5979c4943389cf2bca1e5ad69b37d34171918133a +Chords1217,ChordFormer,submission,1,TRWZWXO149E3950A5D,220.342858,0.8536726490858175,0.8692869213718504,0.6877919610377399,0.6684163130851289,0.6877919610377399,52faeb6909aa286769168c44d57dc7f7689682558ae157af55e7ca4e29d3de31,facf4323adb607cdcd164d582ec23463f76693e356dfca1cebdb7ffc5ec6abd6 +Chords1217,ChordFormer,submission,1,TRXAYNC149E33691A6,136.986122,0.7703573961601766,0.7616672378157324,0.6944564167810194,0.6517849251181826,0.6944564167810194,1a3df04c348930d002be280f2bbce5bcff9427083ed98fa8590ff86a0c9b8844,060931d18fb94d7a8f2c5ed009bc2a4ef3f6cfd94db0bf44768d767b770cfd27 +Chords1217,ChordFormer,submission,0,TRXBALD149E349D80B,190.772245,0.9158500751930658,0.9158500751930658,0.9158500751930658,0.9158500751930658,0.9158500751930658,380ff7cf8d42cc614e397603663db4d67274978c1a91a4cc6b4991db1da750ef,46d44ae89e3ca2113dca82ad888812bb9247f9e1b82cec05184afb86c34e4b1b +Chords1217,ChordFormer,submission,1,TRXBFBC149E318E547,123.324082,0.9120432163606148,0.9401862659822662,0.854720368785826,0.8196737104355672,0.854720368785826,feb0d8b212b2bc518d5efcb47950715314f16c1b2638d55628354f92d0cf4d95,4cfb9fa5cc593fdcac7586b9b21fd140ccaf3e629f1c2e6dccb1ce2f35407357 +Chords1217,ChordFormer,submission,4,TRXBKDB149E3B7589E,232.907756,0.6914064516254219,0.6914064516254219,0.5867255076097307,0.5405647843432043,0.5867255076097307,5436c5b9babd7c78ae4ecccf06eeca88728b0dc4b4cec43bbf370e495d0586b2,5f7293177a0e0f030fe46da8acd976aed5d35a4e05b491028eba371c49af6930 +Chords1217,ChordFormer,submission,4,TRXCCKK127F8C9BAE3,174.18200000000002,0.9175112298630148,0.9175112298630148,0.7475357635921033,0.7475357635921033,0.7475357635921033,fa6125d32b94947ea2bdde764414752b581b5741b7d4217548de32d63ebe0654,c142ab8cc1d0884eadfa603b08cb63d1f525197fd80e4421ce641f9a9819d7fd +Chords1217,ChordFormer,submission,1,TRXCMNG149E2DDD239,153.75673500000002,0.9816615511964415,0.9816615511964415,0.9604355243755677,0.9604355243755677,0.9604355243755677,a8a6acfe4075d6173b7534637566c6a70d86354d417661449ba6ab0d2b69100e,d589b86cf1418381ca4bd4f831d0c248b82a33a6d97aba25506249f8e2038cc4 +Chords1217,ChordFormer,submission,0,TRXDZWS149E33441A7,230.893,0.9152973970843634,0.9286537133664745,0.8066418110060621,0.6596577462590896,0.8066418110060621,603e44a9da26b5651dac02925c8e23668d90d79c2385ba9b91e3e80d6dbdb1ed,9e79ef2673bb9d6aa4d464d3b805657a49b219e1b5092edc632493df70d517af +Chords1217,ChordFormer,submission,0,TRXECXW149E35A0773,280.607347,0.53839370052916,0.5373275468034111,0.5373275468034111,0.3946332983041963,0.5373275468034111,28b2cbee45ec1296dc7dd8a17ad9b70b862118d19bed4d88986d43eb4a1f3560,10048e763f1f9610a3244a60f47c47b1a1ee0779f897ca6743784db477016487 +Chords1217,ChordFormer,submission,4,TRXFRZL149E34B6E92,177.81551100000001,0.8938135099024069,0.9028492986252425,0.8646337210997439,0.8210445880843324,0.8646337210997439,cbd6c02abbdc6509c5fe386b48a8014b0fdc930f61a9dd4d1baeebcd93307795,4b0868fac0ee5fdf7306b0b79cbdd80ae71ffaae24489f4095925acd93a2f3b1 +Chords1217,ChordFormer,submission,3,TRXGYJI149E392CF4C,148.640408,0.94108998566527,0.94108998566527,0.8256424194245332,0.8185434527399833,0.8256424194245332,9cfd40581d551e2fafc27fdbbf72e8584b3e5f92c5cf4907eb3d66b2ad84e700,fa44645167a8727d40424d433a3e1b51146b1a4ad87515df1dd349765405cef8 +Chords1217,ChordFormer,submission,0,TRXHHCY149E362323C,226.71673400000003,0.9631936323324066,0.9631936323324066,0.950304923738007,0.950304923738007,0.950304923738007,67dabe0d75952c1db39151471ca6174b64b5315fcf570aa2d5c2470cb5452015,c281d5de27db5a7acae9475f8da94004d0121346dd5d19e49935ccab36b4ee1e +Chords1217,ChordFormer,submission,2,TRXHNQE149E2E0FFA2,333.871021,0.9861061940113707,0.9861061940113707,0.9861061940113707,0.9861061940113707,0.9861061940113707,83fb6d3b5f4b8d332a8ba076b5f50755ff30bc739f525bd3759ebf821b8a4c9d,84f83c8da7ef444e6b5f8a7d8e79ade1568be5d9654907105fbf4abc58556db9 +Chords1217,ChordFormer,submission,1,TRXIATB149E399C673,222.30204000000003,0.8150930254756102,0.8447453177528856,0.7825692172198817,0.6781345094853838,0.7825692172198817,23fbfd36e56fbce86f3f63f676271ca490fca03ee9e912989f9f6252e81229d2,ca3a603001bd4975f6fd419facf2ca1e1afac7e1aeaf81ab155546d964331994 +Chords1217,ChordFormer,submission,4,TRXIBSF149E3493BFC,179.127075,0.6091882234050879,0.6018435702869643,0.5696667078074819,0.5225944863388182,0.5696667078074819,151df6d783b0530fe39247f5bbdc1d3a74161a82c3cc1094accd01f141c245b3,7363af6c4c4a4a350084fea1cc939eeb99a86789b71716b09906c2190bb3cea8 +Chords1217,ChordFormer,submission,1,TRXIFFX149E332A9F0,178.050612,0.8650409754502835,0.8378139457449557,0.5941717540273852,0.5310616969011037,0.5941717540273852,b991cfe667c585c64c87d79b773b5c1f426e59a39cf4f48aa1f67aa8f1c7c268,5710e8420219c070dfd2f2b8f6f2943e4727b24dced9f241862ac375034fe4c5 +Chords1217,ChordFormer,submission,4,TRXIMWJ149E3C1D58A,276.845715,0.5705671546875835,0.7036317912896627,0.5806200244836641,0.44273321461377757,0.5806200244836641,381a3525d8c94ee8f063d6d46fcdb35d92f3f9d62a82010cb2055c31be9b9ebc,105aba46ddd88feb4073fc86b25b8e872d6fec464972272d4cf907527d376e06 +Chords1217,ChordFormer,submission,1,TRXJCHD127F9B8D5EF,239.00000000000003,0.77800508543933,0.701481882892544,0.3903959653513218,0.35206333077824215,0.3903959653513218,f77f20413e1ec73db5f58a02b83b862dc4ca7bc383962b49ceb9be80c2dbb27d,b5916d644de13ecf8cc100c1249e024d2cb1b0759c85ad277d8a5c80833511ff +Chords1217,ChordFormer,submission,3,TRXKNJV149E3F0A31E,147.39537400000003,0.7951874098708147,0.7766264552780338,0.7164827745543767,0.7164827745543767,0.7164827745543767,9d770d2c7033a468af3583d9dc20eb5752ddff2c5cd3e77285b6012459ccfd79,e633134eae83934b2836c5a0aa97a2cb07f432d33657bc91d50d4504feaf3355 +Chords1217,ChordFormer,submission,2,TRXLAMK149E37ED5FE,200.176326,0.9142863344739367,0.9062897974643048,0.7384281078589107,0.6188193426229625,0.7384281078589107,ef9d529cca0806dc182a4386dbe13e8ad024fdac859106f10b59358a5cdd54ea,3109e446f36f544e81e9476ff8ff4703532349d199cecb7dfcf30c393e8e7177 +Chords1217,ChordFormer,submission,1,TRXMDJL127F7D943EF,228.0,0.8927141563991201,0.8772882603114007,0.48909279149122653,0.48909279149122653,0.48909279149122653,1acc3289dd251793f954b51ef89c368e564e581735575ca98ea4136241cdd64c,5ad391cabcf85af0c4f948f09394c8ab13d61e1d5d8cb53baab239339fa8ec72 +Chords1217,ChordFormer,submission,3,TRXNJOC149E3F0C91F,195.78775500000003,0.7464470828780888,0.7464470828780888,0.5877391932095036,0.5877391932095036,0.5877391932095036,61a4771ee0b3d0df625d86475d79578d273e3ec09141760974635f3cb5b92064,458c7130fdbe8894b12ca057fc8e9be348dd6eb5727565c7d045bf3220f066cf +Chords1217,ChordFormer,submission,2,TRXNNGX149E3AC4B71,245.77312900000004,0.873984026370108,0.8999610949978538,0.7656327180896874,0.7057353979490573,0.7656327180896874,39286a009fcf100ecff766e6e3cf53a51008d03896e4ee64a0b7138fde9d091a,a6045e40b3033b6334a72cc7adbf7e604560af22b08cf96c147544d0d5a810fb +Chords1217,ChordFormer,submission,4,TRXODKJ149E3BE6EF7,243.51346900000001,0.8923213023875907,0.8923213023875907,0.76101839120656,0.6754941338706824,0.76101839120656,79a95572c6bd7a3a8b52fc686f0efc8cbb9dab33a4eaa351583cd88b1043168a,bfc1149fb93df9856f607ebf8fc16f004af3c60a6c4d9433b25b26620bc4b3bc +Chords1217,ChordFormer,submission,1,TRXOZTV149E367DE11,263.88898,0.9273573877128183,0.9273573877128183,0.9268313315698147,0.9268313315698147,0.9268313315698147,e950b250cf429683d684d791665bb2ed22d79e2fd5171f764ed400def8b3871d,6e7e27d62675172ece3a701b6babab4cd1a711ede42034e393ef45118d84d937 +Chords1217,ChordFormer,submission,4,TRXPFYC127F92DD18D,218.0,0.2536063887385323,0.26745516827760374,0.24521383240450495,0.23251670515596345,0.24521383240450495,0b9a8d74bc99d140fce1def05be605f0f62c47ed783c451cc0378d1a7c0a6c0e,0debd52a2ab7e7a998c06f6a0f810d063b8850931c3c665a8fa0afa34cda86ae +Chords1217,ChordFormer,submission,3,TRXPOTP149E2C11F08,114.155102,0.909610307570835,0.9214475431271348,0.9214475431271348,0.8689145462810768,0.9214475431271348,2110e2c5aa5e7f649697a73a848763a6cff288d3a5de432f4a23079ac6e31e59,ff3dbcfda9611eea5c28c686a2ecb11ed033ebae81d78ed3d1673ef9c879a53a +Chords1217,ChordFormer,submission,4,TRXPWFQ127F92D6283,338.00000000000006,0.9212475546331294,0.9026411262662655,0.8772362570266207,0.8772362570266207,0.8772362570266207,bd2de2f166cb58175509bef63337abd92a5280d1373345a64e9ba2447a7d061d,49041b6afb9153016198f1ac52051792d166f5233ad9d62e58e7e475d0e7eebe +Chords1217,ChordFormer,submission,2,TRXRROP127F8BD7A0B,250.0,0.9455908843439987,0.9455908843439987,0.9139607074719989,0.9139607074719989,0.9139607074719989,3d9a1471c880220928985fabd88f78e4f39ad0dc305de0ed90d22fd7a4239e5a,714a0a789bf9e0f6db2d3e67fd857fe9264c3cb98f7685d3472b323b44bc78ea +Chords1217,ChordFormer,submission,1,TRXRULU149E3551B68,181.18530600000003,0.9020787877136127,0.9060917795878759,0.9060917795878759,0.9020787877136127,0.9060917795878759,bf916315fb55b290675b366b3d15bfac76e14a9fa5badcc6dfddb4749d2a48bd,250c9ff2cb41779b8294f76b4ff5a8b1c3ace8116dd680e4577129bcbe5bcb45 +Chords1217,ChordFormer,submission,4,TRXSYHH149E3BCB688,319.153515,0.9845836428622764,0.9177219687177822,0.9177219687177822,0.9177219687177822,0.9177219687177822,924dd727f26b3fe23546376b90ea6367875c70863ca4b210b77940f9b4eda2b1,215c78325e3e6f382990aff8df0c583bb208547ebfd7815e8e0e29a37ec52b39 +Chords1217,ChordFormer,submission,4,TRXTAAQ149E3E24678,255.973878,0.7794565695058933,0.7948836079233121,0.6543253981384753,0.5663770943377279,0.6543253981384753,f9dfbf4237c8f0f118f153bd9ff45e0d2b299ebc8e52749b7fad3220dd0eb9c2,56d0eeb42b4b525cfdb6aa5fa6f393c60bb5233e35f3dc5032762c2fc640a206 +Chords1217,ChordFormer,submission,4,TRXVOOU127F8F680BA,191.416,0.7854788047185182,0.7743980236041923,0.7743980236041923,0.6530129863020848,0.7743980236041923,bc5098ea586aa2eebd5614b4756fce96ca22b9fc7e6acc3f7f4b96de07c3b22c,a9b7deb191425fb91ba753b572b3c9627886d166d0e5c240d1b4e4e320187294 +Chords1217,ChordFormer,submission,4,TRXWDDL149E3E7510A,222.53714199900003,0.954981802781286,0.9548879092746381,0.4942609369980484,0.48915751067967417,0.4942609369980484,7a2eb1024658babb1193e0579ea1998c3f3dcc3787902e09bce43e5aca6a39e3,e3b759ba4920968540a17fe013772299294b6d6218e648364f1a1c1020a9a37e +Chords1217,ChordFormer,submission,2,TRXWOYW149E325CE82,316.25300000000004,0.8438879480668985,0.9090984108744878,0.8940012124917467,0.8015429221035082,0.8940012124917467,ef34debbbb640a33b441f53baa539f0b4d42d1507c959dc50393f81be3693876,db55a9be13c4a007f6f75f04bac54298830b55df55613afc6dc84b249b8d28dc +Chords1217,ChordFormer,submission,1,TRXXNDA127FA621F48,178.00000000000003,0.8174329027471889,0.7195086389561176,0.6061537737061347,0.5785067644887627,0.6061537737061347,dbf2641cbd48ed200f30ab8c18f0eeea84faafc662e9baaa1a7733dcdc800eda,7fdfd57bb87750cdc07e3f453417dc349154dfa598b6fc6975454a3626397354 +Chords1217,ChordFormer,submission,0,TRXXVQX149E334106A,231.49362900000003,0.8966785479310111,0.8962479172567913,0.6998108722300954,0.6940822622898195,0.6998108722300954,0c81dfed363337d969e3e32cd6245e2638e6d872d464abe52884ff8938f368de,76a4517c3202036efd32369d57bfbcd225206ab9b774194cff5fb518dc179795 +Chords1217,ChordFormer,submission,0,TRXZCPQ149E34CF371,255.738776,0.9434656803354691,0.9432014735314265,0.9299842992326821,0.9214786331776302,0.9299842992326821,f43b6656db61233821ce12cc42d908e5dbafa6c72241f133feb8cfa884a353c0,c60aa4e020d0f7fa9411b816327ef5362a32caa7a4f4eaac1e4dbea2abda2dca +Chords1217,ChordFormer,submission,3,TRXZKOS149E3C80A94,204.747755,0.8847601419797079,0.9142574566777156,0.8064421095031711,0.7577503360357523,0.8064421095031711,424c74b8672e4643b7d6096820375e8c86689c166b5f617005ae151a34d43d75,aff2bb3b9ffec9ac54e118dec4feaad580881595da4e5fb13244073ff076e854 +Chords1217,ChordFormer,submission,4,TRXZTXV149E3E6DD3D,238.28226800000002,0.7820645304165068,0.7820645304165068,0.313241348269356,0.313241348269356,0.313241348269356,2804a6804af5f8c0167e3a716ff6b9fe58bc442471eb4ddf0a04a633ff8f436e,e74da1659205975bbc8401f9fd78c959d02a51155be1d0d9214241729c4ee5ff +Chords1217,ChordFormer,submission,4,TRXZZNU127F825733F,239.0,0.7381213199581591,0.5951268069632873,0.532595153209556,0.2068006812259415,0.532595153209556,75477d7578f508378879a0842d2a8bf4feafae8850f524dd428d0664ad501b5b,f0c2aabcdc01e40abf9d0f47b422428d42ec4aa425b3e278e8a373a0f6fef291 +Chords1217,ChordFormer,submission,1,TRYAOWC149E2BF381F,180.32326500000002,0.9315954102428214,0.9315954102428214,0.7698119510734702,0.6985888233279275,0.7698119510734702,5c30f30f121dc0d9730e154c379abdc6afcfeb1838a772f0e45acd5f7b6b2c79,5b1d02f1684e7ca15e25f388217e551a28e25361056692ba76b20f4bfc5a5011 +Chords1217,ChordFormer,submission,4,TRYARRV149E3D56401,269.68816300000003,0.8505610225540381,0.8908061092584638,0.8597552008139556,0.8209129407062634,0.8597552008139556,4d00efd4cb5d938b86898c48ca4e57076168275f430cf1436400ed10c064d026,4c66333edf0bd24f5abfcd307d99251c5d10c6cea6d81fa51cd296bc5173bd5f +Chords1217,ChordFormer,submission,3,TRYAUFD149E34733FF,149.60326500000002,0.9443297366805489,0.9431702904769006,0.7089394038326542,0.6900394444265655,0.7089394038326542,f8deeba5c82a724fbeea35de21826c1d1cd8d8bfebeba44370f8f7cec6e976b2,7c57b65a31e5f3efc50abca9ade5a50c445cda6e05c6ec11e037e6448457b641 +Chords1217,ChordFormer,submission,1,TRYCDDQ149E37011E9,125.44,0.9034347132015307,0.9028884237882654,0.9028884237882654,0.9028884237882654,0.9028884237882654,cd3a9eb7a466b2b2aefa3f97398c8dca30dd6569174f31abf9cd7d4c83a7668c,e91ccd41d64b9f25488d068b2b0d1be0c5a784ae9a2218c490610778c2d489e0 +Chords1217,ChordFormer,submission,0,TRYCLEY149E3E92905,251.409115,0.8458600901005502,0.9041177455124743,0.7809279339958142,0.6945953651799764,0.7809279339958142,c5e73e19e6c88d5e07ec28243e13d9bc9d37e7f3a75e1bd4d33ef810972af4e6,ebcd1bc2673838404b3c486e6fe396f931c194137de595750d79b56375e933be +Chords1217,ChordFormer,submission,3,TRYCLPJ149E3141687,307.644081,0.8443924477487355,0.7790630239969523,0.780020227184685,0.6115540918858124,0.780020227184685,991a4dbabeee7d9917b8fb012043363855623e16f6e0cdfc719dc2329daa53b2,575f5f2e53053a8e748e6565e0dcd8edb86c50318ab595f131cd06604490a5b4 +Chords1217,ChordFormer,submission,2,TRYCZIN149E2C5DC15,246.72000000000003,0.8888394879134252,0.8823122769282187,0.7780499716139723,0.7202354850316162,0.7780499716139723,0c417d118579e38581375f942608356bb4c1f297c88d507c65b6d250cd5782b0,0e0bea48fcbeddc0ccb0204fa2f0e7507b208aacce21c440316f388c5452e5f5 +Chords1217,ChordFormer,submission,2,TRYEWNS149E3CA55C6,146.233469,0.7917004096237334,0.7688254744608631,0.6179554765259102,0.6014009464071434,0.6179554765259102,56922fc83b9476249504778b8fbce6cc04c15d62f4114fc8f09f722a96bcf82d,c2d5e2eccb9bb87198c021f873fcf878651b9fe2cd7cbf01c31f39cb103551ca +Chords1217,ChordFormer,submission,1,TRYEXBY127FA01FE89,216.00000000000003,0.9191779205740731,0.9345113808130671,0.8835880761047,0.8193765852222211,0.8835880761047,c8e876b1f4b927fdaa04d8dc459f5507c0ce747e5f193a0c924314a734a1c76e,86e1178a329483917eac6620532fa724d68bb04db819d9cf8b46a771973f7880 +Chords1217,ChordFormer,submission,0,TRYFBVG149E2E536EE,161.776327,0.03948056521273359,0.04589123021007052,0.046387693932947095,0.03943725286827657,0.046387693932947095,c6f8e467ccc74f18b2fe3ae97b7b951c359f501fb5fbea9310e053c79f98a49d,9e35dfc51c7d1312c641dfc0f7a8328e6ca6664fe39dc0279695e2010abcad60 +Chords1217,ChordFormer,submission,3,TRYFCBP149E38AA0A0,277.04,0.9204179607096432,0.9526419804458437,0.8832101777302479,0.8452809437301457,0.8832101777302479,b7336e9b03c0552ef9ae1fb5a52dc2570a08c7c78cd8365690de8c5bf4cafe07,cc27878381a36ca0a1a4aa6159af13029b1caf11accc7314c44f72cd6c56a347 +Chords1217,ChordFormer,submission,3,TRYGAKB149E3D8BD69,250.69300000000004,0.8210243653711943,0.823753951381685,0.6538617625642764,0.5858707599175109,0.6538617625642764,2ef79f5d75bad17b6c243e4c24158244251a98db827fc4f55449c59bc1b23a96,49a8862511ec2e440199af7514fdf26512a2c654777b90de2c768568d4decbc8 +Chords1217,ChordFormer,submission,0,TRYGJWV149E3C1472A,136.986122,0.832429802735784,0.9675133667161572,0.8611516841748089,0.7409182666036785,0.8611516841748089,29f32abe4d7bcb5b906714450b4b4ed058dea7e81f165991c3e8f93c0ce2339f,06ae40236705ed28e93ab4500231298e6d5db459f135f8c6d10c6e4682dc066d +Chords1217,ChordFormer,submission,3,TRYGMSS149E380EE76,279.849796,0.9775136661203792,0.9827337479194205,0.6792397363547071,0.6430510813700936,0.6792397363547071,06e6c92d2524b5a97556897a130ca008be6e3b286270e79568e69fdfd43fc956,d5b9b733303928e98483f0df524a6d3f30b74bab9141ada654d0e1d784d2c8ca +Chords1217,ChordFormer,submission,1,TRYHEFI149E3A341FE,214.778776,0.8254836672828421,0.9281088520215672,0.8448593949691381,0.629078416677447,0.8448593949691381,3c89782ff23d2bdaba05a9e8f659b78cbfc936d511222bd98b1bec8330532cce,df06d3171b81dc09575d64b18d4e8b8315c621fa945f319029306e4ea4f9c627 +Chords1217,ChordFormer,submission,4,TRYIXOE127FAA17C99,260.598,0.8389758326502856,0.9356600766157053,0.9356600766157053,0.7997154512505821,0.9356600766157053,89f568afe867f55066cac5aad1ecacadd96333fabd782b0068273cbf0ef1221f,84d5198480ad2e31ed8d5d30df2184f31c1145e422a4c078cbd24bf622125310 +Chords1217,ChordFormer,submission,3,TRYJNAZ149E358F4D1,156.186122,0.9719127035883495,0.9652606158663071,0.8032899127495919,0.7922955329091261,0.8032899127495919,2b52ad4c5898816c56ad1bea7333d7738648d3768077eb36e837071d5cd67f5d,6508d4af83261c64b1976e954d0c644c95839afceffeebecd685deb1e17b244d +Chords1217,ChordFormer,submission,2,TRYJNDT149E3EB7A70,154.335669,0.7943333123595686,0.7943333123595686,0.7943333123595686,0.7943333123595686,0.7943333123595686,b2edae3e7384a511daec2ca29fe18ebf7c6c41ca9070bffafa068f42fd9dd3d4,edbcbcd14fea5bab7c7ae92d7ec530b7f585a49f2a664b14ee8bd05bcc7c431f +Chords1217,ChordFormer,submission,1,TRYJNXA127F8DD6B06,211.00000000000003,0.8789322951895726,0.8789322951895726,0.584338771199052,0.584338771199052,0.584338771199052,c03235a47e08178feb034f32fe95acb19a6aea3492cbbe3eceb63d473e5b51e7,1597228e43c9e88049d72d6e33ae759eed497271c49da80f7af7db4f7786991f +Chords1217,ChordFormer,submission,2,TRYJOFL149E3790FC4,216.37224400000002,0.72595457145141,0.7867358603423646,0.6835221533850693,0.49295086238510283,0.6835221533850693,d83366d2441ae82dde4e199274b33cc6669c4d41d9218cb2fe747b99fc0ce961,eb7682bf29210581fd57c0397e5acc5452116ea337b3467f19160b683a939f11 +Chords1217,ChordFormer,submission,2,TRYKJFC127FADB1A1B,243.00000000000003,0.7928596063991759,0.7932107741859888,0.7775942766294831,0.7648007707942375,0.7775942766294831,e6786687d3bf7554304318bbe8cdcd6e95fde20ad2748b21f5a99aced30cb684,de57bb0229cefd1fa36d88ec720c6c3a59ea5c76d9815726caf35f97f6fa906a +Chords1217,ChordFormer,submission,4,TRYLFKF149E32F6CD8,204.77387700000003,0.9000043307818995,0.9036274255632317,0.9036274255632317,0.9000043307818995,0.9036274255632317,27b09239ae217a27c2eb3722329ffa220f5bee5c60b75fb76c7c349bb29f1963,93a577dfcdb22da52cc1885d4a7e71067f8077c2fdc8426d6b7d87077e1a94d4 +Chords1217,ChordFormer,submission,1,TRYLHRY149E2EBD8CE,221.64898000000002,0.9506803496050362,0.9506803496050362,0.8638088078275825,0.8638088078275825,0.8638088078275825,09671dd61c53aee69873f869db79a14fa5bbf9f8fcb284fb9fe1022472ed4103,226fe952313998ecfd1dea05d2ca3016a3d1d56dda83cd6e36500b36945a410e +Chords1217,ChordFormer,submission,2,TRYLOKM149E37FE74A,189.570612,0.9689794955981879,0.9689794955981879,0.7410619953534413,0.7122298942570265,0.7410619953534413,d4fc41143578116ece05a93ae3469fd16913e28f9779fa539f7785b50e4d7df2,83660dd88c337b58adc6f03b82d1ecd6848e610b7acec3172fc4085aec8db632 +Chords1217,ChordFormer,submission,4,TRYMFRN149E356BA3D,161.724082,0.9440941622843785,0.9440941622843785,0.82723944322652,0.82723944322652,0.82723944322652,3b45f3761fe978942f2430605988c332d4127fdc231c8587b69303f6b2e6a49b,9f48446de81aa9514915d50d59c52afbcc8462abff23fdab7b5355e6de5f459d +Chords1217,ChordFormer,submission,4,TRYMOQH149E3644AD2,219.09300000000002,0.955580444829367,0.9393353215874587,0.8181237904112468,0.8049497468198455,0.8181237904112468,8c30e48637ee406c3085af09dbb84fa46d58a3d254079ae6ee1a1881b7a68ae3,5143041015bdee69af8163597c58a6d287028f805e3f5a996d10d2a9cd8fb979 +Chords1217,ChordFormer,submission,0,TRYMYLH149E3A517D9,673.802449,0.8256682280239054,0.7719201134819353,0.44920677931567443,0.3288791106976207,0.44920677931567443,55fc1a42367de39c25f271162a301ca901526981be588c1846d3ff38099165af,25994643214ddbde648d703e1b9404496981cc2fc9a84e09118354dc15021ebe +Chords1217,ChordFormer,submission,4,TRYNMQC149E3470DCD,235.389388,0.9332897835351905,0.9332897835351905,0.6160660867303103,0.6063518307078505,0.6160660867303103,02291389c20c7b3fa024910f239de59fa0eaec48377cbf881f2d3d298363a93a,b4d0d2a37e837e60e281d4125900a0d93e886d1bfc2f910e1aba97906d95a270 +Chords1217,ChordFormer,submission,3,TRYNQFC149E3E14844,317.25800000000004,0.7208156472397882,0.819341331167367,0.718271756245499,0.4640193338103392,0.718271756245499,0fb092359d44449f1727a84436770cdc9e238760c1391c2eb4c5834fa2374429,166d874b079c68f5d0542df14284f070641ce5d32f5438fced7bafea198411e8 +Chords1217,ChordFormer,submission,3,TRYNTJU149E3ECD734,180.580159,0.8658484222732364,0.8821440282858559,0.765919757009617,0.749314963827228,0.765919757009617,aa48949ba344558cbc5b11e42dc580e506de1fe7ddaa2de5f90ed25e26fb58b5,565872ba88e67cdd670f02734fc946665f036e3bc46adf80ce27549d15e35b7b +Chords1217,ChordFormer,submission,3,TRYOHGB127F8D2AC20,478.00000000000006,0.35031192422594076,0.33277553043797087,0.20276945337161634,0.07401763774267753,0.20276945337161634,7c666c57fda04fb400ac452e0d950a16f71ac2f9e015bc0ee11c53f6d50f0a92,95547f22ebd9aac2bb69270ad0f4db7f7501802dbd30c9629fa7cdce3fa93ead +Chords1217,ChordFormer,submission,4,TRYOJVN149E354EFBA,153.85539699900002,0.7798397352923525,0.6859785045739143,0.5729734814344725,0.5729734814344725,0.5729734814344725,b76796f7257d3bdcfd26e140bb844cedd8cdc97c30e6ab704fa39ee65a838153,d699e890d8bdc8daf6cd7531d41855a324d3f7dbfae61665fcb1206eb083330a +Chords1217,ChordFormer,submission,1,TRYOMUR127F7D91187,230.00000000000003,0.911753721786953,0.911753721786953,0.8150333530652143,0.8150333530652143,0.8150333530652143,51d5966cb6db15b5da45f42bcc26a7783d0ad37d4544e044ac743f14c42fdb9a,84fed9906bd10bd8ac8b681a430c6058db2e3066421f1107f538c7116fc416f5 +Chords1217,ChordFormer,submission,2,TRYOQFR127F9B8917C,189.0,0.9354112346666645,0.9354112346666645,0.9204028002539661,0.9204028002539661,0.9204028002539661,0fb35e56d1b6a680170f2ddc6623d9508c5b0161be9c93a0a1e1b9600c288834,75af99c36feafe90410481c6242b637eb65cf33dd4cdf21f55378077de702119 +Chords1217,ChordFormer,submission,1,TRYQVXL149E318BB7F,297.66700000000003,0.8404101931117622,0.8476136013008138,0.5983865206060354,0.5875355229400617,0.5983865206060354,2ab3658d07f881eddc62b811068016669449e7008e1d93db3b8ebfa08eb75489,b0e9fb2981ae2d4bb379e9cc9fc808146842d31a9e7ca5cad72b167324983a1c +Chords1217,ChordFormer,submission,0,TRYRAMT127FAA612DF,295.0,0.8711216111152519,0.8766912804153861,0.7819257204289322,0.7531561551084724,0.7819257204289322,347e7fd50873ef3575c0deb2ecdad841e1927903196bfac90ef7a0c43028da95,ef9c1fd72107ecbabef7499e41626552191fd455da1ed6a1ff232059591e1ba5 +Chords1217,ChordFormer,submission,0,TRYRCHF149E351E1F0,230.347756,0.6571061034169566,0.6540980531780166,0.5365660892443048,0.4848384992732463,0.5365660892443048,6a619f4311577910c1f5c0788076bdee1c9145e283ce1ef95ab2c720e3250eb1,3751db3a5a4a6011d6b76c952cfcfcead4e5108e48b0909ad17f9db6fa373eb9 +Chords1217,ChordFormer,submission,0,TRYRDQX149E3D88775,257.59347,0.843659726090881,0.8893045790318999,0.8503677055218961,0.6556604467535595,0.8503677055218961,a133c19d56b8a4bc04b2bee54a0404ac6aee7c1147ae20a87b6fd358098a5fcb,7a9c2172875e02c66223cee339efcadd4e18751be6b040087b071637d9fbacb5 +Chords1217,ChordFormer,submission,4,TRYRMOH149E3DFF81D,241.08408200000002,0.6712338965125053,0.5598082487461793,0.5278009003721792,0.5278009003721792,0.5278009003721792,a514212d033e94cf7edc8140f55f8c4d288cc9e7ea733e995d84692ee1ad16f3,1aa3c5d5309eee3a8dbb6b4519f7066e06d9f05282c6426dd025035c9728a5c4 +Chords1217,ChordFormer,submission,3,TRYRRMD127F8262B3F,223.00000000000003,0.815222944174886,0.8312857710239543,0.7383658390971717,0.7240984920089667,0.7383658390971717,246ac6286e210158bd2b2a652bb61c9108b9992f819cd3ef7d814c75b199c95a,123575a64b90ef99ffad26156aae019d1e288ceedfc58cfd39f8098b0659881f +Chords1217,ChordFormer,submission,1,TRYSONZ149E3C51D60,164.418707,0.9748341829558373,0.9748341829558373,0.9543663218869627,0.9543663218869627,0.9543663218869627,b8d6c3f88747ebba5f2875ea9a633a4b54b4d5c82c0e9f73190a3e2188c8f5f2,64b268a29831943259ace58b0a84e7dc5566bb73969f153afc8a7808410dcf92 +Chords1217,ChordFormer,submission,1,TRYTFMX149E3C9A013,199.91510200000002,0.9609277957450153,0.9609277957450153,0.5043837777498172,0.5043837777498172,0.5043837777498172,df9636592f830e563cddac3c1e5e21d49e1c0142e743e61de447acb192e16a49,48768257c77d0f694c5c44a344ccf3b61a4a087ea3ddab2e27093dea9fc498fd +Chords1217,ChordFormer,submission,4,TRYTKGK149E3481A2D,211.733,0.8947528608152711,0.8932802929243058,0.6152181800266453,0.6062833616299762,0.6152181800266453,964c342da9bce2492e29d0c7086fc84db7a9f7dc709b6c424edd8585efebbc31,54fac5ffc098dff75513bb4a6841ef9a5b301520d7f243ad3aba9f024171fad0 +Chords1217,ChordFormer,submission,4,TRYTOCR149E32B43C4,271.36,0.8438530874999981,0.8421563658011307,0.8421563658011307,0.8220191675707527,0.8421563658011307,cf4b24bed0c3808676b6d5f47c3f44b19bd469c725aa3e55c51cc7960f91b863,eda54e478e7164a34eb5aacd8af4013ea8f56bc1eb43e921adcc1b56eb537336 +Chords1217,ChordFormer,submission,0,TRYUBWJ149E3E650A6,241.882177,0.026851949492748266,0.029520263941057088,0.029761567886906207,0.026851949492748266,0.029761567886906207,7c64847188ddb63bd89049955042254bdf9cda67d353df428b3f4c98a03cd79e,6768f0e5ace1007e3f069a996d12542ea961c6f79f2132226947a3712d1829e0 +Chords1217,ChordFormer,submission,2,TRYUFAD149E336C871,124.55183700000002,0.8929777904199038,0.8929777904199038,0.8846913048500442,0.8846913048500442,0.8846913048500442,8fa964d765398b0a63e4322490bd87ad8713fecd124013113ce97bd0be632a36,9748d6245d082b51ef4d2ea2deb3750f8fc25b41a99b4be7a2277dc64bcdd1fd +Chords1217,ChordFormer,submission,1,TRYVIGS149E360A5A8,268.373,0.9496888079948445,0.9666845079774213,0.7381441280588144,0.7011833878296261,0.7381441280588144,84cfc04dc2579f05444e446868060dc675c9650b19a77d4219e90a6ac2975dc4,af0c611496eea87d8f4c217a23b0f70c2e0b78f409efac25283806ccb2aa0d2d +Chords1217,ChordFormer,submission,3,TRYWAMU149E32FBDD0,136.724898,0.9623805129101067,0.9623805129101067,0.9007766322026998,0.9007766322026998,0.9007766322026998,3119f404dc141381dc539287da924c1686848a757d7820342bf377c9be929ae1,fb5aaab5c8e1cb29eead8eba71e2699370d5bd9be3310a8b56422eafc58d25e8 +Chords1217,ChordFormer,submission,1,TRYWYID149E33D3039,239.229387,0.8744347611984642,0.9373822873915364,0.6922508696337177,0.5428263699559619,0.6922508696337177,33c23575a580648f6dc70449510922ad8ce34a0f4e50856003dbd1a5648b18a1,68098aa112758551eda6f86241f55420ac4810e4b46110bf5c6ab12a8274d9fd +Chords1217,ChordFormer,submission,0,TRYXDQX149E33DC788,143.75183700000002,0.9688579503926628,0.9688579503926628,0.6118001838960859,0.6118001838960859,0.6118001838960859,f46297a0c38a89410be8ab30fcd51517bc8b8c305ddd32e0c8d053e85f1bcfeb,13cf14d86b5597446cb1e2071c863416e8dd29b4c4286ece5a84ce26ab48d8b9 +Chords1217,ChordFormer,submission,0,TRYYEGW149E328763F,141.92326500000001,0.976722807786306,0.976722807786306,0.976722807786306,0.976722807786306,0.976722807786306,dfb081bddab3d66f9e488f5f3bbf4241ad015a9e0517ba554a888679af6e0f14,ee82f24371aad436feb58a720d9c8d283a474780e0a85cfd99b971cf81e18fdc +Chords1217,ChordFormer,submission,0,TRYZFIJ149E3B7E68B,296.176326,0.8149872392130367,0.9012732770314913,0.4554195653598806,0.375637564867356,0.4554195653598806,013d59c1dd2d1659be71176fc57abc701769e15312aae5bc24cc5144059da105,7d615086b8e06da60f551dd533bbeb4f89ac0b5895d1ab69f59c189b04437006 +Chords1217,ChordFormer,submission,1,TRZAHKW149E3E8B5DF,241.880612,0.926919860894019,0.926919860894019,0.7809996865850504,0.7809996865850504,0.7809996865850504,34123bca506f69d509104854d1bd8d4fbd7bfc856e6940a8395f2c968af1278d,77353f50dacaaa8b858f15c46203db86d9c77c4a619e717940e997d8e7b86aeb +Chords1217,ChordFormer,submission,0,TRZAINX149E342D097,241.449796,0.9382552280640583,0.9382552280640583,0.9238922457900954,0.9238922457900954,0.9238922457900954,8fedd2cac11c37f18f47c69f71120f08beff835b276ad036bab58958c771e9f3,e215ffeb06f210528a3ceb0e056d70be253c8bdc7ddf5fd711555ab50c38a643 +Chords1217,ChordFormer,submission,4,TRZBIXH149E3D7F928,152.550748,0.9006874147829439,0.9006874147829439,0.892562536050805,0.892562536050805,0.892562536050805,db81a0510782014a804526715fbaf6dc47c882ffc076420fd945180ff8539a47,076c93fb26176bc55a4a049d5413262fe5e3e77a51ff425b70c01ddaf17a35ec +Chords1217,ChordFormer,submission,2,TRZBJMX149E32C0F3D,153.91346900000002,0.9073978627497506,0.9073978627497506,0.8150574956763529,0.8150574956763529,0.8150574956763529,19ef23f2be1c8abcb2e96e531c6d76d40a7287293e94a23c727f495efc9aba76,333661fbc37390243970b487235a7ea5658d1c76516115da5c560a6bafce9059 +Chords1217,ChordFormer,submission,2,TRZCPYD149E35D4528,255.94449000000003,0.5967157643167075,0.6898369147197609,0.5592919353658089,0.2883882151321169,0.5592919353658089,1bb41ce5428577c77a2cfd70e13f4057019891b694c3f3236f98c5597674058b,4f811b2e215b3ee1d0882f4a0654528cf33894cb20b08290c8e841e03de69318 +Chords1217,ChordFormer,submission,4,TRZEMZJ127F9E1F702,264.0,0.8360300195795436,0.8324962464772709,0.6093606061059518,0.5953845512954534,0.6093606061059518,122c4997cd7b2f30208ba7d7c8ebc2842ae348761e930483de9f821e545961ce,dc03d43cc3ef6b90216d873ba44c62cca8ce28823c9d7276bd264dc34a21cab4 +Chords1217,ChordFormer,submission,3,TRZESKA127FA694299,241.00000000000003,0.960688646170121,0.8001508203496192,0.7167764377170481,0.7116816740746859,0.7167764377170481,3e553af8f442e56e5ffec6a5341c8f0f9fa7485b343aaa5055f7514506271a9a,f8b0f6174bee4c1820da46e18795d2c5636330a71a851f0dbc7a441c984edd17 +Chords1217,ChordFormer,submission,4,TRZEUEE149E34D6B66,203.451859,0.7999400253157698,0.914982599183678,0.8377836270723433,0.6753767118834748,0.8377836270723433,51fee1e64df28d64348210837415ded5249d9445c4444de4bdbcb3faa3d0b67a,20a82a2828afd0bc947d92462f8c18b458777bfed7b0412dd3363905e5ea06df +Chords1217,ChordFormer,submission,0,TRZEZIC149E3955425,505.6000000000001,0.8419289827571202,0.7679059852352912,0.7679059852352912,0.603671729910997,0.7679059852352912,53f78825d89950e7255a139acbfba4e2a3796e6de346edf41c0f072eb1858fde,87fe3729f14292ae98c58cd21584fb547a03537387936ab280b6ecfd6007cebb +Chords1217,ChordFormer,submission,2,TRZFHNN149E2C07447,299.31102100000004,0.7549257903403411,0.7549257903403411,0.7535593960103443,0.7535593960103443,0.7535593960103443,25b0f2c0f2cd3fe291595f390caf3d995250081c30a4a477cf5e4317c9de3583,50f9d87476de238613fba9d368a970866c16b1d644e99bade102581bf0b65c50 +Chords1217,ChordFormer,submission,3,TRZFLMI149E3D9B82D,204.867,0.9438631979235306,0.919888496096994,0.7819478101413393,0.7543215222705455,0.7819478101413393,92463b8f8d1f3eb19c0a461a571771ff66478aab1eb6d3648e94f94b89449159,9211cd5566fcb845f01520538ccd95a21a69bf1f608c04f380fa350898335c10 +Chords1217,ChordFormer,submission,3,TRZFOIA149E3EE6177,147.826939,0.8792953329298145,0.8777984601301141,0.8777984601301141,0.8614596281399047,0.8777984601301141,36a7a2e3f80eba868463341bac6a06aab9aa56e3c4c3d17d4ae6d676295dd2d8,d97135b8dc65c0e4639cd0b239bbe12b56f8025939991bf35e2e32dc58af4eb3 +Chords1217,ChordFormer,submission,1,TRZFYBN149E2DDF711,156.081633,0.9461179790770111,0.9461179790770111,0.9461179790770111,0.9461179790770111,0.9461179790770111,bcd153aa33e7fd2a9d8951d4a8b81aace953c116beb51f9cae00d81e20641ce6,dd871745b78114561d046c939b926652c531ea89a339ad39fd9e9bdd2f390337 +Chords1217,ChordFormer,submission,0,TRZGFWY149E30C95A3,245.733878,0.8166417163367263,0.807637511355642,0.5962062329645699,0.5439085914397195,0.5962062329645699,e381793f5a31dce62e705be93bdba5bc9b07f84c7485f5d07844ffb0195059a7,38b7e6596c1913d2efd85d875cde1d15c52ab60e267c100d53bf7164cc3e0d67 +Chords1217,ChordFormer,submission,2,TRZGOOF149E36973D1,217.521632,0.7861018960174021,0.8567132662518671,0.8204806927880769,0.6877984608307812,0.8204806927880769,5dec68d34a5b7cf02f21fe5f8e2d7d73ac5c609685d6ff4c1008d96c0bf0a6d9,e79708041c018b021a5eb9f347bd1ed7606730f4942d3e66247f3a203cb5ac8b +Chords1217,ChordFormer,submission,4,TRZIYUT149E353CB3B,129.35836700000002,0.9896443658259847,0.9896443658259847,0.8403219771242165,0.8403219771242165,0.8403219771242165,5479866761ed2434dc38e819a95c66a3b34a0e23f021e6c02e8c78aae88496c5,234fe5d4ec59ba4235a7fd44100e075959112e0a90a7c4e58165f7a6c452d89c +Chords1217,ChordFormer,submission,3,TRZJANX149E3C6EB31,247.87972800000003,0.8414570952651699,0.8477374312638896,0.7700292743543841,0.7314753840983738,0.7700292743543841,1e143192583f6b19e32f3131ecb8b43b131be9c945f8dc81162fd875db179286,77a164c45503de01c078a88ceb2666bd37ad9d5f3e23931c6df4c99befa15bea +Chords1217,ChordFormer,submission,1,TRZJFUM149E3C4B990,180.192653,0.8359619338253487,0.8711281440271963,0.6802314830957881,0.40633270046254366,0.6802314830957881,1d0b0dbe6d2694afe7c9f2c02dbe989ac4d7ceef2c6a44929810554bb77a6708,e975bc4a2bdd6c854f12796d8b6b423fd71a705a07cd03b8b09e3939b5e4549d +Chords1217,ChordFormer,submission,4,TRZJNCF149E3DCF13E,112.87510200000001,0.9051769618954593,0.8630773460386337,0.8055306270110844,0.8055306270110844,0.8055306270110844,13c66cb955d3872e7c2dfd3ebbd0536da116d173f2fb7e0661906759f15fe309,ff7a9902e40fc364820e44c08d8faa14da5e2fe8bfc2435383e3f28026e31bd2 +Chords1217,ChordFormer,submission,4,TRZJOQR149E3139D93,201.351836,0.686466510585978,0.6844115057336755,0.6844115057336755,0.6844115057336755,0.6844115057336755,88e028db38d8583b3a27c8bdc4401bbe3fa78927252e2a0092323c04afdee37c,a6292fbf06249ddc1be871d88e97e1625f9718895eac574b1ccff161dcc03fce +Chords1217,ChordFormer,submission,4,TRZJQTT149E3E88563,238.281361,0.8169508915890414,0.8055804320842374,0.5888589707022878,0.5888589707022878,0.5888589707022878,392c63810b21727efafb2426b8e3d8ada74d031edce6d77bed489c6050a2c743,78993b9c3d6b3efafca62393b6499aeb214b6788055667f65a3511b09cfc2d41 +Chords1217,ChordFormer,submission,3,TRZKMQT149E33F7921,177.58040799900002,0.8964462497287227,0.8187280770856166,0.8187280770856166,0.8087525129619522,0.8187280770856166,4d409c4d4357fb5bec3235943071a2d16fbf1d7ea5534e726821967159a28606,1941acea49c383c80a4f97b44ea8a209bcfcfd8972b87cee2f7bedb16c814c3d +Chords1217,ChordFormer,submission,0,TRZKVTP149E3C2FD16,232.501406,0.45991251076993533,0.5198850360200613,0.14174888290761908,0.07699858351394245,0.14174888290761908,839f7d9bf85939fdb6654a985d6769e2c4e31a6628a3df772d1ffde0a956419c,d037afe973f4cfb842bb8042540b080be70a37d46af88298db399b4a3ea218b8 +Chords1217,ChordFormer,submission,0,TRZLFPA149E37D361F,124.917551,0.8605604073762216,0.8731581271518954,0.8656139924072777,0.8531251176305878,0.8656139924072777,d112b92d34a0241e630fc9dd310cebc552fd597802535440f773ef6a2ad5a772,c298998049cc48689f8369e6d66f4f59975716f41341564ba23682d8aaee1ac3 +Chords1217,ChordFormer,submission,0,TRZMVUP149E3451E0A,195.93251700000002,0.9583031749293551,0.9583031749293551,0.9583031749293551,0.9583031749293551,0.9583031749293551,79a71b018fb7f054064607f4c06a5bf66319076533266fcfcc967e8b35aba6e0,363f625e7da21fb34a4e5225800366c9a6b8bcd66cf710d777416246e6f486b3 +Chords1217,ChordFormer,submission,0,TRZMYAA149E2C43730,191.10700000000003,0.9513749150894524,0.9648266049630011,0.9283744297343227,0.9118673613787039,0.9283744297343227,b4a45e0f60269dbc25a1cba3bb48951eec4fe174958916c4fc2448fe450a9463,debd72f41829dc93b42bb66a14a9f8fd341f71db95b9194e1710bcd8a3a24451 +Chords1217,ChordFormer,submission,0,TRZNLCV149E373A858,176.87510200000003,0.014752457149113246,0.015019989697029022,0.015019989697029022,0.014752457149113246,0.015019989697029022,6d420bdef31d258c9eef1545efc34251e9905b06e676e5188e2af8553670bafe,406271a7c0328eaf59177639c62cace3bf2938203cd5565df22e9a93e560d9ec +Chords1217,ChordFormer,submission,2,TRZNRKP127F9D55172,266.0,0.927288817285713,0.9487303623796634,0.895460843918331,0.7531481765639085,0.895460843918331,fd9dd1b3167c2fffe7cad0137428654c32e89c1659602558ff46e6ecb5e94575,28c9db59b2a3af79aab7f8cca0c597d86ec8593d1428220288be61019997ac64 +Chords1217,ChordFormer,submission,0,TRZONIN127F850C0AF,387.00000000000006,0.9428354104754497,0.8571285309974135,0.6907217270956052,0.6907217270956052,0.6907217270956052,6c6c5d771a7c69d3c63d7d57da61dae8bbde0c47706e2abe3fba6a99f3b5b6d9,f017f8daf1896503ade933ee3cdfd81421bcda4bb06485e64f94055af845ea74 +Chords1217,ChordFormer,submission,2,TRZOVOJ127F9A9086F,299.00000000000006,0.925622938120396,0.9221325203244095,0.8229199902775871,0.8229199902775871,0.8229199902775871,aa246e58ba2e254ab532b78173ea09b43ecb4501c16ae519483b46416e86a194,a8fcb37e1039a7c8039e0adcda80dbbb7e6b2dd8d6b806c3a1b29cb74217e3fa +Chords1217,ChordFormer,submission,3,TRZPCRD149E332F987,192.391837,0.9335160144190515,0.9320448096198946,0.7971373958373176,0.7693383502440378,0.7971373958373176,3c4f426dbd47c74640f92f8f4b422c50d12840c0abf18ed37d64bcde573faeb2,698b56e914e547d181109bd28c578064d0ecd36ed90b0b6a31661389c85a1a53 +Chords1217,ChordFormer,submission,3,TRZPLDD149E2C64F39,128.809796,0.8996879736770966,0.8996879736770966,0.8996879736770966,0.8996879736770966,0.8996879736770966,1b68a1391e1b8e1d4255a56580ca7476d53dcf8af64f66d8eff9acb4c9e43e37,d6e58e765752c117c1aa9286b8454e394ba0fc56db75a736443fa57a4694314e +Chords1217,ChordFormer,submission,0,TRZPSEZ127F8DD6DB9,497.533,0.8707061047307338,0.8706704989374572,0.6479499832816844,0.6367395641615683,0.6479499832816844,c55c20053eff4084c4f1443dc7a6fd5e68b8394302dd346fb96f2a4f65e4aa51,35b0f16c44035b846493029cad5e5403e089c36be3657100f0597b09caddd5fa +Chords1217,ChordFormer,submission,3,TRZPZUX149E3E361DE,176.143673,0.9039474443853563,0.9022380214416446,0.7362149711773643,0.7466589604498594,0.7362149711773643,faf0b7a3e7a1d564f451479c151f92b672b6993df220aa23643c6df8ba3081a4,f9cc724823cd5597c24163dafea31d63e00369c8a64998ebc08a3612aae331bc +Chords1217,ChordFormer,submission,1,TRZQOKW127F9E43BE7,259.0,0.882813953911194,0.8699735878237245,0.8572918978347053,0.7673069279304994,0.8572918978347053,987fc35f485a09ab1e06fb4ec5c4de33503fa7fb5364289d33cd1347fc7e471f,6ea3551d6c3548eb8942133d251caacbb5386bef4c2ef85770b55dd238a3ed75 +Chords1217,ChordFormer,submission,0,TRZQRCA149E3190CB4,213.13306200000002,0.8712127148813739,0.8646658960673268,0.8610441217652842,0.7951211667010167,0.8610441217652842,792526690ca29582a8015808028c9dfc94aab9373f7b7435e9485d1aecfab1b8,f73e0271c96455f6885ac32c8e2a48af94b6f0f7db63af67781e968677ae8360 +Chords1217,ChordFormer,submission,3,TRZRAGD149E37275D3,136.48,0.8189837189331779,0.8012166900777887,0.5693780188427782,0.5227364138408566,0.5693780188427782,fcaab05e6b3717e00258354f8e586ce94aee2c1cc3f4f235876c8b5847dcb22a,42303aa55f906bcf52a2de99735c9bfbf203fa6e393438071374d770e16db08c +Chords1217,ChordFormer,submission,0,TRZRECB149E39D74D4,194.873469,0.7912740305402994,0.7912740305402994,0.7768563957210619,0.7768563957210619,0.7768563957210619,49b79f564b87099672de4bef4f88ec872406311e02dcd586895af87fa2819c33,daffa12ff4635e726f39eb5b4b483a19440a630e7a3dbee67b7db2375e1c8623 +Chords1217,ChordFormer,submission,0,TRZUHKJ149E2C1CB40,178.35353700000002,0.7231862593189058,0.71434510264125,0.6746375397867641,0.6530877402106493,0.6746375397867641,8b4661dd84b50bc3c53ba35c9b865f5757475572cb3fe2522991787b0f494814,023b248e779c9be2acb846ebaaa23225dd3c3784a7d9032ce1181d2367565056 +Chords1217,ChordFormer,submission,1,TRZUUDG149E37F179C,266.86693900000006,0.06882450116835208,0.06954457474146428,0.07954145812079477,0.06882450116835208,0.07954145812079477,e996cc43c86bb2dcc5617a15a5c351ac2d8619b405bc0771a38204f897e546ca,20763117c1b4ec0c4eb7340c39dbc6f1a0092714b321d4ce00500949b2a24c51 +Chords1217,ChordFormer,submission,2,TRZUXXY149E39C2D8E,91.585306,0.9767679307639164,0.9767679307639164,0.6081063229182206,0.6081063229182206,0.6081063229182206,5437222cc07ae0aa3ed12e24f327fa3a4f1d4190d3da3d50a7f47fadb2186205,0495f46da57cfb6d4cc788bb2906030874b76f41ba4df4f74dadd5e6303c4645 +Chords1217,ChordFormer,submission,2,TRZWERX149E381FF71,221.701224,0.890066315583358,0.8670924881073822,0.7443015232232129,0.7173060272369116,0.7443015232232129,bae88bdaebc93257e9a8344c48580c7c30fd5a2e57b21390af216c155bf89ca8,11a0d3b05c2ca8b03f33d6357306947d5c774cdeee26546ddfc6e23af6010ea0 +Chords1217,ChordFormer,submission,4,TRZWISM149E35CA148,255.50367300000002,0.7897155666447127,0.7897155666447127,0.7645018407661027,0.7645018407661027,0.7645018407661027,a55d4ec3c77808c2b18bffa02dd6ad9cb93eb48ff474d39c5e4f927031d5cfb5,ea44f83814500588c762736f000630c0bf6654a5fba0298ebbceb968a00bb89f +Chords1217,ChordFormer,submission,0,TRZYJUO149E3CB9599,161.906938,0.8955698576610727,0.8938178985517078,0.7419878555927429,0.7200403416374913,0.7419878555927429,5360567477f70f17a9984a7a89d6e64f464b3e1e59a1a7e3ddff44467e8f0767,4fe147106ba6cdc441703ce209b1dbb8c817e4978eaa135a7f8fd33e66f8a809 diff --git a/benchmarks/chordformer_results.json b/benchmarks/chordformer_results.json new file mode 100644 index 0000000000000000000000000000000000000000..e59454f359de92ed0d910d00cf41d245bd3eb296 --- /dev/null +++ b/benchmarks/chordformer_results.json @@ -0,0 +1,101 @@ +{ + "scorer_sha256": "5a74e06b566c5a39fa2c63e2bf3ee6685977d469b813e554c51397ae4b02ecb5", + "mir_eval_version": "0.7", + "code_commit": "3da11c078c802b3f5a2ff0f6f8ec184a41537844", + "results": { + "osu2017": { + "n": 142, + "majmin_percent": 86.5497453460808, + "reference_span_seconds": 19863.4298603, + "aggregation": "reference_span_weighted_mean_per_track_mir_eval_majmin", + "inference_protocol": "five_released_models_probability_ensemble", + "vocabulary": "submission", + "summary": { + "n": 142, + "total_duration": 19863.4298603, + "root_macro": 0.8613883242032796, + "root": 0.8699982308099738, + "majmin_macro": 0.859554594012657, + "majmin": 0.865497453460808, + "majmin7_macro": 0.7583045094212189, + "majmin7": 0.7619092963986849, + "tetrads_macro": 0.721755905794101, + "tetrads": 0.7261244587795053, + "sevenths_macro": 0.7583045094212189, + "sevenths": 0.7619092963986849 + } + }, + "Chords1217": { + "n": 1217, + "majmin_percent": 83.94339228883841, + "reference_span_seconds": 265407.54518096906, + "aggregation": "reference_span_weighted_mean_per_track_mir_eval_majmin", + "inference_protocol": "one_released_held_out_fold_model_per_track", + "vocabulary": "submission", + "summary": { + "n": 1217, + "total_duration": 265407.54518096906, + "root_macro": 0.8520906515499722, + "root": 0.8464978962575566, + "majmin_macro": 0.8458192895741599, + "majmin": 0.8394339228883841, + "majmin7_macro": 0.732118368140965, + "majmin7": 0.7239327355873252, + "tetrads_macro": 0.6712585918346368, + "tetrads": 0.6582119637377585, + "sevenths_macro": 0.732118368140965, + "sevenths": 0.7239327355873252 + } + } + }, + "all_reference_hashes_match": true, + "osu2017_matches_previous_audit": true, + "paper_protocol_reproduction": { + "full": 84.35012812303995, + "submission": 84.42821685658271 + }, + "paper_protocol_aggregation": "sum_correct_in_gamut_duration_over_sum_in_gamut_duration", + "paper_protocol_note": "These are a separate reproduction using the upstream corpus aggregation; they are not the SheetSage2 table scores.", + "checkpoint_provenance": { + "osu2017": { + "commit": "3da11c078c802b3f5a2ff0f6f8ec184a41537844", + "checkpoints": { + "cache_data/chordformer_head16(1.0,1.0)_s0.best.sdict": "2c496ad69036bd58e59a78ec1f42f60c23840c20553f08c8dd8f93b0711f5c57", + "cache_data/chordformer_head16(1.0,1.0)_s1.best.sdict": "c6072f4237bc64472bb0efc5e6ced5a8e76b15fd5a171d6b250fe88029d6647d", + "cache_data/chordformer_head16(1.0,1.0)_s2.best.sdict": "239a96e76da24c0d654739d2657e1f8341dd649cb052ce90437b4b22a8ff6e51", + "cache_data/chordformer_head16(1.0,1.0)_s3.best.sdict": "0e04b933293ad7cb6895c91a63aa6940832adb46a1b895e77afd3d837a24af1b", + "cache_data/chordformer_head16(1.0,1.0)_s4.best.sdict": "e46e18ff3f2b3f8bef8446b744f4b544d4e6d98cf937ae2b98d42bb22b3da906" + }, + "packages": { + "torch": "2.2.2", + "numpy": "1.24.3", + "scipy": "1.13.1", + "librosa": "0.9.2", + "mir_eval": "0.7", + "numba": "0.60.0", + "h5py": "3.11.0", + "resampy": "0.4.3" + } + }, + "Chords1217": { + "commit": "3da11c078c802b3f5a2ff0f6f8ec184a41537844", + "checkpoints": { + "cache_data/chordformer_head16(1.0,1.0)_s0.best.sdict": "2c496ad69036bd58e59a78ec1f42f60c23840c20553f08c8dd8f93b0711f5c57", + "cache_data/chordformer_head16(1.0,1.0)_s1.best.sdict": "c6072f4237bc64472bb0efc5e6ced5a8e76b15fd5a171d6b250fe88029d6647d", + "cache_data/chordformer_head16(1.0,1.0)_s2.best.sdict": "239a96e76da24c0d654739d2657e1f8341dd649cb052ce90437b4b22a8ff6e51", + "cache_data/chordformer_head16(1.0,1.0)_s3.best.sdict": "0e04b933293ad7cb6895c91a63aa6940832adb46a1b895e77afd3d837a24af1b", + "cache_data/chordformer_head16(1.0,1.0)_s4.best.sdict": "e46e18ff3f2b3f8bef8446b744f4b544d4e6d98cf937ae2b98d42bb22b3da906" + }, + "packages": { + "torch": "2.8.0+cu126", + "numpy": "1.24.3", + "librosa": "0.9.2", + "mir_eval": "0.7", + "scipy": "1.13.1", + "h5py": "3.11.0", + "numba": "0.60.0", + "resampy": "0.4.3" + } + } + } +} diff --git a/benchmarks/jaah.md b/benchmarks/jaah.md new file mode 100644 index 0000000000000000000000000000000000000000..8d072c6a8ee072aa44cbc252d15834ac9dfd124a --- /dev/null +++ b/benchmarks/jaah.md @@ -0,0 +1,42 @@ +# JAAH chord benchmark + +Updated 2026-09-16. All 113 recordings in the [Jazz Audio-Aligned Harmony (JAAH) dataset](https://doi.org/10.5281/zenodo.1291834) are evaluated with fixed models and the same reference intervals. Scores are percentages; higher is better. No model is trained or tuned on JAAH for this comparison. + +## Results + +| Model | Maj/min | +|---|---:| +| SheetSage1 | 39.77 | +| madmom | 51.24 | +| ChordFormer | 59.45 | +| SheetSage2-Prober | 62.94 | +| SheetSage2-AR | **64.50** | + +AR exceeds ChordFormer by **5.06 percentage points** in Maj/min recall. The AR-minus-Prober difference is **1.56 points**. These are differences in observed point estimates for the evaluated models and recordings. Bold marks the highest point estimate in this comparison. + +## Evaluation protocol + +- **Cohort:** all 113 original recordings; no track or chorus selection, reference-beat inputs, test-time pitch augmentation, global timing shift, or JAAH parameter tuning. The audio is from the supplied recordings, not reconstructed spectrograms. +- **References:** byte-preserved official chord labels at [JAAH commit `6fec3f6`](https://github.com/MTG/JAAH/tree/6fec3f6dd1d60c21cf9af855ea173be38e6d7243), intersected with each WAV's actual time span. Shorter annotations are not extended. This removes 9.146654 seconds of trailing `N` labels beyond the audio, leaving 24,991.969346 seconds. Five tracks have overruns above 20 ms and 37 have smaller rounding differences. The original labels are preserved. +- **Metric:** per-track `mir_eval.chord.majmin` recall. Reference segments outside the metric's vocabulary receive `-1` and are excluded from that track's metric denominator; they are never converted to `N`. Eligible reference duration, including `N`, is **93.87%**. +- **Aggregation:** weight each track's recall by its **complete evaluated reference span**. This is the same aggregation as the other SheetSage2 chord benchmarks. Macro averages and recall pooled by metric-eligible duration are retained in the JSON under separate names and are not the main-table values. +- **SheetSage1:** released Jukebox-based model, automatic beats, six-measure chunks with the existing four-/two-measure fallback, and native structured harmony outputs. The fixed settings match its other chord benchmarks. +- **madmom:** released CNN chord features and CRF chord decoder with default 10-Hz decoding and major/minor/no-chord vocabulary. The fixed settings match its other chord benchmarks. +- **ChordFormer:** five released Chords1217 fold models, component-probability ensemble followed by the official HMM, and the predeclared `submission` vocabulary, matching osu2017. On Chords1217 itself, each track instead uses only its held-out fold model. Source: [official ChordFormer commit `3da11c0`](https://github.com/mwaseemrandhawa/ChordFormer/tree/3da11c078c802b3f5a2ff0f6f8ec184a41537844). +- **SheetSage2-Prober:** fixed checkpoint, 24-kHz mono audio, 300-second windows, BF16, batch size one, native predicted beats with a fixed zero global offset; melody decoding disabled. +- **SheetSage2-AR:** fixed paper checkpoint, 24-kHz mono audio, 300-second windows with 100-second overlap and predicted-prefix carry, BF16 autocast with FP32 weights, SDPA, greedy decoding, and a 5,120-token limit. Prompts: `timestamp, downbeat_meter, chord_full`. Two of 132 windows (`blues_for_alice`, `lady_bird`) reach the token limit and use the existing decoder's recovery for incomplete events. All 113 tracks are retained. + +Using the untrimmed official annotation spans changes each main score by less than 0.03 percentage points. ChordFormer's other fixed vocabulary, `full`, is included only as an auxiliary result (59.11 Maj/min); the primary vocabulary was fixed before seeing JAAH scores. Independent rescoring with `mir_eval` 0.7 and 0.8.2 agreed on all 904 model/reference/track combinations. + +A title-and-performer audit found no matches between JAAH and Chords1217. This does not establish absence from foundation-model pretraining or constitute an audio-fingerprint audit. Published JAAH results on selected choruses, rewritten labels, different vocabularies, or different train/test splits are not directly comparable to this full-collection evaluation. Only chord results are reported here. + +## Machine-readable results + +- [Full-precision scores, reference variants, metric coverage, and checkpoint hashes](jaah_results.json) +- [Per-track scores and prediction/reference SHA-256 hashes](jaah_per_song.csv): 1,356 rows = 113 tracks × six model/vocabulary variants × two reference policies. Main results use `reference_variant=audio_span` and exclude `ChordFormer_full_auxiliary`. +- [Point estimates and paired differences](jaah_statistics.json) +- [SheetSage2 paper preset and dataset prompts](../benchmark_results.json) + +## Dataset citation + +Vsevolod Eremenko, Emir Demirel, Baris Bozkurt, and Xavier Serra. “Audio-aligned jazz harmony dataset for automatic chord transcription and corpus-based research.” Proceedings of the 19th International Society for Music Information Retrieval Conference, 2018, pp. 483–490. [DOI: 10.5281/zenodo.1291834](https://doi.org/10.5281/zenodo.1291834). diff --git a/benchmarks/jaah_per_song.csv b/benchmarks/jaah_per_song.csv new file mode 100644 index 0000000000000000000000000000000000000000..d83165a6fb9fd2d8576739d9033e8961ef0c82ec --- /dev/null +++ b/benchmarks/jaah_per_song.csv @@ -0,0 +1,1357 @@ +model,reference_variant,name,duration,majmin,prediction_sha256,reference_sha256 +ChordFormer,audio_span,airegin,255.586667,0.7562411147660502,d82603f42c662db468f867452ffd902f043cb9b1e7bd4a61af78189852c44f90,c8a656375047afb08f7c8d361d0b85d4d0c34b7364561e72fc6737c1af43d1b7 +ChordFormer,audio_span,all_alone,142.53,0.5386986615728065,3fc248246afae06d81f69861c2de36b6d243c32db103e3237a77c7cfab5c1ae6,868d8dbfe94ce787a2b70a793a29106c46461941d90ab58ef8f594d33b7f4493 +ChordFormer,audio_span,bags_groove,173.266667,0.5123778647280154,8021c18f9285f439277208ff7afefd2d01a30b533223c91b43c18bcfa1831210,dc363142545c49a43fc8f11799c2ab67e0e4392bbcc564dfcc9474a4c466fb3a +ChordFormer,audio_span,big_butter_and_eggman,180.8,0.7419280127728696,d4fcf0616fea89403344153a3ccf2149b78fc5f920505c0d71612bbc0270469b,a7b45334be6781265f687f3d19c0e704bde00c83f79bf58da36d809bf2a7b16c +ChordFormer,audio_span,bikini,218.56,0.7177907596741935,b5d8b48d891f88ba63c73a9cb4270322824ae2256ef7337021ed6ff4ac392c7f,ccdb2920a9be7797ff1cba26c04c5ca43b8ccb2afcdb4cbb44bd0d54379d0a58 +ChordFormer,audio_span,black_and_tan_fantasy,190.0,0.7489354897069034,b5df0743ada397047d7da733c5199c0d4acd0495621e05ed0b97fcd59b976c5b,8e7ac57decd4ce5281a760cb5d1941437d32c92e745bdf50ce0a4b768d1d1945 +ChordFormer,audio_span,black_bottom_stomp,196.106667,0.8117312782232222,cf88b270d505ea96d5d69f6b9248d551d8ef23f1db652c5aec29227e42ef1d97,018baedddcfcc3aa4df06eec222fefb91956a4e37137ea40dad532426c1d160d +ChordFormer,audio_span,black_water_blues,200.706667,0.8347886224277741,6dae95a38693ccdaab8b605eab8a20dcfb3553b63ede6e1443c8146d45e617ba,c4607e7f9e768f8848933f6e101760f2f0a0aaf8555d1e48a7f0048f2253ab4b +ChordFormer,audio_span,blue_7,674.6,0.6970097674488582,cbf822c00f64335c795f907199bc49aa9d724baf220e2d16e50c55a538b12520,542911d5aebe08a80fa44e5d52a1d3de9345ee7ac5886b1ea5b4044448931da9 +ChordFormer,audio_span,blue_horizon,268.56,0.8347346087727134,57e7064f4495a3e29a366d991032d0387143a17928ba3d91b5d98da24ad5a1ae,b7f3a09f0d185200489dc4764c2d06241a070a5e9512258afd57ffc6666e0045 +ChordFormer,audio_span,blue_serge,205.4,0.6142405219747586,1ab2b26bdeefa76a5eb0c134d45fb7098d5ed2c002840e154afb5a1e6fdd9fcc,fb5a8a87ad5c56cd02ea6d1ba9ab08c5e9462f1ac2d8508a43c076a9b8bc4737 +ChordFormer,audio_span,blues_for_alice,169.06,0.40761467002151863,f4784f5d08a456f1914cae139eef518a18002af6dc0df2ea68afdca7da6415f2,db849ba057f87b5fedb08f86997d675c73086a5b47f6425e507fa49b06249373 +ChordFormer,audio_span,blues_in_the_closet,545.266667,0.4500914490707345,66bfacf7e6b32fdce8d26fe7a565cc9ecad38cc40b7d59b4e078c878b3db6c38,6ba19bbe54bcc1fbf8fa0c6b55a8d9d7e14f762caca54947204e794ac16833ef +ChordFormer,audio_span,body_and_soul(goodman),211.026667,0.6464003626023137,08b0594d54da1001135b90cd0eede6ae2a445348708c9b4b94bf69fe05158fb2,d0304ce18498bf4757b0055943fb6b092fefe1d6c61426de8f083a6cbf2ff4de +ChordFormer,audio_span,body_and_soul(hawkins),182.73,0.40880693319460104,9f1106154311303bc72b33fac1574c72a2a2d7b111c9dce1505a85b1739cf1ee,1beaa6abd9b20833b14ef81c0d2dadece55d18527bdab4ee46c6ea2dd44b7381 +ChordFormer,audio_span,boplicity,180.733333,0.3538810637621689,cf3d5c746cd79d8472efc3173e00f95b1fa6731b910e0800b50b365c506e43fe,a61602dcb7c4b975bc799f7973bebcde27b29103a235621fcb39d156711e374b +ChordFormer,audio_span,breakfast_feud,140.666667,0.5875729317153976,120196eb1bc6c6a91d3ae5db4beaf3c6b39f7f3f588d4218055a6a86dfa5430c,dee77a6100afbe06fdaa884cf264d307d8737f1bab1b26119a992441b6e8bc7b +ChordFormer,audio_span,concerto_for_cootie,199.866667,0.5739774291515206,e8e02e4896189c6a70063ffd440369dff69d261c06086ad2f1e803d4f52c1bcf,0ad1e0273d4d3a5023986560d4c1de8b39610408f2e620546ea5f1045b8cb4b3 +ChordFormer,audio_span,cotton_tail,191.6,0.30722708503193463,8e4f92e2f425571750edef0d48cf94cca651f98678bdb02bd6a97e1d9666ce25,d3debbc63125574503c2186317bcd2405d238af37e2b5778b6e4dc35dad00063 +ChordFormer,audio_span,cotton_tail_fitzgerald,220.92,0.38870816199404923,1359cd76c7198d9be74b96815798900f6b4bce2a2c1818c135448018577186a8,dbae0a685c3b8fbd5058ee0215987f4554c20ac463ce3985e612e0a62fcd8fb3 +ChordFormer,audio_span,crazeology,179.96,0.3863823840044157,5d26ff571e91735cc58c2f2c1d4ea689d75a50de74b3bec4bdf3de8081bdfa97,04bc22aa4b49aff127cc9d7b0e9e6e430bbd5f88e7fe067e6d97ce53928f1fd6 +ChordFormer,audio_span,daahoud,245.466667,0.5331324201685352,fcaca5d944aff1d6b1d52d2efbbf4e0f9744c31180ee7dff7020ba99cb7127b7,933cce2ac1e29e526d3981710861f5685a73599a3a2f44119a4cb543b5d3bfeb +ChordFormer,audio_span,dead_man_blues,193.866667,0.9026786300813641,f42598f9a75644706a080a53c8cdfb586b3b1516651275b1c1d0b0fae52a2d9e,a1a6e2cce8cd9a5c6a227e83c128385ec8935618c7a3f7812a0844535eb95c3e +ChordFormer,audio_span,dexter_rides_again,196.73,0.5726855744278139,c8c38399639d3299e4dea5a6234c8572b0a212035e51709a77dad97078fce4c1,662ba9f584d31cf8e09096c0e67add5ac1c7e7182c2d732de84a7ea480fa703b +ChordFormer,audio_span,diminuendo_and_crescendo_in_blue,360.306667,0.7189323977329082,262098b42f44e9665735e557b428ae0d4e420c6c199275b96eb4cc3179010c7c,7e409e8b57e5d0c0ce6ca5f36803edadccb1aa48fa420fabf7c42eb50ffc9aed +ChordFormer,audio_span,dinah,155.42,0.823161121900363,b36ea480b1ba01f85677074139e828319df26a16e403b7979277e9be7e360345,d91dc2291e0e33694145c537bf389230f634aba6285e4643f98c4677339788e3 +ChordFormer,audio_span,dinah_fats_waller,189.626667,0.7916994090951338,3c9e1affcf349949109100193685235b0808f8e8e4ab797b8fff2f3e81c2e884,7a23d9f282638ee88fdafbc724838faae0ba667e265ef0f59d09205b3eca2705 +ChordFormer,audio_span,dinah_red_nichols,195.44,0.7984161327363898,4aa3d8e7a0f1e68eee810e82feb9571c722d1bb90ba1622fcd8703d0bf33de6f,c214876c9da3479fbc14b670d1fcbb95faafeaf3b600431f82cd91127092b08a +ChordFormer,audio_span,dippermouth_blues,148.93,0.6058790157399073,0f29dab960063d6c35d66aacbfc38579d664abbc908bfb87fe9937ca685ccf2e,d9d1c4ac07af216dfdea1847b3c599d7d42633eb6bac11446838acf89705180b +ChordFormer,audio_span,django,424.93,0.7774492771089412,d327992236405c8350190ea9deaa6eeab2a33e48434d61f346e9f16dffbdb66e,6c167a2717a0bc49f8f4a8c1679215f7ec3e5df3d59f684f21f835de55d744ef +ChordFormer,audio_span,doggin_around,180.506667,0.10187524725056284,a3b72017bbe2bc432c90874fbece7fffc4b93157162831657b90702e8de24654,558b9b3fd7f789d5e8da265584c69f21f81b66835792c130f962df2fdec6b73e +ChordFormer,audio_span,east_st_louis,219.026667,0.7630090413944605,e7f2b7bcf31829586b80a8db03cacc61f64425b21a6165df08c08e8ae79bc51a,b193885028f290b7f50af59b2953901d34c6eb64c17c7b74f1f79ae029454d36 +ChordFormer,audio_span,embraceable_you,227.96,0.5411173510091383,97fb452cf251bb44482375bf2f005c7799c51c005baa205bccb8fa20931b30b6,a63edab2ead8175078663067a0f199753335878c31d2f18db23c14dab1f0c8d8 +ChordFormer,audio_span,everybody_loves_my_baby,144.28,0.8853230267988,e4d4405c461e86cf347322b45a57d6b312f1f86e9a0d3018c5637e9d32e962a1,a3f41a7dab67c3f25eb2e246652212d9bc824a3a1f9f398b2af0c1a1e91fd5e1 +ChordFormer,audio_span,evidence,154.73,0.21214016213838277,d3dd2290cb5a6241bc485aa597e607a6f4bd3a9546b892b84122dc3b307855d8,28df2ee4cda16fd1405edb75a19617eb932d296d46956452a511b67b472e04ad +ChordFormer,audio_span,for_dancers_only,161.49,0.6182349800801853,fff8e3625e70566a16c194125b2efc618057aa9c89b6d6cdb2e7dda5c4e8e84f,8d5f849ee70daa2b40707cb29ca844f2a693f1f6b3dd22b230e7981604fdbad4 +ChordFormer,audio_span,four_brothers,198.52,0.4248598952446623,51cb4a70fc7a609f61293b18deaddb3687efac49a19cdc59433b5a8c43dec3b3,909752e4848a495f94565651ad32947cc2fa135495dfdd433c2110b37aaf0df5 +ChordFormer,audio_span,four_or_five_times,194.426667,0.613595679783598,c6912d1e884b25435f14f6de8f53013617c39cffdc761f4deab9c936b1c93d0e,a7bb80fc755c8bfcacf772fcaf32bb40d1824593ed972f5ea41d8eb5d4b196fb +ChordFormer,audio_span,from_monday_on,183.13,0.7461028886925586,6213373c75d3d42669761692cbfab2f918a48978957fedd67f2fd9907ffff0e2,44e695731cdc226ff99d800e2a19c29d16da773a461bddceb2a3cc90e87586d2 +ChordFormer,audio_span,giant_steps,287.4,0.41681310428322793,a1f39c2b4ee3e9226fcb8011f36073da5d3fe5028cb22f6a916daa3fbbd1c59f,099591f3c0b11a3dbd4dcb59ecf446784496035650126d04093ca2489d37452b +ChordFormer,audio_span,girl_from_ipanema,326.37,0.8714675410434887,5e9a701ce11399ed29ca1526d6e88f69a67bcdd149204e6456cd7b0cb0a457ac,2dc38945ecfa5db18593d4c69922815c8886f28839a128719813ad423f0524d8 +ChordFormer,audio_span,grandpas_spells,175.36,0.7703332693777832,f6a550114f44c30f54bb22cf95a8e1534571281c7e00b865ecf0fc0caac570fc,e757d11961f1d29381eaf257e97b84b91995d1ca6e6c9f62f6790962dd23c21d +ChordFormer,audio_span,haig_and_haig,271.61,0.39670574700686545,71afacf354c5e2eb76a965ac9a7609d86c646e41c51e2084ada2b38bc9ad387b,cc5568931cf427f044ad3b445fb99816a9be911aa3815d44b3104d771c8c29b4 +ChordFormer,audio_span,handful_of_riffs,187.85,0.7190160749235814,9fb5748e19f7663707435d950b5e7cd240f5e0434bf9af808310ae26595102d5,0c64e755364ad22f9ac87792695e6d19de03d6e5f9bfada33757c45762ea637a +ChordFormer,audio_span,harlem_congo,195.89,0.5884860127148335,4a7a206c59d3ba47e90dd491df6c917b2f4fd53ac0d9f9e538b52541bc4fb627,519c039af84821329db7ea62419e513c5dc8d9c6b9704d5519651a8307229fd9 +ChordFormer,audio_span,he_s_funny_that_way,160.706667,0.7311477844032299,e29bd57a3ef38418ec1c9e982aaae3afbbf8a493baaa751e184fad2e391047f6,b8ed3640751db39087090bfbec764173b1cd39f0c00dcc847a68f47eb00d0e56 +ChordFormer,audio_span,honeysuckle_rose,185.97,0.5455875319320576,23150cfab53a2c84a130b0dcf04e3cb399d0216a97e709369caac373aecac53e,f62464e974c238e5e56f641f4148122d1cf4be625068c73dc922a1169731fa7c +ChordFormer,audio_span,honky_tonk_train,180.386667,0.6480395106474247,479f9fb8f10c8d933ba4be0a64c288e187a6d058c91574efe4fa3d6736680f95,169afc1ff86919c8e922a5afb73c4cf4649e25b3e6ee436fd9ec80e271d69cf6 +ChordFormer,audio_span,hotter_than_that,181.49,0.7275229980369976,5fac0d0e35552b33fe480a306949e5b9d73a05ee58c9c312ee176d1e0187fd5d,87d9b1a7da349101798c198723b28dbbb33959b252b0b3395fa5c71aac7f2eac +ChordFormer,audio_span,i_cant_believe_you_are_in_love_with_me,254.68,0.5778316981074285,f9b8b063976063453d123b0029e7f87069104a841794a0b5aa0ac22af21b2b69,e9334f7378b824d9988cec23dd3c6570fd3c9be42c378da1d261a0739c73ce9f +ChordFormer,audio_span,i_cant_get_started,186.16,0.7935866831848549,23294a9637fb036ef809c332f8ba3fc431ec97898371738df350a20d28a05495,eb2dba9320de0786eb6ae2bf67dac70b08dd53923ed2e719a002bf8126c3c7b2 +ChordFormer,audio_span,i_found_a_new_baby,176.53,0.7966680167053756,e1593e5034a52b2145eb0ce6254766e0f7509346b618dfa6a44ae21e6c015909,2aa1756e1ecf287e7583ac02badb2bf6cf5949fe8c8619ccbedaa20d739265d2 +ChordFormer,audio_span,i_got_rhythm,304.84,0.385678450802854,887fda165ea6f8fc2288ab27a7086c0a3ea5d965d3474ae5d1c6b3c281ad3566,db450219b1a1c35d81cb46c6c3f7bf78a0adfb3a065d61efa2389b9f789674fa +ChordFormer,audio_span,i_gotta_right_to_sing_the_blues,183.6,0.40819005119438234,8c892a885778f9ec6604081fe716c05092126139cdca800808ce634f5a67f4b9,788f71eb91c12179fdbd91cd65a3e40a833f8328b48ad822d6f9ca913b27b16b +ChordFormer,audio_span,in_a_mellotone,199.266667,0.7659548080656444,21cbee011074a79455adb7286c586d26aa92daa6984b891211435992b2d48bfc,94ddebe89d8cfce768313a852d9dcba0bff7504b55593a098b9687e4047bebab +ChordFormer,audio_span,in_gloryland,183.64,0.304728614724461,669e00bb4278378c2580d4120ca44e2e6ff7c360e7be4e76119480d2214d2f0c,dee0ca499cf56756fce92b1656e04e3d593c0f0b52ec5c50b684fce664d0ed2c +ChordFormer,audio_span,indiana,166.146667,0.41188488376715543,72449765911488fadb5063e771250201b569fb95a0444703c739ea04c21d6b4e,c2419135be71cae4ae036bdfd9ea4e57546b75627b7ae978d787f1551c75e591 +ChordFormer,audio_span,isfahan,255.04,0.6814470618410626,7777feb2f088b0ccaf3f9e29c7e0b902ef35fee7bcc1a98ac7b7d87d09619750,5c2a8aa3250cfa2690521c43fe6a481c46e08f8199152d982e69be3384eb2cde +ChordFormer,audio_span,king_porter_stomp,176.666667,0.7138151885292274,65b57d9b9eb7c745399575477db97c13b8dbbb713ece13b6d6084d1eff5417c2,eff7db53441dcb67747663c5a8769234f18f8d33317b3edf2b983119a9257ebd +ChordFormer,audio_span,ko-ko(ellington),163.266667,0.5695616434186163,3d5d0126a5481af5a1eabdaa3fb07e89e9c7f5396cdf1d781614c156e721edc0,9e5e0ce79715108de7d506cf3db7eaf0debe61e03f1d26ed43cb2fdbd2195397 +ChordFormer,audio_span,lady_bird,171.146667,0.4893002630252796,72e27d98163ba9a0dc60076d58d1c0a9925bfba4bf0c4b2ff1bd364aa6d62771,28c16e8814d1b7ee17a00271a8c5d71b53fafbbd9494cc2bd64e9975dd4d7f10 +ChordFormer,audio_span,lester_leaps_in,195.37,0.27967359129460634,5097550d91ea58a1e9d13922cfa88a1e8c440bde7b22ecf3e6c7a9869ecba4dd,2dbcd041a6fac4da05d6c432d8c812aa0aabcf08bb5ccc25710e7624463cee46 +ChordFormer,audio_span,livery_stable_blues,190.64,0.2555990522525363,95ec3f82a418fb4b889fa452414a5a9afacb7623bcf9f60f7c63f1b0a5c31124,a34d7136b0b9e6b669356f27fc01c7cbf1bcf8eb8c8216d48472ca30c6631de0 +ChordFormer,audio_span,lost_your_head_blues,177.2,0.804046185823928,37f6236ac46e4050d20929d2ab29f49ccbc793b6f802f42f73a6db9f80d406b8,4771be5c1ff801292bebee69802f29018e5fd693c1a1a91bed96844667e6423a +ChordFormer,audio_span,manteca,189.786667,0.7020186870887364,8f7b88b4eb1a5f5eeca76d1b5ecbbccb8c7b0e840a29d7e78909e3e3b4d71b57,81599874aabd8bb79556df69e97382a4956d2e345ed0dd48e7742b1ab4c9ac46 +ChordFormer,audio_span,maple_leaf_rag(bechet),179.44,0.5629588786868804,b2dd621d6352b1c8cba849af9cf95fbd757d39073306d17bfaf498ffe8cbf6fb,e529d5e7fdd5ab97e26758af42946d3d15acba4a69fa278fb3392c2e5a60c857 +ChordFormer,audio_span,maple_leaf_rag(braxton),220.506667,0.7155602053986319,51d50cc192a149acf183d9d4f4374924774420e3c429b6ac27c1c057775fe5c1,058641d72b08755c9e28ba050723331e301b4a52fcfdfe02b8a535f16141547a +ChordFormer,audio_span,maple_leaf_rag(hyman),149.97,0.8371684167434825,4aa57d25a5cc86c4142b1f44f910a8c3b8018e89a87be2f724cacbdd650879b6,8f370d29317e2fc5b8039a738b10f920deb8b8d17c4713a8405967c6a4851bb1 +ChordFormer,audio_span,mean_to_me,190.88,0.7467494706415421,856742295b9cec13e961d9a009f5d82a6da255958a8bcaeb6bb0566dd50a1d3c,1f59cfcb6475d0d792b7ff428856484990ae241bdda7fcc4436e5867600fcda7 +ChordFormer,audio_span,minor_swing,193.816,0.83899017016139,ed4119718266da0bd2d45ed168487f7e0191eb62fe17f47376052e7c79491a13,a096d95efed41258962b2b882be447c94dd12e1b2199cf2ffe151620e78655ac +ChordFormer,audio_span,misterioso,202.773333,0.5164332360853388,4d8d815e2288cd3b12c2fd83d1ada3b949e79d3f82f47801b989865e7f7177e5,818fdf916e503ba716273fe88ef511eb7cfeb2ebb416792d83153af2731225d1 +ChordFormer,audio_span,moanin,576.8,0.38830963200043367,045d74706c36df97da9536591eb9d968b7de28ed502f82d9b3b7fcbcfbcc7805,635f9344009b0b9a8a7555cb419691fc8e27e0658aa286ffab8dc55c7a048795 +ChordFormer,audio_span,moten_swing,205.88,0.3319141852684511,e464967afaf15905d955d36235c50f16c120a2aac63d5a2ab9d7fdd9455d6809,b86599c4dc9fe21c4768df2d43c0202471207897d33d61623d95b2f37f8bf410 +ChordFormer,audio_span,my_favorite_things,165.626667,0.5266192019575784,796d915eb56cb4b6b6649df160c0270ef30d477fa0987d8deeac60ebfd1beb7a,0e2dfe3d98d2df80e8b4c9bcbaaddae8cd0b23e8316a9dec5c992ad4037c0a31 +ChordFormer,audio_span,new_east_st_louis,180.466667,0.6714695433270687,4c6acf6d172fd43aadfe3b798c4bfc11e89bbf706b2eae0002073dd28ec8272b,7748628ceb097af39bd77162d3e5ef8a149e670691b8a862a80d4b85529e2259 +ChordFormer,audio_span,night_in_tunisia,256.466667,0.6825740167921319,345c1627c7327a6ed04b0cfcfa9cf4a55c19d8773a7f142cc401ffdb4b24a8fe,9612324225bbdba390c9cc63dec25f1f736f6d1aee25a10b1f3449d29ed235b0 +ChordFormer,audio_span,oh_lady_be_good,191.49,0.42117954592765217,4ce7bf60b5a05a1574c39dc7672e99738dc12b068ef58eda88e143747390587a,f3303d12f042979eee7c32465beece7d55275f4e086bf1a0edcf08ea581e99d7 +ChordFormer,audio_span,one_by_one,383.17,0.45143709647172214,f1d69908dd51ea0e4224076eb77cab0270d00d17f3aa35aa76801f52d175f7ea,40b83dd2131b5f6411994837aa824b5a28969d4860f4808f2853c4e0d16046e8 +ChordFormer,audio_span,one_oclock_jump,185.49,0.5730221314625668,63b1d558432a8d6b19b2132fec248ada539fb8933ad221e3246d88ee3e8bfbd2,7624883ae46e0ce92d012e97096f860d87c8a952782dfcb81932ec78dc2efeca +ChordFormer,audio_span,organ_grinders_swing,160.666667,0.6558307230210981,0c7fc2e9e3a192a73addff7cc9555a79dff7f7be8f7d4a3ea91bd19ed10b8783,de502cd1af70ee5cd94653500d35af2b40a5e9f4b32706d8ddc54576e3d6ff74 +ChordFormer,audio_span,parkers_mood,185.0,0.6584380647237027,a10cf284dd797dd58b038afccc4967d9814dba1879bd3efe6a9297ff4f8960eb,62676e4c3eddffb76ea17c922583e74f8ec7fed55137291a8e8661896323e4ec +ChordFormer,audio_span,pentup_house,534.09,0.514568164668444,4ca31232630439dadad528fab34458a389cb4ec45d7cad5cebc7dc80c6ce87fa,a626351af99222d034ef8577ab8541305550077622c00693932f6d2ebed19776 +ChordFormer,audio_span,potato_head_blues,177.33,0.692646900304517,13fc0a114d4c62bf104bfa5494462e3bee660f46adda87fb2d8ba561be8e159e,0d242428ab00db25f8954b8ff02fb31514b4cac6b5b2075e9e4b92944717611f +ChordFormer,audio_span,riverboat_shuffle,190.8,0.7276963685639415,dde3609c7d9eb40ea5262eb1c4989d040bb19aaf3f28eedba81fb58bc4979270,d819657b9cab108a86cd958ba17bce42ad91a8537bb41c8611f71634512174bd +ChordFormer,audio_span,rockin_chair,182.33,0.8103372840340637,f0c5787c264e326ba154f43b0ea4fb0a98be8757d58e22caae2b4eb06fbf0a1e,3168d4c184fd010ae4e0cb4de99b6fe765acfb3b30e76bf5e1834e728c865dd1 +ChordFormer,audio_span,september_in_the_rain,197.25,0.5552093326620384,81e7fbbece867b232a4b85784c92fda68929f2d163259cc5a4abc1409251d1fa,b8e9549325208dbf65a1983b3e82341545dd0d93322ffa3dfc79a3969399b316 +ChordFormer,audio_span,shaw_nuff,183.73,0.13476370991858386,d7ab07f69eb147f347a5aaf6a84d1e7f8b33a899eb725d4df065470e6b217122,95678d0032b2f37d954828412257a68ae1093585d1a729a3fba5b607f2be169b +ChordFormer,audio_span,singin_the_blues,184.546667,0.7433086914681963,f18fb1ada62ab35c7b34dad6919369c6178845a00e26312e4b1d536080a6dc66,bc984c5584214114d2f9739532ccd60bf958e037ccc20f152531104fe43141d7 +ChordFormer,audio_span,st_louis_blues,193.17,0.4877330679551524,3d7dde20976ae7d196d5b5603576c595cb1db7c5c868e3aa611491e9417c3fd3,964c70ab7fcde880f1a43da8de3f0a425d330530953ba0c18b79050f2585440f +ChordFormer,audio_span,st_thomas,408.57,0.5947387377435387,80b2e7beed2e6e5f1e626df247489af6823407ec602393c4e59e2873589353f4,513a3dcb6632100a13563a3b01a5504c889a43b188ec7d1cc143303d8003f08a +ChordFormer,audio_span,stompin_at_the_savoy,315.826667,0.5504191534520477,3dfb3238b5338eae40202db16dc50edc6072266ea13966c3cc7f0e1e8a0cedc7,e01360d03cbb4202d997cd9d67b2709ba54c8e4d0732d601b2f9cbbe56047d5a +ChordFormer,audio_span,struttin_with_some_barbecue,182.866667,0.7355791567773073,52a5b54ffb982a8d719fdc78bc9f89f43eaa9dad35a17a19eae13a651e8f9f82,b263e7b21e2c774291499701045af08c248d56a6f266c001231eac3b0af0c678 +ChordFormer,audio_span,subconscious_lee,168.4,0.5684929791389546,12436fe515f340fe78f9bc8d2de855b84c1e905f8cfc277ff753aa5c885c6f47,206b6b096b0b8fa2f19c9ac4d2d7b2caa9d4c4efcf1592acacadb83138ab855f +ChordFormer,audio_span,summertime,198.29,0.5616825444803066,270461b1bf103c69c780910d131e40aaf0bc036d15ba3ef4c6e87ffe5f18808d,2c92d887e7a8da18a45cb2247b663b80024cd212621670d97233e6317751585f +ChordFormer,audio_span,sweethearts_on_parade,200.53,0.8639675152225068,6c133352fdb4ba379af2ddd7f7d009acdceed610cd32c164edadbb3e2aca7d93,2723b0ad9486d52c86398e2851a8e7a00a26bb2297f8e687721000bf46cc90ea +ChordFormer,audio_span,swing_that_music,174.066667,0.846139724927813,c993a794edf7eb5dff20de580b4db53b1ee23519b26382ccbab99efa1ecc540e,e4f4a1f9f3a082bc67303b27ff207920b957d840f6172bb76e436bd285d7b45f +ChordFormer,audio_span,thats_a_serious_thing,212.746667,0.8109298687986322,f184bb0ebfea68e5e3e0e688dc4af638725e6cab231dda4e80d588190ec9919f,35f16f88879b5d2bd88fbad56350381dd03e8e143d19848693090a59755ac19b +ChordFormer,audio_span,the_golden_bullet,150.04,0.6598780007731271,e098d8a49cedb2db3e00514834fdb1fa64d11be61cd5692a172f5047392f7064,c89fa896728db386eb65fe9deb9b912a83590b0ff960bc9e0d8453ffa0b850f2 +ChordFormer,audio_span,the_man_i_love,309.426667,0.4399215064266269,a0a766ee041340f5deb54663950d142e537ed3b2c1821f27d50f0b4227250162,f7d6ddd771bd0628fb1165bb0cb8f84203dbc2c965868fece4447aca2ae615a1 +ChordFormer,audio_span,the_preacher,259.986667,0.49969742125513955,086cdbf7d2370cf71c09caa6121d070602bf7c7eec5f476d7a75fbc377b176b5,d4e3173ed74617f2ad4769d4f2b570ccab21b5e6669cc828e20dd74216859cf8 +ChordFormer,audio_span,the_stampede,196.41,0.6425712920165394,6ae9cf053d2e446ff119d034993a665d37b246c2504da7ab8281e622015352a9,d44ec2249fa6e4d827f687b2ac6a9b768d12d30a98f3c27cbc37e6339c762828 +ChordFormer,audio_span,these_foolish_things,217.29,0.6715416336255446,de11cf01fcea13565d5261338408b276fdf5e2a5a061b6fb2f1d2dcffb4a902a,3953078cf6671f2440fd4725a7b7ea7e1c2f3db11117e95a4ebc3a83cf959c73 +ChordFormer,audio_span,tricroism,276.8,0.5620406133065761,2a782672f7ec3ed5b7c2cb58806d03f03953532110b52f7adba77ae6a884615c,0598f596439519fb7482053184015f28a51289c515889ef392da087d393831de +ChordFormer,audio_span,walkin_shoes,194.65,0.2608343222585925,c3140fa34903cd7ec9fd598c68c297c2ecf4c1b1f6469cf5094dbcdf5de89759,6319028133296054316828206b6034341f8907a16d65b6f3fe67ba20a2b569ae +ChordFormer,audio_span,watermelon_man,391.706667,0.8014911826926958,8cdc9a191efe6f8d342a9fb502a430d78f984e779eb3c12b2a820002f0280366,060a76833addefa32c16f095b4720fc86839d8a0195a12099fc7a3ca831fce7b +ChordFormer,audio_span,weather_bird,164.666667,0.6558635393218585,b50d6355de93a4ed63e95c107c927ffb5a21f585b2199852fdc4afaf3eadf801,250ac43d6ede8d2e116be57bb04ffebc6c7ab1c502be5c9901170cbdca22f853 +ChordFormer,audio_span,west_coast_blues,336.466667,0.5637931341056139,7ffecde1ccaf56f3848e6d6b2778962066c7e1fe5123decb5ee848af9c302c10,f8c77fcc6fdc77297d23138be5a89e318ad555bfb2c8f047483064ca005083ee +ChordFormer,audio_span,west_end_blues,201.29,0.7996613082160945,adb17158798f8ed57d3f2a521219e51f82b75a84f48efc0ef72ab5e2b04e34da,b8f4d27cc584ae4b17ca004e469033b33e69b63606e2d85747a6e39013939b95 +ChordFormer,audio_span,when_lights_are_low,134.866667,0.3464558847586456,35041d770632fed44639b7f59800328ae05d3ad54a0110c53894148f9c95aa43,a6291fad2d3f3727f25076c72af669cdd845f40b9d7315980ff4a1f39efa8372 +ChordFormer,audio_span,work_song,309.48,0.23457662956237585,66d51737ed4c64f1dad41aa83dd3a63a9eeea627d26ea272ead0c220db30f3ff,35d35ff5a50727175c6190f27898f129196f6b6bc617a3ca1a22bf8b254e6d05 +ChordFormer,audio_span,wrap_your_troubles_in_dreams,153.72,0.5390465732705688,6e4e6e90801f92e044bdf20b1044f6630750d8f996a4eaa793a89580210c373c,09c14bb0bb50177c357aff9e1c4977007b0ed32b50f3a1ec824994a00b6c7693 +ChordFormer,audio_span,wrappin_it_up,161.53,0.6415939886969678,a2f8b4178a82dd612175c5a90f566ff641fe7888d5f80b26af16eec4aa82055d,f7d724c8f73a8cfeb038c33fdbd5d8889ce8168a1ac4776fb86745f40b9902a0 +ChordFormer,audio_span,you_d_be_so_nice_to_come_home_to,170.906667,0.3983393338243757,a62ce787ff63779267f7a7105ad7e759addc797c45145f7f7e3244bf68c6949d,0c7bb038d236ca56c5ecd7424a6090572ce8f627bd036b06db2f719224157ee4 +ChordFormer,official_span,airegin,255.59,0.7562444281769983,d82603f42c662db468f867452ffd902f043cb9b1e7bd4a61af78189852c44f90,6e9f9508bcb79c2028165bcc011b588549ed19345cb8cb0f06574e3baf1298d8 +ChordFormer,official_span,all_alone,142.53,0.5386986615728065,3fc248246afae06d81f69861c2de36b6d243c32db103e3237a77c7cfab5c1ae6,f0745989d240da16b1ee7ba632ada87975c90d96b248f93d5b39988a0cbce926 +ChordFormer,official_span,bags_groove,173.27,0.5123872445662843,8021c18f9285f439277208ff7afefd2d01a30b533223c91b43c18bcfa1831210,2658d12b95849f01846257618bc6f3f8e13eb5999d967246acb8c7f274b760e1 +ChordFormer,official_span,big_butter_and_eggman,180.8,0.7419280127728696,d4fcf0616fea89403344153a3ccf2149b78fc5f920505c0d71612bbc0270469b,4c7dfea4899be0e34573c3053f59a8513f04f0e5bda47c4d99a3e20ba87c4b29 +ChordFormer,official_span,bikini,218.56,0.7177907596741935,b5d8b48d891f88ba63c73a9cb4270322824ae2256ef7337021ed6ff4ac392c7f,411c7cc6a3c48f029b6f253629f373a7acd49d0e20f9de71ab6ec56851d0b76e +ChordFormer,official_span,black_and_tan_fantasy,190.0,0.7489354897069034,b5df0743ada397047d7da733c5199c0d4acd0495621e05ed0b97fcd59b976c5b,bd33b5d182c407c77ae701e7f9a60b5c4f9cf7a09f602512c6b233b758fded49 +ChordFormer,official_span,black_bottom_stomp,196.11,0.811734654236832,cf88b270d505ea96d5d69f6b9248d551d8ef23f1db652c5aec29227e42ef1d97,65d3bd286db277736ca232fda43f8eb50b5d63bac2d051b431e382e6328f8b72 +ChordFormer,official_span,black_water_blues,200.71,0.8347913659359274,6dae95a38693ccdaab8b605eab8a20dcfb3553b63ede6e1443c8146d45e617ba,29d2653eb3b38551051468350eb4a6136c1f58cac178f220a2fe803ed291e7e9 +ChordFormer,official_span,blue_7,674.6,0.6970097674488582,cbf822c00f64335c795f907199bc49aa9d724baf220e2d16e50c55a538b12520,9f7d3eeba7bb25d4c06857a50fc74f5d288d4e86a838a1cbbd5caf82ea2b74d6 +ChordFormer,official_span,blue_horizon,268.56,0.8347346087727134,57e7064f4495a3e29a366d991032d0387143a17928ba3d91b5d98da24ad5a1ae,cf5c2da979e317f070ccc9f325f47a166f4dc9c856da08b024981a55eab8eba4 +ChordFormer,official_span,blue_serge,205.4,0.6142405219747586,1ab2b26bdeefa76a5eb0c134d45fb7098d5ed2c002840e154afb5a1e6fdd9fcc,dbbc2eda5d394d6a1e22e6a2201fe91f5124b3645262721bd301b48d823d7854 +ChordFormer,official_span,blues_for_alice,169.06,0.40761467002151863,f4784f5d08a456f1914cae139eef518a18002af6dc0df2ea68afdca7da6415f2,fbd093a8996d6c4f8171a4ea062374730ad95322d5d827cfc05354a9bf8a9b42 +ChordFormer,official_span,blues_in_the_closet,545.27,0.45009481042419286,66bfacf7e6b32fdce8d26fe7a565cc9ecad38cc40b7d59b4e078c878b3db6c38,24f301c1fe65dba4474956769e3ab70a8631f474331b31db64b494453d955b2b +ChordFormer,official_span,body_and_soul(goodman),211.03,0.6464064963984595,08b0594d54da1001135b90cd0eede6ae2a445348708c9b4b94bf69fe05158fb2,d35fdad26b131f516188e9f606f801922c161d6a52c3cc7d1b1a0101848e6de6 +ChordFormer,official_span,body_and_soul(hawkins),182.73,0.40880693319460104,9f1106154311303bc72b33fac1574c72a2a2d7b111c9dce1505a85b1739cf1ee,37b17a85b7cd0b5fb4247c74a9c5cb8502176eeb1f12ce723b4191bc65e31d20 +ChordFormer,official_span,boplicity,182.71,0.36179604876053545,cf3d5c746cd79d8472efc3173e00f95b1fa6731b910e0800b50b365c506e43fe,3c6505b7bc7b79aa1682f0136518c3daa60d17e95930047587224663c703b3c0 +ChordFormer,official_span,breakfast_feud,140.67,0.5875833203143892,120196eb1bc6c6a91d3ae5db4beaf3c6b39f7f3f588d4218055a6a86dfa5430c,dee9563153caef78804c7d720757a407fb5cd308f7818581dce572320827cfda +ChordFormer,official_span,concerto_for_cootie,199.87,0.5739847517920684,e8e02e4896189c6a70063ffd440369dff69d261c06086ad2f1e803d4f52c1bcf,d3eb92357d9f128b399a8cd408336fb727994d5908c0fb54e52fb44e16665bbc +ChordFormer,official_span,cotton_tail,191.6,0.30722708503193463,8e4f92e2f425571750edef0d48cf94cca651f98678bdb02bd6a97e1d9666ce25,a26e0fc29cef46b552d527144035e22c245eadf048dc530ec3040bc73406d0e3 +ChordFormer,official_span,cotton_tail_fitzgerald,220.92,0.38870816199404923,1359cd76c7198d9be74b96815798900f6b4bce2a2c1818c135448018577186a8,e445ea39ead3a16fdacc5021e0858e21d4d84acab760376f7d4b327e01a38b7b +ChordFormer,official_span,crazeology,179.96,0.3863823840044157,5d26ff571e91735cc58c2f2c1d4ea689d75a50de74b3bec4bdf3de8081bdfa97,d3217328fbcb99231f73aa4fe29518e4b451b8e46cb967f44b060fb20360d2b0 +ChordFormer,official_span,daahoud,245.47,0.5331394030694668,fcaca5d944aff1d6b1d52d2efbbf4e0f9744c31180ee7dff7020ba99cb7127b7,4bd09e6669b11ba612d3896f7558c7376fcf56c816d56bf5f5013e1d5f777e28 +ChordFormer,official_span,dead_man_blues,193.87,0.9026803032238097,f42598f9a75644706a080a53c8cdfb586b3b1516651275b1c1d0b0fae52a2d9e,b3156f8eb00af2e57d2ce048f6aafaf6e4d1f5c437372c4009274b4202f1a1fb +ChordFormer,official_span,dexter_rides_again,196.73,0.5726855744278139,c8c38399639d3299e4dea5a6234c8572b0a212035e51709a77dad97078fce4c1,c7cade360f7d377ed2fdb49ec7d5589c245ea730a39044e525fd6fd9475c322c +ChordFormer,official_span,diminuendo_and_crescendo_in_blue,360.31,0.7189353018135033,262098b42f44e9665735e557b428ae0d4e420c6c199275b96eb4cc3179010c7c,23d72706a5a1ed9d6d0cb6102540deaa4452b51377976d8b652704f77abd38f2 +ChordFormer,official_span,dinah,155.42,0.823161121900363,b36ea480b1ba01f85677074139e828319df26a16e403b7979277e9be7e360345,e75bcc33071573f434095ac13b7b9cc493abdebb9ccad9fa6deba5ee314e66c4 +ChordFormer,official_span,dinah_fats_waller,189.63,0.7917032334086156,3c9e1affcf349949109100193685235b0808f8e8e4ab797b8fff2f3e81c2e884,d11cd7e824bef9655c7bdcd66f2cb93c6d4ac54e76a95568739064c7b1b820fe +ChordFormer,official_span,dinah_red_nichols,195.44,0.7984161327363898,4aa3d8e7a0f1e68eee810e82feb9571c722d1bb90ba1622fcd8703d0bf33de6f,31409ce2d65e90e018f36a9f311156279fafc7668bd1df3e9fd1fc776c3f7ed2 +ChordFormer,official_span,dippermouth_blues,148.93,0.6058790157399073,0f29dab960063d6c35d66aacbfc38579d664abbc908bfb87fe9937ca685ccf2e,a027636a936230ce831e34981026bfc623e60ed40cc2e9a69dbc35c7f220b947 +ChordFormer,official_span,django,424.93,0.7774492771089412,d327992236405c8350190ea9deaa6eeab2a33e48434d61f346e9f16dffbdb66e,c8c5ccb11785faad70ebc292cec474c14fb2de36b545d1b57d7383e4d6af1fc0 +ChordFormer,official_span,doggin_around,180.51,0.10189183054124429,a3b72017bbe2bc432c90874fbece7fffc4b93157162831657b90702e8de24654,f194935aaa4be653067f12a7b570de2a5e7780fba240c5b65a877955210abc31 +ChordFormer,official_span,east_st_louis,219.03,0.7630136130512786,e7f2b7bcf31829586b80a8db03cacc61f64425b21a6165df08c08e8ae79bc51a,6f80c4c73687ac8dca5d18379266a32515b4cbc56757b49cd308807234a5c4d8 +ChordFormer,official_span,embraceable_you,227.96,0.5411173510091383,97fb452cf251bb44482375bf2f005c7799c51c005baa205bccb8fa20931b30b6,2644b9757815a5c22dec84054f3c1164ca63aa5e0a9161bfc492a94d4b738898 +ChordFormer,official_span,everybody_loves_my_baby,144.28,0.8853230267988,e4d4405c461e86cf347322b45a57d6b312f1f86e9a0d3018c5637e9d32e962a1,f3dd3b48280371984b1f3e062d8f57c1062fc4cbbe4d315b9c161f8d2551e0d1 +ChordFormer,official_span,evidence,154.73,0.21214016213838277,d3dd2290cb5a6241bc485aa597e607a6f4bd3a9546b892b84122dc3b307855d8,9f2d9bb54012533c224bde41b18ee8da60e1c1a0ca7821ce248d1cc53019cd8f +ChordFormer,official_span,for_dancers_only,161.49,0.6182349800801853,fff8e3625e70566a16c194125b2efc618057aa9c89b6d6cdb2e7dda5c4e8e84f,dec4ef1bde083fd339552ab8b95af7948dea004423a32d380e07be47ca2feb03 +ChordFormer,official_span,four_brothers,198.52,0.4248598952446623,51cb4a70fc7a609f61293b18deaddb3687efac49a19cdc59433b5a8c43dec3b3,054ceaa72b00ccd1399b2f18e031087d9d9071c977986a43879ed4dc65a5388d +ChordFormer,official_span,four_or_five_times,194.43,0.6136029757591208,c6912d1e884b25435f14f6de8f53013617c39cffdc761f4deab9c936b1c93d0e,785fa02f085ec6b1a8f9b4fb698a83ebf37796130721bdcc981a9f9cbe89f1b4 +ChordFormer,official_span,from_monday_on,183.13,0.7461028886925586,6213373c75d3d42669761692cbfab2f918a48978957fedd67f2fd9907ffff0e2,c67191141121a2288f875f5e6d90f0b0e5368cc680c2928c1caed8073eca6a09 +ChordFormer,official_span,giant_steps,287.4,0.41681310428322793,a1f39c2b4ee3e9226fcb8011f36073da5d3fe5028cb22f6a916daa3fbbd1c59f,fedd1d28c455f6817280f9348f550ec71fda71b53b174eaf1f10f9a5d62192bf +ChordFormer,official_span,girl_from_ipanema,326.37,0.8714675410434887,5e9a701ce11399ed29ca1526d6e88f69a67bcdd149204e6456cd7b0cb0a457ac,70743e10904c0b76b3d711a63a0dc964cf6267015573d79145f20792124b7dd1 +ChordFormer,official_span,grandpas_spells,175.36,0.7703332693777832,f6a550114f44c30f54bb22cf95a8e1534571281c7e00b865ecf0fc0caac570fc,b6fca9badd94819b751ca58847a6e8e0ce7dee50dfb2af60a07403d44bfa3404 +ChordFormer,official_span,haig_and_haig,271.61,0.39670574700686545,71afacf354c5e2eb76a965ac9a7609d86c646e41c51e2084ada2b38bc9ad387b,a7517198f19d66c2f1c01d8058455facd0be4bf997596d5cffe27dee11ebdd12 +ChordFormer,official_span,handful_of_riffs,187.85,0.7190160749235814,9fb5748e19f7663707435d950b5e7cd240f5e0434bf9af808310ae26595102d5,6a748b63282b38494b8fa31f47cadf060db297db1f804ebf467b08d4aaf2bf4c +ChordFormer,official_span,harlem_congo,195.89,0.5884860127148335,4a7a206c59d3ba47e90dd491df6c917b2f4fd53ac0d9f9e538b52541bc4fb627,0ddc9ccbb5a8a6689b646a9d5c85ae10c54a6e1c498d5e6b7ec643d025efdc13 +ChordFormer,official_span,he_s_funny_that_way,160.71,0.7311545249210167,e29bd57a3ef38418ec1c9e982aaae3afbbf8a493baaa751e184fad2e391047f6,9c17961a687c592204c03a764445c1b4ba0660bc374ecfa90e224e45b373cf37 +ChordFormer,official_span,honeysuckle_rose,185.97,0.5455875319320576,23150cfab53a2c84a130b0dcf04e3cb399d0216a97e709369caac373aecac53e,5be142a6a9207ea83eb55d5dbdade7f55ddf2f659db93c5152dad9a2b02ac6ef +ChordFormer,official_span,honky_tonk_train,180.39,0.6480460136925548,479f9fb8f10c8d933ba4be0a64c288e187a6d058c91574efe4fa3d6736680f95,664952e9fc0749427bac64808b762356ea5f6c62b74de2ee72bc496b3fc5b63b +ChordFormer,official_span,hotter_than_that,181.49,0.7275229980369976,5fac0d0e35552b33fe480a306949e5b9d73a05ee58c9c312ee176d1e0187fd5d,569193855f2204cf216a9a7bc3a48d762d5400fab16de99505bb21e2aec6efb7 +ChordFormer,official_span,i_cant_believe_you_are_in_love_with_me,254.68,0.5778316981074285,f9b8b063976063453d123b0029e7f87069104a841794a0b5aa0ac22af21b2b69,e4ceaa73a7f1bb91c43270cdd5d7ae3686554b3632e7cda1afd88101a916640e +ChordFormer,official_span,i_cant_get_started,186.16,0.7935866831848549,23294a9637fb036ef809c332f8ba3fc431ec97898371738df350a20d28a05495,a7de658f791712f83426f4b49064a139fcc003a5aa8f4fc54557337c5ae49030 +ChordFormer,official_span,i_found_a_new_baby,176.53,0.7966680167053756,e1593e5034a52b2145eb0ce6254766e0f7509346b618dfa6a44ae21e6c015909,4665ce812c74c8acfc4bddc44dc00a4afcbf1d7c6705a2bd99253061026e9261 +ChordFormer,official_span,i_got_rhythm,304.84,0.385678450802854,887fda165ea6f8fc2288ab27a7086c0a3ea5d965d3474ae5d1c6b3c281ad3566,be0c231dca93aa246e2e231af2cae607d971c735b90e503ab35fbfd417a3e244 +ChordFormer,official_span,i_gotta_right_to_sing_the_blues,183.6,0.40819005119438234,8c892a885778f9ec6604081fe716c05092126139cdca800808ce634f5a67f4b9,c634fc5dc1b22338ccf1bfe211f6bdfa48ec794164d9125d5a7b79cff0f8b1c8 +ChordFormer,official_span,in_a_mellotone,199.27,0.7659589193369879,21cbee011074a79455adb7286c586d26aa92daa6984b891211435992b2d48bfc,d67cacf9cc23fc7a8021072eb6834f6a536f98a39936baa432eac3bfcafc6d1f +ChordFormer,official_span,in_gloryland,183.64,0.304728614724461,669e00bb4278378c2580d4120ca44e2e6ff7c360e7be4e76119480d2214d2f0c,1e41262bf11bf79dd4189937016daa85c16dd4015b2a0f30e7220c0b603f72bd +ChordFormer,official_span,indiana,166.15,0.41189886613167787,72449765911488fadb5063e771250201b569fb95a0444703c739ea04c21d6b4e,f214fde3796f6c7389a11e7fba64ee5b2a347d3879ac429ec244bac692cf1e7b +ChordFormer,official_span,isfahan,255.04,0.6814470618410626,7777feb2f088b0ccaf3f9e29c7e0b902ef35fee7bcc1a98ac7b7d87d09619750,4a51bff8a42d705272a3eaaa9d322bb7f47c95b4992f3c80ad065b295313d6f3 +ChordFormer,official_span,king_porter_stomp,176.67,0.7138211285838832,65b57d9b9eb7c745399575477db97c13b8dbbb713ece13b6d6084d1eff5417c2,66194287a26776cede0b3dd5b30d09e4c2f22880bd7139f11cba060f9504f7ba +ChordFormer,official_span,ko-ko(ellington),163.27,0.5695704304036256,3d5d0126a5481af5a1eabdaa3fb07e89e9c7f5396cdf1d781614c156e721edc0,689c4bd626680feb97ac4ace2b45bc72c3e667337386fa1329dfcbaf0a1f9f08 +ChordFormer,official_span,lady_bird,173.99,0.49764608413701905,72e27d98163ba9a0dc60076d58d1c0a9925bfba4bf0c4b2ff1bd364aa6d62771,77edb4ecbb10c5bbef15b9aa062c6bdf3c5426813aac2f965bd6a0ee80e643ff +ChordFormer,official_span,lester_leaps_in,195.37,0.27967359129460634,5097550d91ea58a1e9d13922cfa88a1e8c440bde7b22ecf3e6c7a9869ecba4dd,35d4e4e590d909527d2ffccc468f9a1902b5f68da319a51ec6d10d5a217523b0 +ChordFormer,official_span,livery_stable_blues,190.64,0.2555990522525363,95ec3f82a418fb4b889fa452414a5a9afacb7623bcf9f60f7c63f1b0a5c31124,ad24a02714a12d783da4a8d6089bb6390491ce9bd2b24e192fa7357421b121f9 +ChordFormer,official_span,lost_your_head_blues,177.2,0.804046185823928,37f6236ac46e4050d20929d2ab29f49ccbc793b6f802f42f73a6db9f80d406b8,e0aee8ff1030be47e96b09ca3378fb76ece3fc62d338139c4fe80db8f3d5ebe2 +ChordFormer,official_span,manteca,189.79,0.7020241630313724,8f7b88b4eb1a5f5eeca76d1b5ecbbccb8c7b0e840a29d7e78909e3e3b4d71b57,e98b2b35c18ad8e4e8cc12f7d53f02cc472cdf02e76e2d658521d4b45b269fd9 +ChordFormer,official_span,maple_leaf_rag(bechet),179.44,0.5629588786868804,b2dd621d6352b1c8cba849af9cf95fbd757d39073306d17bfaf498ffe8cbf6fb,0ae90043cda7fce87cd95a733cbebc3f2dd3880882c4fb55792ac9d67e9cb299 +ChordFormer,official_span,maple_leaf_rag(braxton),220.51,0.7155647826380844,51d50cc192a149acf183d9d4f4374924774420e3c429b6ac27c1c057775fe5c1,75af84364507765458154750bd9f2bd8e71f7604fac6666cec34ecb6f743aef2 +ChordFormer,official_span,maple_leaf_rag(hyman),149.97,0.8371684167434825,4aa57d25a5cc86c4142b1f44f910a8c3b8018e89a87be2f724cacbdd650879b6,7b72dfae8f77bdcc936ac095d33507dc37f71488f5bf976f549965ecb65abbe5 +ChordFormer,official_span,mean_to_me,190.88,0.7467494706415421,856742295b9cec13e961d9a009f5d82a6da255958a8bcaeb6bb0566dd50a1d3c,70c96a6662b59447171529dc48f3fc05d5c3ee0837d7d941d00eaf5dbcfe16e4 +ChordFormer,official_span,minor_swing,193.816,0.83899017016139,ed4119718266da0bd2d45ed168487f7e0191eb62fe17f47376052e7c79491a13,4dd44fc15830ee98db1df7fd2ab08eca7325bc9847d20a6dd92b325b57cdb652 +ChordFormer,official_span,misterioso,204.55,0.5206333686286972,4d8d815e2288cd3b12c2fd83d1ada3b949e79d3f82f47801b989865e7f7177e5,90461595d8d36309f3fbc6285b33ebb41cde9318dc5c6a67d5dcf20e11d8ca05 +ChordFormer,official_span,moanin,576.8,0.38830963200043367,045d74706c36df97da9536591eb9d968b7de28ed502f82d9b3b7fcbcfbcc7805,a381ad9d877d58534f5ef1fefeebbe94b0d457162f4ba5067a4c38b000b471fd +ChordFormer,official_span,moten_swing,205.88,0.3319141852684511,e464967afaf15905d955d36235c50f16c120a2aac63d5a2ab9d7fdd9455d6809,0d0338d509e7ef1bdb8b1775820395aae832565b1517d97ccb30b3b7152feb18 +ChordFormer,official_span,my_favorite_things,165.63,0.5266326424397308,796d915eb56cb4b6b6649df160c0270ef30d477fa0987d8deeac60ebfd1beb7a,62240e4089133e93de6eb3f331a0c9a4d68548c0c6c70c1ee9c5d457fd79ee58 +ChordFormer,official_span,new_east_st_louis,180.47,0.6714783518864129,4c6acf6d172fd43aadfe3b798c4bfc11e89bbf706b2eae0002073dd28ec8272b,ef2bf1ac5f9d1598fb9ee13dc016a48f458ef1fa0a8eb0fdfd43959d6664808a +ChordFormer,official_span,night_in_tunisia,256.47,0.6825786155089973,345c1627c7327a6ed04b0cfcfa9cf4a55c19d8773a7f142cc401ffdb4b24a8fe,0a295ae2a1d3599569ddc2eaf01199243a818bf55d93ebed03edf475a8f0585e +ChordFormer,official_span,oh_lady_be_good,191.49,0.42117954592765217,4ce7bf60b5a05a1574c39dc7672e99738dc12b068ef58eda88e143747390587a,f9bd28b24dcb548664fce2e998ef8b57e8e7285584211bb02009a9dafbc9a7f8 +ChordFormer,official_span,one_by_one,383.17,0.45143709647172214,f1d69908dd51ea0e4224076eb77cab0270d00d17f3aa35aa76801f52d175f7ea,acdf7d904f2ee8e64d83ff46ae9326999692f6aacec6d99c08877061dd3ef776 +ChordFormer,official_span,one_oclock_jump,185.49,0.5730221314625668,63b1d558432a8d6b19b2132fec248ada539fb8933ad221e3246d88ee3e8bfbd2,978dfc2d3275c0ffac3b35376a9cb2d7dadbc023a0bb8c8987ae701955186dc6 +ChordFormer,official_span,organ_grinders_swing,160.67,0.6558378626003609,0c7fc2e9e3a192a73addff7cc9555a79dff7f7be8f7d4a3ea91bd19ed10b8783,41b9552f2260aa4bda93c71e439fdf74b67460be08b965e75703d22e3cc1424f +ChordFormer,official_span,parkers_mood,185.0,0.6584380647237027,a10cf284dd797dd58b038afccc4967d9814dba1879bd3efe6a9297ff4f8960eb,17babc6d78f2cd590504160f27af4540ad628c339625f0818a20813bc60e6c06 +ChordFormer,official_span,pentup_house,534.09,0.514568164668444,4ca31232630439dadad528fab34458a389cb4ec45d7cad5cebc7dc80c6ce87fa,9e4c19e4582a91e7301a2e3b69f3a4ba7c69adfa391bc17f7363adbda0cd148d +ChordFormer,official_span,potato_head_blues,177.33,0.692646900304517,13fc0a114d4c62bf104bfa5494462e3bee660f46adda87fb2d8ba561be8e159e,6d4968c2703ad6ff9f221d3ea594c5b1280fcb4fb1fecde3df24242ee3a4f22c +ChordFormer,official_span,riverboat_shuffle,190.8,0.7276963685639415,dde3609c7d9eb40ea5262eb1c4989d040bb19aaf3f28eedba81fb58bc4979270,bb91df1b62b29268c0a392d8cd35d4df18396abdbd6ec74bfec4c330d7cbe917 +ChordFormer,official_span,rockin_chair,182.33,0.8103372840340637,f0c5787c264e326ba154f43b0ea4fb0a98be8757d58e22caae2b4eb06fbf0a1e,205bf60ec25b189688a90e61fd07a0214d2f4c2131f3640d8838230cecc5c528 +ChordFormer,official_span,september_in_the_rain,197.25,0.5552093326620384,81e7fbbece867b232a4b85784c92fda68929f2d163259cc5a4abc1409251d1fa,5a5788ce64a21907f23129abb9f1c51de67c48dddd86a220c262a6e86272e2ee +ChordFormer,official_span,shaw_nuff,183.73,0.13476370991858386,d7ab07f69eb147f347a5aaf6a84d1e7f8b33a899eb725d4df065470e6b217122,abb51e939462fbf676233bf8e0891a3048106078374ecc62401f1933f11af8eb +ChordFormer,official_span,singin_the_blues,184.55,0.7433134681536485,f18fb1ada62ab35c7b34dad6919369c6178845a00e26312e4b1d536080a6dc66,11e51083e258557d3b8a8b915331cf9732fd05e6cce8ee18fe9e80eb11257ec5 +ChordFormer,official_span,st_louis_blues,193.17,0.4877330679551524,3d7dde20976ae7d196d5b5603576c595cb1db7c5c868e3aa611491e9417c3fd3,8582574570aca4713e97470c1f0d295f5b76aa8d31bef1703f1a101028d99614 +ChordFormer,official_span,st_thomas,408.57,0.5947387377435387,80b2e7beed2e6e5f1e626df247489af6823407ec602393c4e59e2873589353f4,afc1310ffc6a980a13a8c44c66baabb1a70ef0d02565624e02c1284cf411b226 +ChordFormer,official_span,stompin_at_the_savoy,315.83,0.550424420792323,3dfb3238b5338eae40202db16dc50edc6072266ea13966c3cc7f0e1e8a0cedc7,1f22185464d5033ac1ec65e168eb7c0266c5831bcf37a35791e8b078a025f480 +ChordFormer,official_span,struttin_with_some_barbecue,182.87,0.7355840413013358,52a5b54ffb982a8d719fdc78bc9f89f43eaa9dad35a17a19eae13a651e8f9f82,ff117b2c339352231d5a835593f6571866f1b7821e525effd69ef0096c95f1d1 +ChordFormer,official_span,subconscious_lee,168.4,0.5684929791389546,12436fe515f340fe78f9bc8d2de855b84c1e905f8cfc277ff753aa5c885c6f47,5de92be2c7967b2ebcac05fcd169b95b69a9bbc97559c100ee485f3507dc4016 +ChordFormer,official_span,summertime,198.29,0.5616825444803066,270461b1bf103c69c780910d131e40aaf0bc036d15ba3ef4c6e87ffe5f18808d,d361d2219650fd6e503304554497d78735f70a6933d817f3b9f1f5bc460abb0e +ChordFormer,official_span,sweethearts_on_parade,200.53,0.8639675152225068,6c133352fdb4ba379af2ddd7f7d009acdceed610cd32c164edadbb3e2aca7d93,a42a100a9d9fb363830b2e5846c819314eb696208fc5faf64f6d592ace89d755 +ChordFormer,official_span,swing_that_music,174.07,0.8461428629543508,c993a794edf7eb5dff20de580b4db53b1ee23519b26382ccbab99efa1ecc540e,5d1c043d11a6da68f3e8bbc61c70b70259f6a9316d2de00c21bdfabf07024a82 +ChordFormer,official_span,thats_a_serious_thing,212.75,0.810933093828045,f184bb0ebfea68e5e3e0e688dc4af638725e6cab231dda4e80d588190ec9919f,3dedee28c4041fbeaeeeb9b05da5293a434c2f21290ccd0c372d02b0d781abcc +ChordFormer,official_span,the_golden_bullet,150.04,0.6598780007731271,e098d8a49cedb2db3e00514834fdb1fa64d11be61cd5692a172f5047392f7064,939abe7ab5c142008ab747dd11b75a7a0739c7f16dad790ef0bf76064cc09fc8 +ChordFormer,official_span,the_man_i_love,309.43,0.43992813312744017,a0a766ee041340f5deb54663950d142e537ed3b2c1821f27d50f0b4227250162,2b91ba86fcdf9cd55702b02820776edda77c38b092ff6d9a73edd58f3f267047 +ChordFormer,official_span,the_preacher,259.99,0.4997042497092548,086cdbf7d2370cf71c09caa6121d070602bf7c7eec5f476d7a75fbc377b176b5,76fbdf8bdf44ed1d21443a95b396b09e38ace69061df1d5f10860952cec4a171 +ChordFormer,official_span,the_stampede,196.41,0.6425712920165394,6ae9cf053d2e446ff119d034993a665d37b246c2504da7ab8281e622015352a9,93d8531f10d004492139a066630a650867505871ef106dd84f6d645ebfd00cbd +ChordFormer,official_span,these_foolish_things,217.29,0.6715416336255446,de11cf01fcea13565d5261338408b276fdf5e2a5a061b6fb2f1d2dcffb4a902a,17ded81b42ef27106ea93dc8ca07cc02b494cc8420d95ed1f5c4d1bc26ba813c +ChordFormer,official_span,tricroism,276.8,0.5620406133065761,2a782672f7ec3ed5b7c2cb58806d03f03953532110b52f7adba77ae6a884615c,5c1bbe6a44967e0be3daf05ced504f4448cb6146da73101790b4076121f3e94b +ChordFormer,official_span,walkin_shoes,194.65,0.2608343222585925,c3140fa34903cd7ec9fd598c68c297c2ecf4c1b1f6469cf5094dbcdf5de89759,c18115282296f4c464b7c713374569fa09c5b53f81eaae19e3d0817a8d71d510 +ChordFormer,official_span,watermelon_man,391.71,0.8014928925957507,8cdc9a191efe6f8d342a9fb502a430d78f984e779eb3c12b2a820002f0280366,e14e211f1d26a3efb176f327065672307d26c7805d97e777b22da8639855cccf +ChordFormer,official_span,weather_bird,165.67,0.6581041847955873,b50d6355de93a4ed63e95c107c927ffb5a21f585b2199852fdc4afaf3eadf801,a5142148f560e77cf145fe03d3d606b694c62fcfecab862944d3c1a7f38736be +ChordFormer,official_span,west_coast_blues,336.47,0.5637974550777185,7ffecde1ccaf56f3848e6d6b2778962066c7e1fe5123decb5ee848af9c302c10,f2463af772d1325147bd48372b2bfabd907c59e7c9ccc169c19e244d426b5a0e +ChordFormer,official_span,west_end_blues,201.29,0.7996613082160945,adb17158798f8ed57d3f2a521219e51f82b75a84f48efc0ef72ab5e2b04e34da,b5372651f21f04817ccc51b275c57d435f6a13055154fda6d54e13e32e136bb8 +ChordFormer,official_span,when_lights_are_low,136.29,0.3535654147661266,35041d770632fed44639b7f59800328ae05d3ad54a0110c53894148f9c95aa43,9c9a72c8762564f65c25f23327b41f6ab9442b97195e7678315b71d2ae95be9c +ChordFormer,official_span,work_song,309.48,0.23457662956237585,66d51737ed4c64f1dad41aa83dd3a63a9eeea627d26ea272ead0c220db30f3ff,554f51026486158265d23b591f3a8d621d4f46d98a61d40db4b349b095c38e0d +ChordFormer,official_span,wrap_your_troubles_in_dreams,153.72,0.5390465732705688,6e4e6e90801f92e044bdf20b1044f6630750d8f996a4eaa793a89580210c373c,61b0f075b57a1c8cced17618ff9d00e2d79783f94c91f464038935d9b7a00f52 +ChordFormer,official_span,wrappin_it_up,161.53,0.6415939886969678,a2f8b4178a82dd612175c5a90f566ff641fe7888d5f80b26af16eec4aa82055d,dc3bf9685a7b9e7a143fe8affbac7f338d88721b9c15d7523d966a27426698e6 +ChordFormer,official_span,you_d_be_so_nice_to_come_home_to,170.91,0.3983538148685724,a62ce787ff63779267f7a7105ad7e759addc797c45145f7f7e3244bf68c6949d,12b328ee1f52428c157b96552925b5b616b9e31b330749de1c937cd46a7bc57c +ChordFormer_full_auxiliary,audio_span,airegin,255.586667,0.7470473286490471,33b07ef473365fba4a8e69b98a1d756811a66cbba1bd2fc819d2af8587ec9474,c8a656375047afb08f7c8d361d0b85d4d0c34b7364561e72fc6737c1af43d1b7 +ChordFormer_full_auxiliary,audio_span,all_alone,142.53,0.5312513982500354,a1d0abdbf927710ae0e8103b5f9d5a41b19fbb8f36bdc65c0187c28fb93f2000,868d8dbfe94ce787a2b70a793a29106c46461941d90ab58ef8f594d33b7f4493 +ChordFormer_full_auxiliary,audio_span,bags_groove,173.266667,0.4743764618615308,307150a48bc50622c19ca2a1a120417b0c3136cad40f244654daa071b9fdefb3,dc363142545c49a43fc8f11799c2ab67e0e4392bbcc564dfcc9474a4c466fb3a +ChordFormer_full_auxiliary,audio_span,big_butter_and_eggman,180.8,0.7419280127728696,d4fcf0616fea89403344153a3ccf2149b78fc5f920505c0d71612bbc0270469b,a7b45334be6781265f687f3d19c0e704bde00c83f79bf58da36d809bf2a7b16c +ChordFormer_full_auxiliary,audio_span,bikini,218.56,0.7164343960347264,771319edd2f9c10f2252c591eb6df4aeefdb66fdb338888f457b9812f652a4dd,ccdb2920a9be7797ff1cba26c04c5ca43b8ccb2afcdb4cbb44bd0d54379d0a58 +ChordFormer_full_auxiliary,audio_span,black_and_tan_fantasy,190.0,0.7489354897069034,b5df0743ada397047d7da733c5199c0d4acd0495621e05ed0b97fcd59b976c5b,8e7ac57decd4ce5281a760cb5d1941437d32c92e745bdf50ce0a4b768d1d1945 +ChordFormer_full_auxiliary,audio_span,black_bottom_stomp,196.106667,0.8122309903044637,76e50009390ee9e2b62cb41496fc43bf018b9a0b94c21d73c3cda2293f2622ce,018baedddcfcc3aa4df06eec222fefb91956a4e37137ea40dad532426c1d160d +ChordFormer_full_auxiliary,audio_span,black_water_blues,200.706667,0.8347886224277741,6dae95a38693ccdaab8b605eab8a20dcfb3553b63ede6e1443c8146d45e617ba,c4607e7f9e768f8848933f6e101760f2f0a0aaf8555d1e48a7f0048f2253ab4b +ChordFormer_full_auxiliary,audio_span,blue_7,674.6,0.6968186068840792,6c32b05fcb199650cbb344cc6e7e7c661c4ebc857e4eaebd88b69ae66b049949,542911d5aebe08a80fa44e5d52a1d3de9345ee7ac5886b1ea5b4044448931da9 +ChordFormer_full_auxiliary,audio_span,blue_horizon,268.56,0.8345616868632705,72ddac7457dffd579d28de7af68d3a702825d4669d9c894489cc99d930e1c3c7,b7f3a09f0d185200489dc4764c2d06241a070a5e9512258afd57ffc6666e0045 +ChordFormer_full_auxiliary,audio_span,blue_serge,205.4,0.6142050170074916,2a88dcbafa1957c1c9aaf4fa6360ecd646993f8ef7e3907efd24a99ea75db0d6,fb5a8a87ad5c56cd02ea6d1ba9ab08c5e9462f1ac2d8508a43c076a9b8bc4737 +ChordFormer_full_auxiliary,audio_span,blues_for_alice,169.06,0.3944135293329234,7de9ae8cfc93a5202a1acfc2436b0e082fd3cc66988a8291e1ffae5500377724,db849ba057f87b5fedb08f86997d675c73086a5b47f6425e507fa49b06249373 +ChordFormer_full_auxiliary,audio_span,blues_in_the_closet,545.266667,0.45508403419606,6ef437c8953952bc52213109e307b147682b20048f9455ab5be9e0fdb490e6eb,6ba19bbe54bcc1fbf8fa0c6b55a8d9d7e14f762caca54947204e794ac16833ef +ChordFormer_full_auxiliary,audio_span,body_and_soul(goodman),211.026667,0.6492981959711,626e96fa31768127a8598256e74b01af181b780ce3b930348c7715b76a361683,d0304ce18498bf4757b0055943fb6b092fefe1d6c61426de8f083a6cbf2ff4de +ChordFormer_full_auxiliary,audio_span,body_and_soul(hawkins),182.73,0.40880693319460104,3af223de3a9c235d5fcb8c25f131ad77cf47c76bd44442889c70a62cb8560469,1beaa6abd9b20833b14ef81c0d2dadece55d18527bdab4ee46c6ea2dd44b7381 +ChordFormer_full_auxiliary,audio_span,boplicity,180.733333,0.3461608325068719,ae117f042dd54b7f559bc1ee2c47347faa750f0bc50c6a97cdce061a5230a1ad,a61602dcb7c4b975bc799f7973bebcde27b29103a235621fcb39d156711e374b +ChordFormer_full_auxiliary,audio_span,breakfast_feud,140.666667,0.5875729317153976,120196eb1bc6c6a91d3ae5db4beaf3c6b39f7f3f588d4218055a6a86dfa5430c,dee77a6100afbe06fdaa884cf264d307d8737f1bab1b26119a992441b6e8bc7b +ChordFormer_full_auxiliary,audio_span,concerto_for_cootie,199.866667,0.5595459122248748,49c9052213446e98468c7431ee2683adfc3584a4da643bf6ca5543f94e1ad8f1,0ad1e0273d4d3a5023986560d4c1de8b39610408f2e620546ea5f1045b8cb4b3 +ChordFormer_full_auxiliary,audio_span,cotton_tail,191.6,0.3073538384245871,c41c13bfdf7a55501bad2af1136a5f96748fe1a32518ad8eca9deab8759d80b0,d3debbc63125574503c2186317bcd2405d238af37e2b5778b6e4dc35dad00063 +ChordFormer_full_auxiliary,audio_span,cotton_tail_fitzgerald,220.92,0.3747882817881267,5f6238a93d8e7c852092c8c7a18b7ba3805259d2cf097585eefa33a1e303c4fa,dbae0a685c3b8fbd5058ee0215987f4554c20ac463ce3985e612e0a62fcd8fb3 +ChordFormer_full_auxiliary,audio_span,crazeology,179.96,0.39405163419324846,6270ec9b1dbe5702c48b7b675b392cc23c2a0ad68d47d9b465fe060ad978f612,04bc22aa4b49aff127cc9d7b0e9e6e430bbd5f88e7fe067e6d97ce53928f1fd6 +ChordFormer_full_auxiliary,audio_span,daahoud,245.466667,0.5251761539495652,c726cfc64cdcd9304d784b1acef9f7ca53f8452488b497046c88b085d7b83b0f,933cce2ac1e29e526d3981710861f5685a73599a3a2f44119a4cb543b5d3bfeb +ChordFormer_full_auxiliary,audio_span,dead_man_blues,193.866667,0.9026786300813641,f42598f9a75644706a080a53c8cdfb586b3b1516651275b1c1d0b0fae52a2d9e,a1a6e2cce8cd9a5c6a227e83c128385ec8935618c7a3f7812a0844535eb95c3e +ChordFormer_full_auxiliary,audio_span,dexter_rides_again,196.73,0.5704100701126362,d08933909d1e09b0bdb1502693d44dec0d5f2f586ea50e77fc02b310118e0df1,662ba9f584d31cf8e09096c0e67add5ac1c7e7182c2d732de84a7ea480fa703b +ChordFormer_full_auxiliary,audio_span,diminuendo_and_crescendo_in_blue,360.306667,0.7222594206232525,492465cc8dd8abe06d99197d023038afd4c07464294061ac048498cccde2cec9,7e409e8b57e5d0c0ce6ca5f36803edadccb1aa48fa420fabf7c42eb50ffc9aed +ChordFormer_full_auxiliary,audio_span,dinah,155.42,0.8294429967997361,0a88dea07d3b9ed95082977a5595cd25af68804323b37fba2b7a783fe4bbcda8,d91dc2291e0e33694145c537bf389230f634aba6285e4643f98c4677339788e3 +ChordFormer_full_auxiliary,audio_span,dinah_fats_waller,189.626667,0.7916994090951339,774db2411a805247bc3bcf75fb9494d56ab4df09b73c8d53d9b532db98f7aecf,7a23d9f282638ee88fdafbc724838faae0ba667e265ef0f59d09205b3eca2705 +ChordFormer_full_auxiliary,audio_span,dinah_red_nichols,195.44,0.7984161327363898,4aa3d8e7a0f1e68eee810e82feb9571c722d1bb90ba1622fcd8703d0bf33de6f,c214876c9da3479fbc14b670d1fcbb95faafeaf3b600431f82cd91127092b08a +ChordFormer_full_auxiliary,audio_span,dippermouth_blues,148.93,0.6058790157399073,0f29dab960063d6c35d66aacbfc38579d664abbc908bfb87fe9937ca685ccf2e,d9d1c4ac07af216dfdea1847b3c599d7d42633eb6bac11446838acf89705180b +ChordFormer_full_auxiliary,audio_span,django,424.93,0.7790361549416999,c808a512223962dcee602c63f5eaa32c2153d4e4acc57eafb091d951cf432315,6c167a2717a0bc49f8f4a8c1679215f7ec3e5df3d59f684f21f835de55d744ef +ChordFormer_full_auxiliary,audio_span,doggin_around,180.506667,0.10187524725056284,a3b72017bbe2bc432c90874fbece7fffc4b93157162831657b90702e8de24654,558b9b3fd7f789d5e8da265584c69f21f81b66835792c130f962df2fdec6b73e +ChordFormer_full_auxiliary,audio_span,east_st_louis,219.026667,0.7574939458810137,07d26968bfefd7244af9088e33d78dd0f668f325be1ffade46ad36972af3c1d0,b193885028f290b7f50af59b2953901d34c6eb64c17c7b74f1f79ae029454d36 +ChordFormer_full_auxiliary,audio_span,embraceable_you,227.96,0.5370655714753456,6486e62270592346494c9f6e147b01344c08336efc5a21749a9760b12a296e85,a63edab2ead8175078663067a0f199753335878c31d2f18db23c14dab1f0c8d8 +ChordFormer_full_auxiliary,audio_span,everybody_loves_my_baby,144.28,0.8853230267988,e4d4405c461e86cf347322b45a57d6b312f1f86e9a0d3018c5637e9d32e962a1,a3f41a7dab67c3f25eb2e246652212d9bc824a3a1f9f398b2af0c1a1e91fd5e1 +ChordFormer_full_auxiliary,audio_span,evidence,154.73,0.21002246186387014,3e932ef13556bf3ca0a0bcc4756ea5262a8bd5cd054835a7e9ac0d25bcc349c8,28df2ee4cda16fd1405edb75a19617eb932d296d46956452a511b67b472e04ad +ChordFormer_full_auxiliary,audio_span,for_dancers_only,161.49,0.6162750767531825,847637f068640f99b0c1afa81a81d3729a1c030917169060ff9d48fa4db15ec8,8d5f849ee70daa2b40707cb29ca844f2a693f1f6b3dd22b230e7981604fdbad4 +ChordFormer_full_auxiliary,audio_span,four_brothers,198.52,0.4261616247727039,8d86f7aea1d5843fbcc811b05814a0d9eea647ca58b8da9b71f5c5a7d1ec7b32,909752e4848a495f94565651ad32947cc2fa135495dfdd433c2110b37aaf0df5 +ChordFormer_full_auxiliary,audio_span,four_or_five_times,194.426667,0.6176735870216719,06ce3e166037044dbd91731e5aaa6e9ec9b67d5060b6591ed9d24a3ca31f3c26,a7bb80fc755c8bfcacf772fcaf32bb40d1824593ed972f5ea41d8eb5d4b196fb +ChordFormer_full_auxiliary,audio_span,from_monday_on,183.13,0.7461028886925586,5ba9a4d23e7d6edad7fc59ab53f345c59e3fbd7950e0dcc3ed0f287a21ed6924,44e695731cdc226ff99d800e2a19c29d16da773a461bddceb2a3cc90e87586d2 +ChordFormer_full_auxiliary,audio_span,giant_steps,287.4,0.41715158344815495,1ec7bfb9bac6a47b8a5e0adb5a3be1b0b2873cc4f3f4e370bdfdcff6ab88afaf,099591f3c0b11a3dbd4dcb59ecf446784496035650126d04093ca2489d37452b +ChordFormer_full_auxiliary,audio_span,girl_from_ipanema,326.37,0.8834617993290059,fa88679888e4050074ab40c91830f784672f7849f561330c5351aa0c8ac4e115,2dc38945ecfa5db18593d4c69922815c8886f28839a128719813ad423f0524d8 +ChordFormer_full_auxiliary,audio_span,grandpas_spells,175.36,0.7709077363372092,645272b711aa5d42ff3d81f22baa3df92672b1bef8eb86dd3c68d85f3884ff53,e757d11961f1d29381eaf257e97b84b91995d1ca6e6c9f62f6790962dd23c21d +ChordFormer_full_auxiliary,audio_span,haig_and_haig,271.61,0.39344808867546066,e2d0a9623fd85a7a685861af0658cb85aae73fa720d6087935ce4324dddc1b51,cc5568931cf427f044ad3b445fb99816a9be911aa3815d44b3104d771c8c29b4 +ChordFormer_full_auxiliary,audio_span,handful_of_riffs,187.85,0.7188870249930529,d2e921c7dad1c1b2d206bab14c622babcbd91bd0c981aa5bfefa020e20786df8,0c64e755364ad22f9ac87792695e6d19de03d6e5f9bfada33757c45762ea637a +ChordFormer_full_auxiliary,audio_span,harlem_congo,195.89,0.5909572758051056,6c3fbddb91e2ba26e43b629117ecfdc6e89e3e5f9b8d36692978afe92bfd3869,519c039af84821329db7ea62419e513c5dc8d9c6b9704d5519651a8307229fd9 +ChordFormer_full_auxiliary,audio_span,he_s_funny_that_way,160.706667,0.7379598871242948,4eabc33115a58e9582ca4c675c5fb00dc469a5a8da2b55eda8b04489f9003177,b8ed3640751db39087090bfbec764173b1cd39f0c00dcc847a68f47eb00d0e56 +ChordFormer_full_auxiliary,audio_span,honeysuckle_rose,185.97,0.5455875319320576,32010a8175efb282cefd03b36baa2f28860111730213509372fe3e0c1f2378cd,f62464e974c238e5e56f641f4148122d1cf4be625068c73dc922a1169731fa7c +ChordFormer_full_auxiliary,audio_span,honky_tonk_train,180.386667,0.6407022864666597,f14c73399f75cff49ee140ae265bd5ef0c866409191eeb1d7e62d3a02e5521a5,169afc1ff86919c8e922a5afb73c4cf4649e25b3e6ee436fd9ec80e271d69cf6 +ChordFormer_full_auxiliary,audio_span,hotter_than_that,181.49,0.7275229980369976,5fac0d0e35552b33fe480a306949e5b9d73a05ee58c9c312ee176d1e0187fd5d,87d9b1a7da349101798c198723b28dbbb33959b252b0b3395fa5c71aac7f2eac +ChordFormer_full_auxiliary,audio_span,i_cant_believe_you_are_in_love_with_me,254.68,0.5775620965211243,c3419c6216e36a83121943b2e7874b674505486692d5c327d7381bc5f4714646,e9334f7378b824d9988cec23dd3c6570fd3c9be42c378da1d261a0739c73ce9f +ChordFormer_full_auxiliary,audio_span,i_cant_get_started,186.16,0.7935866831848549,8551b8a98ddc3fbd8c3d4dc64b318536ba7379f39561d04c12a5e4b1ae63bc10,eb2dba9320de0786eb6ae2bf67dac70b08dd53923ed2e719a002bf8126c3c7b2 +ChordFormer_full_auxiliary,audio_span,i_found_a_new_baby,176.53,0.791955604730074,79c540211aacd32f9c703c147d85f2115621b5b550f92b44bfb185737c7dd8e8,2aa1756e1ecf287e7583ac02badb2bf6cf5949fe8c8619ccbedaa20d739265d2 +ChordFormer_full_auxiliary,audio_span,i_got_rhythm,304.84,0.3831288502573247,9b6c1dc3cd3e45f61dc02e3f089081a2fe3a723c80d697211fed9aaf64d5c57b,db450219b1a1c35d81cb46c6c3f7bf78a0adfb3a065d61efa2389b9f789674fa +ChordFormer_full_auxiliary,audio_span,i_gotta_right_to_sing_the_blues,183.6,0.4013157522772018,053926ad7a7603f4f6637c9f3974c16933ba4262235689eb91a277021f9a4dda,788f71eb91c12179fdbd91cd65a3e40a833f8328b48ad822d6f9ca913b27b16b +ChordFormer_full_auxiliary,audio_span,in_a_mellotone,199.266667,0.7731984075170882,040b2ad52984de5bcaf8e9e206bb287ce0e92bcb600d6c5d88f3ffc8477d6847,94ddebe89d8cfce768313a852d9dcba0bff7504b55593a098b9687e4047bebab +ChordFormer_full_auxiliary,audio_span,in_gloryland,183.64,0.14537426820409494,97282bd88ac9213528b850f79cc927a959e8f9fd289e89eabb98f51aa8d248f0,dee0ca499cf56756fce92b1656e04e3d593c0f0b52ec5c50b684fce664d0ed2c +ChordFormer_full_auxiliary,audio_span,indiana,166.146667,0.41177828795943855,57b1ec3490bd40d80704001340fe09f4685acc09961f5d2bf0200eff54e1128c,c2419135be71cae4ae036bdfd9ea4e57546b75627b7ae978d787f1551c75e591 +ChordFormer_full_auxiliary,audio_span,isfahan,255.04,0.6571233045350734,f7034173b5644e720b308813ac5cfd3fd86cc9e0a9aaae73e3714c8c4c746e55,5c2a8aa3250cfa2690521c43fe6a481c46e08f8199152d982e69be3384eb2cde +ChordFormer_full_auxiliary,audio_span,king_porter_stomp,176.666667,0.717028945743406,585ee87a91a20895f7b30b8f39e264694c9102928031d4293e9719e29e6b0d11,eff7db53441dcb67747663c5a8769234f18f8d33317b3edf2b983119a9257ebd +ChordFormer_full_auxiliary,audio_span,ko-ko(ellington),163.266667,0.5496937534591797,4c57a6c5aa023bbc2b71cdd77f7b9f9258643bda60a03ed2cd5f01aa45b40aa6,9e5e0ce79715108de7d506cf3db7eaf0debe61e03f1d26ed43cb2fdbd2195397 +ChordFormer_full_auxiliary,audio_span,lady_bird,171.146667,0.4923252109139815,111835d0697a4de1cfa4bebd9e121934114b9ba980c786a8e5f946bb8b46315d,28c16e8814d1b7ee17a00271a8c5d71b53fafbbd9494cc2bd64e9975dd4d7f10 +ChordFormer_full_auxiliary,audio_span,lester_leaps_in,195.37,0.2840860886755206,f571a94d00b32404f8f6ffd510c984356fd9fba33cb3a193a4f3f429a8882185,2dbcd041a6fac4da05d6c432d8c812aa0aabcf08bb5ccc25710e7624463cee46 +ChordFormer_full_auxiliary,audio_span,livery_stable_blues,190.64,0.2555990522525363,95ec3f82a418fb4b889fa452414a5a9afacb7623bcf9f60f7c63f1b0a5c31124,a34d7136b0b9e6b669356f27fc01c7cbf1bcf8eb8c8216d48472ca30c6631de0 +ChordFormer_full_auxiliary,audio_span,lost_your_head_blues,177.2,0.804046185823928,37f6236ac46e4050d20929d2ab29f49ccbc793b6f802f42f73a6db9f80d406b8,4771be5c1ff801292bebee69802f29018e5fd693c1a1a91bed96844667e6423a +ChordFormer_full_auxiliary,audio_span,manteca,189.786667,0.7015065763490047,263905e684bd02997c23cc5f3ba1428f21954dc1d05c9b2b62184514cd0dd0cd,81599874aabd8bb79556df69e97382a4956d2e345ed0dd48e7742b1ab4c9ac46 +ChordFormer_full_auxiliary,audio_span,maple_leaf_rag(bechet),179.44,0.5629588786868804,7db10a2f10b12feb0e0326a2b2b8b23e8bc804361653b2f95a713cc84748facc,e529d5e7fdd5ab97e26758af42946d3d15acba4a69fa278fb3392c2e5a60c857 +ChordFormer_full_auxiliary,audio_span,maple_leaf_rag(braxton),220.506667,0.714563034992254,fc6ddcde2a44cdc04f06dd6f5e80a759edf233cc88fbec8a00fe8b89aa33458d,058641d72b08755c9e28ba050723331e301b4a52fcfdfe02b8a535f16141547a +ChordFormer_full_auxiliary,audio_span,maple_leaf_rag(hyman),149.97,0.8373356351937202,3454b235fc7442ad94b999deb401f27e015f5f571cd3892a81bfdd9f3c8cf559,8f370d29317e2fc5b8039a738b10f920deb8b8d17c4713a8405967c6a4851bb1 +ChordFormer_full_auxiliary,audio_span,mean_to_me,190.88,0.7500854866718234,c00df3781e894805083ff63a5336c43e6d4c5a30ae3d64fe5eba1c4040f7dc08,1f59cfcb6475d0d792b7ff428856484990ae241bdda7fcc4436e5867600fcda7 +ChordFormer_full_auxiliary,audio_span,minor_swing,193.816,0.8391099742745696,9aafef33565b9dbd34aa2285e2772b99f5f8fd18c212356a7650598e17941aeb,a096d95efed41258962b2b882be447c94dd12e1b2199cf2ffe151620e78655ac +ChordFormer_full_auxiliary,audio_span,misterioso,202.773333,0.517432642964941,430a05f8fe4a5834427496fb7072e1523d961b7557a7e9d98438450634036072,818fdf916e503ba716273fe88ef511eb7cfeb2ebb416792d83153af2731225d1 +ChordFormer_full_auxiliary,audio_span,moanin,576.8,0.379270362269535,697b10f56bd1958edf2216b2e1fa1d3b94250de07ea78b2b49254b93011436f2,635f9344009b0b9a8a7555cb419691fc8e27e0658aa286ffab8dc55c7a048795 +ChordFormer_full_auxiliary,audio_span,moten_swing,205.88,0.33071818352314725,8757b692a9e907213741afa4c07ca12ecf6b756c15c4d1bd333190803ef40a25,b86599c4dc9fe21c4768df2d43c0202471207897d33d61623d95b2f37f8bf410 +ChordFormer_full_auxiliary,audio_span,my_favorite_things,165.626667,0.5189047122787807,2284f2605bf6c599a8d26c3954704cf895fc9337d5811532a15bd906f7b716b5,0e2dfe3d98d2df80e8b4c9bcbaaddae8cd0b23e8316a9dec5c992ad4037c0a31 +ChordFormer_full_auxiliary,audio_span,new_east_st_louis,180.466667,0.6726497858799481,9d62c95bac17c5c07fb5304cd59ff5271783d8e34dcbda0da51497ba5ec2e05c,7748628ceb097af39bd77162d3e5ef8a149e670691b8a862a80d4b85529e2259 +ChordFormer_full_auxiliary,audio_span,night_in_tunisia,256.466667,0.6896452313203335,311e0342b35f32d432322cd6fb9e1c01a153fc21b7735f019b20528146ac80c1,9612324225bbdba390c9cc63dec25f1f736f6d1aee25a10b1f3449d29ed235b0 +ChordFormer_full_auxiliary,audio_span,oh_lady_be_good,191.49,0.41681071747114967,92479231e1c7089e98af7c59ed3168b08981cbaca06543537bd41b97aee7c6f0,f3303d12f042979eee7c32465beece7d55275f4e086bf1a0edcf08ea581e99d7 +ChordFormer_full_auxiliary,audio_span,one_by_one,383.17,0.45126498206211574,a6cd6c56cb6257a4450c47a74cb99aa2925b9f4aef3fd2e6fbfdb28a428f617a,40b83dd2131b5f6411994837aa824b5a28969d4860f4808f2853c4e0d16046e8 +ChordFormer_full_auxiliary,audio_span,one_oclock_jump,185.49,0.5727698229273065,b2fb3a8f1fa8eb669bafc70a203eceaf626b460ac9ff986df917862bb881d6b2,7624883ae46e0ce92d012e97096f860d87c8a952782dfcb81932ec78dc2efeca +ChordFormer_full_auxiliary,audio_span,organ_grinders_swing,160.666667,0.6556862004861284,e8034de87adacdb8114cc80a291edbd685822496080de0161202db82b04c1e6a,de502cd1af70ee5cd94653500d35af2b40a5e9f4b32706d8ddc54576e3d6ff74 +ChordFormer_full_auxiliary,audio_span,parkers_mood,185.0,0.6653166048246844,f9ad689edd83663565c646e06e305acbcf9c5837d339d86c67d391135291396e,62676e4c3eddffb76ea17c922583e74f8ec7fed55137291a8e8661896323e4ec +ChordFormer_full_auxiliary,audio_span,pentup_house,534.09,0.5078501813425714,2c2ff19b6fcf1278841055afcd5844569ff1fb80b342cacb9fb6f4894bf20810,a626351af99222d034ef8577ab8541305550077622c00693932f6d2ebed19776 +ChordFormer_full_auxiliary,audio_span,potato_head_blues,177.33,0.69013048555236,ab14282987770ad6c42ada3eedcd98d8e52c3762ccbec4bcaf4f704a3b1b3b44,0d242428ab00db25f8954b8ff02fb31514b4cac6b5b2075e9e4b92944717611f +ChordFormer_full_auxiliary,audio_span,riverboat_shuffle,190.8,0.7284736186635221,a14f554983b12429da429f824a8cf59979546b09a24109d83f0155293f4a50db,d819657b9cab108a86cd958ba17bce42ad91a8537bb41c8611f71634512174bd +ChordFormer_full_auxiliary,audio_span,rockin_chair,182.33,0.8017639325095283,3ec67677c552c3ea746c5debe953232dba64245b303c874738c9b792668fbc04,3168d4c184fd010ae4e0cb4de99b6fe765acfb3b30e76bf5e1834e728c865dd1 +ChordFormer_full_auxiliary,audio_span,september_in_the_rain,197.25,0.5317993291642379,0d0198455f79011508c5c3ebbba1d65613615fa0eb63cd6a6b42a019fbb1fc6c,b8e9549325208dbf65a1983b3e82341545dd0d93322ffa3dfc79a3969399b316 +ChordFormer_full_auxiliary,audio_span,shaw_nuff,183.73,0.13476370991858386,d7ab07f69eb147f347a5aaf6a84d1e7f8b33a899eb725d4df065470e6b217122,95678d0032b2f37d954828412257a68ae1093585d1a729a3fba5b607f2be169b +ChordFormer_full_auxiliary,audio_span,singin_the_blues,184.546667,0.7478462021405377,bdca6fcebc175131fcfc493544b136f4f73f4dd7f39059749e9b778e73345fa7,bc984c5584214114d2f9739532ccd60bf958e037ccc20f152531104fe43141d7 +ChordFormer_full_auxiliary,audio_span,st_louis_blues,193.17,0.4877330679551524,3d7dde20976ae7d196d5b5603576c595cb1db7c5c868e3aa611491e9417c3fd3,964c70ab7fcde880f1a43da8de3f0a425d330530953ba0c18b79050f2585440f +ChordFormer_full_auxiliary,audio_span,st_thomas,408.57,0.5948762838876769,d8b697713255a3359b8180acb4964a07875510d7c09bb01135829b204d4cad2c,513a3dcb6632100a13563a3b01a5504c889a43b188ec7d1cc143303d8003f08a +ChordFormer_full_auxiliary,audio_span,stompin_at_the_savoy,315.826667,0.5603514626104644,42e868e616da9248f496f7135c10745c6fe32a0176e3c953bf540b58b436d3a7,e01360d03cbb4202d997cd9d67b2709ba54c8e4d0732d601b2f9cbbe56047d5a +ChordFormer_full_auxiliary,audio_span,struttin_with_some_barbecue,182.866667,0.7284426338430339,89517549d547e10d6fe152151897308c3dac68e2cc0ca3bb94d6560c3223b4c1,b263e7b21e2c774291499701045af08c248d56a6f266c001231eac3b0af0c678 +ChordFormer_full_auxiliary,audio_span,subconscious_lee,168.4,0.5785221451959618,9062c20883e04600d9a9864dfd6528919e75ad9f4d80f62197ab365e2e2e4daa,206b6b096b0b8fa2f19c9ac4d2d7b2caa9d4c4efcf1592acacadb83138ab855f +ChordFormer_full_auxiliary,audio_span,summertime,198.29,0.5450418538806798,27f5a624c9dc3627acbb7303253a22d0ed5407e3cc6b3ed0367e5647716cbbda,2c92d887e7a8da18a45cb2247b663b80024cd212621670d97233e6317751585f +ChordFormer_full_auxiliary,audio_span,sweethearts_on_parade,200.53,0.8597813439000157,34a71571bd2e4e5e4450410e07e233f21d8635c673be39937102b6c70c120ebf,2723b0ad9486d52c86398e2851a8e7a00a26bb2297f8e687721000bf46cc90ea +ChordFormer_full_auxiliary,audio_span,swing_that_music,174.066667,0.8507034106686315,9eec732242d2909e44678d80fc5e9d62633dbf0a1a8db5769925787081c8a6f7,e4f4a1f9f3a082bc67303b27ff207920b957d840f6172bb76e436bd285d7b45f +ChordFormer_full_auxiliary,audio_span,thats_a_serious_thing,212.746667,0.8151297097355299,3e1b0ce2f94d00ab85b2f2bcc1b4453b30a752c04c525c06fc0bfe8b1f6c0ddc,35f16f88879b5d2bd88fbad56350381dd03e8e143d19848693090a59755ac19b +ChordFormer_full_auxiliary,audio_span,the_golden_bullet,150.04,0.6533781467675285,2a77cccc809e9fc5391efb236c9de2000d97b05834ce6caca412ffff2d247ebd,c89fa896728db386eb65fe9deb9b912a83590b0ff960bc9e0d8453ffa0b850f2 +ChordFormer_full_auxiliary,audio_span,the_man_i_love,309.426667,0.44444897976730363,289a81e3c1591a972ea11eb10c4997789825df714a4fb32b38417e9ea26dc75f,f7d6ddd771bd0628fb1165bb0cb8f84203dbc2c965868fece4447aca2ae615a1 +ChordFormer_full_auxiliary,audio_span,the_preacher,259.986667,0.5057337811084868,bd30251c0877bf0e4d11b9fd7d9953ecd560bb2151a39c44ca6b30ac99ba5430,d4e3173ed74617f2ad4769d4f2b570ccab21b5e6669cc828e20dd74216859cf8 +ChordFormer_full_auxiliary,audio_span,the_stampede,196.41,0.6432128336142917,01e1c4b5a23f46466345f988f9fc71db1861f3d753535f00f4d60a12a17fd8a9,d44ec2249fa6e4d827f687b2ac6a9b768d12d30a98f3c27cbc37e6339c762828 +ChordFormer_full_auxiliary,audio_span,these_foolish_things,217.29,0.6774520507468533,f651d2569e676d9b895d5d977b239af605e9394abae93a1e8782bd00fda4d748,3953078cf6671f2440fd4725a7b7ea7e1c2f3db11117e95a4ebc3a83cf959c73 +ChordFormer_full_auxiliary,audio_span,tricroism,276.8,0.5494096887503859,156ae3e9ac70076d6fb7fc64bfc3e66188235491eb30d7ce335e7e6aa58eab28,0598f596439519fb7482053184015f28a51289c515889ef392da087d393831de +ChordFormer_full_auxiliary,audio_span,walkin_shoes,194.65,0.2589996850612338,97d78223334326e5c9a0793a2eb623d1693af6f26c8a7f00a91f2897b538cf41,6319028133296054316828206b6034341f8907a16d65b6f3fe67ba20a2b569ae +ChordFormer_full_auxiliary,audio_span,watermelon_man,391.706667,0.8011311244715915,9452264e0127f1862d0f5ef112305f4fc7a9154e82ceb1d944cf64c72a3899f5,060a76833addefa32c16f095b4720fc86839d8a0195a12099fc7a3ca831fce7b +ChordFormer_full_auxiliary,audio_span,weather_bird,164.666667,0.6560152079012929,2546998a026c905e9f913d4a5800396981ccaced16dbb7ae157721c1c037f47c,250ac43d6ede8d2e116be57bb04ffebc6c7ab1c502be5c9901170cbdca22f853 +ChordFormer_full_auxiliary,audio_span,west_coast_blues,336.466667,0.5573825770206233,67b9139c19de29775fce9a3a210090ed6261583f5632b17013f8d8fd47968472,f8c77fcc6fdc77297d23138be5a89e318ad555bfb2c8f047483064ca005083ee +ChordFormer_full_auxiliary,audio_span,west_end_blues,201.29,0.7982358237120786,185a044cc19fe1e4c7578d719287f70fefda36065af4658d183c7f133988107b,b8f4d27cc584ae4b17ca004e469033b33e69b63606e2d85747a6e39013939b95 +ChordFormer_full_auxiliary,audio_span,when_lights_are_low,134.866667,0.3400941797627969,dd2ea9a84e36a1dae80c59ffd288ee620c0661678762a49f247c443f1650f761,a6291fad2d3f3727f25076c72af669cdd845f40b9d7315980ff4a1f39efa8372 +ChordFormer_full_auxiliary,audio_span,work_song,309.48,0.19397076577165404,c580bd2adfb489cab8284dc167edd98b0fdf66d6b7486dcfee398f7d7544dab5,35d35ff5a50727175c6190f27898f129196f6b6bc617a3ca1a22bf8b254e6d05 +ChordFormer_full_auxiliary,audio_span,wrap_your_troubles_in_dreams,153.72,0.5185643093259652,d2b88b390199694a959b4ef4585697c2c879a6b30cc9b0a26cafa33d42bda1c9,09c14bb0bb50177c357aff9e1c4977007b0ed32b50f3a1ec824994a00b6c7693 +ChordFormer_full_auxiliary,audio_span,wrappin_it_up,161.53,0.6418339972892896,701ed6c9fbbda941d7a38713428dfdee02496a8a69d07ff0c8151fa24df8222e,f7d724c8f73a8cfeb038c33fdbd5d8889ce8168a1ac4776fb86745f40b9902a0 +ChordFormer_full_auxiliary,audio_span,you_d_be_so_nice_to_come_home_to,170.906667,0.39336358622785095,fc62394d244ab3c9ff60b017b324444cca5b62fcee57589fd75938ff8dc22dd4,0c7bb038d236ca56c5ecd7424a6090572ce8f627bd036b06db2f719224157ee4 +ChordFormer_full_auxiliary,official_span,airegin,255.59,0.7470507670309949,33b07ef473365fba4a8e69b98a1d756811a66cbba1bd2fc819d2af8587ec9474,6e9f9508bcb79c2028165bcc011b588549ed19345cb8cb0f06574e3baf1298d8 +ChordFormer_full_auxiliary,official_span,all_alone,142.53,0.5312513982500354,a1d0abdbf927710ae0e8103b5f9d5a41b19fbb8f36bdc65c0187c28fb93f2000,f0745989d240da16b1ee7ba632ada87975c90d96b248f93d5b39988a0cbce926 +ChordFormer_full_auxiliary,official_span,bags_groove,173.27,0.4743865726900216,307150a48bc50622c19ca2a1a120417b0c3136cad40f244654daa071b9fdefb3,2658d12b95849f01846257618bc6f3f8e13eb5999d967246acb8c7f274b760e1 +ChordFormer_full_auxiliary,official_span,big_butter_and_eggman,180.8,0.7419280127728696,d4fcf0616fea89403344153a3ccf2149b78fc5f920505c0d71612bbc0270469b,4c7dfea4899be0e34573c3053f59a8513f04f0e5bda47c4d99a3e20ba87c4b29 +ChordFormer_full_auxiliary,official_span,bikini,218.56,0.7164343960347264,771319edd2f9c10f2252c591eb6df4aeefdb66fdb338888f457b9812f652a4dd,411c7cc6a3c48f029b6f253629f373a7acd49d0e20f9de71ab6ec56851d0b76e +ChordFormer_full_auxiliary,official_span,black_and_tan_fantasy,190.0,0.7489354897069034,b5df0743ada397047d7da733c5199c0d4acd0495621e05ed0b97fcd59b976c5b,bd33b5d182c407c77ae701e7f9a60b5c4f9cf7a09f602512c6b233b758fded49 +ChordFormer_full_auxiliary,official_span,black_bottom_stomp,196.11,0.8122343573572925,76e50009390ee9e2b62cb41496fc43bf018b9a0b94c21d73c3cda2293f2622ce,65d3bd286db277736ca232fda43f8eb50b5d63bac2d051b431e382e6328f8b72 +ChordFormer_full_auxiliary,official_span,black_water_blues,200.71,0.8347913659359274,6dae95a38693ccdaab8b605eab8a20dcfb3553b63ede6e1443c8146d45e617ba,29d2653eb3b38551051468350eb4a6136c1f58cac178f220a2fe803ed291e7e9 +ChordFormer_full_auxiliary,official_span,blue_7,674.6,0.6968186068840792,6c32b05fcb199650cbb344cc6e7e7c661c4ebc857e4eaebd88b69ae66b049949,9f7d3eeba7bb25d4c06857a50fc74f5d288d4e86a838a1cbbd5caf82ea2b74d6 +ChordFormer_full_auxiliary,official_span,blue_horizon,268.56,0.8345616868632705,72ddac7457dffd579d28de7af68d3a702825d4669d9c894489cc99d930e1c3c7,cf5c2da979e317f070ccc9f325f47a166f4dc9c856da08b024981a55eab8eba4 +ChordFormer_full_auxiliary,official_span,blue_serge,205.4,0.6142050170074916,2a88dcbafa1957c1c9aaf4fa6360ecd646993f8ef7e3907efd24a99ea75db0d6,dbbc2eda5d394d6a1e22e6a2201fe91f5124b3645262721bd301b48d823d7854 +ChordFormer_full_auxiliary,official_span,blues_for_alice,169.06,0.3944135293329234,7de9ae8cfc93a5202a1acfc2436b0e082fd3cc66988a8291e1ffae5500377724,fbd093a8996d6c4f8171a4ea062374730ad95322d5d827cfc05354a9bf8a9b42 +ChordFormer_full_auxiliary,official_span,blues_in_the_closet,545.27,0.4550873650320019,6ef437c8953952bc52213109e307b147682b20048f9455ab5be9e0fdb490e6eb,24f301c1fe65dba4474956769e3ab70a8631f474331b31db64b494453d955b2b +ChordFormer_full_auxiliary,official_span,body_and_soul(goodman),211.03,0.6493042794993233,626e96fa31768127a8598256e74b01af181b780ce3b930348c7715b76a361683,d35fdad26b131f516188e9f606f801922c161d6a52c3cc7d1b1a0101848e6de6 +ChordFormer_full_auxiliary,official_span,body_and_soul(hawkins),182.73,0.40880693319460104,3af223de3a9c235d5fcb8c25f131ad77cf47c76bd44442889c70a62cb8560469,37b17a85b7cd0b5fb4247c74a9c5cb8502176eeb1f12ce723b4191bc65e31d20 +ChordFormer_full_auxiliary,official_span,boplicity,182.71,0.35417039067302925,ae117f042dd54b7f559bc1ee2c47347faa750f0bc50c6a97cdce061a5230a1ad,3c6505b7bc7b79aa1682f0136518c3daa60d17e95930047587224663c703b3c0 +ChordFormer_full_auxiliary,official_span,breakfast_feud,140.67,0.5875833203143892,120196eb1bc6c6a91d3ae5db4beaf3c6b39f7f3f588d4218055a6a86dfa5430c,dee9563153caef78804c7d720757a407fb5cd308f7818581dce572320827cfda +ChordFormer_full_auxiliary,official_span,concerto_for_cootie,199.87,0.5595534829199114,49c9052213446e98468c7431ee2683adfc3584a4da643bf6ca5543f94e1ad8f1,d3eb92357d9f128b399a8cd408336fb727994d5908c0fb54e52fb44e16665bbc +ChordFormer_full_auxiliary,official_span,cotton_tail,191.6,0.3073538384245871,c41c13bfdf7a55501bad2af1136a5f96748fe1a32518ad8eca9deab8759d80b0,a26e0fc29cef46b552d527144035e22c245eadf048dc530ec3040bc73406d0e3 +ChordFormer_full_auxiliary,official_span,cotton_tail_fitzgerald,220.92,0.3747882817881267,5f6238a93d8e7c852092c8c7a18b7ba3805259d2cf097585eefa33a1e303c4fa,e445ea39ead3a16fdacc5021e0858e21d4d84acab760376f7d4b327e01a38b7b +ChordFormer_full_auxiliary,official_span,crazeology,179.96,0.39405163419324846,6270ec9b1dbe5702c48b7b675b392cc23c2a0ad68d47d9b465fe060ad978f612,d3217328fbcb99231f73aa4fe29518e4b451b8e46cb967f44b060fb20360d2b0 +ChordFormer_full_auxiliary,official_span,daahoud,245.47,0.5251832558517321,c726cfc64cdcd9304d784b1acef9f7ca53f8452488b497046c88b085d7b83b0f,4bd09e6669b11ba612d3896f7558c7376fcf56c816d56bf5f5013e1d5f777e28 +ChordFormer_full_auxiliary,official_span,dead_man_blues,193.87,0.9026803032238097,f42598f9a75644706a080a53c8cdfb586b3b1516651275b1c1d0b0fae52a2d9e,b3156f8eb00af2e57d2ce048f6aafaf6e4d1f5c437372c4009274b4202f1a1fb +ChordFormer_full_auxiliary,official_span,dexter_rides_again,196.73,0.5704100701126362,d08933909d1e09b0bdb1502693d44dec0d5f2f586ea50e77fc02b310118e0df1,c7cade360f7d377ed2fdb49ec7d5589c245ea730a39044e525fd6fd9475c322c +ChordFormer_full_auxiliary,official_span,diminuendo_and_crescendo_in_blue,360.31,0.7222622903279803,492465cc8dd8abe06d99197d023038afd4c07464294061ac048498cccde2cec9,23d72706a5a1ed9d6d0cb6102540deaa4452b51377976d8b652704f77abd38f2 +ChordFormer_full_auxiliary,official_span,dinah,155.42,0.8294429967997361,0a88dea07d3b9ed95082977a5595cd25af68804323b37fba2b7a783fe4bbcda8,e75bcc33071573f434095ac13b7b9cc493abdebb9ccad9fa6deba5ee314e66c4 +ChordFormer_full_auxiliary,official_span,dinah_fats_waller,189.63,0.7917032334086156,774db2411a805247bc3bcf75fb9494d56ab4df09b73c8d53d9b532db98f7aecf,d11cd7e824bef9655c7bdcd66f2cb93c6d4ac54e76a95568739064c7b1b820fe +ChordFormer_full_auxiliary,official_span,dinah_red_nichols,195.44,0.7984161327363898,4aa3d8e7a0f1e68eee810e82feb9571c722d1bb90ba1622fcd8703d0bf33de6f,31409ce2d65e90e018f36a9f311156279fafc7668bd1df3e9fd1fc776c3f7ed2 +ChordFormer_full_auxiliary,official_span,dippermouth_blues,148.93,0.6058790157399073,0f29dab960063d6c35d66aacbfc38579d664abbc908bfb87fe9937ca685ccf2e,a027636a936230ce831e34981026bfc623e60ed40cc2e9a69dbc35c7f220b947 +ChordFormer_full_auxiliary,official_span,django,424.93,0.7790361549416999,c808a512223962dcee602c63f5eaa32c2153d4e4acc57eafb091d951cf432315,c8c5ccb11785faad70ebc292cec474c14fb2de36b545d1b57d7383e4d6af1fc0 +ChordFormer_full_auxiliary,official_span,doggin_around,180.51,0.10189183054124429,a3b72017bbe2bc432c90874fbece7fffc4b93157162831657b90702e8de24654,f194935aaa4be653067f12a7b570de2a5e7780fba240c5b65a877955210abc31 +ChordFormer_full_auxiliary,official_span,east_st_louis,219.03,0.75749862392638,07d26968bfefd7244af9088e33d78dd0f668f325be1ffade46ad36972af3c1d0,6f80c4c73687ac8dca5d18379266a32515b4cbc56757b49cd308807234a5c4d8 +ChordFormer_full_auxiliary,official_span,embraceable_you,227.96,0.5370655714753456,6486e62270592346494c9f6e147b01344c08336efc5a21749a9760b12a296e85,2644b9757815a5c22dec84054f3c1164ca63aa5e0a9161bfc492a94d4b738898 +ChordFormer_full_auxiliary,official_span,everybody_loves_my_baby,144.28,0.8853230267988,e4d4405c461e86cf347322b45a57d6b312f1f86e9a0d3018c5637e9d32e962a1,f3dd3b48280371984b1f3e062d8f57c1062fc4cbbe4d315b9c161f8d2551e0d1 +ChordFormer_full_auxiliary,official_span,evidence,154.73,0.21002246186387014,3e932ef13556bf3ca0a0bcc4756ea5262a8bd5cd054835a7e9ac0d25bcc349c8,9f2d9bb54012533c224bde41b18ee8da60e1c1a0ca7821ce248d1cc53019cd8f +ChordFormer_full_auxiliary,official_span,for_dancers_only,161.49,0.6162750767531825,847637f068640f99b0c1afa81a81d3729a1c030917169060ff9d48fa4db15ec8,dec4ef1bde083fd339552ab8b95af7948dea004423a32d380e07be47ca2feb03 +ChordFormer_full_auxiliary,official_span,four_brothers,198.52,0.4261616247727039,8d86f7aea1d5843fbcc811b05814a0d9eea647ca58b8da9b71f5c5a7d1ec7b32,054ceaa72b00ccd1399b2f18e031087d9d9071c977986a43879ed4dc65a5388d +ChordFormer_full_auxiliary,official_span,four_or_five_times,194.43,0.6176808059993201,06ce3e166037044dbd91731e5aaa6e9ec9b67d5060b6591ed9d24a3ca31f3c26,785fa02f085ec6b1a8f9b4fb698a83ebf37796130721bdcc981a9f9cbe89f1b4 +ChordFormer_full_auxiliary,official_span,from_monday_on,183.13,0.7461028886925586,5ba9a4d23e7d6edad7fc59ab53f345c59e3fbd7950e0dcc3ed0f287a21ed6924,c67191141121a2288f875f5e6d90f0b0e5368cc680c2928c1caed8073eca6a09 +ChordFormer_full_auxiliary,official_span,giant_steps,287.4,0.41715158344815495,1ec7bfb9bac6a47b8a5e0adb5a3be1b0b2873cc4f3f4e370bdfdcff6ab88afaf,fedd1d28c455f6817280f9348f550ec71fda71b53b174eaf1f10f9a5d62192bf +ChordFormer_full_auxiliary,official_span,girl_from_ipanema,326.37,0.8834617993290059,fa88679888e4050074ab40c91830f784672f7849f561330c5351aa0c8ac4e115,70743e10904c0b76b3d711a63a0dc964cf6267015573d79145f20792124b7dd1 +ChordFormer_full_auxiliary,official_span,grandpas_spells,175.36,0.7709077363372092,645272b711aa5d42ff3d81f22baa3df92672b1bef8eb86dd3c68d85f3884ff53,b6fca9badd94819b751ca58847a6e8e0ce7dee50dfb2af60a07403d44bfa3404 +ChordFormer_full_auxiliary,official_span,haig_and_haig,271.61,0.39344808867546066,e2d0a9623fd85a7a685861af0658cb85aae73fa720d6087935ce4324dddc1b51,a7517198f19d66c2f1c01d8058455facd0be4bf997596d5cffe27dee11ebdd12 +ChordFormer_full_auxiliary,official_span,handful_of_riffs,187.85,0.7188870249930529,d2e921c7dad1c1b2d206bab14c622babcbd91bd0c981aa5bfefa020e20786df8,6a748b63282b38494b8fa31f47cadf060db297db1f804ebf467b08d4aaf2bf4c +ChordFormer_full_auxiliary,official_span,harlem_congo,195.89,0.5909572758051056,6c3fbddb91e2ba26e43b629117ecfdc6e89e3e5f9b8d36692978afe92bfd3869,0ddc9ccbb5a8a6689b646a9d5c85ae10c54a6e1c498d5e6b7ec643d025efdc13 +ChordFormer_full_auxiliary,official_span,he_s_funny_that_way,160.71,0.7379664568527152,4eabc33115a58e9582ca4c675c5fb00dc469a5a8da2b55eda8b04489f9003177,9c17961a687c592204c03a764445c1b4ba0660bc374ecfa90e224e45b373cf37 +ChordFormer_full_auxiliary,official_span,honeysuckle_rose,185.97,0.5455875319320576,32010a8175efb282cefd03b36baa2f28860111730213509372fe3e0c1f2378cd,5be142a6a9207ea83eb55d5dbdade7f55ddf2f659db93c5152dad9a2b02ac6ef +ChordFormer_full_auxiliary,official_span,honky_tonk_train,180.39,0.6407089250789952,f14c73399f75cff49ee140ae265bd5ef0c866409191eeb1d7e62d3a02e5521a5,664952e9fc0749427bac64808b762356ea5f6c62b74de2ee72bc496b3fc5b63b +ChordFormer_full_auxiliary,official_span,hotter_than_that,181.49,0.7275229980369976,5fac0d0e35552b33fe480a306949e5b9d73a05ee58c9c312ee176d1e0187fd5d,569193855f2204cf216a9a7bc3a48d762d5400fab16de99505bb21e2aec6efb7 +ChordFormer_full_auxiliary,official_span,i_cant_believe_you_are_in_love_with_me,254.68,0.5775620965211243,c3419c6216e36a83121943b2e7874b674505486692d5c327d7381bc5f4714646,e4ceaa73a7f1bb91c43270cdd5d7ae3686554b3632e7cda1afd88101a916640e +ChordFormer_full_auxiliary,official_span,i_cant_get_started,186.16,0.7935866831848549,8551b8a98ddc3fbd8c3d4dc64b318536ba7379f39561d04c12a5e4b1ae63bc10,a7de658f791712f83426f4b49064a139fcc003a5aa8f4fc54557337c5ae49030 +ChordFormer_full_auxiliary,official_span,i_found_a_new_baby,176.53,0.791955604730074,79c540211aacd32f9c703c147d85f2115621b5b550f92b44bfb185737c7dd8e8,4665ce812c74c8acfc4bddc44dc00a4afcbf1d7c6705a2bd99253061026e9261 +ChordFormer_full_auxiliary,official_span,i_got_rhythm,304.84,0.3831288502573247,9b6c1dc3cd3e45f61dc02e3f089081a2fe3a723c80d697211fed9aaf64d5c57b,be0c231dca93aa246e2e231af2cae607d971c735b90e503ab35fbfd417a3e244 +ChordFormer_full_auxiliary,official_span,i_gotta_right_to_sing_the_blues,183.6,0.4013157522772018,053926ad7a7603f4f6637c9f3974c16933ba4262235689eb91a277021f9a4dda,c634fc5dc1b22338ccf1bfe211f6bdfa48ec794164d9125d5a7b79cff0f8b1c8 +ChordFormer_full_auxiliary,official_span,in_a_mellotone,199.27,0.7732023915463269,040b2ad52984de5bcaf8e9e206bb287ce0e92bcb600d6c5d88f3ffc8477d6847,d67cacf9cc23fc7a8021072eb6834f6a536f98a39936baa432eac3bfcafc6d1f +ChordFormer_full_auxiliary,official_span,in_gloryland,183.64,0.14537426820409494,97282bd88ac9213528b850f79cc927a959e8f9fd289e89eabb98f51aa8d248f0,1e41262bf11bf79dd4189937016daa85c16dd4015b2a0f30e7220c0b603f72bd +ChordFormer_full_auxiliary,official_span,indiana,166.15,0.41179227285826325,57b1ec3490bd40d80704001340fe09f4685acc09961f5d2bf0200eff54e1128c,f214fde3796f6c7389a11e7fba64ee5b2a347d3879ac429ec244bac692cf1e7b +ChordFormer_full_auxiliary,official_span,isfahan,255.04,0.6571233045350734,f7034173b5644e720b308813ac5cfd3fd86cc9e0a9aaae73e3714c8c4c746e55,4a51bff8a42d705272a3eaaa9d322bb7f47c95b4992f3c80ad065b295313d6f3 +ChordFormer_full_auxiliary,official_span,king_porter_stomp,176.67,0.7170348190932866,585ee87a91a20895f7b30b8f39e264694c9102928031d4293e9719e29e6b0d11,66194287a26776cede0b3dd5b30d09e4c2f22880bd7139f11cba060f9504f7ba +ChordFormer_full_auxiliary,official_span,ko-ko(ellington),163.27,0.5497029460280516,4c57a6c5aa023bbc2b71cdd77f7b9f9258643bda60a03ed2cd5f01aa45b40aa6,689c4bd626680feb97ac4ace2b45bc72c3e667337386fa1329dfcbaf0a1f9f08 +ChordFormer_full_auxiliary,official_span,lady_bird,173.99,0.5006215985286508,111835d0697a4de1cfa4bebd9e121934114b9ba980c786a8e5f946bb8b46315d,77edb4ecbb10c5bbef15b9aa062c6bdf3c5426813aac2f965bd6a0ee80e643ff +ChordFormer_full_auxiliary,official_span,lester_leaps_in,195.37,0.2840860886755206,f571a94d00b32404f8f6ffd510c984356fd9fba33cb3a193a4f3f429a8882185,35d4e4e590d909527d2ffccc468f9a1902b5f68da319a51ec6d10d5a217523b0 +ChordFormer_full_auxiliary,official_span,livery_stable_blues,190.64,0.2555990522525363,95ec3f82a418fb4b889fa452414a5a9afacb7623bcf9f60f7c63f1b0a5c31124,ad24a02714a12d783da4a8d6089bb6390491ce9bd2b24e192fa7357421b121f9 +ChordFormer_full_auxiliary,official_span,lost_your_head_blues,177.2,0.804046185823928,37f6236ac46e4050d20929d2ab29f49ccbc793b6f802f42f73a6db9f80d406b8,e0aee8ff1030be47e96b09ca3378fb76ece3fc62d338139c4fe80db8f3d5ebe2 +ChordFormer_full_auxiliary,official_span,manteca,189.79,0.701512061702597,263905e684bd02997c23cc5f3ba1428f21954dc1d05c9b2b62184514cd0dd0cd,e98b2b35c18ad8e4e8cc12f7d53f02cc472cdf02e76e2d658521d4b45b269fd9 +ChordFormer_full_auxiliary,official_span,maple_leaf_rag(bechet),179.44,0.5629588786868804,7db10a2f10b12feb0e0326a2b2b8b23e8bc804361653b2f95a713cc84748facc,0ae90043cda7fce87cd95a733cbebc3f2dd3880882c4fb55792ac9d67e9cb299 +ChordFormer_full_auxiliary,official_span,maple_leaf_rag(braxton),220.51,0.7145676282782928,fc6ddcde2a44cdc04f06dd6f5e80a759edf233cc88fbec8a00fe8b89aa33458d,75af84364507765458154750bd9f2bd8e71f7604fac6666cec34ecb6f743aef2 +ChordFormer_full_auxiliary,official_span,maple_leaf_rag(hyman),149.97,0.8373356351937202,3454b235fc7442ad94b999deb401f27e015f5f571cd3892a81bfdd9f3c8cf559,7b72dfae8f77bdcc936ac095d33507dc37f71488f5bf976f549965ecb65abbe5 +ChordFormer_full_auxiliary,official_span,mean_to_me,190.88,0.7500854866718234,c00df3781e894805083ff63a5336c43e6d4c5a30ae3d64fe5eba1c4040f7dc08,70c96a6662b59447171529dc48f3fc05d5c3ee0837d7d941d00eaf5dbcfe16e4 +ChordFormer_full_auxiliary,official_span,minor_swing,193.816,0.8391099742745696,9aafef33565b9dbd34aa2285e2772b99f5f8fd18c212356a7650598e17941aeb,4dd44fc15830ee98db1df7fd2ab08eca7325bc9847d20a6dd92b325b57cdb652 +ChordFormer_full_auxiliary,official_span,misterioso,204.55,0.5216240949254465,430a05f8fe4a5834427496fb7072e1523d961b7557a7e9d98438450634036072,90461595d8d36309f3fbc6285b33ebb41cde9318dc5c6a67d5dcf20e11d8ca05 +ChordFormer_full_auxiliary,official_span,moanin,576.8,0.379270362269535,697b10f56bd1958edf2216b2e1fa1d3b94250de07ea78b2b49254b93011436f2,a381ad9d877d58534f5ef1fefeebbe94b0d457162f4ba5067a4c38b000b471fd +ChordFormer_full_auxiliary,official_span,moten_swing,205.88,0.33071818352314725,8757b692a9e907213741afa4c07ca12ecf6b756c15c4d1bd333190803ef40a25,0d0338d509e7ef1bdb8b1775820395aae832565b1517d97ccb30b3b7152feb18 +ChordFormer_full_auxiliary,official_span,my_favorite_things,165.63,0.518918371794872,2284f2605bf6c599a8d26c3954704cf895fc9337d5811532a15bd906f7b716b5,62240e4089133e93de6eb3f331a0c9a4d68548c0c6c70c1ee9c5d457fd79ee58 +ChordFormer_full_auxiliary,official_span,new_east_st_louis,180.47,0.6726585627946263,9d62c95bac17c5c07fb5304cd59ff5271783d8e34dcbda0da51497ba5ec2e05c,ef2bf1ac5f9d1598fb9ee13dc016a48f458ef1fa0a8eb0fdfd43959d6664808a +ChordFormer_full_auxiliary,official_span,night_in_tunisia,256.47,0.6896497275928016,311e0342b35f32d432322cd6fb9e1c01a153fc21b7735f019b20528146ac80c1,0a295ae2a1d3599569ddc2eaf01199243a818bf55d93ebed03edf475a8f0585e +ChordFormer_full_auxiliary,official_span,oh_lady_be_good,191.49,0.41681071747114967,92479231e1c7089e98af7c59ed3168b08981cbaca06543537bd41b97aee7c6f0,f9bd28b24dcb548664fce2e998ef8b57e8e7285584211bb02009a9dafbc9a7f8 +ChordFormer_full_auxiliary,official_span,one_by_one,383.17,0.45126498206211574,a6cd6c56cb6257a4450c47a74cb99aa2925b9f4aef3fd2e6fbfdb28a428f617a,acdf7d904f2ee8e64d83ff46ae9326999692f6aacec6d99c08877061dd3ef776 +ChordFormer_full_auxiliary,official_span,one_oclock_jump,185.49,0.5727698229273065,b2fb3a8f1fa8eb669bafc70a203eceaf626b460ac9ff986df917862bb881d6b2,978dfc2d3275c0ffac3b35376a9cb2d7dadbc023a0bb8c8987ae701955186dc6 +ChordFormer_full_auxiliary,official_span,organ_grinders_swing,160.67,0.655693343063422,e8034de87adacdb8114cc80a291edbd685822496080de0161202db82b04c1e6a,41b9552f2260aa4bda93c71e439fdf74b67460be08b965e75703d22e3cc1424f +ChordFormer_full_auxiliary,official_span,parkers_mood,185.0,0.6653166048246844,f9ad689edd83663565c646e06e305acbcf9c5837d339d86c67d391135291396e,17babc6d78f2cd590504160f27af4540ad628c339625f0818a20813bc60e6c06 +ChordFormer_full_auxiliary,official_span,pentup_house,534.09,0.5078501813425714,2c2ff19b6fcf1278841055afcd5844569ff1fb80b342cacb9fb6f4894bf20810,9e4c19e4582a91e7301a2e3b69f3a4ba7c69adfa391bc17f7363adbda0cd148d +ChordFormer_full_auxiliary,official_span,potato_head_blues,177.33,0.69013048555236,ab14282987770ad6c42ada3eedcd98d8e52c3762ccbec4bcaf4f704a3b1b3b44,6d4968c2703ad6ff9f221d3ea594c5b1280fcb4fb1fecde3df24242ee3a4f22c +ChordFormer_full_auxiliary,official_span,riverboat_shuffle,190.8,0.7284736186635221,a14f554983b12429da429f824a8cf59979546b09a24109d83f0155293f4a50db,bb91df1b62b29268c0a392d8cd35d4df18396abdbd6ec74bfec4c330d7cbe917 +ChordFormer_full_auxiliary,official_span,rockin_chair,182.33,0.8017639325095283,3ec67677c552c3ea746c5debe953232dba64245b303c874738c9b792668fbc04,205bf60ec25b189688a90e61fd07a0214d2f4c2131f3640d8838230cecc5c528 +ChordFormer_full_auxiliary,official_span,september_in_the_rain,197.25,0.5317993291642379,0d0198455f79011508c5c3ebbba1d65613615fa0eb63cd6a6b42a019fbb1fc6c,5a5788ce64a21907f23129abb9f1c51de67c48dddd86a220c262a6e86272e2ee +ChordFormer_full_auxiliary,official_span,shaw_nuff,183.73,0.13476370991858386,d7ab07f69eb147f347a5aaf6a84d1e7f8b33a899eb725d4df065470e6b217122,abb51e939462fbf676233bf8e0891a3048106078374ecc62401f1933f11af8eb +ChordFormer_full_auxiliary,official_span,singin_the_blues,184.55,0.7478508943889229,bdca6fcebc175131fcfc493544b136f4f73f4dd7f39059749e9b778e73345fa7,11e51083e258557d3b8a8b915331cf9732fd05e6cce8ee18fe9e80eb11257ec5 +ChordFormer_full_auxiliary,official_span,st_louis_blues,193.17,0.4877330679551524,3d7dde20976ae7d196d5b5603576c595cb1db7c5c868e3aa611491e9417c3fd3,8582574570aca4713e97470c1f0d295f5b76aa8d31bef1703f1a101028d99614 +ChordFormer_full_auxiliary,official_span,st_thomas,408.57,0.5948762838876769,d8b697713255a3359b8180acb4964a07875510d7c09bb01135829b204d4cad2c,afc1310ffc6a980a13a8c44c66baabb1a70ef0d02565624e02c1284cf411b226 +ChordFormer_full_auxiliary,official_span,stompin_at_the_savoy,315.83,0.5603566135826774,42e868e616da9248f496f7135c10745c6fe32a0176e3c953bf540b58b436d3a7,1f22185464d5033ac1ec65e168eb7c0266c5831bcf37a35791e8b078a025f480 +ChordFormer_full_auxiliary,official_span,struttin_with_some_barbecue,182.87,0.7284476501967523,89517549d547e10d6fe152151897308c3dac68e2cc0ca3bb94d6560c3223b4c1,ff117b2c339352231d5a835593f6571866f1b7821e525effd69ef0096c95f1d1 +ChordFormer_full_auxiliary,official_span,subconscious_lee,168.4,0.5785221451959618,9062c20883e04600d9a9864dfd6528919e75ad9f4d80f62197ab365e2e2e4daa,5de92be2c7967b2ebcac05fcd169b95b69a9bbc97559c100ee485f3507dc4016 +ChordFormer_full_auxiliary,official_span,summertime,198.29,0.5450418538806798,27f5a624c9dc3627acbb7303253a22d0ed5407e3cc6b3ed0367e5647716cbbda,d361d2219650fd6e503304554497d78735f70a6933d817f3b9f1f5bc460abb0e +ChordFormer_full_auxiliary,official_span,sweethearts_on_parade,200.53,0.8597813439000157,34a71571bd2e4e5e4450410e07e233f21d8635c673be39937102b6c70c120ebf,a42a100a9d9fb363830b2e5846c819314eb696208fc5faf64f6d592ace89d755 +ChordFormer_full_auxiliary,official_span,swing_that_music,174.07,0.8507064556174275,9eec732242d2909e44678d80fc5e9d62633dbf0a1a8db5769925787081c8a6f7,5d1c043d11a6da68f3e8bbc61c70b70259f6a9316d2de00c21bdfabf07024a82 +ChordFormer_full_auxiliary,official_span,thats_a_serious_thing,212.75,0.8151328631269191,3e1b0ce2f94d00ab85b2f2bcc1b4453b30a752c04c525c06fc0bfe8b1f6c0ddc,3dedee28c4041fbeaeeeb9b05da5293a434c2f21290ccd0c372d02b0d781abcc +ChordFormer_full_auxiliary,official_span,the_golden_bullet,150.04,0.6533781467675285,2a77cccc809e9fc5391efb236c9de2000d97b05834ce6caca412ffff2d247ebd,939abe7ab5c142008ab747dd11b75a7a0739c7f16dad790ef0bf76064cc09fc8 +ChordFormer_full_auxiliary,official_span,the_man_i_love,309.43,0.4444555529002481,289a81e3c1591a972ea11eb10c4997789825df714a4fb32b38417e9ea26dc75f,2b91ba86fcdf9cd55702b02820776edda77c38b092ff6d9a73edd58f3f267047 +ChordFormer_full_auxiliary,official_span,the_preacher,259.99,0.5057405271744473,bd30251c0877bf0e4d11b9fd7d9953ecd560bb2151a39c44ca6b30ac99ba5430,76fbdf8bdf44ed1d21443a95b396b09e38ace69061df1d5f10860952cec4a171 +ChordFormer_full_auxiliary,official_span,the_stampede,196.41,0.6432128336142917,01e1c4b5a23f46466345f988f9fc71db1861f3d753535f00f4d60a12a17fd8a9,93d8531f10d004492139a066630a650867505871ef106dd84f6d645ebfd00cbd +ChordFormer_full_auxiliary,official_span,these_foolish_things,217.29,0.6774520507468533,f651d2569e676d9b895d5d977b239af605e9394abae93a1e8782bd00fda4d748,17ded81b42ef27106ea93dc8ca07cc02b494cc8420d95ed1f5c4d1bc26ba813c +ChordFormer_full_auxiliary,official_span,tricroism,276.8,0.5494096887503859,156ae3e9ac70076d6fb7fc64bfc3e66188235491eb30d7ce335e7e6aa58eab28,5c1bbe6a44967e0be3daf05ced504f4448cb6146da73101790b4076121f3e94b +ChordFormer_full_auxiliary,official_span,walkin_shoes,194.65,0.2589996850612338,97d78223334326e5c9a0793a2eb623d1693af6f26c8a7f00a91f2897b538cf41,c18115282296f4c464b7c713374569fa09c5b53f81eaae19e3d0817a8d71d510 +ChordFormer_full_auxiliary,official_span,watermelon_man,391.71,0.8011328374760939,9452264e0127f1862d0f5ef112305f4fc7a9154e82ceb1d944cf64c72a3899f5,e14e211f1d26a3efb176f327065672307d26c7805d97e777b22da8639855cccf +ChordFormer_full_auxiliary,official_span,weather_bird,165.67,0.6582548658728098,2546998a026c905e9f913d4a5800396981ccaced16dbb7ae157721c1c037f47c,a5142148f560e77cf145fe03d3d606b694c62fcfecab862944d3c1a7f38736be +ChordFormer_full_auxiliary,official_span,west_coast_blues,336.47,0.5573869614943381,67b9139c19de29775fce9a3a210090ed6261583f5632b17013f8d8fd47968472,f2463af772d1325147bd48372b2bfabd907c59e7c9ccc169c19e244d426b5a0e +ChordFormer_full_auxiliary,official_span,west_end_blues,201.29,0.7982358237120786,185a044cc19fe1e4c7578d719287f70fefda36065af4658d183c7f133988107b,b5372651f21f04817ccc51b275c57d435f6a13055154fda6d54e13e32e136bb8 +ChordFormer_full_auxiliary,official_span,when_lights_are_low,136.29,0.3472729150947723,dd2ea9a84e36a1dae80c59ffd288ee620c0661678762a49f247c443f1650f761,9c9a72c8762564f65c25f23327b41f6ab9442b97195e7678315b71d2ae95be9c +ChordFormer_full_auxiliary,official_span,work_song,309.48,0.19397076577165404,c580bd2adfb489cab8284dc167edd98b0fdf66d6b7486dcfee398f7d7544dab5,554f51026486158265d23b591f3a8d621d4f46d98a61d40db4b349b095c38e0d +ChordFormer_full_auxiliary,official_span,wrap_your_troubles_in_dreams,153.72,0.5185643093259652,d2b88b390199694a959b4ef4585697c2c879a6b30cc9b0a26cafa33d42bda1c9,61b0f075b57a1c8cced17618ff9d00e2d79783f94c91f464038935d9b7a00f52 +ChordFormer_full_auxiliary,official_span,wrappin_it_up,161.53,0.6418339972892896,701ed6c9fbbda941d7a38713428dfdee02496a8a69d07ff0c8151fa24df8222e,dc3bf9685a7b9e7a143fe8affbac7f338d88721b9c15d7523d966a27426698e6 +ChordFormer_full_auxiliary,official_span,you_d_be_so_nice_to_come_home_to,170.91,0.3933781870306174,fc62394d244ab3c9ff60b017b324444cca5b62fcee57589fd75938ff8dc22dd4,12b328ee1f52428c157b96552925b5b616b9e31b330749de1c937cd46a7bc57c +SheetSage2-Prober,audio_span,airegin,255.586667,0.7721828739213656,7ba74ee8075ff67d0389a8cd105e57569b58127d07be5d9a9e060f061e583f2f,c8a656375047afb08f7c8d361d0b85d4d0c34b7364561e72fc6737c1af43d1b7 +SheetSage2-Prober,audio_span,all_alone,142.53,0.6929281290508424,f47b95d93b73be512256337468e82fda5207255ca6d74233e7982d25361443f6,868d8dbfe94ce787a2b70a793a29106c46461941d90ab58ef8f594d33b7f4493 +SheetSage2-Prober,audio_span,bags_groove,173.266667,0.6914005392624081,bbdf9cfc8ab073974aa4ad0afdcf59d18ebe98e3a4aad3e136255925fa39ddc9,dc363142545c49a43fc8f11799c2ab67e0e4392bbcc564dfcc9474a4c466fb3a +SheetSage2-Prober,audio_span,big_butter_and_eggman,180.8,0.7407808492447998,2249449c037af8aafb02dec441ddb5b4514e60f1068b146e263c4e8f114678a5,a7b45334be6781265f687f3d19c0e704bde00c83f79bf58da36d809bf2a7b16c +SheetSage2-Prober,audio_span,bikini,218.56,0.8078817733990147,3a0155f9e3c35c8dba3dacc697d4383b3423ec6bf84e851687e7936d5a440660,ccdb2920a9be7797ff1cba26c04c5ca43b8ccb2afcdb4cbb44bd0d54379d0a58 +SheetSage2-Prober,audio_span,black_and_tan_fantasy,190.0,0.7581549303294011,584927e40a00fde1d134da59ffdd85638b0146185f02866cb3c2b3defb147a5f,8e7ac57decd4ce5281a760cb5d1941437d32c92e745bdf50ce0a4b768d1d1945 +SheetSage2-Prober,audio_span,black_bottom_stomp,196.106667,0.8119619802511445,d9861d84d624dc5782c86a7d317085026803005109d30bbc9a207eeb2c42f2df,018baedddcfcc3aa4df06eec222fefb91956a4e37137ea40dad532426c1d160d +SheetSage2-Prober,audio_span,black_water_blues,200.706667,0.5216402054048362,d6704160cc849d54fc673bcd94be6be919086170466948099d3ea1233ac94ea1,c4607e7f9e768f8848933f6e101760f2f0a0aaf8555d1e48a7f0048f2253ab4b +SheetSage2-Prober,audio_span,blue_7,674.6,0.6402164245478803,18005f62316130f253e7e6b5e7f20343a607830cd4d19d4bc272f271c5e5c771,542911d5aebe08a80fa44e5d52a1d3de9345ee7ac5886b1ea5b4044448931da9 +SheetSage2-Prober,audio_span,blue_horizon,268.56,0.8656538576109621,5bcfbddb67d1f6d311c4ad2cc1302e64b1cf4c3e001325d1157699104c8200c6,b7f3a09f0d185200489dc4764c2d06241a070a5e9512258afd57ffc6666e0045 +SheetSage2-Prober,audio_span,blue_serge,205.4,0.5937774178308705,024ac5cb98042324748530797df549c81e08d99b8a7ec0101edc79fca9b89b16,fb5a8a87ad5c56cd02ea6d1ba9ab08c5e9462f1ac2d8508a43c076a9b8bc4737 +SheetSage2-Prober,audio_span,blues_for_alice,169.06,0.6359667998770372,0caf6dbc4420a929aef11a9632c013854417e82322498ba98c211648a256be4e,db849ba057f87b5fedb08f86997d675c73086a5b47f6425e507fa49b06249373 +SheetSage2-Prober,audio_span,blues_in_the_closet,545.266667,0.5281758164028754,fd3c1885e7648f7e792579378fe049831d8485bcd1dbfc0f99710d8b6a952b20,6ba19bbe54bcc1fbf8fa0c6b55a8d9d7e14f762caca54947204e794ac16833ef +SheetSage2-Prober,audio_span,body_and_soul(goodman),211.026667,0.6278690521887743,2748d0d954a51ad379a5de68a2e0546af44e26238dc909d246e436e11ed24a17,d0304ce18498bf4757b0055943fb6b092fefe1d6c61426de8f083a6cbf2ff4de +SheetSage2-Prober,audio_span,body_and_soul(hawkins),182.73,0.4037041441227178,c20f70fb3577539852b8c621811bc1ff095b0f053b7b7d9f415630a5039707d2,1beaa6abd9b20833b14ef81c0d2dadece55d18527bdab4ee46c6ea2dd44b7381 +SheetSage2-Prober,audio_span,boplicity,180.733333,0.4661298744455291,86186b2d6fd81bc383105b55112049ec1cac083b0beef35d09d61682d42b92ec,a61602dcb7c4b975bc799f7973bebcde27b29103a235621fcb39d156711e374b +SheetSage2-Prober,audio_span,breakfast_feud,140.666667,0.7473485331972576,7a1f002e651a3c652c9c58a9e6858a95b111d77fc44c58660782b2021083db51,dee77a6100afbe06fdaa884cf264d307d8737f1bab1b26119a992441b6e8bc7b +SheetSage2-Prober,audio_span,concerto_for_cootie,199.866667,0.5407584412762867,428d9a7e077f8f1e18e721e481eea4902bdb872ce92967c4a74d7657375daa10,0ad1e0273d4d3a5023986560d4c1de8b39610408f2e620546ea5f1045b8cb4b3 +SheetSage2-Prober,audio_span,cotton_tail,191.6,0.4458758665866043,94860624518f5cf66576ef5bf4bb37dd4421d6acca627ae2bfc53a6ac2394491,d3debbc63125574503c2186317bcd2405d238af37e2b5778b6e4dc35dad00063 +SheetSage2-Prober,audio_span,cotton_tail_fitzgerald,220.92,0.48769659471969007,79c653eb85896ffd155ff377b29cd56ed600dfde58df88788f547c401c05e256,dbae0a685c3b8fbd5058ee0215987f4554c20ac463ce3985e612e0a62fcd8fb3 +SheetSage2-Prober,audio_span,crazeology,179.96,0.46261112079484035,dcbb8dba4be069aace3a709874a59e7939ba37e79060923091d0e7984156c45e,04bc22aa4b49aff127cc9d7b0e9e6e430bbd5f88e7fe067e6d97ce53928f1fd6 +SheetSage2-Prober,audio_span,daahoud,245.466667,0.6597807083517369,f97bfb8046809a58944bf6e56299a49cf1c6ca5c580c648a00690d1842f985fd,933cce2ac1e29e526d3981710861f5685a73599a3a2f44119a4cb543b5d3bfeb +SheetSage2-Prober,audio_span,dead_man_blues,193.866667,0.7956327376278668,dd359aa55e203b3996adb7f8311a49de54a60bd4bd72c6932feacf38096cc0de,a1a6e2cce8cd9a5c6a227e83c128385ec8935618c7a3f7812a0844535eb95c3e +SheetSage2-Prober,audio_span,dexter_rides_again,196.73,0.6082909016098341,c76505a59d492111d3e0ee6af19411a0f00f0f279f7c9b3d76b1f1b90f4315b6,662ba9f584d31cf8e09096c0e67add5ac1c7e7182c2d732de84a7ea480fa703b +SheetSage2-Prober,audio_span,diminuendo_and_crescendo_in_blue,360.306667,0.6896758406893695,84d872f4c8398fe9b69a222173e8816b1b1bf517396a2162bc4b43104d3cb32a,7e409e8b57e5d0c0ce6ca5f36803edadccb1aa48fa420fabf7c42eb50ffc9aed +SheetSage2-Prober,audio_span,dinah,155.42,0.8136588584625537,aa83387f4c748f47a957bf29f61c07aa39c6ef6be7c8a707caa5817cdbcb4dff,d91dc2291e0e33694145c537bf389230f634aba6285e4643f98c4677339788e3 +SheetSage2-Prober,audio_span,dinah_fats_waller,189.626667,0.8238923269424135,d98832b3410ffaefcd3d725c08292a1c31c52e6685af32fd54ac410de85a3551,7a23d9f282638ee88fdafbc724838faae0ba667e265ef0f59d09205b3eca2705 +SheetSage2-Prober,audio_span,dinah_red_nichols,195.44,0.8321735571019234,0a381e64cddb5de59ebb3799f1fc575afa0bc207432fa322008da367385299e0,c214876c9da3479fbc14b670d1fcbb95faafeaf3b600431f82cd91127092b08a +SheetSage2-Prober,audio_span,dippermouth_blues,148.93,0.4926944117443392,20cfc696d63e21d683831fd20bc4bd6acc34bbdc23fd45483e7868193a514ed8,d9d1c4ac07af216dfdea1847b3c599d7d42633eb6bac11446838acf89705180b +SheetSage2-Prober,audio_span,django,424.93,0.9089042718395487,a6d629ccad83bb1e94c7c9d7509c061a40282347ca1695f0b73cb93ca3d10e62,6c167a2717a0bc49f8f4a8c1679215f7ec3e5df3d59f684f21f835de55d744ef +SheetSage2-Prober,audio_span,doggin_around,180.506667,0.13216501859180618,8192d2c1f0cef7f13d70ebb437eaf702779ac597482d51757a9413a98cf7b908,558b9b3fd7f789d5e8da265584c69f21f81b66835792c130f962df2fdec6b73e +SheetSage2-Prober,audio_span,east_st_louis,219.026667,0.8835490905725132,19161558cd716faa705bffdfc9abe22323780e6489dabff225427c629c73ba91,b193885028f290b7f50af59b2953901d34c6eb64c17c7b74f1f79ae029454d36 +SheetSage2-Prober,audio_span,embraceable_you,227.96,0.5327664565313006,37a080a6f4954c9935074c514db0909214014835b95cbd8403092bbefeed76cf,a63edab2ead8175078663067a0f199753335878c31d2f18db23c14dab1f0c8d8 +SheetSage2-Prober,audio_span,everybody_loves_my_baby,144.28,0.19526833693907464,8f5cd616b19dcc52c8255b5ecd3717a64b2a261141d6160180d6e277a63f3455,a3f41a7dab67c3f25eb2e246652212d9bc824a3a1f9f398b2af0c1a1e91fd5e1 +SheetSage2-Prober,audio_span,evidence,154.73,0.20717486450341385,7549016a0247a002d1976c6027af81eb1096db83f0f609e985b84a73f6ad5f7d,28df2ee4cda16fd1405edb75a19617eb932d296d46956452a511b67b472e04ad +SheetSage2-Prober,audio_span,for_dancers_only,161.49,0.7136526693395231,91364e8c08739d49cc817d8c8793d13fe41bc22e681937158ae69c74605e1810,8d5f849ee70daa2b40707cb29ca844f2a693f1f6b3dd22b230e7981604fdbad4 +SheetSage2-Prober,audio_span,four_brothers,198.52,0.4731841863315963,a052ece249224c10f7d88b02a765f2303612c678a6c44434bfc3ce94976d063b,909752e4848a495f94565651ad32947cc2fa135495dfdd433c2110b37aaf0df5 +SheetSage2-Prober,audio_span,four_or_five_times,194.426667,0.20279482730092568,3f493ade74ce543dbc6d92557935f3822671d1faa757ee36a2af6692e1a938ed,a7bb80fc755c8bfcacf772fcaf32bb40d1824593ed972f5ea41d8eb5d4b196fb +SheetSage2-Prober,audio_span,from_monday_on,183.13,0.7656869605784935,8371e0bb1b4e31ee23dd6da7d864ec184cb762c28c5ca8c29b0d0562d292a6a2,44e695731cdc226ff99d800e2a19c29d16da773a461bddceb2a3cc90e87586d2 +SheetSage2-Prober,audio_span,giant_steps,287.4,0.6201809324982612,c8f9115cce1083a98103d8f981f7e3b03582f4bd91032c63a56928f97ada6c05,099591f3c0b11a3dbd4dcb59ecf446784496035650126d04093ca2489d37452b +SheetSage2-Prober,audio_span,girl_from_ipanema,326.37,0.859781143197567,dd9b116267b157e2086f30d64b8e5ca9463ae4eee982113f4455238eb0b0dd0a,2dc38945ecfa5db18593d4c69922815c8886f28839a128719813ad423f0524d8 +SheetSage2-Prober,audio_span,grandpas_spells,175.36,0.8652276100940126,50c732a9a898565b024bafa1d4de398749046390c5190dbb2c578359b61e51ad,e757d11961f1d29381eaf257e97b84b91995d1ca6e6c9f62f6790962dd23c21d +SheetSage2-Prober,audio_span,haig_and_haig,271.61,0.4385944611586818,fbc5af9f2529ad225e52652fe0420eefc96b66b36f74ec5068d64811202d8293,cc5568931cf427f044ad3b445fb99816a9be911aa3815d44b3104d771c8c29b4 +SheetSage2-Prober,audio_span,handful_of_riffs,187.85,5.557716889901628e-05,a968a3163926ca366b7f126e818289050d34fcfaf3ffed07e9dbf7e598678feb,0c64e755364ad22f9ac87792695e6d19de03d6e5f9bfada33757c45762ea637a +SheetSage2-Prober,audio_span,harlem_congo,195.89,0.6741754268869233,4b1fb3b9d99c0eabf263af3fc387bf8d9fa0cb0db64fe02fec9f6d51c151eac8,519c039af84821329db7ea62419e513c5dc8d9c6b9704d5519651a8307229fd9 +SheetSage2-Prober,audio_span,he_s_funny_that_way,160.706667,0.5986058534174024,c65bc681510a767485b609c3bbe85a5951be14b2a25504fd07e104cfdced2a5c,b8ed3640751db39087090bfbec764173b1cd39f0c00dcc847a68f47eb00d0e56 +SheetSage2-Prober,audio_span,honeysuckle_rose,185.97,0.5683122195080387,d94c44a47f62132439af487739b4043f9a8b1e47bc988938709d15049322df1c,f62464e974c238e5e56f641f4148122d1cf4be625068c73dc922a1169731fa7c +SheetSage2-Prober,audio_span,honky_tonk_train,180.386667,0.9005469733525262,e66dc5ccfd99ed292e7598e97028bd12d7b1b806d7698d980e2373c8cd43ef9e,169afc1ff86919c8e922a5afb73c4cf4649e25b3e6ee436fd9ec80e271d69cf6 +SheetSage2-Prober,audio_span,hotter_than_that,181.49,0.6689483509645301,ead17503ebeae9b5a0029ab1aea2d28dddf809b98d9c94b22485464bd9ce88cf,87d9b1a7da349101798c198723b28dbbb33959b252b0b3395fa5c71aac7f2eac +SheetSage2-Prober,audio_span,i_cant_believe_you_are_in_love_with_me,254.68,0.5866970315690276,2fbe2e3c15835acbb76434ace753b87550231d81c8f6f5e3681cecb2bdc65b83,e9334f7378b824d9988cec23dd3c6570fd3c9be42c378da1d261a0739c73ce9f +SheetSage2-Prober,audio_span,i_cant_get_started,186.16,0.7800668151447663,f5b0bff181ec338c5baa1cc69c2d72e5773b99b407d4221419196951d5f8c897,eb2dba9320de0786eb6ae2bf67dac70b08dd53923ed2e719a002bf8126c3c7b2 +SheetSage2-Prober,audio_span,i_found_a_new_baby,176.53,0.9014898317566418,558b6641ea67d7928f5f852f5101bbf76becaf91508ef7b379e0b557a0a69b2c,2aa1756e1ecf287e7583ac02badb2bf6cf5949fe8c8619ccbedaa20d739265d2 +SheetSage2-Prober,audio_span,i_got_rhythm,304.84,0.4442118987168045,62d90da1e709206d37a80f3c159f71537bba4a956919eaa7fffe3e0f3ec79212,db450219b1a1c35d81cb46c6c3f7bf78a0adfb3a065d61efa2389b9f789674fa +SheetSage2-Prober,audio_span,i_gotta_right_to_sing_the_blues,183.6,0.452487203045019,b7222b34995c77787b3c8610704e7feab2dffddf60d6070a8c0002706be006c4,788f71eb91c12179fdbd91cd65a3e40a833f8328b48ad822d6f9ca913b27b16b +SheetSage2-Prober,audio_span,in_a_mellotone,199.266667,0.8590836424885653,9cdbe972a5a7e8c2bec862cb711c7a46e376325cbee838e13b4aa4404eb19fdd,94ddebe89d8cfce768313a852d9dcba0bff7504b55593a098b9687e4047bebab +SheetSage2-Prober,audio_span,in_gloryland,183.64,0.122631235025049,331ec1e9f3df74f1f4dbb09b2eac5a98a00f3c4de5b62b363436ff102d42943b,dee0ca499cf56756fce92b1656e04e3d593c0f0b52ec5c50b684fce664d0ed2c +SheetSage2-Prober,audio_span,indiana,166.146667,0.6369554887841082,a2548d3fa69cbde5b828baa8bab8ddbec461c78e26b5f6b0bdd4f68f412384e6,c2419135be71cae4ae036bdfd9ea4e57546b75627b7ae978d787f1551c75e591 +SheetSage2-Prober,audio_span,isfahan,255.04,0.8793288277790725,31d7c059f9009df94673965cfcabd706191686c8a78b70946557442098e3e63b,5c2a8aa3250cfa2690521c43fe6a481c46e08f8199152d982e69be3384eb2cde +SheetSage2-Prober,audio_span,king_porter_stomp,176.666667,0.7518319395681561,a8eac26f565b7dde85100c18fb9fc3fd4f0474396f3c048db9c3a745f72929c4,eff7db53441dcb67747663c5a8769234f18f8d33317b3edf2b983119a9257ebd +SheetSage2-Prober,audio_span,ko-ko(ellington),163.266667,0.9406492447108019,a13a967b058a44d1e8271c78af536d1620facd8c6a39d7ee3dee2a6a9c5b2d4a,9e5e0ce79715108de7d506cf3db7eaf0debe61e03f1d26ed43cb2fdbd2195397 +SheetSage2-Prober,audio_span,lady_bird,171.146667,0.5129323786363894,2ed439260c4331270dada13265bd4b0ab79a0093480a783c05db393aff46ba5b,28c16e8814d1b7ee17a00271a8c5d71b53fafbbd9494cc2bd64e9975dd4d7f10 +SheetSage2-Prober,audio_span,lester_leaps_in,195.37,0.3908358670720644,40f0d6c382e0a4853d18b3a82a3df9745f928102b49fdfa6001f8ff5ed024504,2dbcd041a6fac4da05d6c432d8c812aa0aabcf08bb5ccc25710e7624463cee46 +SheetSage2-Prober,audio_span,livery_stable_blues,190.64,0.5830310676549437,b92134d81a9c5279f386b4fc1d1fba449676f59b6ee1f43c3397bcb5a068cd8b,a34d7136b0b9e6b669356f27fc01c7cbf1bcf8eb8c8216d48472ca30c6631de0 +SheetSage2-Prober,audio_span,lost_your_head_blues,177.2,0.597686230248307,fa976ce4647524626cc3cb423ddd48eb5c29bedbd0eea9dbec4d332f9756d3d9,4771be5c1ff801292bebee69802f29018e5fd693c1a1a91bed96844667e6423a +SheetSage2-Prober,audio_span,manteca,189.786667,0.7260797652525642,8cc53bedbc081e004ea9d5dfeaebc0e3084824918621d85da4978621f1249d48,81599874aabd8bb79556df69e97382a4956d2e345ed0dd48e7742b1ab4c9ac46 +SheetSage2-Prober,audio_span,maple_leaf_rag(bechet),179.44,0.6649362907031622,dbe995d3f7d77941a402a917772e27ce23ae768bae7ab85f6601ba100e642584,e529d5e7fdd5ab97e26758af42946d3d15acba4a69fa278fb3392c2e5a60c857 +SheetSage2-Prober,audio_span,maple_leaf_rag(braxton),220.506667,0.35118693272521595,9ee2d434ca071b305f67e7bbe1fe5c4464d6deb4a2db2b07e704178a7cd488e1,058641d72b08755c9e28ba050723331e301b4a52fcfdfe02b8a535f16141547a +SheetSage2-Prober,audio_span,maple_leaf_rag(hyman),149.97,0.7968457439147341,933d3ef2512dc4a8427cb97ef6762ca810c3bcb4fc472b667ba1daad9bc62280,8f370d29317e2fc5b8039a738b10f920deb8b8d17c4713a8405967c6a4851bb1 +SheetSage2-Prober,audio_span,mean_to_me,190.88,0.7289606012046187,4d29b82a01fe17f1af27dbc836d26d6be3f4eed7392a087431f958be419a7947,1f59cfcb6475d0d792b7ff428856484990ae241bdda7fcc4436e5867600fcda7 +SheetSage2-Prober,audio_span,minor_swing,193.816,0.8718372064225861,1ee4e33e6e04926e65ff9d927db4757c97d402c14a1f26b81b073632bee1c738,a096d95efed41258962b2b882be447c94dd12e1b2199cf2ffe151620e78655ac +SheetSage2-Prober,audio_span,misterioso,202.773333,0.5912184369924028,98fa45c7e867136cc985593dc6b90b373061f3065b4b7125a44669c04aeac9b4,818fdf916e503ba716273fe88ef511eb7cfeb2ebb416792d83153af2731225d1 +SheetSage2-Prober,audio_span,moanin,576.8,0.4670485248027674,3f8b643d54a22e7d7bebaac9e778e8084c9a52fa74c2f8931efa77022e4d7140,635f9344009b0b9a8a7555cb419691fc8e27e0658aa286ffab8dc55c7a048795 +SheetSage2-Prober,audio_span,moten_swing,205.88,0.3839175664349457,343bf3c70a5bc9507b875a3e6d56055a414452693bc1c9129652b8239d573e80,b86599c4dc9fe21c4768df2d43c0202471207897d33d61623d95b2f37f8bf410 +SheetSage2-Prober,audio_span,my_favorite_things,165.626667,0.4656122232348582,bb6f60135b87f3e2c6de8142468e0081d7cb3461ba3f07c4d949f70c50b3cb0b,0e2dfe3d98d2df80e8b4c9bcbaaddae8cd0b23e8316a9dec5c992ad4037c0a31 +SheetSage2-Prober,audio_span,new_east_st_louis,180.466667,0.7096696350164386,9c6b97fc304147e377bf29e57d5052096d747df9ec6bc0d16661114687ed9683,7748628ceb097af39bd77162d3e5ef8a149e670691b8a862a80d4b85529e2259 +SheetSage2-Prober,audio_span,night_in_tunisia,256.466667,0.7741426028744471,87ce9e77794caa2126da34f4227afdac27fc1d4812266d204afc9d8157b6026a,9612324225bbdba390c9cc63dec25f1f736f6d1aee25a10b1f3449d29ed235b0 +SheetSage2-Prober,audio_span,oh_lady_be_good,191.49,0.6066355969818021,bedc96a916bf07bc16e5be0adb8942b533a6b9bcb61fdec382f11554b23f4cc4,f3303d12f042979eee7c32465beece7d55275f4e086bf1a0edcf08ea581e99d7 +SheetSage2-Prober,audio_span,one_by_one,383.17,0.64246534726855,7301c7905bb1c8dc0650a03c7843c4cdc9f216fda046584691cf7c6d1e99cef3,40b83dd2131b5f6411994837aa824b5a28969d4860f4808f2853c4e0d16046e8 +SheetSage2-Prober,audio_span,one_oclock_jump,185.49,0.7081929805498208,5307e5eda1a6a3b528cf1fce1cb1593c02069b3fe962441271d78bf4b8352968,7624883ae46e0ce92d012e97096f860d87c8a952782dfcb81932ec78dc2efeca +SheetSage2-Prober,audio_span,organ_grinders_swing,160.666667,0.5523651461569188,2e930190e5d7ba7ccaa3b92582ecd78cffd65326a7038994193fccac476e7053,de502cd1af70ee5cd94653500d35af2b40a5e9f4b32706d8ddc54576e3d6ff74 +SheetSage2-Prober,audio_span,parkers_mood,185.0,0.7050883590462833,f549ed9aa236752ff96801d6c9214edf79524b10cf540e77b9fa02cdfc5d8abc,62676e4c3eddffb76ea17c922583e74f8ec7fed55137291a8e8661896323e4ec +SheetSage2-Prober,audio_span,pentup_house,534.09,0.7128593394188292,4ba714529f21bf5eecc9b85f0501b2dc9e4d03f7331f639faca7b93bc7506c36,a626351af99222d034ef8577ab8541305550077622c00693932f6d2ebed19776 +SheetSage2-Prober,audio_span,potato_head_blues,177.33,0.576608582868099,32b16b691935de32becfe01ffd3e30296c885e2da01b4053512a8fe45f335922,0d242428ab00db25f8954b8ff02fb31514b4cac6b5b2075e9e4b92944717611f +SheetSage2-Prober,audio_span,riverboat_shuffle,190.8,0.8072327044025158,e646df9e1a1821023cb7dde44397a1338abe573de1087197a3e36b695819d8ba,d819657b9cab108a86cd958ba17bce42ad91a8537bb41c8611f71634512174bd +SheetSage2-Prober,audio_span,rockin_chair,182.33,0.6816341114816581,3f32b0563593189cf2302c68a6983131f33a05de2d44da43ba04aef63c71e7d5,3168d4c184fd010ae4e0cb4de99b6fe765acfb3b30e76bf5e1834e728c865dd1 +SheetSage2-Prober,audio_span,september_in_the_rain,197.25,0.6614552970480683,6e265471e9475fa8bde541decf0110ab502d16b7d2c521e5ca351bdfbd3da201,b8e9549325208dbf65a1983b3e82341545dd0d93322ffa3dfc79a3969399b316 +SheetSage2-Prober,audio_span,shaw_nuff,183.73,0.2908374256913933,a3e1e15ba0c4e6f2d44cc8eb99896ed160c01760e1470653d0912d4b4d141bc7,95678d0032b2f37d954828412257a68ae1093585d1a729a3fba5b607f2be169b +SheetSage2-Prober,audio_span,singin_the_blues,184.546667,0.8407652798318225,196e41e2ab2025539f770630d5d670f47033876ca8738e14d47bfbbffae718d1,bc984c5584214114d2f9739532ccd60bf958e037ccc20f152531104fe43141d7 +SheetSage2-Prober,audio_span,st_louis_blues,193.17,0.43780032034169797,5184980e6e1763c6832d1c6837d265e1a625f3e6c1a03175bfc3b791dd4b5b83,964c70ab7fcde880f1a43da8de3f0a425d330530953ba0c18b79050f2585440f +SheetSage2-Prober,audio_span,st_thomas,408.57,0.687166408119265,6ed1a7d8b9eedf786306eed9e28558297e4f8a93b0a06aca55f3262482b9309c,513a3dcb6632100a13563a3b01a5504c889a43b188ec7d1cc143303d8003f08a +SheetSage2-Prober,audio_span,stompin_at_the_savoy,315.826667,0.5984204918992541,8033047c6c0452a87bde39114b4335e4cd63a1cfdf9ad50eb311c655e3799a86,e01360d03cbb4202d997cd9d67b2709ba54c8e4d0732d601b2f9cbbe56047d5a +SheetSage2-Prober,audio_span,struttin_with_some_barbecue,182.866667,0.7160619278080445,62ea1274c2c261371bde73072ae20659e5138bbf073cb6f8b2feffb5fa6ce42a,b263e7b21e2c774291499701045af08c248d56a6f266c001231eac3b0af0c678 +SheetSage2-Prober,audio_span,subconscious_lee,168.4,0.9129453681710218,287a35fe10a525af3d6ed3f469ca8d8b0d092db363241fb4f6739c09c9fb899f,206b6b096b0b8fa2f19c9ac4d2d7b2caa9d4c4efcf1592acacadb83138ab855f +SheetSage2-Prober,audio_span,summertime,198.29,0.524282616369963,c7ff10aa4940b16fb75fe4899a6abd141c4d5c3f971f0797f1353c1213f041ed,2c92d887e7a8da18a45cb2247b663b80024cd212621670d97233e6317751585f +SheetSage2-Prober,audio_span,sweethearts_on_parade,200.53,0.8226742665899707,84a5c774ac0435d1e1c3144b59488d05561a63c531a6bffca2abf66131b124b0,2723b0ad9486d52c86398e2851a8e7a00a26bb2297f8e687721000bf46cc90ea +SheetSage2-Prober,audio_span,swing_that_music,174.066667,0.9069862317042605,74c18eb93e16e9a6421d5ff3ddb82444657b10890b2806fe26bd4b8b3d6f0cb5,e4f4a1f9f3a082bc67303b27ff207920b957d840f6172bb76e436bd285d7b45f +SheetSage2-Prober,audio_span,thats_a_serious_thing,212.746667,0.7770176908902949,8701e871ed09dcf264871ba68e9dfcc7f443c205673f15f111c90ff74b6b6f13,35f16f88879b5d2bd88fbad56350381dd03e8e143d19848693090a59755ac19b +SheetSage2-Prober,audio_span,the_golden_bullet,150.04,0.7132764596107701,26f42674779fa50a49634b8456a5faca8531cb531e424e6adb30b005c08fbade,c89fa896728db386eb65fe9deb9b912a83590b0ff960bc9e0d8453ffa0b850f2 +SheetSage2-Prober,audio_span,the_man_i_love,309.426667,0.6302405665310906,34179a31b11204565b05c6c642e0d8f4ea9327a6d2ea573ae3bec1da2547c9fb,f7d6ddd771bd0628fb1165bb0cb8f84203dbc2c965868fece4447aca2ae615a1 +SheetSage2-Prober,audio_span,the_preacher,259.986667,0.7504060937899699,d2106a8c71cef6cf884be21280aaa0c2a518d7e7317e50e2fadff51fce94fed3,d4e3173ed74617f2ad4769d4f2b570ccab21b5e6669cc828e20dd74216859cf8 +SheetSage2-Prober,audio_span,the_stampede,196.41,0.11058100084817617,837de91a782d8bf31e48c9de04c82c48b0ee1bcf68693ea4fb055057c03e623b,d44ec2249fa6e4d827f687b2ac6a9b768d12d30a98f3c27cbc37e6339c762828 +SheetSage2-Prober,audio_span,these_foolish_things,217.29,0.6744943435035996,144859925a97b448d4238f85e0bde127b2535901b6b7dba14db1d7f7a8e9c04a,3953078cf6671f2440fd4725a7b7ea7e1c2f3db11117e95a4ebc3a83cf959c73 +SheetSage2-Prober,audio_span,tricroism,276.8,0.6506637851188647,5b43d9d244c872817d496e78bd21a1e6089bdf210a3508b1386a0fc1cac37ddb,0598f596439519fb7482053184015f28a51289c515889ef392da087d393831de +SheetSage2-Prober,audio_span,walkin_shoes,194.65,0.4575314634008688,461661375891e994bb1c8465f36bc810d72f894ebf3ea9473d195b38818aac47,6319028133296054316828206b6034341f8907a16d65b6f3fe67ba20a2b569ae +SheetSage2-Prober,audio_span,watermelon_man,391.706667,0.5453519529075802,b580bfade28c8fcc4cccdea3eaa3c62fcfcfcbee181f553713fe3d86ccaf0a4d,060a76833addefa32c16f095b4720fc86839d8a0195a12099fc7a3ca831fce7b +SheetSage2-Prober,audio_span,weather_bird,164.666667,0.592479697810795,8f6a33fd28e79154fb69de89985830969e68e30a8f907f15c582f381dfb79b7c,250ac43d6ede8d2e116be57bb04ffebc6c7ab1c502be5c9901170cbdca22f853 +SheetSage2-Prober,audio_span,west_coast_blues,336.466667,0.7493758661091969,76a273c2800106000549eb42816d7cf89df044dbee8b0dbc8c58aac725927cc6,f8c77fcc6fdc77297d23138be5a89e318ad555bfb2c8f047483064ca005083ee +SheetSage2-Prober,audio_span,west_end_blues,201.29,0.8010436384099859,9f317db7a8c902e41cb99449fd51d838f58b5ba646024fb1fac78aa21c6df826,b8f4d27cc584ae4b17ca004e469033b33e69b63606e2d85747a6e39013939b95 +SheetSage2-Prober,audio_span,when_lights_are_low,134.866667,0.4231809416015951,def6d599b1af2d0dbaca7f37d01d0faceff87ac7eed3529852213a911a7db111,a6291fad2d3f3727f25076c72af669cdd845f40b9d7315980ff4a1f39efa8372 +SheetSage2-Prober,audio_span,work_song,309.48,0.535094161641344,727da75d59b86d14cc624dc6ccc5587f4273bf8c5c40a32dc8aa1e037aff5a79,35d35ff5a50727175c6190f27898f129196f6b6bc617a3ca1a22bf8b254e6d05 +SheetSage2-Prober,audio_span,wrap_your_troubles_in_dreams,153.72,0.6057784145176698,9b89daae438ad791e01012e8d08ff8315c8bab4c3ed7c702cd32db8fe21ffc0d,09c14bb0bb50177c357aff9e1c4977007b0ed32b50f3a1ec824994a00b6c7693 +SheetSage2-Prober,audio_span,wrappin_it_up,161.53,0.6403580659396075,5860001e66008160525d44cd32c1f853d68e0bdb80252629fd264b5309a5d026,f7d724c8f73a8cfeb038c33fdbd5d8889ce8168a1ac4776fb86745f40b9902a0 +SheetSage2-Prober,audio_span,you_d_be_so_nice_to_come_home_to,170.906667,0.5181859771364945,63abf7b8872d559b3fb6ba9ec2c376ec3db46dec76a71441d4d834ed6f70155b,0c7bb038d236ca56c5ecd7424a6090572ce8f627bd036b06db2f719224157ee4 +SheetSage2-Prober,official_span,airegin,255.59,0.7721859706362157,7ba74ee8075ff67d0389a8cd105e57569b58127d07be5d9a9e060f061e583f2f,6e9f9508bcb79c2028165bcc011b588549ed19345cb8cb0f06574e3baf1298d8 +SheetSage2-Prober,official_span,all_alone,142.53,0.6929281290508424,f47b95d93b73be512256337468e82fda5207255ca6d74233e7982d25361443f6,f0745989d240da16b1ee7ba632ada87975c90d96b248f93d5b39988a0cbce926 +SheetSage2-Prober,official_span,bags_groove,173.27,0.6914064754429508,bbdf9cfc8ab073974aa4ad0afdcf59d18ebe98e3a4aad3e136255925fa39ddc9,2658d12b95849f01846257618bc6f3f8e13eb5999d967246acb8c7f274b760e1 +SheetSage2-Prober,official_span,big_butter_and_eggman,180.8,0.7407808492447998,2249449c037af8aafb02dec441ddb5b4514e60f1068b146e263c4e8f114678a5,4c7dfea4899be0e34573c3053f59a8513f04f0e5bda47c4d99a3e20ba87c4b29 +SheetSage2-Prober,official_span,bikini,218.56,0.8078817733990147,3a0155f9e3c35c8dba3dacc697d4383b3423ec6bf84e851687e7936d5a440660,411c7cc6a3c48f029b6f253629f373a7acd49d0e20f9de71ab6ec56851d0b76e +SheetSage2-Prober,official_span,black_and_tan_fantasy,190.0,0.7581549303294011,584927e40a00fde1d134da59ffdd85638b0146185f02866cb3c2b3defb147a5f,bd33b5d182c407c77ae701e7f9a60b5c4f9cf7a09f602512c6b233b758fded49 +SheetSage2-Prober,official_span,black_bottom_stomp,196.11,0.8119653521278316,d9861d84d624dc5782c86a7d317085026803005109d30bbc9a207eeb2c42f2df,65d3bd286db277736ca232fda43f8eb50b5d63bac2d051b431e382e6328f8b72 +SheetSage2-Prober,official_span,black_water_blues,200.71,0.5216481490707988,d6704160cc849d54fc673bcd94be6be919086170466948099d3ea1233ac94ea1,29d2653eb3b38551051468350eb4a6136c1f58cac178f220a2fe803ed291e7e9 +SheetSage2-Prober,official_span,blue_7,674.6,0.6402164245478803,18005f62316130f253e7e6b5e7f20343a607830cd4d19d4bc272f271c5e5c771,9f7d3eeba7bb25d4c06857a50fc74f5d288d4e86a838a1cbbd5caf82ea2b74d6 +SheetSage2-Prober,official_span,blue_horizon,268.56,0.8656538576109621,5bcfbddb67d1f6d311c4ad2cc1302e64b1cf4c3e001325d1157699104c8200c6,cf5c2da979e317f070ccc9f325f47a166f4dc9c856da08b024981a55eab8eba4 +SheetSage2-Prober,official_span,blue_serge,205.4,0.5937774178308705,024ac5cb98042324748530797df549c81e08d99b8a7ec0101edc79fca9b89b16,dbbc2eda5d394d6a1e22e6a2201fe91f5124b3645262721bd301b48d823d7854 +SheetSage2-Prober,official_span,blues_for_alice,169.06,0.6359667998770372,0caf6dbc4420a929aef11a9632c013854417e82322498ba98c211648a256be4e,fbd093a8996d6c4f8171a4ea062374730ad95322d5d827cfc05354a9bf8a9b42 +SheetSage2-Prober,official_span,blues_in_the_closet,545.27,0.5281787004603219,fd3c1885e7648f7e792579378fe049831d8485bcd1dbfc0f99710d8b6a952b20,24f301c1fe65dba4474956769e3ab70a8631f474331b31db64b494453d955b2b +SheetSage2-Prober,official_span,body_and_soul(goodman),211.03,0.6278755074424907,2748d0d954a51ad379a5de68a2e0546af44e26238dc909d246e436e11ed24a17,d35fdad26b131f516188e9f606f801922c161d6a52c3cc7d1b1a0101848e6de6 +SheetSage2-Prober,official_span,body_and_soul(hawkins),182.73,0.4037041441227178,c20f70fb3577539852b8c621811bc1ff095b0f053b7b7d9f415630a5039707d2,37b17a85b7cd0b5fb4247c74a9c5cb8502176eeb1f12ce723b4191bc65e31d20 +SheetSage2-Prober,official_span,boplicity,182.71,0.47266980664352987,86186b2d6fd81bc383105b55112049ec1cac083b0beef35d09d61682d42b92ec,3c6505b7bc7b79aa1682f0136518c3daa60d17e95930047587224663c703b3c0 +SheetSage2-Prober,official_span,breakfast_feud,140.67,0.7473548972188633,7a1f002e651a3c652c9c58a9e6858a95b111d77fc44c58660782b2021083db51,dee9563153caef78804c7d720757a407fb5cd308f7818581dce572320827cfda +SheetSage2-Prober,official_span,concerto_for_cootie,199.87,0.5407663348976328,428d9a7e077f8f1e18e721e481eea4902bdb872ce92967c4a74d7657375daa10,d3eb92357d9f128b399a8cd408336fb727994d5908c0fb54e52fb44e16665bbc +SheetSage2-Prober,official_span,cotton_tail,191.6,0.4458758665866043,94860624518f5cf66576ef5bf4bb37dd4421d6acca627ae2bfc53a6ac2394491,a26e0fc29cef46b552d527144035e22c245eadf048dc530ec3040bc73406d0e3 +SheetSage2-Prober,official_span,cotton_tail_fitzgerald,220.92,0.48769659471969007,79c653eb85896ffd155ff377b29cd56ed600dfde58df88788f547c401c05e256,e445ea39ead3a16fdacc5021e0858e21d4d84acab760376f7d4b327e01a38b7b +SheetSage2-Prober,official_span,crazeology,179.96,0.46261112079484035,dcbb8dba4be069aace3a709874a59e7939ba37e79060923091d0e7984156c45e,d3217328fbcb99231f73aa4fe29518e4b451b8e46cb967f44b060fb20360d2b0 +SheetSage2-Prober,official_span,daahoud,245.47,0.6597857969843839,f97bfb8046809a58944bf6e56299a49cf1c6ca5c580c648a00690d1842f985fd,4bd09e6669b11ba612d3896f7558c7376fcf56c816d56bf5f5013e1d5f777e28 +SheetSage2-Prober,official_span,dead_man_blues,193.87,0.7956362510960955,dd359aa55e203b3996adb7f8311a49de54a60bd4bd72c6932feacf38096cc0de,b3156f8eb00af2e57d2ce048f6aafaf6e4d1f5c437372c4009274b4202f1a1fb +SheetSage2-Prober,official_span,dexter_rides_again,196.73,0.6082909016098341,c76505a59d492111d3e0ee6af19411a0f00f0f279f7c9b3d76b1f1b90f4315b6,c7cade360f7d377ed2fdb49ec7d5589c245ea730a39044e525fd6fd9475c322c +SheetSage2-Prober,official_span,diminuendo_and_crescendo_in_blue,360.31,0.6896790470580936,84d872f4c8398fe9b69a222173e8816b1b1bf517396a2162bc4b43104d3cb32a,23d72706a5a1ed9d6d0cb6102540deaa4452b51377976d8b652704f77abd38f2 +SheetSage2-Prober,official_span,dinah,155.42,0.8136588584625537,aa83387f4c748f47a957bf29f61c07aa39c6ef6be7c8a707caa5817cdbcb4dff,e75bcc33071573f434095ac13b7b9cc493abdebb9ccad9fa6deba5ee314e66c4 +SheetSage2-Prober,official_span,dinah_fats_waller,189.63,0.8238955602071171,d98832b3410ffaefcd3d725c08292a1c31c52e6685af32fd54ac410de85a3551,d11cd7e824bef9655c7bdcd66f2cb93c6d4ac54e76a95568739064c7b1b820fe +SheetSage2-Prober,official_span,dinah_red_nichols,195.44,0.8321735571019234,0a381e64cddb5de59ebb3799f1fc575afa0bc207432fa322008da367385299e0,31409ce2d65e90e018f36a9f311156279fafc7668bd1df3e9fd1fc776c3f7ed2 +SheetSage2-Prober,official_span,dippermouth_blues,148.93,0.4926944117443392,20cfc696d63e21d683831fd20bc4bd6acc34bbdc23fd45483e7868193a514ed8,a027636a936230ce831e34981026bfc623e60ed40cc2e9a69dbc35c7f220b947 +SheetSage2-Prober,official_span,django,424.93,0.9089042718395487,a6d629ccad83bb1e94c7c9d7509c061a40282347ca1695f0b73cb93ca3d10e62,c8c5ccb11785faad70ebc292cec474c14fb2de36b545d1b57d7383e4d6af1fc0 +SheetSage2-Prober,official_span,doggin_around,180.51,0.13218104260151775,8192d2c1f0cef7f13d70ebb437eaf702779ac597482d51757a9413a98cf7b908,f194935aaa4be653067f12a7b570de2a5e7780fba240c5b65a877955210abc31 +SheetSage2-Prober,official_span,east_st_louis,219.03,0.8835513369602961,19161558cd716faa705bffdfc9abe22323780e6489dabff225427c629c73ba91,6f80c4c73687ac8dca5d18379266a32515b4cbc56757b49cd308807234a5c4d8 +SheetSage2-Prober,official_span,embraceable_you,227.96,0.5327664565313006,37a080a6f4954c9935074c514db0909214014835b95cbd8403092bbefeed76cf,2644b9757815a5c22dec84054f3c1164ca63aa5e0a9161bfc492a94d4b738898 +SheetSage2-Prober,official_span,everybody_loves_my_baby,144.28,0.19526833693907464,8f5cd616b19dcc52c8255b5ecd3717a64b2a261141d6160180d6e277a63f3455,f3dd3b48280371984b1f3e062d8f57c1062fc4cbbe4d315b9c161f8d2551e0d1 +SheetSage2-Prober,official_span,evidence,154.73,0.20717486450341385,7549016a0247a002d1976c6027af81eb1096db83f0f609e985b84a73f6ad5f7d,9f2d9bb54012533c224bde41b18ee8da60e1c1a0ca7821ce248d1cc53019cd8f +SheetSage2-Prober,official_span,for_dancers_only,161.49,0.7136526693395231,91364e8c08739d49cc817d8c8793d13fe41bc22e681937158ae69c74605e1810,dec4ef1bde083fd339552ab8b95af7948dea004423a32d380e07be47ca2feb03 +SheetSage2-Prober,official_span,four_brothers,198.52,0.4731841863315963,a052ece249224c10f7d88b02a765f2303612c678a6c44434bfc3ce94976d063b,054ceaa72b00ccd1399b2f18e031087d9d9071c977986a43879ed4dc65a5388d +SheetSage2-Prober,official_span,four_or_five_times,194.43,0.20280987990029464,3f493ade74ce543dbc6d92557935f3822671d1faa757ee36a2af6692e1a938ed,785fa02f085ec6b1a8f9b4fb698a83ebf37796130721bdcc981a9f9cbe89f1b4 +SheetSage2-Prober,official_span,from_monday_on,183.13,0.7656869605784935,8371e0bb1b4e31ee23dd6da7d864ec184cb762c28c5ca8c29b0d0562d292a6a2,c67191141121a2288f875f5e6d90f0b0e5368cc680c2928c1caed8073eca6a09 +SheetSage2-Prober,official_span,giant_steps,287.4,0.6201809324982612,c8f9115cce1083a98103d8f981f7e3b03582f4bd91032c63a56928f97ada6c05,fedd1d28c455f6817280f9348f550ec71fda71b53b174eaf1f10f9a5d62192bf +SheetSage2-Prober,official_span,girl_from_ipanema,326.37,0.859781143197567,dd9b116267b157e2086f30d64b8e5ca9463ae4eee982113f4455238eb0b0dd0a,70743e10904c0b76b3d711a63a0dc964cf6267015573d79145f20792124b7dd1 +SheetSage2-Prober,official_span,grandpas_spells,175.36,0.8652276100940126,50c732a9a898565b024bafa1d4de398749046390c5190dbb2c578359b61e51ad,b6fca9badd94819b751ca58847a6e8e0ce7dee50dfb2af60a07403d44bfa3404 +SheetSage2-Prober,official_span,haig_and_haig,271.61,0.4385944611586818,fbc5af9f2529ad225e52652fe0420eefc96b66b36f74ec5068d64811202d8293,a7517198f19d66c2f1c01d8058455facd0be4bf997596d5cffe27dee11ebdd12 +SheetSage2-Prober,official_span,handful_of_riffs,187.85,5.557716889901628e-05,a968a3163926ca366b7f126e818289050d34fcfaf3ffed07e9dbf7e598678feb,6a748b63282b38494b8fa31f47cadf060db297db1f804ebf467b08d4aaf2bf4c +SheetSage2-Prober,official_span,harlem_congo,195.89,0.6741754268869233,4b1fb3b9d99c0eabf263af3fc387bf8d9fa0cb0db64fe02fec9f6d51c151eac8,0ddc9ccbb5a8a6689b646a9d5c85ae10c54a6e1c498d5e6b7ec643d025efdc13 +SheetSage2-Prober,official_span,he_s_funny_that_way,160.71,0.5986159169550176,c65bc681510a767485b609c3bbe85a5951be14b2a25504fd07e104cfdced2a5c,9c17961a687c592204c03a764445c1b4ba0660bc374ecfa90e224e45b373cf37 +SheetSage2-Prober,official_span,honeysuckle_rose,185.97,0.5683122195080387,d94c44a47f62132439af487739b4043f9a8b1e47bc988938709d15049322df1c,5be142a6a9207ea83eb55d5dbdade7f55ddf2f659db93c5152dad9a2b02ac6ef +SheetSage2-Prober,official_span,honky_tonk_train,180.39,0.9005488109096957,e66dc5ccfd99ed292e7598e97028bd12d7b1b806d7698d980e2373c8cd43ef9e,664952e9fc0749427bac64808b762356ea5f6c62b74de2ee72bc496b3fc5b63b +SheetSage2-Prober,official_span,hotter_than_that,181.49,0.6689483509645301,ead17503ebeae9b5a0029ab1aea2d28dddf809b98d9c94b22485464bd9ce88cf,569193855f2204cf216a9a7bc3a48d762d5400fab16de99505bb21e2aec6efb7 +SheetSage2-Prober,official_span,i_cant_believe_you_are_in_love_with_me,254.68,0.5866970315690276,2fbe2e3c15835acbb76434ace753b87550231d81c8f6f5e3681cecb2bdc65b83,e4ceaa73a7f1bb91c43270cdd5d7ae3686554b3632e7cda1afd88101a916640e +SheetSage2-Prober,official_span,i_cant_get_started,186.16,0.7800668151447663,f5b0bff181ec338c5baa1cc69c2d72e5773b99b407d4221419196951d5f8c897,a7de658f791712f83426f4b49064a139fcc003a5aa8f4fc54557337c5ae49030 +SheetSage2-Prober,official_span,i_found_a_new_baby,176.53,0.9014898317566418,558b6641ea67d7928f5f852f5101bbf76becaf91508ef7b379e0b557a0a69b2c,4665ce812c74c8acfc4bddc44dc00a4afcbf1d7c6705a2bd99253061026e9261 +SheetSage2-Prober,official_span,i_got_rhythm,304.84,0.4442118987168045,62d90da1e709206d37a80f3c159f71537bba4a956919eaa7fffe3e0f3ec79212,be0c231dca93aa246e2e231af2cae607d971c735b90e503ab35fbfd417a3e244 +SheetSage2-Prober,official_span,i_gotta_right_to_sing_the_blues,183.6,0.452487203045019,b7222b34995c77787b3c8610704e7feab2dffddf60d6070a8c0002706be006c4,c634fc5dc1b22338ccf1bfe211f6bdfa48ec794164d9125d5a7b79cff0f8b1c8 +SheetSage2-Prober,official_span,in_a_mellotone,199.27,0.8590861178454725,9cdbe972a5a7e8c2bec862cb711c7a46e376325cbee838e13b4aa4404eb19fdd,d67cacf9cc23fc7a8021072eb6834f6a536f98a39936baa432eac3bfcafc6d1f +SheetSage2-Prober,official_span,in_gloryland,183.64,0.122631235025049,331ec1e9f3df74f1f4dbb09b2eac5a98a00f3c4de5b62b363436ff102d42943b,1e41262bf11bf79dd4189937016daa85c16dd4015b2a0f30e7220c0b603f72bd +SheetSage2-Prober,official_span,indiana,166.15,0.6369641201226908,a2548d3fa69cbde5b828baa8bab8ddbec461c78e26b5f6b0bdd4f68f412384e6,f214fde3796f6c7389a11e7fba64ee5b2a347d3879ac429ec244bac692cf1e7b +SheetSage2-Prober,official_span,isfahan,255.04,0.8793288277790725,31d7c059f9009df94673965cfcabd706191686c8a78b70946557442098e3e63b,4a51bff8a42d705272a3eaaa9d322bb7f47c95b4992f3c80ad065b295313d6f3 +SheetSage2-Prober,official_span,king_porter_stomp,176.67,0.7518370905467674,a8eac26f565b7dde85100c18fb9fc3fd4f0474396f3c048db9c3a745f72929c4,66194287a26776cede0b3dd5b30d09e4c2f22880bd7139f11cba060f9504f7ba +SheetSage2-Prober,official_span,ko-ko(ellington),163.27,0.9406504562993815,a13a967b058a44d1e8271c78af536d1620facd8c6a39d7ee3dee2a6a9c5b2d4a,689c4bd626680feb97ac4ace2b45bc72c3e667337386fa1329dfcbaf0a1f9f08 +SheetSage2-Prober,official_span,lady_bird,173.99,0.5208920052876606,2ed439260c4331270dada13265bd4b0ab79a0093480a783c05db393aff46ba5b,77edb4ecbb10c5bbef15b9aa062c6bdf3c5426813aac2f965bd6a0ee80e643ff +SheetSage2-Prober,official_span,lester_leaps_in,195.37,0.3908358670720644,40f0d6c382e0a4853d18b3a82a3df9745f928102b49fdfa6001f8ff5ed024504,35d4e4e590d909527d2ffccc468f9a1902b5f68da319a51ec6d10d5a217523b0 +SheetSage2-Prober,official_span,livery_stable_blues,190.64,0.5830310676549437,b92134d81a9c5279f386b4fc1d1fba449676f59b6ee1f43c3397bcb5a068cd8b,ad24a02714a12d783da4a8d6089bb6390491ce9bd2b24e192fa7357421b121f9 +SheetSage2-Prober,official_span,lost_your_head_blues,177.2,0.597686230248307,fa976ce4647524626cc3cb423ddd48eb5c29bedbd0eea9dbec4d332f9756d3d9,e0aee8ff1030be47e96b09ca3378fb76ece3fc62d338139c4fe80db8f3d5ebe2 +SheetSage2-Prober,official_span,manteca,189.79,0.7260847990296078,8cc53bedbc081e004ea9d5dfeaebc0e3084824918621d85da4978621f1249d48,e98b2b35c18ad8e4e8cc12f7d53f02cc472cdf02e76e2d658521d4b45b269fd9 +SheetSage2-Prober,official_span,maple_leaf_rag(bechet),179.44,0.6649362907031622,dbe995d3f7d77941a402a917772e27ce23ae768bae7ab85f6601ba100e642584,0ae90043cda7fce87cd95a733cbebc3f2dd3880882c4fb55792ac9d67e9cb299 +SheetSage2-Prober,official_span,maple_leaf_rag(braxton),220.51,0.35119737350328295,9ee2d434ca071b305f67e7bbe1fe5c4464d6deb4a2db2b07e704178a7cd488e1,75af84364507765458154750bd9f2bd8e71f7604fac6666cec34ecb6f743aef2 +SheetSage2-Prober,official_span,maple_leaf_rag(hyman),149.97,0.7968457439147341,933d3ef2512dc4a8427cb97ef6762ca810c3bcb4fc472b667ba1daad9bc62280,7b72dfae8f77bdcc936ac095d33507dc37f71488f5bf976f549965ecb65abbe5 +SheetSage2-Prober,official_span,mean_to_me,190.88,0.7289606012046187,4d29b82a01fe17f1af27dbc836d26d6be3f4eed7392a087431f958be419a7947,70c96a6662b59447171529dc48f3fc05d5c3ee0837d7d941d00eaf5dbcfe16e4 +SheetSage2-Prober,official_span,minor_swing,193.816,0.8718372064225861,1ee4e33e6e04926e65ff9d927db4757c97d402c14a1f26b81b073632bee1c738,4dd44fc15830ee98db1df7fd2ab08eca7325bc9847d20a6dd92b325b57cdb652 +SheetSage2-Prober,official_span,misterioso,204.55,0.5947690051332194,98fa45c7e867136cc985593dc6b90b373061f3065b4b7125a44669c04aeac9b4,90461595d8d36309f3fbc6285b33ebb41cde9318dc5c6a67d5dcf20e11d8ca05 +SheetSage2-Prober,official_span,moanin,576.8,0.4670485248027674,3f8b643d54a22e7d7bebaac9e778e8084c9a52fa74c2f8931efa77022e4d7140,a381ad9d877d58534f5ef1fefeebbe94b0d457162f4ba5067a4c38b000b471fd +SheetSage2-Prober,official_span,moten_swing,205.88,0.3839175664349457,343bf3c70a5bc9507b875a3e6d56055a414452693bc1c9129652b8239d573e80,0d0338d509e7ef1bdb8b1775820395aae832565b1517d97ccb30b3b7152feb18 +SheetSage2-Prober,official_span,my_favorite_things,165.63,0.46562739585995366,bb6f60135b87f3e2c6de8142468e0081d7cb3461ba3f07c4d949f70c50b3cb0b,62240e4089133e93de6eb3f331a0c9a4d68548c0c6c70c1ee9c5d457fd79ee58 +SheetSage2-Prober,official_span,new_east_st_louis,180.47,0.7096774193548385,9c6b97fc304147e377bf29e57d5052096d747df9ec6bc0d16661114687ed9683,ef2bf1ac5f9d1598fb9ee13dc016a48f458ef1fa0a8eb0fdfd43959d6664808a +SheetSage2-Prober,official_span,night_in_tunisia,256.47,0.7741458749891332,87ce9e77794caa2126da34f4227afdac27fc1d4812266d204afc9d8157b6026a,0a295ae2a1d3599569ddc2eaf01199243a818bf55d93ebed03edf475a8f0585e +SheetSage2-Prober,official_span,oh_lady_be_good,191.49,0.6066355969818021,bedc96a916bf07bc16e5be0adb8942b533a6b9bcb61fdec382f11554b23f4cc4,f9bd28b24dcb548664fce2e998ef8b57e8e7285584211bb02009a9dafbc9a7f8 +SheetSage2-Prober,official_span,one_by_one,383.17,0.64246534726855,7301c7905bb1c8dc0650a03c7843c4cdc9f216fda046584691cf7c6d1e99cef3,acdf7d904f2ee8e64d83ff46ae9326999692f6aacec6d99c08877061dd3ef776 +SheetSage2-Prober,official_span,one_oclock_jump,185.49,0.7081929805498208,5307e5eda1a6a3b528cf1fce1cb1593c02069b3fe962441271d78bf4b8352968,978dfc2d3275c0ffac3b35376a9cb2d7dadbc023a0bb8c8987ae701955186dc6 +SheetSage2-Prober,official_span,organ_grinders_swing,160.67,0.5523744320657247,2e930190e5d7ba7ccaa3b92582ecd78cffd65326a7038994193fccac476e7053,41b9552f2260aa4bda93c71e439fdf74b67460be08b965e75703d22e3cc1424f +SheetSage2-Prober,official_span,parkers_mood,185.0,0.7050883590462833,f549ed9aa236752ff96801d6c9214edf79524b10cf540e77b9fa02cdfc5d8abc,17babc6d78f2cd590504160f27af4540ad628c339625f0818a20813bc60e6c06 +SheetSage2-Prober,official_span,pentup_house,534.09,0.7128593394188292,4ba714529f21bf5eecc9b85f0501b2dc9e4d03f7331f639faca7b93bc7506c36,9e4c19e4582a91e7301a2e3b69f3a4ba7c69adfa391bc17f7363adbda0cd148d +SheetSage2-Prober,official_span,potato_head_blues,177.33,0.576608582868099,32b16b691935de32becfe01ffd3e30296c885e2da01b4053512a8fe45f335922,6d4968c2703ad6ff9f221d3ea594c5b1280fcb4fb1fecde3df24242ee3a4f22c +SheetSage2-Prober,official_span,riverboat_shuffle,190.8,0.8072327044025158,e646df9e1a1821023cb7dde44397a1338abe573de1087197a3e36b695819d8ba,bb91df1b62b29268c0a392d8cd35d4df18396abdbd6ec74bfec4c330d7cbe917 +SheetSage2-Prober,official_span,rockin_chair,182.33,0.6816341114816581,3f32b0563593189cf2302c68a6983131f33a05de2d44da43ba04aef63c71e7d5,205bf60ec25b189688a90e61fd07a0214d2f4c2131f3640d8838230cecc5c528 +SheetSage2-Prober,official_span,september_in_the_rain,197.25,0.6614552970480683,6e265471e9475fa8bde541decf0110ab502d16b7d2c521e5ca351bdfbd3da201,5a5788ce64a21907f23129abb9f1c51de67c48dddd86a220c262a6e86272e2ee +SheetSage2-Prober,official_span,shaw_nuff,183.73,0.2908374256913933,a3e1e15ba0c4e6f2d44cc8eb99896ed160c01760e1470653d0912d4b4d141bc7,abb51e939462fbf676233bf8e0891a3048106078374ecc62401f1933f11af8eb +SheetSage2-Prober,official_span,singin_the_blues,184.55,0.8407682429791751,196e41e2ab2025539f770630d5d670f47033876ca8738e14d47bfbbffae718d1,11e51083e258557d3b8a8b915331cf9732fd05e6cce8ee18fe9e80eb11257ec5 +SheetSage2-Prober,official_span,st_louis_blues,193.17,0.43780032034169797,5184980e6e1763c6832d1c6837d265e1a625f3e6c1a03175bfc3b791dd4b5b83,8582574570aca4713e97470c1f0d295f5b76aa8d31bef1703f1a101028d99614 +SheetSage2-Prober,official_span,st_thomas,408.57,0.687166408119265,6ed1a7d8b9eedf786306eed9e28558297e4f8a93b0a06aca55f3262482b9309c,afc1310ffc6a980a13a8c44c66baabb1a70ef0d02565624e02c1284cf411b226 +SheetSage2-Prober,official_span,stompin_at_the_savoy,315.83,0.5984251968503947,8033047c6c0452a87bde39114b4335e4cd63a1cfdf9ad50eb311c655e3799a86,1f22185464d5033ac1ec65e168eb7c0266c5831bcf37a35791e8b078a025f480 +SheetSage2-Prober,official_span,struttin_with_some_barbecue,182.87,0.7160671728648234,62ea1274c2c261371bde73072ae20659e5138bbf073cb6f8b2feffb5fa6ce42a,ff117b2c339352231d5a835593f6571866f1b7821e525effd69ef0096c95f1d1 +SheetSage2-Prober,official_span,subconscious_lee,168.4,0.9129453681710218,287a35fe10a525af3d6ed3f469ca8d8b0d092db363241fb4f6739c09c9fb899f,5de92be2c7967b2ebcac05fcd169b95b69a9bbc97559c100ee485f3507dc4016 +SheetSage2-Prober,official_span,summertime,198.29,0.524282616369963,c7ff10aa4940b16fb75fe4899a6abd141c4d5c3f971f0797f1353c1213f041ed,d361d2219650fd6e503304554497d78735f70a6933d817f3b9f1f5bc460abb0e +SheetSage2-Prober,official_span,sweethearts_on_parade,200.53,0.8226742665899707,84a5c774ac0435d1e1c3144b59488d05561a63c531a6bffca2abf66131b124b0,a42a100a9d9fb363830b2e5846c819314eb696208fc5faf64f6d592ace89d755 +SheetSage2-Prober,official_span,swing_that_music,174.07,0.9069881287480113,74c18eb93e16e9a6421d5ff3ddb82444657b10890b2806fe26bd4b8b3d6f0cb5,5d1c043d11a6da68f3e8bbc61c70b70259f6a9316d2de00c21bdfabf07024a82 +SheetSage2-Prober,official_span,thats_a_serious_thing,212.75,0.7770214943705215,8701e871ed09dcf264871ba68e9dfcc7f443c205673f15f111c90ff74b6b6f13,3dedee28c4041fbeaeeeb9b05da5293a434c2f21290ccd0c372d02b0d781abcc +SheetSage2-Prober,official_span,the_golden_bullet,150.04,0.7132764596107701,26f42674779fa50a49634b8456a5faca8531cb531e424e6adb30b005c08fbade,939abe7ab5c142008ab747dd11b75a7a0739c7f16dad790ef0bf76064cc09fc8 +SheetSage2-Prober,official_span,the_man_i_love,309.43,0.6302449414270501,34179a31b11204565b05c6c642e0d8f4ea9327a6d2ea573ae3bec1da2547c9fb,2b91ba86fcdf9cd55702b02820776edda77c38b092ff6d9a73edd58f3f267047 +SheetSage2-Prober,official_span,the_preacher,259.99,0.7504095004095006,d2106a8c71cef6cf884be21280aaa0c2a518d7e7317e50e2fadff51fce94fed3,76fbdf8bdf44ed1d21443a95b396b09e38ace69061df1d5f10860952cec4a171 +SheetSage2-Prober,official_span,the_stampede,196.41,0.11058100084817617,837de91a782d8bf31e48c9de04c82c48b0ee1bcf68693ea4fb055057c03e623b,93d8531f10d004492139a066630a650867505871ef106dd84f6d645ebfd00cbd +SheetSage2-Prober,official_span,these_foolish_things,217.29,0.6744943435035996,144859925a97b448d4238f85e0bde127b2535901b6b7dba14db1d7f7a8e9c04a,17ded81b42ef27106ea93dc8ca07cc02b494cc8420d95ed1f5c4d1bc26ba813c +SheetSage2-Prober,official_span,tricroism,276.8,0.6506637851188647,5b43d9d244c872817d496e78bd21a1e6089bdf210a3508b1386a0fc1cac37ddb,5c1bbe6a44967e0be3daf05ced504f4448cb6146da73101790b4076121f3e94b +SheetSage2-Prober,official_span,walkin_shoes,194.65,0.4575314634008688,461661375891e994bb1c8465f36bc810d72f894ebf3ea9473d195b38818aac47,c18115282296f4c464b7c713374569fa09c5b53f81eaae19e3d0817a8d71d510 +SheetSage2-Prober,official_span,watermelon_man,391.71,0.5453558691269965,b580bfade28c8fcc4cccdea3eaa3c62fcfcfcbee181f553713fe3d86ccaf0a4d,e14e211f1d26a3efb176f327065672307d26c7805d97e777b22da8639855cccf +SheetSage2-Prober,official_span,weather_bird,165.67,0.5951330304996749,8f6a33fd28e79154fb69de89985830969e68e30a8f907f15c582f381dfb79b7c,a5142148f560e77cf145fe03d3d606b694c62fcfecab862944d3c1a7f38736be +SheetSage2-Prober,official_span,west_coast_blues,336.47,0.7493783487383712,76a273c2800106000549eb42816d7cf89df044dbee8b0dbc8c58aac725927cc6,f2463af772d1325147bd48372b2bfabd907c59e7c9ccc169c19e244d426b5a0e +SheetSage2-Prober,official_span,west_end_blues,201.29,0.8010436384099859,9f317db7a8c902e41cb99449fd51d838f58b5ba646024fb1fac78aa21c6df826,b5372651f21f04817ccc51b275c57d435f6a13055154fda6d54e13e32e136bb8 +SheetSage2-Prober,official_span,when_lights_are_low,136.29,0.4294558239070626,def6d599b1af2d0dbaca7f37d01d0faceff87ac7eed3529852213a911a7db111,9c9a72c8762564f65c25f23327b41f6ab9442b97195e7678315b71d2ae95be9c +SheetSage2-Prober,official_span,work_song,309.48,0.535094161641344,727da75d59b86d14cc624dc6ccc5587f4273bf8c5c40a32dc8aa1e037aff5a79,554f51026486158265d23b591f3a8d621d4f46d98a61d40db4b349b095c38e0d +SheetSage2-Prober,official_span,wrap_your_troubles_in_dreams,153.72,0.6057784145176698,9b89daae438ad791e01012e8d08ff8315c8bab4c3ed7c702cd32db8fe21ffc0d,61b0f075b57a1c8cced17618ff9d00e2d79783f94c91f464038935d9b7a00f52 +SheetSage2-Prober,official_span,wrappin_it_up,161.53,0.6403580659396075,5860001e66008160525d44cd32c1f853d68e0bdb80252629fd264b5309a5d026,dc3bf9685a7b9e7a143fe8affbac7f338d88721b9c15d7523d966a27426698e6 +SheetSage2-Prober,official_span,you_d_be_so_nice_to_come_home_to,170.91,0.5181975736568455,63abf7b8872d559b3fb6ba9ec2c376ec3db46dec76a71441d4d834ed6f70155b,12b328ee1f52428c157b96552925b5b616b9e31b330749de1c937cd46a7bc57c +SheetSage2-AR,audio_span,airegin,255.586667,0.8095814246936723,19c46d5102c2276d0780327f95791877da85dcb8e14dc01e1a71edbb8630a0fa,c8a656375047afb08f7c8d361d0b85d4d0c34b7364561e72fc6737c1af43d1b7 +SheetSage2-AR,audio_span,all_alone,142.53,0.6900475298862165,38c0047337fd8c9767e4db5b9fd97556c683a17c07d4463cee02bfed01649135,868d8dbfe94ce787a2b70a793a29106c46461941d90ab58ef8f594d33b7f4493 +SheetSage2-AR,audio_span,bags_groove,173.266667,0.6963255103956802,a7be01cb462ab291972b8387091c71c1397d0cc4e27db68bbefac8e420913b01,dc363142545c49a43fc8f11799c2ab67e0e4392bbcc564dfcc9474a4c466fb3a +SheetSage2-AR,audio_span,big_butter_and_eggman,180.8,0.8885152465089771,7c1c387cb1b3d94978e9233ff6313e62c8b0b23ed5ad25f25e42758eca356c1c,a7b45334be6781265f687f3d19c0e704bde00c83f79bf58da36d809bf2a7b16c +SheetSage2-AR,audio_span,bikini,218.56,0.8019801980198022,618e80ff65f45dcc1d6f1a52777220f9520ce0c0c6f8d6e8361b07111ef44c5a,ccdb2920a9be7797ff1cba26c04c5ca43b8ccb2afcdb4cbb44bd0d54379d0a58 +SheetSage2-AR,audio_span,black_and_tan_fantasy,190.0,0.7945651593614866,8f8653221cc5a18b803272a2b71d2abd46f025b928fa692658d16843e3c5cb8c,8e7ac57decd4ce5281a760cb5d1941437d32c92e745bdf50ce0a4b768d1d1945 +SheetSage2-AR,audio_span,black_bottom_stomp,196.106667,0.8376793403198004,bc5aa1ace733bf653014a9db28e95e04c383113d3dc5bbb57f03437dfa010154,018baedddcfcc3aa4df06eec222fefb91956a4e37137ea40dad532426c1d160d +SheetSage2-AR,audio_span,black_water_blues,200.706667,0.506510330986331,cc887831a911c10e17aefde9fa4d39309fbf6a00662afdedacfbaaed2f2c512d,c4607e7f9e768f8848933f6e101760f2f0a0aaf8555d1e48a7f0048f2253ab4b +SheetSage2-AR,audio_span,blue_7,674.6,0.6686480877557086,d554a41f851559c3e6bc3525f9a4e718da2efdaaea2395059a090f6a5ef78959,542911d5aebe08a80fa44e5d52a1d3de9345ee7ac5886b1ea5b4044448931da9 +SheetSage2-AR,audio_span,blue_horizon,268.56,0.8564566577301163,297a14ee495675229c671e86c2c1d142b269c41401f57372db4d3a8a335632dd,b7f3a09f0d185200489dc4764c2d06241a070a5e9512258afd57ffc6666e0045 +SheetSage2-AR,audio_span,blue_serge,205.4,0.5221029898090035,05ebc2ee8ec68bcb3a29176303afb04a816125fc7371bd893b625e7142ad9768,fb5a8a87ad5c56cd02ea6d1ba9ab08c5e9462f1ac2d8508a43c076a9b8bc4737 +SheetSage2-AR,audio_span,blues_for_alice,169.06,0.650415001537043,355755cbc985467386cf202b70357aefa6972394981f0768e57e41ae8109bb91,db849ba057f87b5fedb08f86997d675c73086a5b47f6425e507fa49b06249373 +SheetSage2-AR,audio_span,blues_in_the_closet,545.266667,0.5467966746871271,1a6d376d3145c80e6419436c53edc9004911b276908d6d45198802dcfc1699ff,6ba19bbe54bcc1fbf8fa0c6b55a8d9d7e14f762caca54947204e794ac16833ef +SheetSage2-AR,audio_span,body_and_soul(goodman),211.026667,0.7025728219451913,90a87683776ae79500cbf76ec256756bc36e6b752124263fe3f2d7c80c953618,d0304ce18498bf4757b0055943fb6b092fefe1d6c61426de8f083a6cbf2ff4de +SheetSage2-AR,audio_span,body_and_soul(hawkins),182.73,0.3714489565372493,082b382bc4892f25659e967804685c3258bec908553b49ae07b3be56ad1c3198,1beaa6abd9b20833b14ef81c0d2dadece55d18527bdab4ee46c6ea2dd44b7381 +SheetSage2-AR,audio_span,boplicity,180.733333,0.45004705730429206,896ea58821ab9c2ac569e562d25e15de66203c1d24d1a118a196dfbd28cc62b9,a61602dcb7c4b975bc799f7973bebcde27b29103a235621fcb39d156711e374b +SheetSage2-AR,audio_span,breakfast_feud,140.666667,0.7545534708286851,a08152b8075e4064745ba5ceef995e9cefd88bbad9d9397219321587fe2bea92,dee77a6100afbe06fdaa884cf264d307d8737f1bab1b26119a992441b6e8bc7b +SheetSage2-AR,audio_span,concerto_for_cootie,199.866667,0.5262841237600837,b5e536bed7b4a823ecd272b8f4ae586b72695736990e6c3bbb28ce2da08870ff,0ad1e0273d4d3a5023986560d4c1de8b39610408f2e620546ea5f1045b8cb4b3 +SheetSage2-AR,audio_span,cotton_tail,191.6,0.48452426442491414,de02308e70b744d94395d0ecd1412896440772ba446d50843555dcda5f64ca49,d3debbc63125574503c2186317bcd2405d238af37e2b5778b6e4dc35dad00063 +SheetSage2-AR,audio_span,cotton_tail_fitzgerald,220.92,0.49530061871251185,2203aa8c410a807b2179848a966c8e7c220a76db62ddd8a677404393f69ea479,dbae0a685c3b8fbd5058ee0215987f4554c20ac463ce3985e612e0a62fcd8fb3 +SheetSage2-AR,audio_span,crazeology,179.96,0.4071814537214574,d2ed39d71644c8e619c89b0fe5b752098b4213873ea5f857dc4ee26acc1059aa,04bc22aa4b49aff127cc9d7b0e9e6e430bbd5f88e7fe067e6d97ce53928f1fd6 +SheetSage2-AR,audio_span,daahoud,245.466667,0.6705210099018404,274eeedf7fb2bbf2a3fc14e9a36b996f229b924031991ff34b7f257c367875fe,933cce2ac1e29e526d3981710861f5685a73599a3a2f44119a4cb543b5d3bfeb +SheetSage2-AR,audio_span,dead_man_blues,193.866667,0.906017881867232,479a4b66f26603e25723d9f30a867f12a277b28e9e4b29fe054ce7d362701997,a1a6e2cce8cd9a5c6a227e83c128385ec8935618c7a3f7812a0844535eb95c3e +SheetSage2-AR,audio_span,dexter_rides_again,196.73,0.573625469320578,121da74a6ace86691c5f666dc3fa0121726a9f9077ec79383b5dd10e4d4267f5,662ba9f584d31cf8e09096c0e67add5ac1c7e7182c2d732de84a7ea480fa703b +SheetSage2-AR,audio_span,diminuendo_and_crescendo_in_blue,360.306667,0.7329007060513766,1a5d48985a032fbf0e2b9e69fd60bfbbf1a3d4e132e123fd5d6b89a71f7912f4,7e409e8b57e5d0c0ce6ca5f36803edadccb1aa48fa420fabf7c42eb50ffc9aed +SheetSage2-AR,audio_span,dinah,155.42,0.7838337182448035,991b14efea4c5aac9a6749bea010a114a1b71425e487eb680bafe025f10fa78a,d91dc2291e0e33694145c537bf389230f634aba6285e4643f98c4677339788e3 +SheetSage2-AR,audio_span,dinah_fats_waller,189.626667,0.8705495678181645,f52b63ad5c83bddaf8d1a167a4e2ab764f2378781f834fc4078edfc072bb6766,7a23d9f282638ee88fdafbc724838faae0ba667e265ef0f59d09205b3eca2705 +SheetSage2-AR,audio_span,dinah_red_nichols,195.44,0.8482398690135076,18e0a3dc4760968b2a1fafa239a9ccda1e80b4bce060ba29a26ed3828604cdb8,c214876c9da3479fbc14b670d1fcbb95faafeaf3b600431f82cd91127092b08a +SheetSage2-AR,audio_span,dippermouth_blues,148.93,0.5100062322553841,75eefaefe7d12f9a683173c5c23141ddca95ccc3a4c3c4393bba984e5cb7c57b,d9d1c4ac07af216dfdea1847b3c599d7d42633eb6bac11446838acf89705180b +SheetSage2-AR,audio_span,django,424.93,0.8097895226313618,ae3426d90316bb6f5eccc6ae0746fe7afbc34800079b9f51751bd373a65db12f,6c167a2717a0bc49f8f4a8c1679215f7ec3e5df3d59f684f21f835de55d744ef +SheetSage2-AR,audio_span,doggin_around,180.506667,0.4179716364714663,c0ef140eb519488e4eac46fb0f31127a683916be712a130e4fa7960cdf6edae8,558b9b3fd7f789d5e8da265584c69f21f81b66835792c130f962df2fdec6b73e +SheetSage2-AR,audio_span,east_st_louis,219.026667,0.8514459902929679,761146243eff3d7bb35f256985e9bbc93945c5afc6982d5e25f1056d99a2e7f0,b193885028f290b7f50af59b2953901d34c6eb64c17c7b74f1f79ae029454d36 +SheetSage2-AR,audio_span,embraceable_you,227.96,0.5729853882617411,9dd5e3745fc0b2c2ea2e5b0d42a5f887e466a2d0f9e1406d87aa02a7cf3608e3,a63edab2ead8175078663067a0f199753335878c31d2f18db23c14dab1f0c8d8 +SheetSage2-AR,audio_span,everybody_loves_my_baby,144.28,0.22053178868029882,9a528b3a355842eb8659aa55796a6c516fd21bb34c93445a92cbf239be760525,a3f41a7dab67c3f25eb2e246652212d9bc824a3a1f9f398b2af0c1a1e91fd5e1 +SheetSage2-AR,audio_span,evidence,154.73,0.23044977827831373,9dbe8b343341f28c98dd63aa7f5abcd1ff663484408c5028ee47849d3f4fe86c,28df2ee4cda16fd1405edb75a19617eb932d296d46956452a511b67b472e04ad +SheetSage2-AR,audio_span,for_dancers_only,161.49,0.7315186044875855,85be68be03eae1fc2653cb22624e034b38b0e0afb2660485f3e3736badfd6558,8d5f849ee70daa2b40707cb29ca844f2a693f1f6b3dd22b230e7981604fdbad4 +SheetSage2-AR,audio_span,four_brothers,198.52,0.4844212892021656,d042e43dc30618c118a9310fccb3ebdbb1a31412dfb265af8fa30b9dbf07b687,909752e4848a495f94565651ad32947cc2fa135495dfdd433c2110b37aaf0df5 +SheetSage2-AR,audio_span,four_or_five_times,194.426667,0.67912378495114,b143c2c95f0a1230b9fd538ce9bd948a880ceb5b912df2f2d58e5f55f6e39f93,a7bb80fc755c8bfcacf772fcaf32bb40d1824593ed972f5ea41d8eb5d4b196fb +SheetSage2-AR,audio_span,from_monday_on,183.13,0.7527991602519246,5e77adcfcf613c66f94d32c951e343103baddde9c42674abfdb631908e09244c,44e695731cdc226ff99d800e2a19c29d16da773a461bddceb2a3cc90e87586d2 +SheetSage2-AR,audio_span,giant_steps,287.4,0.6407794015309675,fbb67b1c9d088336d62b25151f5ab5003ac68df35a1d7f60efd97ce3acbccf93,099591f3c0b11a3dbd4dcb59ecf446784496035650126d04093ca2489d37452b +SheetSage2-AR,audio_span,girl_from_ipanema,326.37,0.8568024331357971,ac48c89e9ef3c1376ffd7d868fc0bf68bb4b48ff88e8919a3feeba20cf29bfe9,2dc38945ecfa5db18593d4c69922815c8886f28839a128719813ad423f0524d8 +SheetSage2-AR,audio_span,grandpas_spells,175.36,0.854774863928748,5aa33c57ccfe736efefc66070fcaafc189c578ec4525add8bd081af2ca0f11ff,e757d11961f1d29381eaf257e97b84b91995d1ca6e6c9f62f6790962dd23c21d +SheetSage2-AR,audio_span,haig_and_haig,271.61,0.41599166859523207,12772609e372c28e1584e21c71e38521d8f8d353275145b8e76cd8f13d7e90ba,cc5568931cf427f044ad3b445fb99816a9be911aa3815d44b3104d771c8c29b4 +SheetSage2-AR,audio_span,handful_of_riffs,187.85,0.0,3319726c0b5adcbb6060f086ced474b1044eb7591dd808d33223fc91c46539e1,0c64e755364ad22f9ac87792695e6d19de03d6e5f9bfada33757c45762ea637a +SheetSage2-AR,audio_span,harlem_congo,195.89,0.6608265198286883,d880e736f0146fa1edc9ec08f9c31c8a2ea339f74b4a92eb446974530f344b08,519c039af84821329db7ea62419e513c5dc8d9c6b9704d5519651a8307229fd9 +SheetSage2-AR,audio_span,he_s_funny_that_way,160.706667,0.5811037848070422,3efbbc44b2b722c4e49082335e0b7214c7a469e7540b886778e064b33b8c8a9b,b8ed3640751db39087090bfbec764173b1cd39f0c00dcc847a68f47eb00d0e56 +SheetSage2-AR,audio_span,honeysuckle_rose,185.97,0.5877407260126116,f69632c82c8ad886ce95b88aaf92da6280994db688420a434052e01e1f02a548,f62464e974c238e5e56f641f4148122d1cf4be625068c73dc922a1169731fa7c +SheetSage2-AR,audio_span,honky_tonk_train,180.386667,0.9448591914685872,7b853aab847d5eee28c95d5c09a25fe93b37e1e0323b7d108c73b5f85937ede4,169afc1ff86919c8e922a5afb73c4cf4649e25b3e6ee436fd9ec80e271d69cf6 +SheetSage2-AR,audio_span,hotter_than_that,181.49,0.7207105278044917,78cebabb06224a302bacacbd3b13fe2834eb85da6ee8f0339e030954062eda50,87d9b1a7da349101798c198723b28dbbb33959b252b0b3395fa5c71aac7f2eac +SheetSage2-AR,audio_span,i_cant_believe_you_are_in_love_with_me,254.68,0.6476362494110256,d59403c31fe9f86629f80b29747225f30e8f5a25c7174e4ca103b1d466602bec,e9334f7378b824d9988cec23dd3c6570fd3c9be42c378da1d261a0739c73ce9f +SheetSage2-AR,audio_span,i_cant_get_started,186.16,0.7923781242266767,61efd1641a9257276f1c3f4ac478aa9c311c3416f665e8fb12547a7b081f908a,eb2dba9320de0786eb6ae2bf67dac70b08dd53923ed2e719a002bf8126c3c7b2 +SheetSage2-AR,audio_span,i_found_a_new_baby,176.53,0.934402084631507,01259c12de267f467788cae7b42ae76d72739ca2797c1c4f4bae57d0b8c9905e,2aa1756e1ecf287e7583ac02badb2bf6cf5949fe8c8619ccbedaa20d739265d2 +SheetSage2-AR,audio_span,i_got_rhythm,304.84,0.43484526178549315,627fbc60f21a3eb79ade7aa56db18e7a96bee62efd4688c93fe1c46fb89f956d,db450219b1a1c35d81cb46c6c3f7bf78a0adfb3a065d61efa2389b9f789674fa +SheetSage2-AR,audio_span,i_gotta_right_to_sing_the_blues,183.6,0.49002493765586025,a68f279bce87b3c126f8b01497e8f2634b260764040131bf2e8763ff50c25a3a,788f71eb91c12179fdbd91cd65a3e40a833f8328b48ad822d6f9ca913b27b16b +SheetSage2-AR,audio_span,in_a_mellotone,199.266667,0.7967200158171501,dadf229e259832ba0f7f83f8b022d3df0769755523610e918e42caba768e89f5,94ddebe89d8cfce768313a852d9dcba0bff7504b55593a098b9687e4047bebab +SheetSage2-AR,audio_span,in_gloryland,183.64,0.9683620126334131,3ab3c221450584967d37ff470af1ce4b11b7d405805f913ea7b0e3abdc5b9118,dee0ca499cf56756fce92b1656e04e3d593c0f0b52ec5c50b684fce664d0ed2c +SheetSage2-AR,audio_span,indiana,166.146667,0.6826802366304924,5d44708cb18b06eb8a541018495334add4eeaa0c5559075dade072fe8b205726,c2419135be71cae4ae036bdfd9ea4e57546b75627b7ae978d787f1551c75e591 +SheetSage2-AR,audio_span,isfahan,255.04,0.8709391750174784,b8a8333ccda02c90bff9a27003f4996d9c6e1b0cd2146f7f879407c9f81b2e5a,5c2a8aa3250cfa2690521c43fe6a481c46e08f8199152d982e69be3384eb2cde +SheetSage2-AR,audio_span,king_porter_stomp,176.666667,0.7629169871859396,c4c573d9f4ab884fc541bb1f7d9b4b00c4c8f6295c3bf289aa7780a3f32958eb,eff7db53441dcb67747663c5a8769234f18f8d33317b3edf2b983119a9257ebd +SheetSage2-AR,audio_span,ko-ko(ellington),163.266667,0.956165782041311,6bd5271f7f750c28714c01f59cf0f7e9729b135258ce1e1b0c9948e4246946c8,9e5e0ce79715108de7d506cf3db7eaf0debe61e03f1d26ed43cb2fdbd2195397 +SheetSage2-AR,audio_span,lady_bird,171.146667,0.5173730143398007,2899831a3f1226147a09b98e4def3ba6ce92b04fa79eb1b1f59567544a5e037c,28c16e8814d1b7ee17a00271a8c5d71b53fafbbd9494cc2bd64e9975dd4d7f10 +SheetSage2-AR,audio_span,lester_leaps_in,195.37,0.47303568570971355,ada028edf95ac8978e12a44bc798407f279a272a7d21e207615b051d788414ce,2dbcd041a6fac4da05d6c432d8c812aa0aabcf08bb5ccc25710e7624463cee46 +SheetSage2-AR,audio_span,livery_stable_blues,190.64,0.7667034642275139,4b0cb08ea3eb7fc52a6d3d3c140ca8ac792e4929543bff2d99583c46b044a7bd,a34d7136b0b9e6b669356f27fc01c7cbf1bcf8eb8c8216d48472ca30c6631de0 +SheetSage2-AR,audio_span,lost_your_head_blues,177.2,0.03496049661399546,b1f1d90cdc4fae09faeac603273e343e8ea8b2cd3bd6f416831907f61b1c8a0d,4771be5c1ff801292bebee69802f29018e5fd693c1a1a91bed96844667e6423a +SheetSage2-AR,audio_span,manteca,189.786667,0.6154199602730744,325f3f39ec4b86812903497aced6d70e7515f99261ac05a66a2c9e8b38c84e30,81599874aabd8bb79556df69e97382a4956d2e345ed0dd48e7742b1ab4c9ac46 +SheetSage2-AR,audio_span,maple_leaf_rag(bechet),179.44,0.6811585653610193,f787f38509c4829fc5f0749908f625cefe84cb8896a12dd14c40223d41247684,e529d5e7fdd5ab97e26758af42946d3d15acba4a69fa278fb3392c2e5a60c857 +SheetSage2-AR,audio_span,maple_leaf_rag(braxton),220.506667,0.8512915428481669,d5d20c554e7127f192b0053c7ba94a81ce4bfa9d6fc00fa0372b2b4c3de713fa,058641d72b08755c9e28ba050723331e301b4a52fcfdfe02b8a535f16141547a +SheetSage2-AR,audio_span,maple_leaf_rag(hyman),149.97,0.88311968889529,c06aca0afcf1c38511c245d9bec2c0678ec3d79cda0c24cba061d016d5814274,8f370d29317e2fc5b8039a738b10f920deb8b8d17c4713a8405967c6a4851bb1 +SheetSage2-AR,audio_span,mean_to_me,190.88,0.7652649610432658,275cff60ad02cc90a18b95ddf9b089ba2fe31dbc5dd3516fc8ba2901d264ab0d,1f59cfcb6475d0d792b7ff428856484990ae241bdda7fcc4436e5867600fcda7 +SheetSage2-AR,audio_span,minor_swing,193.816,0.8280843686795719,625f0f6a0969eb28b5aee28d2047c911b510557422a2abb31c3bad694ee9e401,a096d95efed41258962b2b882be447c94dd12e1b2199cf2ffe151620e78655ac +SheetSage2-AR,audio_span,misterioso,202.773333,0.6138874286787998,cd59ea6ea5368590e300d17b48a394281d9a12c96896d8dbda86b314e42f4f91,818fdf916e503ba716273fe88ef511eb7cfeb2ebb416792d83153af2731225d1 +SheetSage2-AR,audio_span,moanin,576.8,0.44147843942505216,afe5ca4ec578bb440a237d371c475e2d3dcb41b23e7f0cd79560c99dd2469f32,635f9344009b0b9a8a7555cb419691fc8e27e0658aa286ffab8dc55c7a048795 +SheetSage2-AR,audio_span,moten_swing,205.88,0.4144850367302669,e3c3b8d03d462e711ac4399ffd471fead64d4ccaa44207bd4232c4a02cbdf19b,b86599c4dc9fe21c4768df2d43c0202471207897d33d61623d95b2f37f8bf410 +SheetSage2-AR,audio_span,my_favorite_things,165.626667,0.45942185523789747,82f2399cc75445dc369738e2ce281acbe90bd4222116820c9a734ae4b3281523,0e2dfe3d98d2df80e8b4c9bcbaaddae8cd0b23e8316a9dec5c992ad4037c0a31 +SheetSage2-AR,audio_span,new_east_st_louis,180.466667,0.6184704504492373,d1a7a793972fb0fae29517973b404c76d5e02e83c1283e165effa6636ea9a441,7748628ceb097af39bd77162d3e5ef8a149e670691b8a862a80d4b85529e2259 +SheetSage2-AR,audio_span,night_in_tunisia,256.466667,0.8080617821579289,67f1996c9edcd318c915c1efaf1ad14c4b8f3b823588ebdb1ae9b7db579ac402,9612324225bbdba390c9cc63dec25f1f736f6d1aee25a10b1f3449d29ed235b0 +SheetSage2-AR,audio_span,oh_lady_be_good,191.49,0.5534842432312471,01eb4f527dddbdd746d23240aee092a1675717b9390046afd4ae969750d91f90,f3303d12f042979eee7c32465beece7d55275f4e086bf1a0edcf08ea581e99d7 +SheetSage2-AR,audio_span,one_by_one,383.17,0.5586440342944694,57fcdb6c4b4fe160b914dda0048db658b90b7117779f8c3384cf71b90614ad6a,40b83dd2131b5f6411994837aa824b5a28969d4860f4808f2853c4e0d16046e8 +SheetSage2-AR,audio_span,one_oclock_jump,185.49,0.7043898728675434,c7e86a143df0b6727b27d1288f940458058d898710f54b45861f870784ec7731,7624883ae46e0ce92d012e97096f860d87c8a952782dfcb81932ec78dc2efeca +SheetSage2-AR,audio_span,organ_grinders_swing,160.666667,0.7340456437052991,0fa1d4d912aec0472da4c71e379b2ff12870a525a298af0245a39bc51f1554db,de502cd1af70ee5cd94653500d35af2b40a5e9f4b32706d8ddc54576e3d6ff74 +SheetSage2-AR,audio_span,parkers_mood,185.0,0.7017784011220196,8e26e6ee80cc73dee9ec04f751652a91b47ae00e85221eb55ceb668324f72262,62676e4c3eddffb76ea17c922583e74f8ec7fed55137291a8e8661896323e4ec +SheetSage2-AR,audio_span,pentup_house,534.09,0.6640261585472669,724daed38e0ed3e0bc549eac7d562360a5ddf5bdf51ff894d2387873826b7a67,a626351af99222d034ef8577ab8541305550077622c00693932f6d2ebed19776 +SheetSage2-AR,audio_span,potato_head_blues,177.33,0.566176055940901,c49c444617bcc9a66a2fc4713de764780dd078c54f21b7fee24190ec30a3c697,0d242428ab00db25f8954b8ff02fb31514b4cac6b5b2075e9e4b92944717611f +SheetSage2-AR,audio_span,riverboat_shuffle,190.8,0.7851153039832284,f5024f9ec743394eabde7f5ec3b187d60c6bc50abfde20242d170bb750623a61,d819657b9cab108a86cd958ba17bce42ad91a8537bb41c8611f71634512174bd +SheetSage2-AR,audio_span,rockin_chair,182.33,0.684730824202001,349d796a515909afa7d7bb75f74d7bc1010ce37a8329e65f61af33a43a897d12,3168d4c184fd010ae4e0cb4de99b6fe765acfb3b30e76bf5e1834e728c865dd1 +SheetSage2-AR,audio_span,september_in_the_rain,197.25,0.6851449467380357,da957edc24725602b9cad52bbebd89a1b1e1672de1cca04d306337655a43dc6f,b8e9549325208dbf65a1983b3e82341545dd0d93322ffa3dfc79a3969399b316 +SheetSage2-AR,audio_span,shaw_nuff,183.73,0.3004006203153271,8b97be5aa610a13ea583f484f61fbec115d31463f396139ba81c9319a0670c28,95678d0032b2f37d954828412257a68ae1093585d1a729a3fba5b607f2be169b +SheetSage2-AR,audio_span,singin_the_blues,184.546667,0.8245179784401884,4b59eef6fbac824f0202066d3e499fac15d42df58b70034702d0fdb8a5bfab36,bc984c5584214114d2f9739532ccd60bf958e037ccc20f152531104fe43141d7 +SheetSage2-AR,audio_span,st_louis_blues,193.17,0.6840363053924187,c04410a2bb4b9d58922bdadbea3063ab34acffbd16aaf5b7c37fcab138c8b568,964c70ab7fcde880f1a43da8de3f0a425d330530953ba0c18b79050f2585440f +SheetSage2-AR,audio_span,st_thomas,408.57,0.5197328635658491,f2dc5350754a145e0fb36a644fb0d9cdc663e119f4ca5d4548c247aab029bf40,513a3dcb6632100a13563a3b01a5504c889a43b188ec7d1cc143303d8003f08a +SheetSage2-AR,audio_span,stompin_at_the_savoy,315.826667,0.5907338626592302,c268150d40ae77aea06712dc2f991f91d398687601ecacc001c6d23aec30b590,e01360d03cbb4202d997cd9d67b2709ba54c8e4d0732d601b2f9cbbe56047d5a +SheetSage2-AR,audio_span,struttin_with_some_barbecue,182.866667,0.7268142186542748,d34a34f2365c08c7c5d61329ce8fa3b00824556acb33fd8f4ff1a04eb28debd8,b263e7b21e2c774291499701045af08c248d56a6f266c001231eac3b0af0c678 +SheetSage2-AR,audio_span,subconscious_lee,168.4,0.8906769596199529,f2ffa2c3e9d477015d14e2e21ec3fcbae8a28c58eec97785e471d846f44960b6,206b6b096b0b8fa2f19c9ac4d2d7b2caa9d4c4efcf1592acacadb83138ab855f +SheetSage2-AR,audio_span,summertime,198.29,0.5293761662211911,38b500b0d34a3ee47f634ee89215852d877a716106f5f7b756fb1acf65f7ffe9,2c92d887e7a8da18a45cb2247b663b80024cd212621670d97233e6317751585f +SheetSage2-AR,audio_span,sweethearts_on_parade,200.53,0.8294723631229407,96a845285c4df0e4a53201b645994922d4668f80cff3dc747cc6be20c3e26586,2723b0ad9486d52c86398e2851a8e7a00a26bb2297f8e687721000bf46cc90ea +SheetSage2-AR,audio_span,swing_that_music,174.066667,0.9124936258796659,294cbebe472b53dde8fe746cd991d0c2ab9f8264107383938a9cf8eafd93af59,e4f4a1f9f3a082bc67303b27ff207920b957d840f6172bb76e436bd285d7b45f +SheetSage2-AR,audio_span,thats_a_serious_thing,212.746667,0.8467732307839209,53b88e1a03136f1b6667733a3917ed5ba45db77a821e420cc9497976a97fa628,35f16f88879b5d2bd88fbad56350381dd03e8e143d19848693090a59755ac19b +SheetSage2-AR,audio_span,the_golden_bullet,150.04,0.7119434817382027,71f6b76fac9b5176fbe02ab5233338543a0a2daf90465e0482793a4d53ba4b80,c89fa896728db386eb65fe9deb9b912a83590b0ff960bc9e0d8453ffa0b850f2 +SheetSage2-AR,audio_span,the_man_i_love,309.426667,0.6764013304187705,3bbaf87ec6ca1c05a04d28210f5dafcfc4fa4ef8ad66f4bff7cf5f3066bd669c,f7d6ddd771bd0628fb1165bb0cb8f84203dbc2c965868fece4447aca2ae615a1 +SheetSage2-AR,audio_span,the_preacher,259.986667,0.7439495492104043,fbab89638d29152d15c895f38e0958862330368083cd0c6febfacdd4de263ed0,d4e3173ed74617f2ad4769d4f2b570ccab21b5e6669cc828e20dd74216859cf8 +SheetSage2-AR,audio_span,the_stampede,196.41,0.2963846480067854,3e5efb7413c39af1fe4dc61ace108aa6e36fc1e5c31c6103b2e937bfcc83ea07,d44ec2249fa6e4d827f687b2ac6a9b768d12d30a98f3c27cbc37e6339c762828 +SheetSage2-AR,audio_span,these_foolish_things,217.29,0.6565943484009993,c6c0abf3634ddb41cff5e23f1ac96818e581d19dcd923fa79bb8782c02765b16,3953078cf6671f2440fd4725a7b7ea7e1c2f3db11117e95a4ebc3a83cf959c73 +SheetSage2-AR,audio_span,tricroism,276.8,0.6626273541216428,2942fba7a0d5f0792990171805de36192656bec41a28c1807312b6c975703c5c,0598f596439519fb7482053184015f28a51289c515889ef392da087d393831de +SheetSage2-AR,audio_span,walkin_shoes,194.65,0.4374964727129071,eff0fac5bfdc3cef5d7f6f3129d22c93f914a10810b967fdd1d18b06ffa34ab9,6319028133296054316828206b6034341f8907a16d65b6f3fe67ba20a2b569ae +SheetSage2-AR,audio_span,watermelon_man,391.706667,0.3684582322960188,2fbfe9a6c3c2488239d0b334126fc591c02388af95004ba740aceac496c3a815,060a76833addefa32c16f095b4720fc86839d8a0195a12099fc7a3ca831fce7b +SheetSage2-AR,audio_span,weather_bird,164.666667,0.5832916031629434,dab8fa5e2637797338e37977bca2820aabda94018ed06eb8d90b4c7bdd622359,250ac43d6ede8d2e116be57bb04ffebc6c7ab1c502be5c9901170cbdca22f853 +SheetSage2-AR,audio_span,west_coast_blues,336.466667,0.7690806421942917,44be892f5167d576fae5786ce33a2b28e762d5ca45fb4484b9d5e059d68faa00,f8c77fcc6fdc77297d23138be5a89e318ad555bfb2c8f047483064ca005083ee +SheetSage2-AR,audio_span,west_end_blues,201.29,0.8091778789584081,279b2033877f397b2852286b091492b5cc622769b8c7ba5f0f987151004946e6,b8f4d27cc584ae4b17ca004e469033b33e69b63606e2d85747a6e39013939b95 +SheetSage2-AR,audio_span,when_lights_are_low,134.866667,0.4679974257102451,7b2d2c1918b5f855d32920a592364a59a939331e32720fa0d1ae93a8a314b498,a6291fad2d3f3727f25076c72af669cdd845f40b9d7315980ff4a1f39efa8372 +SheetSage2-AR,audio_span,work_song,309.48,0.5268402789475466,04e43c46fdb96f59f233ef29b509fa677ba2a82963d67dff19abb16fc87a3a06,35d35ff5a50727175c6190f27898f129196f6b6bc617a3ca1a22bf8b254e6d05 +SheetSage2-AR,audio_span,wrap_your_troubles_in_dreams,153.72,0.6189793969163597,33e7154eeffcdb8d70f179e75e4eed9ea969dd919c907db051e9dec14df6c52c,09c14bb0bb50177c357aff9e1c4977007b0ed32b50f3a1ec824994a00b6c7693 +SheetSage2-AR,audio_span,wrappin_it_up,161.53,0.6140704784719155,b65982cb0ec5ebf57ad83a9f4cb7743bb551b821e53db7bc05296954e4b1045c,f7d724c8f73a8cfeb038c33fdbd5d8889ce8168a1ac4776fb86745f40b9902a0 +SheetSage2-AR,audio_span,you_d_be_so_nice_to_come_home_to,170.906667,0.5208819788631491,6440b3d6045965bfccbeb50b9b2a21e7228eb64d9b0d30a09853e058279701a2,0c7bb038d236ca56c5ecd7424a6090572ce8f627bd036b06db2f719224157ee4 +SheetSage2-AR,official_span,airegin,255.59,0.8095840130505708,19c46d5102c2276d0780327f95791877da85dcb8e14dc01e1a71edbb8630a0fa,6e9f9508bcb79c2028165bcc011b588549ed19345cb8cb0f06574e3baf1298d8 +SheetSage2-AR,official_span,all_alone,142.53,0.6900475298862165,38c0047337fd8c9767e4db5b9fd97556c683a17c07d4463cee02bfed01649135,f0745989d240da16b1ee7ba632ada87975c90d96b248f93d5b39988a0cbce926 +SheetSage2-AR,official_span,bags_groove,173.27,0.6963313518400955,a7be01cb462ab291972b8387091c71c1397d0cc4e27db68bbefac8e420913b01,2658d12b95849f01846257618bc6f3f8e13eb5999d967246acb8c7f274b760e1 +SheetSage2-AR,official_span,big_butter_and_eggman,180.8,0.8885152465089771,7c1c387cb1b3d94978e9233ff6313e62c8b0b23ed5ad25f25e42758eca356c1c,4c7dfea4899be0e34573c3053f59a8513f04f0e5bda47c4d99a3e20ba87c4b29 +SheetSage2-AR,official_span,bikini,218.56,0.8019801980198022,618e80ff65f45dcc1d6f1a52777220f9520ce0c0c6f8d6e8361b07111ef44c5a,411c7cc6a3c48f029b6f253629f373a7acd49d0e20f9de71ab6ec56851d0b76e +SheetSage2-AR,official_span,black_and_tan_fantasy,190.0,0.7945651593614866,8f8653221cc5a18b803272a2b71d2abd46f025b928fa692658d16843e3c5cb8c,bd33b5d182c407c77ae701e7f9a60b5c4f9cf7a09f602512c6b233b758fded49 +SheetSage2-AR,official_span,black_bottom_stomp,196.11,0.8376822510356701,bc5aa1ace733bf653014a9db28e95e04c383113d3dc5bbb57f03437dfa010154,65d3bd286db277736ca232fda43f8eb50b5d63bac2d051b431e382e6328f8b72 +SheetSage2-AR,official_span,black_water_blues,200.71,0.5065185258997227,cc887831a911c10e17aefde9fa4d39309fbf6a00662afdedacfbaaed2f2c512d,29d2653eb3b38551051468350eb4a6136c1f58cac178f220a2fe803ed291e7e9 +SheetSage2-AR,official_span,blue_7,674.6,0.6686480877557086,d554a41f851559c3e6bc3525f9a4e718da2efdaaea2395059a090f6a5ef78959,9f7d3eeba7bb25d4c06857a50fc74f5d288d4e86a838a1cbbd5caf82ea2b74d6 +SheetSage2-AR,official_span,blue_horizon,268.56,0.8564566577301163,297a14ee495675229c671e86c2c1d142b269c41401f57372db4d3a8a335632dd,cf5c2da979e317f070ccc9f325f47a166f4dc9c856da08b024981a55eab8eba4 +SheetSage2-AR,official_span,blue_serge,205.4,0.5221029898090035,05ebc2ee8ec68bcb3a29176303afb04a816125fc7371bd893b625e7142ad9768,dbbc2eda5d394d6a1e22e6a2201fe91f5124b3645262721bd301b48d823d7854 +SheetSage2-AR,official_span,blues_for_alice,169.06,0.650415001537043,355755cbc985467386cf202b70357aefa6972394981f0768e57e41ae8109bb91,fbd093a8996d6c4f8171a4ea062374730ad95322d5d827cfc05354a9bf8a9b42 +SheetSage2-AR,official_span,blues_in_the_closet,545.27,0.5467994449233097,1a6d376d3145c80e6419436c53edc9004911b276908d6d45198802dcfc1699ff,24f301c1fe65dba4474956769e3ab70a8631f474331b31db64b494453d955b2b +SheetSage2-AR,official_span,body_and_soul(goodman),211.03,0.7025779813330567,90a87683776ae79500cbf76ec256756bc36e6b752124263fe3f2d7c80c953618,d35fdad26b131f516188e9f606f801922c161d6a52c3cc7d1b1a0101848e6de6 +SheetSage2-AR,official_span,body_and_soul(hawkins),182.73,0.3714489565372493,082b382bc4892f25659e967804685c3258bec908553b49ae07b3be56ad1c3198,37b17a85b7cd0b5fb4247c74a9c5cb8502176eeb1f12ce723b4191bc65e31d20 +SheetSage2-AR,official_span,boplicity,182.71,0.4567840026441915,896ea58821ab9c2ac569e562d25e15de66203c1d24d1a118a196dfbd28cc62b9,3c6505b7bc7b79aa1682f0136518c3daa60d17e95930047587224663c703b3c0 +SheetSage2-AR,official_span,breakfast_feud,140.67,0.7545596533655784,a08152b8075e4064745ba5ceef995e9cefd88bbad9d9397219321587fe2bea92,dee9563153caef78804c7d720757a407fb5cd308f7818581dce572320827cfda +SheetSage2-AR,official_span,concerto_for_cootie,199.87,0.5262922661715916,b5e536bed7b4a823ecd272b8f4ae586b72695736990e6c3bbb28ce2da08870ff,d3eb92357d9f128b399a8cd408336fb727994d5908c0fb54e52fb44e16665bbc +SheetSage2-AR,official_span,cotton_tail,191.6,0.48452426442491414,de02308e70b744d94395d0ecd1412896440772ba446d50843555dcda5f64ca49,a26e0fc29cef46b552d527144035e22c245eadf048dc530ec3040bc73406d0e3 +SheetSage2-AR,official_span,cotton_tail_fitzgerald,220.92,0.49530061871251185,2203aa8c410a807b2179848a966c8e7c220a76db62ddd8a677404393f69ea479,e445ea39ead3a16fdacc5021e0858e21d4d84acab760376f7d4b327e01a38b7b +SheetSage2-AR,official_span,crazeology,179.96,0.4071814537214574,d2ed39d71644c8e619c89b0fe5b752098b4213873ea5f857dc4ee26acc1059aa,d3217328fbcb99231f73aa4fe29518e4b451b8e46cb967f44b060fb20360d2b0 +SheetSage2-AR,official_span,daahoud,245.47,0.670525937892659,274eeedf7fb2bbf2a3fc14e9a36b996f229b924031991ff34b7f257c367875fe,4bd09e6669b11ba612d3896f7558c7376fcf56c816d56bf5f5013e1d5f777e28 +SheetSage2-AR,official_span,dead_man_blues,193.87,0.9060194976014855,479a4b66f26603e25723d9f30a867f12a277b28e9e4b29fe054ce7d362701997,b3156f8eb00af2e57d2ce048f6aafaf6e4d1f5c437372c4009274b4202f1a1fb +SheetSage2-AR,official_span,dexter_rides_again,196.73,0.573625469320578,121da74a6ace86691c5f666dc3fa0121726a9f9077ec79383b5dd10e4d4267f5,c7cade360f7d377ed2fdb49ec7d5589c245ea730a39044e525fd6fd9475c322c +SheetSage2-AR,official_span,diminuendo_and_crescendo_in_blue,360.31,0.7329034658069309,1a5d48985a032fbf0e2b9e69fd60bfbbf1a3d4e132e123fd5d6b89a71f7912f4,23d72706a5a1ed9d6d0cb6102540deaa4452b51377976d8b652704f77abd38f2 +SheetSage2-AR,official_span,dinah,155.42,0.7838337182448035,991b14efea4c5aac9a6749bea010a114a1b71425e487eb680bafe025f10fa78a,e75bcc33071573f434095ac13b7b9cc493abdebb9ccad9fa6deba5ee314e66c4 +SheetSage2-AR,official_span,dinah_fats_waller,189.63,0.870551944475047,f52b63ad5c83bddaf8d1a167a4e2ab764f2378781f834fc4078edfc072bb6766,d11cd7e824bef9655c7bdcd66f2cb93c6d4ac54e76a95568739064c7b1b820fe +SheetSage2-AR,official_span,dinah_red_nichols,195.44,0.8482398690135076,18e0a3dc4760968b2a1fafa239a9ccda1e80b4bce060ba29a26ed3828604cdb8,31409ce2d65e90e018f36a9f311156279fafc7668bd1df3e9fd1fc776c3f7ed2 +SheetSage2-AR,official_span,dippermouth_blues,148.93,0.5100062322553841,75eefaefe7d12f9a683173c5c23141ddca95ccc3a4c3c4393bba984e5cb7c57b,a027636a936230ce831e34981026bfc623e60ed40cc2e9a69dbc35c7f220b947 +SheetSage2-AR,official_span,django,424.93,0.8097895226313618,ae3426d90316bb6f5eccc6ae0746fe7afbc34800079b9f51751bd373a65db12f,c8c5ccb11785faad70ebc292cec474c14fb2de36b545d1b57d7383e4d6af1fc0 +SheetSage2-AR,official_span,doggin_around,180.51,0.41798238324746556,c0ef140eb519488e4eac46fb0f31127a683916be712a130e4fa7960cdf6edae8,f194935aaa4be653067f12a7b570de2a5e7780fba240c5b65a877955210abc31 +SheetSage2-AR,official_span,east_st_louis,219.03,0.8514488559632674,761146243eff3d7bb35f256985e9bbc93945c5afc6982d5e25f1056d99a2e7f0,6f80c4c73687ac8dca5d18379266a32515b4cbc56757b49cd308807234a5c4d8 +SheetSage2-AR,official_span,embraceable_you,227.96,0.5729853882617411,9dd5e3745fc0b2c2ea2e5b0d42a5f887e466a2d0f9e1406d87aa02a7cf3608e3,2644b9757815a5c22dec84054f3c1164ca63aa5e0a9161bfc492a94d4b738898 +SheetSage2-AR,official_span,everybody_loves_my_baby,144.28,0.22053178868029882,9a528b3a355842eb8659aa55796a6c516fd21bb34c93445a92cbf239be760525,f3dd3b48280371984b1f3e062d8f57c1062fc4cbbe4d315b9c161f8d2551e0d1 +SheetSage2-AR,official_span,evidence,154.73,0.23044977827831373,9dbe8b343341f28c98dd63aa7f5abcd1ff663484408c5028ee47849d3f4fe86c,9f2d9bb54012533c224bde41b18ee8da60e1c1a0ca7821ce248d1cc53019cd8f +SheetSage2-AR,official_span,for_dancers_only,161.49,0.7315186044875855,85be68be03eae1fc2653cb22624e034b38b0e0afb2660485f3e3736badfd6558,dec4ef1bde083fd339552ab8b95af7948dea004423a32d380e07be47ca2feb03 +SheetSage2-AR,official_span,four_brothers,198.52,0.4844212892021656,d042e43dc30618c118a9310fccb3ebdbb1a31412dfb265af8fa30b9dbf07b687,054ceaa72b00ccd1399b2f18e031087d9d9071c977986a43879ed4dc65a5388d +SheetSage2-AR,official_span,four_or_five_times,194.43,0.6791298436437796,b143c2c95f0a1230b9fd538ce9bd948a880ceb5b912df2f2d58e5f55f6e39f93,785fa02f085ec6b1a8f9b4fb698a83ebf37796130721bdcc981a9f9cbe89f1b4 +SheetSage2-AR,official_span,from_monday_on,183.13,0.7527991602519246,5e77adcfcf613c66f94d32c951e343103baddde9c42674abfdb631908e09244c,c67191141121a2288f875f5e6d90f0b0e5368cc680c2928c1caed8073eca6a09 +SheetSage2-AR,official_span,giant_steps,287.4,0.6407794015309675,fbb67b1c9d088336d62b25151f5ab5003ac68df35a1d7f60efd97ce3acbccf93,fedd1d28c455f6817280f9348f550ec71fda71b53b174eaf1f10f9a5d62192bf +SheetSage2-AR,official_span,girl_from_ipanema,326.37,0.8568024331357971,ac48c89e9ef3c1376ffd7d868fc0bf68bb4b48ff88e8919a3feeba20cf29bfe9,70743e10904c0b76b3d711a63a0dc964cf6267015573d79145f20792124b7dd1 +SheetSage2-AR,official_span,grandpas_spells,175.36,0.854774863928748,5aa33c57ccfe736efefc66070fcaafc189c578ec4525add8bd081af2ca0f11ff,b6fca9badd94819b751ca58847a6e8e0ce7dee50dfb2af60a07403d44bfa3404 +SheetSage2-AR,official_span,haig_and_haig,271.61,0.41599166859523207,12772609e372c28e1584e21c71e38521d8f8d353275145b8e76cd8f13d7e90ba,a7517198f19d66c2f1c01d8058455facd0be4bf997596d5cffe27dee11ebdd12 +SheetSage2-AR,official_span,handful_of_riffs,187.85,0.0,3319726c0b5adcbb6060f086ced474b1044eb7591dd808d33223fc91c46539e1,6a748b63282b38494b8fa31f47cadf060db297db1f804ebf467b08d4aaf2bf4c +SheetSage2-AR,official_span,harlem_congo,195.89,0.6608265198286883,d880e736f0146fa1edc9ec08f9c31c8a2ea339f74b4a92eb446974530f344b08,0ddc9ccbb5a8a6689b646a9d5c85ae10c54a6e1c498d5e6b7ec643d025efdc13 +SheetSage2-AR,official_span,he_s_funny_that_way,160.71,0.5811142871470845,3efbbc44b2b722c4e49082335e0b7214c7a469e7540b886778e064b33b8c8a9b,9c17961a687c592204c03a764445c1b4ba0660bc374ecfa90e224e45b373cf37 +SheetSage2-AR,official_span,honeysuckle_rose,185.97,0.5877407260126116,f69632c82c8ad886ce95b88aaf92da6280994db688420a434052e01e1f02a548,5be142a6a9207ea83eb55d5dbdade7f55ddf2f659db93c5152dad9a2b02ac6ef +SheetSage2-AR,official_span,honky_tonk_train,180.39,0.9448602102851227,7b853aab847d5eee28c95d5c09a25fe93b37e1e0323b7d108c73b5f85937ede4,664952e9fc0749427bac64808b762356ea5f6c62b74de2ee72bc496b3fc5b63b +SheetSage2-AR,official_span,hotter_than_that,181.49,0.7207105278044917,78cebabb06224a302bacacbd3b13fe2834eb85da6ee8f0339e030954062eda50,569193855f2204cf216a9a7bc3a48d762d5400fab16de99505bb21e2aec6efb7 +SheetSage2-AR,official_span,i_cant_believe_you_are_in_love_with_me,254.68,0.6476362494110256,d59403c31fe9f86629f80b29747225f30e8f5a25c7174e4ca103b1d466602bec,e4ceaa73a7f1bb91c43270cdd5d7ae3686554b3632e7cda1afd88101a916640e +SheetSage2-AR,official_span,i_cant_get_started,186.16,0.7923781242266767,61efd1641a9257276f1c3f4ac478aa9c311c3416f665e8fb12547a7b081f908a,a7de658f791712f83426f4b49064a139fcc003a5aa8f4fc54557337c5ae49030 +SheetSage2-AR,official_span,i_found_a_new_baby,176.53,0.934402084631507,01259c12de267f467788cae7b42ae76d72739ca2797c1c4f4bae57d0b8c9905e,4665ce812c74c8acfc4bddc44dc00a4afcbf1d7c6705a2bd99253061026e9261 +SheetSage2-AR,official_span,i_got_rhythm,304.84,0.43484526178549315,627fbc60f21a3eb79ade7aa56db18e7a96bee62efd4688c93fe1c46fb89f956d,be0c231dca93aa246e2e231af2cae607d971c735b90e503ab35fbfd417a3e244 +SheetSage2-AR,official_span,i_gotta_right_to_sing_the_blues,183.6,0.49002493765586025,a68f279bce87b3c126f8b01497e8f2634b260764040131bf2e8763ff50c25a3a,c634fc5dc1b22338ccf1bfe211f6bdfa48ec794164d9125d5a7b79cff0f8b1c8 +SheetSage2-AR,official_span,in_a_mellotone,199.27,0.7967235866624505,dadf229e259832ba0f7f83f8b022d3df0769755523610e918e42caba768e89f5,d67cacf9cc23fc7a8021072eb6834f6a536f98a39936baa432eac3bfcafc6d1f +SheetSage2-AR,official_span,in_gloryland,183.64,0.9683620126334131,3ab3c221450584967d37ff470af1ce4b11b7d405805f913ea7b0e3abdc5b9118,1e41262bf11bf79dd4189937016daa85c16dd4015b2a0f30e7220c0b603f72bd +SheetSage2-AR,official_span,indiana,166.15,0.6826877808688212,5d44708cb18b06eb8a541018495334add4eeaa0c5559075dade072fe8b205726,f214fde3796f6c7389a11e7fba64ee5b2a347d3879ac429ec244bac692cf1e7b +SheetSage2-AR,official_span,isfahan,255.04,0.8709391750174784,b8a8333ccda02c90bff9a27003f4996d9c6e1b0cd2146f7f879407c9f81b2e5a,4a51bff8a42d705272a3eaaa9d322bb7f47c95b4992f3c80ad065b295313d6f3 +SheetSage2-AR,official_span,king_porter_stomp,176.67,0.7629219080831977,c4c573d9f4ab884fc541bb1f7d9b4b00c4c8f6295c3bf289aa7780a3f32958eb,66194287a26776cede0b3dd5b30d09e4c2f22880bd7139f11cba060f9504f7ba +SheetSage2-AR,official_span,ko-ko(ellington),163.27,0.9561666768747064,6bd5271f7f750c28714c01f59cf0f7e9729b135258ce1e1b0c9948e4246946c8,689c4bd626680feb97ac4ace2b45bc72c3e667337386fa1329dfcbaf0a1f9f08 +SheetSage2-AR,official_span,lady_bird,173.99,0.5252600724179555,2899831a3f1226147a09b98e4def3ba6ce92b04fa79eb1b1f59567544a5e037c,77edb4ecbb10c5bbef15b9aa062c6bdf3c5426813aac2f965bd6a0ee80e643ff +SheetSage2-AR,official_span,lester_leaps_in,195.37,0.47303568570971355,ada028edf95ac8978e12a44bc798407f279a272a7d21e207615b051d788414ce,35d4e4e590d909527d2ffccc468f9a1902b5f68da319a51ec6d10d5a217523b0 +SheetSage2-AR,official_span,livery_stable_blues,190.64,0.7667034642275139,4b0cb08ea3eb7fc52a6d3d3c140ca8ac792e4929543bff2d99583c46b044a7bd,ad24a02714a12d783da4a8d6089bb6390491ce9bd2b24e192fa7357421b121f9 +SheetSage2-AR,official_span,lost_your_head_blues,177.2,0.03496049661399546,b1f1d90cdc4fae09faeac603273e343e8ea8b2cd3bd6f416831907f61b1c8a0d,e0aee8ff1030be47e96b09ca3378fb76ece3fc62d338139c4fe80db8f3d5ebe2 +SheetSage2-AR,official_span,manteca,189.79,0.6154270276230904,325f3f39ec4b86812903497aced6d70e7515f99261ac05a66a2c9e8b38c84e30,e98b2b35c18ad8e4e8cc12f7d53f02cc472cdf02e76e2d658521d4b45b269fd9 +SheetSage2-AR,official_span,maple_leaf_rag(bechet),179.44,0.6811585653610193,f787f38509c4829fc5f0749908f625cefe84cb8896a12dd14c40223d41247684,0ae90043cda7fce87cd95a733cbebc3f2dd3880882c4fb55792ac9d67e9cb299 +SheetSage2-AR,official_span,maple_leaf_rag(braxton),220.51,0.8512939358825802,d5d20c554e7127f192b0053c7ba94a81ce4bfa9d6fc00fa0372b2b4c3de713fa,75af84364507765458154750bd9f2bd8e71f7604fac6666cec34ecb6f743aef2 +SheetSage2-AR,official_span,maple_leaf_rag(hyman),149.97,0.88311968889529,c06aca0afcf1c38511c245d9bec2c0678ec3d79cda0c24cba061d016d5814274,7b72dfae8f77bdcc936ac095d33507dc37f71488f5bf976f549965ecb65abbe5 +SheetSage2-AR,official_span,mean_to_me,190.88,0.7652649610432658,275cff60ad02cc90a18b95ddf9b089ba2fe31dbc5dd3516fc8ba2901d264ab0d,70c96a6662b59447171529dc48f3fc05d5c3ee0837d7d941d00eaf5dbcfe16e4 +SheetSage2-AR,official_span,minor_swing,193.816,0.8280843686795719,625f0f6a0969eb28b5aee28d2047c911b510557422a2abb31c3bad694ee9e401,4dd44fc15830ee98db1df7fd2ab08eca7325bc9847d20a6dd92b325b57cdb652 +SheetSage2-AR,official_span,misterioso,204.55,0.6172410983459627,cd59ea6ea5368590e300d17b48a394281d9a12c96896d8dbda86b314e42f4f91,90461595d8d36309f3fbc6285b33ebb41cde9318dc5c6a67d5dcf20e11d8ca05 +SheetSage2-AR,official_span,moanin,576.8,0.44147843942505216,afe5ca4ec578bb440a237d371c475e2d3dcb41b23e7f0cd79560c99dd2469f32,a381ad9d877d58534f5ef1fefeebbe94b0d457162f4ba5067a4c38b000b471fd +SheetSage2-AR,official_span,moten_swing,205.88,0.4144850367302669,e3c3b8d03d462e711ac4399ffd471fead64d4ccaa44207bd4232c4a02cbdf19b,0d0338d509e7ef1bdb8b1775820395aae832565b1517d97ccb30b3b7152feb18 +SheetSage2-AR,official_span,my_favorite_things,165.63,0.4594372036232497,82f2399cc75445dc369738e2ce281acbe90bd4222116820c9a734ae4b3281523,62240e4089133e93de6eb3f331a0c9a4d68548c0c6c70c1ee9c5d457fd79ee58 +SheetSage2-AR,official_span,new_east_st_louis,180.47,0.6184806800203794,d1a7a793972fb0fae29517973b404c76d5e02e83c1283e165effa6636ea9a441,ef2bf1ac5f9d1598fb9ee13dc016a48f458ef1fa0a8eb0fdfd43959d6664808a +SheetSage2-AR,official_span,night_in_tunisia,256.47,0.8080645628676572,67f1996c9edcd318c915c1efaf1ad14c4b8f3b823588ebdb1ae9b7db579ac402,0a295ae2a1d3599569ddc2eaf01199243a818bf55d93ebed03edf475a8f0585e +SheetSage2-AR,official_span,oh_lady_be_good,191.49,0.5534842432312471,01eb4f527dddbdd746d23240aee092a1675717b9390046afd4ae969750d91f90,f9bd28b24dcb548664fce2e998ef8b57e8e7285584211bb02009a9dafbc9a7f8 +SheetSage2-AR,official_span,one_by_one,383.17,0.5586440342944694,57fcdb6c4b4fe160b914dda0048db658b90b7117779f8c3384cf71b90614ad6a,acdf7d904f2ee8e64d83ff46ae9326999692f6aacec6d99c08877061dd3ef776 +SheetSage2-AR,official_span,one_oclock_jump,185.49,0.7043898728675434,c7e86a143df0b6727b27d1288f940458058d898710f54b45861f870784ec7731,978dfc2d3275c0ffac3b35376a9cb2d7dadbc023a0bb8c8987ae701955186dc6 +SheetSage2-AR,official_span,organ_grinders_swing,160.67,0.7340511607642992,0fa1d4d912aec0472da4c71e379b2ff12870a525a298af0245a39bc51f1554db,41b9552f2260aa4bda93c71e439fdf74b67460be08b965e75703d22e3cc1424f +SheetSage2-AR,official_span,parkers_mood,185.0,0.7017784011220196,8e26e6ee80cc73dee9ec04f751652a91b47ae00e85221eb55ceb668324f72262,17babc6d78f2cd590504160f27af4540ad628c339625f0818a20813bc60e6c06 +SheetSage2-AR,official_span,pentup_house,534.09,0.6640261585472669,724daed38e0ed3e0bc549eac7d562360a5ddf5bdf51ff894d2387873826b7a67,9e4c19e4582a91e7301a2e3b69f3a4ba7c69adfa391bc17f7363adbda0cd148d +SheetSage2-AR,official_span,potato_head_blues,177.33,0.566176055940901,c49c444617bcc9a66a2fc4713de764780dd078c54f21b7fee24190ec30a3c697,6d4968c2703ad6ff9f221d3ea594c5b1280fcb4fb1fecde3df24242ee3a4f22c +SheetSage2-AR,official_span,riverboat_shuffle,190.8,0.7851153039832284,f5024f9ec743394eabde7f5ec3b187d60c6bc50abfde20242d170bb750623a61,bb91df1b62b29268c0a392d8cd35d4df18396abdbd6ec74bfec4c330d7cbe917 +SheetSage2-AR,official_span,rockin_chair,182.33,0.684730824202001,349d796a515909afa7d7bb75f74d7bc1010ce37a8329e65f61af33a43a897d12,205bf60ec25b189688a90e61fd07a0214d2f4c2131f3640d8838230cecc5c528 +SheetSage2-AR,official_span,september_in_the_rain,197.25,0.6851449467380357,da957edc24725602b9cad52bbebd89a1b1e1672de1cca04d306337655a43dc6f,5a5788ce64a21907f23129abb9f1c51de67c48dddd86a220c262a6e86272e2ee +SheetSage2-AR,official_span,shaw_nuff,183.73,0.3004006203153271,8b97be5aa610a13ea583f484f61fbec115d31463f396139ba81c9319a0670c28,abb51e939462fbf676233bf8e0891a3048106078374ecc62401f1933f11af8eb +SheetSage2-AR,official_span,singin_the_blues,184.55,0.8245212439283123,4b59eef6fbac824f0202066d3e499fac15d42df58b70034702d0fdb8a5bfab36,11e51083e258557d3b8a8b915331cf9732fd05e6cce8ee18fe9e80eb11257ec5 +SheetSage2-AR,official_span,st_louis_blues,193.17,0.6840363053924187,c04410a2bb4b9d58922bdadbea3063ab34acffbd16aaf5b7c37fcab138c8b568,8582574570aca4713e97470c1f0d295f5b76aa8d31bef1703f1a101028d99614 +SheetSage2-AR,official_span,st_thomas,408.57,0.5197328635658491,f2dc5350754a145e0fb36a644fb0d9cdc663e119f4ca5d4548c247aab029bf40,afc1310ffc6a980a13a8c44c66baabb1a70ef0d02565624e02c1284cf411b226 +SheetSage2-AR,official_span,stompin_at_the_savoy,315.83,0.5907386576677922,c268150d40ae77aea06712dc2f991f91d398687601ecacc001c6d23aec30b590,1f22185464d5033ac1ec65e168eb7c0266c5831bcf37a35791e8b078a025f480 +SheetSage2-AR,official_span,struttin_with_some_barbecue,182.87,0.7268192650889542,d34a34f2365c08c7c5d61329ce8fa3b00824556acb33fd8f4ff1a04eb28debd8,ff117b2c339352231d5a835593f6571866f1b7821e525effd69ef0096c95f1d1 +SheetSage2-AR,official_span,subconscious_lee,168.4,0.8906769596199529,f2ffa2c3e9d477015d14e2e21ec3fcbae8a28c58eec97785e471d846f44960b6,5de92be2c7967b2ebcac05fcd169b95b69a9bbc97559c100ee485f3507dc4016 +SheetSage2-AR,official_span,summertime,198.29,0.5293761662211911,38b500b0d34a3ee47f634ee89215852d877a716106f5f7b756fb1acf65f7ffe9,d361d2219650fd6e503304554497d78735f70a6933d817f3b9f1f5bc460abb0e +SheetSage2-AR,official_span,sweethearts_on_parade,200.53,0.8294723631229407,96a845285c4df0e4a53201b645994922d4668f80cff3dc747cc6be20c3e26586,a42a100a9d9fb363830b2e5846c819314eb696208fc5faf64f6d592ace89d755 +SheetSage2-AR,official_span,swing_that_music,174.07,0.9124954105984575,294cbebe472b53dde8fe746cd991d0c2ab9f8264107383938a9cf8eafd93af59,5d1c043d11a6da68f3e8bbc61c70b70259f6a9316d2de00c21bdfabf07024a82 +SheetSage2-AR,official_span,thats_a_serious_thing,212.75,0.8467758444216988,53b88e1a03136f1b6667733a3917ed5ba45db77a821e420cc9497976a97fa628,3dedee28c4041fbeaeeeb9b05da5293a434c2f21290ccd0c372d02b0d781abcc +SheetSage2-AR,official_span,the_golden_bullet,150.04,0.7119434817382027,71f6b76fac9b5176fbe02ab5233338543a0a2daf90465e0482793a4d53ba4b80,939abe7ab5c142008ab747dd11b75a7a0739c7f16dad790ef0bf76064cc09fc8 +SheetSage2-AR,official_span,the_man_i_love,309.43,0.676405159152763,3bbaf87ec6ca1c05a04d28210f5dafcfc4fa4ef8ad66f4bff7cf5f3066bd669c,2b91ba86fcdf9cd55702b02820776edda77c38b092ff6d9a73edd58f3f267047 +SheetSage2-AR,official_span,the_preacher,259.99,0.7439530439530435,fbab89638d29152d15c895f38e0958862330368083cd0c6febfacdd4de263ed0,76fbdf8bdf44ed1d21443a95b396b09e38ace69061df1d5f10860952cec4a171 +SheetSage2-AR,official_span,the_stampede,196.41,0.2963846480067854,3e5efb7413c39af1fe4dc61ace108aa6e36fc1e5c31c6103b2e937bfcc83ea07,93d8531f10d004492139a066630a650867505871ef106dd84f6d645ebfd00cbd +SheetSage2-AR,official_span,these_foolish_things,217.29,0.6565943484009993,c6c0abf3634ddb41cff5e23f1ac96818e581d19dcd923fa79bb8782c02765b16,17ded81b42ef27106ea93dc8ca07cc02b494cc8420d95ed1f5c4d1bc26ba813c +SheetSage2-AR,official_span,tricroism,276.8,0.6626273541216428,2942fba7a0d5f0792990171805de36192656bec41a28c1807312b6c975703c5c,5c1bbe6a44967e0be3daf05ced504f4448cb6146da73101790b4076121f3e94b +SheetSage2-AR,official_span,walkin_shoes,194.65,0.4374964727129071,eff0fac5bfdc3cef5d7f6f3129d22c93f914a10810b967fdd1d18b06ffa34ab9,c18115282296f4c464b7c713374569fa09c5b53f81eaae19e3d0817a8d71d510 +SheetSage2-AR,official_span,watermelon_man,391.71,0.3684636722316981,2fbfe9a6c3c2488239d0b334126fc591c02388af95004ba740aceac496c3a815,e14e211f1d26a3efb176f327065672307d26c7805d97e777b22da8639855cccf +SheetSage2-AR,official_span,weather_bird,165.67,0.5860047588146221,dab8fa5e2637797338e37977bca2820aabda94018ed06eb8d90b4c7bdd622359,a5142148f560e77cf145fe03d3d606b694c62fcfecab862944d3c1a7f38736be +SheetSage2-AR,official_span,west_coast_blues,336.47,0.7690829296321601,44be892f5167d576fae5786ce33a2b28e762d5ca45fb4484b9d5e059d68faa00,f2463af772d1325147bd48372b2bfabd907c59e7c9ccc169c19e244d426b5a0e +SheetSage2-AR,official_span,west_end_blues,201.29,0.8091778789584081,279b2033877f397b2852286b091492b5cc622769b8c7ba5f0f987151004946e6,b5372651f21f04817ccc51b275c57d435f6a13055154fda6d54e13e32e136bb8 +SheetSage2-AR,official_span,when_lights_are_low,136.29,0.47378477529807417,7b2d2c1918b5f855d32920a592364a59a939331e32720fa0d1ae93a8a314b498,9c9a72c8762564f65c25f23327b41f6ab9442b97195e7678315b71d2ae95be9c +SheetSage2-AR,official_span,work_song,309.48,0.5268402789475466,04e43c46fdb96f59f233ef29b509fa677ba2a82963d67dff19abb16fc87a3a06,554f51026486158265d23b591f3a8d621d4f46d98a61d40db4b349b095c38e0d +SheetSage2-AR,official_span,wrap_your_troubles_in_dreams,153.72,0.6189793969163597,33e7154eeffcdb8d70f179e75e4eed9ea969dd919c907db051e9dec14df6c52c,61b0f075b57a1c8cced17618ff9d00e2d79783f94c91f464038935d9b7a00f52 +SheetSage2-AR,official_span,wrappin_it_up,161.53,0.6140704784719155,b65982cb0ec5ebf57ad83a9f4cb7743bb551b821e53db7bc05296954e4b1045c,dc3bf9685a7b9e7a143fe8affbac7f338d88721b9c15d7523d966a27426698e6 +SheetSage2-AR,official_span,you_d_be_so_nice_to_come_home_to,170.91,0.5208935104948971,6440b3d6045965bfccbeb50b9b2a21e7228eb64d9b0d30a09853e058279701a2,12b328ee1f52428c157b96552925b5b616b9e31b330749de1c937cd46a7bc57c +SheetSage1,audio_span,airegin,255.586667,0.27892576125433216,93349b5e79ce0eaf33f73a92ded6e0dfc85310f6067bd255650da48729ee69a8,c8a656375047afb08f7c8d361d0b85d4d0c34b7364561e72fc6737c1af43d1b7 +SheetSage1,audio_span,all_alone,142.53,0.42647270632291534,2b12941465726abe8718c7f1dc3335ff9f3aa58480753bbd9ab7d4005f6c5c06,868d8dbfe94ce787a2b70a793a29106c46461941d90ab58ef8f594d33b7f4493 +SheetSage1,audio_span,bags_groove,173.266667,0.35290496469237226,e6ffdbdc69e40cfce64ec62c91ebd7cc8dc3e9cd500eb7a775679dd339624e46,dc363142545c49a43fc8f11799c2ab67e0e4392bbcc564dfcc9474a4c466fb3a +SheetSage1,audio_span,big_butter_and_eggman,180.8,0.5460530065545741,2f94815a5267d20c81c71106a9683a414c879e5f2de635e395c69646d85e4d90,a7b45334be6781265f687f3d19c0e704bde00c83f79bf58da36d809bf2a7b16c +SheetSage1,audio_span,bikini,218.56,0.5524069648344146,d1f4e174f068f7af3a04889f61b7d8adfcbea006c345f816742b01880d9c21c7,ccdb2920a9be7797ff1cba26c04c5ca43b8ccb2afcdb4cbb44bd0d54379d0a58 +SheetSage1,audio_span,black_and_tan_fantasy,190.0,0.6653942661897393,ff86d7fad502298232d0edd6b5634ee2bdc8ef94d0500d08a666869f02242611,8e7ac57decd4ce5281a760cb5d1941437d32c92e745bdf50ce0a4b768d1d1945 +SheetSage1,audio_span,black_bottom_stomp,196.106667,0.6186513636681286,7fa06dbaf5c6d36b5da4d83496d8c822f1adadefaa05cb8ec0808a04eb91b4e7,018baedddcfcc3aa4df06eec222fefb91956a4e37137ea40dad532426c1d160d +SheetSage1,audio_span,black_water_blues,200.706667,0.43056201516215703,3577ea6ca80f620e8cea4755e5e600aefe6e38061a7a2996b70f20d3c3d2b950,c4607e7f9e768f8848933f6e101760f2f0a0aaf8555d1e48a7f0048f2253ab4b +SheetSage1,audio_span,blue_7,674.6,0.38701452712718654,312caca63f814a2c7e5615358081107dddbac77594484752d48e4425a10db720,542911d5aebe08a80fa44e5d52a1d3de9345ee7ac5886b1ea5b4044448931da9 +SheetSage1,audio_span,blue_horizon,268.56,0.533884420613643,595b8e60d428477cd97badce8c40ce90e330eeb2151913d70af3271954b34e1b,b7f3a09f0d185200489dc4764c2d06241a070a5e9512258afd57ffc6666e0045 +SheetSage1,audio_span,blue_serge,205.4,0.44246473645137363,8f9453d6a9332a80158404e935cea16f5908941d057645982199aa84135bc3a6,fb5a8a87ad5c56cd02ea6d1ba9ab08c5e9462f1ac2d8508a43c076a9b8bc4737 +SheetSage1,audio_span,blues_for_alice,169.06,0.2790039963110977,3f39487f49506a22fee6525acadcd046e88c528db5003ca431af9c4ebccdce2e,db849ba057f87b5fedb08f86997d675c73086a5b47f6425e507fa49b06249373 +SheetSage1,audio_span,blues_in_the_closet,545.266667,0.23807922775517804,ae432781111d2a7333d89918c089c4af762d65c304cb111d70953263a95d949e,6ba19bbe54bcc1fbf8fa0c6b55a8d9d7e14f762caca54947204e794ac16833ef +SheetSage1,audio_span,body_and_soul(goodman),211.026667,0.3601429549103194,3b5d780196843b61835a7e33b0aa539fbe06ed6347651cc383f31de2d3ff159e,d0304ce18498bf4757b0055943fb6b092fefe1d6c61426de8f083a6cbf2ff4de +SheetSage1,audio_span,body_and_soul(hawkins),182.73,0.23342648195493182,7ea19cf85db2aefb64fb54e2e2fb56cbf6e33df783294701f0225279e7731dd6,1beaa6abd9b20833b14ef81c0d2dadece55d18527bdab4ee46c6ea2dd44b7381 +SheetSage1,audio_span,boplicity,180.733333,0.2227386787048809,ac50fb6c791685a5c1bfdd25bb5742b1aa70268f50bd6e8f6b2b08e79bd2a54d,a61602dcb7c4b975bc799f7973bebcde27b29103a235621fcb39d156711e374b +SheetSage1,audio_span,breakfast_feud,140.666667,0.5696687251047519,c15953b7a5b8f3d89f3b2d03b90203389cb2476acca5b525328cdb0c53462030,dee77a6100afbe06fdaa884cf264d307d8737f1bab1b26119a992441b6e8bc7b +SheetSage1,audio_span,concerto_for_cootie,199.866667,0.34507151319350926,ee1f96e7bb30c211fa722b359c79a9824de03ecab396a6505296396b7c082bbc,0ad1e0273d4d3a5023986560d4c1de8b39610408f2e620546ea5f1045b8cb4b3 +SheetSage1,audio_span,cotton_tail,191.6,0.23456520552431867,d6fdd701c3e7e9e094d101ea6a6a8b02a9850744d5ebf7e046521a17ab2d1493,d3debbc63125574503c2186317bcd2405d238af37e2b5778b6e4dc35dad00063 +SheetSage1,audio_span,cotton_tail_fitzgerald,220.92,0.1551268124498178,8a1728408e78c754f7b51f254ee66b91e4d4d0b99e44b292cdda5522b1917f66,dbae0a685c3b8fbd5058ee0215987f4554c20ac463ce3985e612e0a62fcd8fb3 +SheetSage1,audio_span,crazeology,179.96,0.16611469409098845,c7099652a6ea38688b4bba645b0d3ebf30a78db08a71ec69d11ce7b47adcd2e4,04bc22aa4b49aff127cc9d7b0e9e6e430bbd5f88e7fe067e6d97ce53928f1fd6 +SheetSage1,audio_span,daahoud,245.466667,0.2951115177108625,0140ad498ab16fd55391bef39e3bfcd00546f09c5aa1c041a2ceeba88a6e719e,933cce2ac1e29e526d3981710861f5685a73599a3a2f44119a4cb543b5d3bfeb +SheetSage1,audio_span,dead_man_blues,193.866667,0.8039632052889216,6b2457d244f6cd8f731591d3b16c47dcdab75f92508987335db8ab54b2595987,a1a6e2cce8cd9a5c6a227e83c128385ec8935618c7a3f7812a0844535eb95c3e +SheetSage1,audio_span,dexter_rides_again,196.73,0.28678701846422916,7561188aeb54d13e1f84ca7959da928e555305d5100a9e9b1a16e321b4942035,662ba9f584d31cf8e09096c0e67add5ac1c7e7182c2d732de84a7ea480fa703b +SheetSage1,audio_span,diminuendo_and_crescendo_in_blue,360.306667,0.5168280413784541,b1d22b763d8a8177086f868b415f7b33da66c0911712af853a6b4abd3a569b15,7e409e8b57e5d0c0ce6ca5f36803edadccb1aa48fa420fabf7c42eb50ffc9aed +SheetSage1,audio_span,dinah,155.42,0.7775651600131968,4bd08dfa72677b0bf3c58fd529a49ec7743cf6a345437b589cafb0b64e44add0,d91dc2291e0e33694145c537bf389230f634aba6285e4643f98c4677339788e3 +SheetSage1,audio_span,dinah_fats_waller,189.626667,0.6148987355816116,682f2355cbd65e179ee6f33f4225ed919d2a7046cc5b6f5f39ba8cf20ebfb22c,7a23d9f282638ee88fdafbc724838faae0ba667e265ef0f59d09205b3eca2705 +SheetSage1,audio_span,dinah_red_nichols,195.44,0.6739536430618092,a5b9a3634cc538d0a526cfb56502b95981000aaedc9d9cb42bef92ea8cfe3cb5,c214876c9da3479fbc14b670d1fcbb95faafeaf3b600431f82cd91127092b08a +SheetSage1,audio_span,dippermouth_blues,148.93,0.38356069524271197,053000549cedfbb0c5909b101d8bdfbf20f2ba9b1e8c3497990220e21da1d63d,d9d1c4ac07af216dfdea1847b3c599d7d42633eb6bac11446838acf89705180b +SheetSage1,audio_span,django,424.93,0.4859842602584683,d80f793bc591794719802909e7b34aba17dbd81d9c3c56a00be88ac8d2218dae,6c167a2717a0bc49f8f4a8c1679215f7ec3e5df3d59f684f21f835de55d744ef +SheetSage1,audio_span,doggin_around,180.506667,0.23897547784204576,9d06d742db0a473ded9ee0b3f171ed4bc748e31abb4df52fe6c7b0524aa22a06,558b9b3fd7f789d5e8da265584c69f21f81b66835792c130f962df2fdec6b73e +SheetSage1,audio_span,east_st_louis,219.026667,0.5951131526342037,da0a2ec7a4e4b4c47d44924f396af04086724cdc4e88312c88a8d8d711fdaa36,b193885028f290b7f50af59b2953901d34c6eb64c17c7b74f1f79ae029454d36 +SheetSage1,audio_span,embraceable_you,227.96,0.35810975907735915,62cc95b3d2a5a441b32124a0cb9e9fb5ebcfe1c41cf75f6c0b8baee936dbeae1,a63edab2ead8175078663067a0f199753335878c31d2f18db23c14dab1f0c8d8 +SheetSage1,audio_span,everybody_loves_my_baby,144.28,0.47274757484821006,b4c1ee0b96e3f9c7ea2efe8fb601ca23ddd21ea02aec3b4985536bcba50efadd,a3f41a7dab67c3f25eb2e246652212d9bc824a3a1f9f398b2af0c1a1e91fd5e1 +SheetSage1,audio_span,evidence,154.73,0.11691419722671918,9ea2ddef5aee47308dd413d8fe6f4da24d1884103ae6a32253fde863fa567817,28df2ee4cda16fd1405edb75a19617eb932d296d46956452a511b67b472e04ad +SheetSage1,audio_span,for_dancers_only,161.49,0.3664626855173393,0818b881ab891c75ca3106207a214b1bd0b04924de2c761fe90dcaf2a5d4236c,8d5f849ee70daa2b40707cb29ca844f2a693f1f6b3dd22b230e7981604fdbad4 +SheetSage1,audio_span,four_brothers,198.52,0.21386249872305652,5951d65fd70d137ad4e02e9af573946d3a10c931f9465e48bf3c89d13feff521,909752e4848a495f94565651ad32947cc2fa135495dfdd433c2110b37aaf0df5 +SheetSage1,audio_span,four_or_five_times,194.426667,0.25729393021000113,e6bbbb8593f0afc93081c626e4b68d2e3a8d06e8c2ea35ffd0927c04b19469c6,a7bb80fc755c8bfcacf772fcaf32bb40d1824593ed972f5ea41d8eb5d4b196fb +SheetSage1,audio_span,from_monday_on,183.13,0.8195124795894566,7f86cdc2cb0ec57b51ec4b26ad6d205a383cc9640836768c871040a7208a5277,44e695731cdc226ff99d800e2a19c29d16da773a461bddceb2a3cc90e87586d2 +SheetSage1,audio_span,giant_steps,287.4,0.2340988169798192,88da977bed93c5ee30a20a1a19ccaf17f85a2f00cf5dc5838c25d07d68f123c5,099591f3c0b11a3dbd4dcb59ecf446784496035650126d04093ca2489d37452b +SheetSage1,audio_span,girl_from_ipanema,326.37,0.6647853761013383,28b2782c7f4b0462d2cd0ea97a33c7e9fc974582cb1afcd710780511cc98d242,2dc38945ecfa5db18593d4c69922815c8886f28839a128719813ad423f0524d8 +SheetSage1,audio_span,grandpas_spells,175.36,0.6317726373082634,62f37cad245d65d8efbb2181333092bad16373da412b2eda3b4f66fdc2edc667,e757d11961f1d29381eaf257e97b84b91995d1ca6e6c9f62f6790962dd23c21d +SheetSage1,audio_span,haig_and_haig,271.61,0.22575792640592465,61ff5490e61de9a56c6ce39bc98da3927e2046e0055cf00bab0a07fd615281c2,cc5568931cf427f044ad3b445fb99816a9be911aa3815d44b3104d771c8c29b4 +SheetSage1,audio_span,handful_of_riffs,187.85,0.1546712610459621,fc0fef17f79431d99837f15dfa5a98f6ed368d8b471a534e002a4ef105db9188,0c64e755364ad22f9ac87792695e6d19de03d6e5f9bfada33757c45762ea637a +SheetSage1,audio_span,harlem_congo,195.89,0.17147783525223848,aaf851e76ea6791a030ab0a9e2c46c11f38e0ca5e8b30f77e496590d158c078e,519c039af84821329db7ea62419e513c5dc8d9c6b9704d5519651a8307229fd9 +SheetSage1,audio_span,he_s_funny_that_way,160.706667,0.458539155340791,2b30affdc83b70427267a093d0c659a34b38ecfd6c91e840e50aa229263caadb,b8ed3640751db39087090bfbec764173b1cd39f0c00dcc847a68f47eb00d0e56 +SheetSage1,audio_span,honeysuckle_rose,185.97,0.252002499573936,d3135f10ca6ffca071557afcbd35600b1070575aa3845c61b0d3f7dd905354b8,f62464e974c238e5e56f641f4148122d1cf4be625068c73dc922a1169731fa7c +SheetSage1,audio_span,honky_tonk_train,180.386667,0.48482888704850907,2401fed7c06e476d1b323371aa08dc9579adad5d10da143c2ea83f8936450751,169afc1ff86919c8e922a5afb73c4cf4649e25b3e6ee436fd9ec80e271d69cf6 +SheetSage1,audio_span,hotter_than_that,181.49,0.5442382757255193,26d8b4a026510183274a77de2a96cbe0de2f1021129f8cc2381a411712ffc81c,87d9b1a7da349101798c198723b28dbbb33959b252b0b3395fa5c71aac7f2eac +SheetSage1,audio_span,i_cant_believe_you_are_in_love_with_me,254.68,0.19899481702528626,3fc3d2b6003dc8500c21fa68aba89ee77799fc964d04e5fecfd9e65f1a7c806d,e9334f7378b824d9988cec23dd3c6570fd3c9be42c378da1d261a0739c73ce9f +SheetSage1,audio_span,i_cant_get_started,186.16,0.5956446424152435,739f08e5ea0b43094e7f2b548001bab9979e8e9952a05ea502fb21178ee16d6b,eb2dba9320de0786eb6ae2bf67dac70b08dd53923ed2e719a002bf8126c3c7b2 +SheetSage1,audio_span,i_found_a_new_baby,176.53,0.6793746105477825,1d1a27576f0f9bc38a7c42f732f536d1b2457a7efc8bba7c0788309d66ade094,2aa1756e1ecf287e7583ac02badb2bf6cf5949fe8c8619ccbedaa20d739265d2 +SheetSage1,audio_span,i_got_rhythm,304.84,0.09330611404652431,74ee36586f2f50e1c6e9ae318d9779920226508cc2c4800aa1fc0aec0a77ca4d,db450219b1a1c35d81cb46c6c3f7bf78a0adfb3a065d61efa2389b9f789674fa +SheetSage1,audio_span,i_gotta_right_to_sing_the_blues,183.6,0.23940149625935114,5faa3130557dc60c7b2401c90f4b359166e550ad43273d3454bf281098dd07b7,788f71eb91c12179fdbd91cd65a3e40a833f8328b48ad822d6f9ca913b27b16b +SheetSage1,audio_span,in_a_mellotone,199.266667,0.6284086723205695,48612b9dd9adaae8cc8ad0c0a6432dcfaf03a0386bd1dda55cfd0a78433d6cb7,94ddebe89d8cfce768313a852d9dcba0bff7504b55593a098b9687e4047bebab +SheetSage1,audio_span,in_gloryland,183.64,0.2913308647353517,49635410c59c4a8f45cf0645b6065dc4db7e074a91d910444763463984825ceb,dee0ca499cf56756fce92b1656e04e3d593c0f0b52ec5c50b684fce664d0ed2c +SheetSage1,audio_span,indiana,166.146667,0.2813510574440006,0875b89595cbeedaaec152c795de866dd27572fdc9957dbb6552c8b915ae9b30,c2419135be71cae4ae036bdfd9ea4e57546b75627b7ae978d787f1551c75e591 +SheetSage1,audio_span,isfahan,255.04,0.2834304357958517,da3a77e4f6fef4550ad9e9799c68be365ade7b40a5f2b9b22fab24dadce9d737,5c2a8aa3250cfa2690521c43fe6a481c46e08f8199152d982e69be3384eb2cde +SheetSage1,audio_span,king_porter_stomp,176.666667,0.4723081405096037,69f5e17779dee2e923d13fe343a6ab857c9e4610d438bad870a7214aebe7fa0a,eff7db53441dcb67747663c5a8769234f18f8d33317b3edf2b983119a9257ebd +SheetSage1,audio_span,ko-ko(ellington),163.266667,0.6201919158428093,a610c113841bbd74cda81ed15f7db59cb06fe835f7501e2877373de99911cbe2,9e5e0ce79715108de7d506cf3db7eaf0debe61e03f1d26ed43cb2fdbd2195397 +SheetSage1,audio_span,lady_bird,171.146667,0.3190197504693442,a8b192366945d3d823ae1855a6c7e34b4d1e963bd06f3a65995e6f04d5f72e24,28c16e8814d1b7ee17a00271a8c5d71b53fafbbd9494cc2bd64e9975dd4d7f10 +SheetSage1,audio_span,lester_leaps_in,195.37,0.3185042940203757,c0186d872d2f7646378ee08dd94f99dce3b938ba784cd4023aba694ee017eec1,2dbcd041a6fac4da05d6c432d8c812aa0aabcf08bb5ccc25710e7624463cee46 +SheetSage1,audio_span,livery_stable_blues,190.64,0.6586763391683748,7fdc4d52a621da09ad494fae7c9ab98e70db865e7f086f87b5894fe12da53b5d,a34d7136b0b9e6b669356f27fc01c7cbf1bcf8eb8c8216d48472ca30c6631de0 +SheetSage1,audio_span,lost_your_head_blues,177.2,0.49582392776523704,51da533a9bdc28ebb81c0668f0ff9184f7cca60595f51ffc904ea64a920d37ba,4771be5c1ff801292bebee69802f29018e5fd693c1a1a91bed96844667e6423a +SheetSage1,audio_span,manteca,189.786667,0.481051278292499,24fe003d661a76312dcabaab2d5b3a76cf0528cf94de240f873e948199cc6d80,81599874aabd8bb79556df69e97382a4956d2e345ed0dd48e7742b1ab4c9ac46 +SheetSage1,audio_span,maple_leaf_rag(bechet),179.44,0.41605710240679566,e2186dd2511d1bc5b2495eae588191afb82936e25865c3dc26978b39aae64229,e529d5e7fdd5ab97e26758af42946d3d15acba4a69fa278fb3392c2e5a60c857 +SheetSage1,audio_span,maple_leaf_rag(braxton),220.506667,0.30894021194344545,f20017ad3fa39b9d822493d78c4458ab8ecd78cbdc04d6519202271eb7a15a78,058641d72b08755c9e28ba050723331e301b4a52fcfdfe02b8a535f16141547a +SheetSage1,audio_span,maple_leaf_rag(hyman),149.97,0.7997263430793601,58b64e97844d42eb264abb94321d2a010e0cc831eddbfe9d5947d51ea8810e1f,8f370d29317e2fc5b8039a738b10f920deb8b8d17c4713a8405967c6a4851bb1 +SheetSage1,audio_span,mean_to_me,190.88,0.5791567663148594,10f526cce7ef9acbde49c93b4b243d34dcef8ec03fe0ba65e527871f3fbe3933,1f59cfcb6475d0d792b7ff428856484990ae241bdda7fcc4436e5867600fcda7 +SheetSage1,audio_span,minor_swing,193.816,0.7140586948445952,8069f5d6cbed51691d63005418dc867c47274ddfc2fe74879aae3d567415fe45,a096d95efed41258962b2b882be447c94dd12e1b2199cf2ffe151620e78655ac +SheetSage1,audio_span,misterioso,202.773333,0.42812993067485844,357db50766b891cce08564d3eebf9860625316436bf6811a3538c175f3a81db3,818fdf916e503ba716273fe88ef511eb7cfeb2ebb416792d83153af2731225d1 +SheetSage1,audio_span,moanin,576.8,0.17350048632875892,cf53055b9c0c613fabce4f5f2e85d52d30d7b3da35e09db2bdc9751e3d89985e,635f9344009b0b9a8a7555cb419691fc8e27e0658aa286ffab8dc55c7a048795 +SheetSage1,audio_span,moten_swing,205.88,0.3292658876891979,a9b9874825e3cd44e030089a13d2bfbb42ad3143101dde0a1e998d0fce9959c8,b86599c4dc9fe21c4768df2d43c0202471207897d33d61623d95b2f37f8bf410 +SheetSage1,audio_span,my_favorite_things,165.626667,0.4401195495226047,e154ee322fa38a4ee8991d266ca73c952ee48f9b3ade3e755e8a092c2540fdcc,0e2dfe3d98d2df80e8b4c9bcbaaddae8cd0b23e8316a9dec5c992ad4037c0a31 +SheetSage1,audio_span,new_east_st_louis,180.466667,0.401842219774101,b282acdc561e130e18882640af88442391b540ad68fcd741e16380e030a24b7e,7748628ceb097af39bd77162d3e5ef8a149e670691b8a862a80d4b85529e2259 +SheetSage1,audio_span,night_in_tunisia,256.466667,0.3792507652038617,b90a5b9c7a017546353581295d8ebec231eec5a042db7fe56f1b3617ddec8cc1,9612324225bbdba390c9cc63dec25f1f736f6d1aee25a10b1f3449d29ed235b0 +SheetSage1,audio_span,oh_lady_be_good,191.49,0.39480692410119855,3036dd8e1bcd2eac5c37b819cd35482585f5a3aadabb23faef5622e6138e3d28,f3303d12f042979eee7c32465beece7d55275f4e086bf1a0edcf08ea581e99d7 +SheetSage1,audio_span,one_by_one,383.17,0.29875472537247083,4d614cf861444b617f885e7ccf482dff7043aa1959b0b5fb251040807b308834,40b83dd2131b5f6411994837aa824b5a28969d4860f4808f2853c4e0d16046e8 +SheetSage1,audio_span,one_oclock_jump,185.49,0.43246767358470106,639bf669c52140940affe41d95341c027738c6eda5d394afc55ad10c737100fb,7624883ae46e0ce92d012e97096f860d87c8a952782dfcb81932ec78dc2efeca +SheetSage1,audio_span,organ_grinders_swing,160.666667,0.597863071373728,e3f038bb98d685f71e51ba50fd718a9a3359587cfe8eb59ae74569f38bc6772e,de502cd1af70ee5cd94653500d35af2b40a5e9f4b32706d8ddc54576e3d6ff74 +SheetSage1,audio_span,parkers_mood,185.0,0.41610098176718074,8dea94758dda035cfd1ca037883bcb1ceaa4fadbe750eb58f5f73a22bd1917ce,62676e4c3eddffb76ea17c922583e74f8ec7fed55137291a8e8661896323e4ec +SheetSage1,audio_span,pentup_house,534.09,0.3280717802993439,d667506c48b11df6da377c67e4e8ae0c9a7c60eeb02b4412b866eed04e361a87,a626351af99222d034ef8577ab8541305550077622c00693932f6d2ebed19776 +SheetSage1,audio_span,potato_head_blues,177.33,0.5614391247955791,f5d0a2f0e6a49a8e3295e9b0f01c9b25262985ada2381770d3e21fb823fbd597,0d242428ab00db25f8954b8ff02fb31514b4cac6b5b2075e9e4b92944717611f +SheetSage1,audio_span,riverboat_shuffle,190.8,0.5433176100628928,78d13f328da71fecdb438943de09284fb225fa5c9db4c8522541d2e89254b012,d819657b9cab108a86cd958ba17bce42ad91a8537bb41c8611f71634512174bd +SheetSage1,audio_span,rockin_chair,182.33,0.5472248689852313,d1af24d612d6bd9813db12d4fc927255912282018e926051d4a4692cd9194ab4,3168d4c184fd010ae4e0cb4de99b6fe765acfb3b30e76bf5e1834e728c865dd1 +SheetSage1,audio_span,september_in_the_rain,197.25,0.3555037362870318,03807464fc5649d597d96f2fd450c7c297b302366bada32a1c68895b09922379,b8e9549325208dbf65a1983b3e82341545dd0d93322ffa3dfc79a3969399b316 +SheetSage1,audio_span,shaw_nuff,183.73,0.21969501163091273,41c74d272f2f3dbc314a1f2850b9511c2a9fcaacf06f2747cc61eb3efe8e4e58,95678d0032b2f37d954828412257a68ae1093585d1a729a3fba5b607f2be169b +SheetSage1,audio_span,singin_the_blues,184.546667,0.6766172863905733,300f478458ea4c8627e6129dcebbab8e4b19a43ccc9c4bb0567ddb991a614d6d,bc984c5584214114d2f9739532ccd60bf958e037ccc20f152531104fe43141d7 +SheetSage1,audio_span,st_louis_blues,193.17,0.6136679124399355,f5cb41c577cac23ab653afe045eaef3911ee7e4c1eada5a82ddbae440eb71f77,964c70ab7fcde880f1a43da8de3f0a425d330530953ba0c18b79050f2585440f +SheetSage1,audio_span,st_thomas,408.57,0.2998120053637624,f841f7cba9b24210321abd51a09aae08cd78fc3a6a774ed897d4e1f99dca06e8,513a3dcb6632100a13563a3b01a5504c889a43b188ec7d1cc143303d8003f08a +SheetSage1,audio_span,stompin_at_the_savoy,315.826667,0.2651066879942037,0a6aa9a63da352a4508da69ee09d607fe556a857137f9f1c166a176df8ad9063,e01360d03cbb4202d997cd9d67b2709ba54c8e4d0732d601b2f9cbbe56047d5a +SheetSage1,audio_span,struttin_with_some_barbecue,182.866667,0.45037226675588904,6f27dbbddfc3cda607b6e6cd2cb59681958f873d2d4b60c146d6f209d44b3035,b263e7b21e2c774291499701045af08c248d56a6f266c001231eac3b0af0c678 +SheetSage1,audio_span,subconscious_lee,168.4,0.33503562945368187,0bc283cfcd23ff67ca83501f4213396885932d1dbfb8281ef55e49cba4df12b3,206b6b096b0b8fa2f19c9ac4d2d7b2caa9d4c4efcf1592acacadb83138ab855f +SheetSage1,audio_span,summertime,198.29,0.2774723889253112,9341afc5ac3517cb507cb05bce5afce725dadbe6e756536f40bddb4ad151fb77,2c92d887e7a8da18a45cb2247b663b80024cd212621670d97233e6317751585f +SheetSage1,audio_span,sweethearts_on_parade,200.53,0.6924122784081997,b8cb0d5d706fe44dce309efd0b2ac5dc4bc5c4e4b4a6d73d83a438f3cfcc51bf,2723b0ad9486d52c86398e2851a8e7a00a26bb2297f8e687721000bf46cc90ea +SheetSage1,audio_span,swing_that_music,174.066667,0.7991024991349266,c26eda5854671e1a358a44210bfded899ed15570608c4f97cf1b96eaa61d3cde,e4f4a1f9f3a082bc67303b27ff207920b957d840f6172bb76e436bd285d7b45f +SheetSage1,audio_span,thats_a_serious_thing,212.746667,0.7500469135433103,9db61bb04fd0d164c34b46e4432e984c900d44f08484c3be1071fc9acbd4f6f6,35f16f88879b5d2bd88fbad56350381dd03e8e143d19848693090a59755ac19b +SheetSage1,audio_span,the_golden_bullet,150.04,0.4279192215409222,03e46b0356110106b2d3c88134754d8df7642253fd2b07d044c303917a4aedd7,c89fa896728db386eb65fe9deb9b912a83590b0ff960bc9e0d8453ffa0b850f2 +SheetSage1,audio_span,the_man_i_love,309.426667,0.33267758542560244,67265f2b51922718a550e9d4d01527dc5fa6f76585ea5a1aa2294eb7e86ba505,f7d6ddd771bd0628fb1165bb0cb8f84203dbc2c965868fece4447aca2ae615a1 +SheetSage1,audio_span,the_preacher,259.986667,0.2671071141196205,8b7e44cf4a01f5d0409ccb541eee5de9f0ae1a90f797ab2f5dd5d1ba92cc276a,d4e3173ed74617f2ad4769d4f2b570ccab21b5e6669cc828e20dd74216859cf8 +SheetSage1,audio_span,the_stampede,196.41,0.3738337574215433,c078c0fd972f09eae46fa898049148d0918337d6a18a4efaf7fce023d66f10de,d44ec2249fa6e4d827f687b2ac6a9b768d12d30a98f3c27cbc37e6339c762828 +SheetSage1,audio_span,these_foolish_things,217.29,0.35540428032714616,038d62b4e32ff3dafe831c105d22e861814eabccf965aac443b70b4698d66698,3953078cf6671f2440fd4725a7b7ea7e1c2f3db11117e95a4ebc3a83cf959c73 +SheetSage1,audio_span,tricroism,276.8,0.2936863229391785,730eb4097987374046eb5e451b13ae9ad9ac0918f56e23625bf99ca5bbbedf75,0598f596439519fb7482053184015f28a51289c515889ef392da087d393831de +SheetSage1,audio_span,walkin_shoes,194.65,0.22715728878604882,c13f6cc546b5360dc23cba29020c094f145bd0fb560ba906e68992a0c8ff2117,6319028133296054316828206b6034341f8907a16d65b6f3fe67ba20a2b569ae +SheetSage1,audio_span,watermelon_man,391.706667,0.2338281034503252,5f463343ac9b923fca54fe679b02c4a0a69c128eaf4f89bb5d6f554ee0c2d49b,060a76833addefa32c16f095b4720fc86839d8a0195a12099fc7a3ca831fce7b +SheetSage1,audio_span,weather_bird,164.666667,0.27366152262478705,dd9627e6d29dcdb2cdba66a25a3838a7a3a5aa8a7c843d4e597f7e19a75e171d,250ac43d6ede8d2e116be57bb04ffebc6c7ab1c502be5c9901170cbdca22f853 +SheetSage1,audio_span,west_coast_blues,336.466667,0.2932435116968065,850b36ba3d9cd92ea3097071de00588bfe85a44235943f2b0adc74de46da40fd,f8c77fcc6fdc77297d23138be5a89e318ad555bfb2c8f047483064ca005083ee +SheetSage1,audio_span,west_end_blues,201.29,0.7107484524479464,685a33d52dcd9e776aa472348ea48c988d2bec051d69c8b6bc86124dafed5ead,b8f4d27cc584ae4b17ca004e469033b33e69b63606e2d85747a6e39013939b95 +SheetSage1,audio_span,when_lights_are_low,134.866667,0.32118480535432115,28c96532dfc10edb94464844895158c4817010c178a3ec505278df1d4870f09e,a6291fad2d3f3727f25076c72af669cdd845f40b9d7315980ff4a1f39efa8372 +SheetSage1,audio_span,work_song,309.48,0.15069905333018913,63507cf71bb60f00ceca9b0ed44286213000675dc609ed6a605e77a971f1bd93,35d35ff5a50727175c6190f27898f129196f6b6bc617a3ca1a22bf8b254e6d05 +SheetSage1,audio_span,wrap_your_troubles_in_dreams,153.72,0.43010642652476505,8587ddc13c205d7ec6d168587604050077339a62d52c4a0c9cdb38ce42a2e1fb,09c14bb0bb50177c357aff9e1c4977007b0ed32b50f3a1ec824994a00b6c7693 +SheetSage1,audio_span,wrappin_it_up,161.53,0.4294900081951711,f672e82dedc0b8e9a6ef33b1efeedd5d85fc4592b198c9012805d860eef6200a,f7d724c8f73a8cfeb038c33fdbd5d8889ce8168a1ac4776fb86745f40b9902a0 +SheetSage1,audio_span,you_d_be_so_nice_to_come_home_to,170.906667,0.1984209152001034,dab84388b08cfa57f215c329b7508cc160cc25ad3e7be347afb4fb7e0b9ccc44,0c7bb038d236ca56c5ecd7424a6090572ce8f627bd036b06db2f719224157ee4 +SheetSage1,official_span,airegin,255.59,0.2789355628058727,93349b5e79ce0eaf33f73a92ded6e0dfc85310f6067bd255650da48729ee69a8,6e9f9508bcb79c2028165bcc011b588549ed19345cb8cb0f06574e3baf1298d8 +SheetSage1,official_span,all_alone,142.53,0.42647270632291534,2b12941465726abe8718c7f1dc3335ff9f3aa58480753bbd9ab7d4005f6c5c06,f0745989d240da16b1ee7ba632ada87975c90d96b248f93d5b39988a0cbce926 +SheetSage1,official_span,bags_groove,173.27,0.3529174121313558,e6ffdbdc69e40cfce64ec62c91ebd7cc8dc3e9cd500eb7a775679dd339624e46,2658d12b95849f01846257618bc6f3f8e13eb5999d967246acb8c7f274b760e1 +SheetSage1,official_span,big_butter_and_eggman,180.8,0.5460530065545741,2f94815a5267d20c81c71106a9683a414c879e5f2de635e395c69646d85e4d90,4c7dfea4899be0e34573c3053f59a8513f04f0e5bda47c4d99a3e20ba87c4b29 +SheetSage1,official_span,bikini,218.56,0.5524069648344146,d1f4e174f068f7af3a04889f61b7d8adfcbea006c345f816742b01880d9c21c7,411c7cc6a3c48f029b6f253629f373a7acd49d0e20f9de71ab6ec56851d0b76e +SheetSage1,official_span,black_and_tan_fantasy,190.0,0.6653942661897393,ff86d7fad502298232d0edd6b5634ee2bdc8ef94d0500d08a666869f02242611,bd33b5d182c407c77ae701e7f9a60b5c4f9cf7a09f602512c6b233b758fded49 +SheetSage1,official_span,black_bottom_stomp,196.11,0.618658201969118,7fa06dbaf5c6d36b5da4d83496d8c822f1adadefaa05cb8ec0808a04eb91b4e7,65d3bd286db277736ca232fda43f8eb50b5d63bac2d051b431e382e6328f8b72 +SheetSage1,official_span,black_water_blues,200.71,0.43057147127696677,3577ea6ca80f620e8cea4755e5e600aefe6e38061a7a2996b70f20d3c3d2b950,29d2653eb3b38551051468350eb4a6136c1f58cac178f220a2fe803ed291e7e9 +SheetSage1,official_span,blue_7,674.6,0.38701452712718654,312caca63f814a2c7e5615358081107dddbac77594484752d48e4425a10db720,9f7d3eeba7bb25d4c06857a50fc74f5d288d4e86a838a1cbbd5caf82ea2b74d6 +SheetSage1,official_span,blue_horizon,268.56,0.533884420613643,595b8e60d428477cd97badce8c40ce90e330eeb2151913d70af3271954b34e1b,cf5c2da979e317f070ccc9f325f47a166f4dc9c856da08b024981a55eab8eba4 +SheetSage1,official_span,blue_serge,205.4,0.44246473645137363,8f9453d6a9332a80158404e935cea16f5908941d057645982199aa84135bc3a6,dbbc2eda5d394d6a1e22e6a2201fe91f5124b3645262721bd301b48d823d7854 +SheetSage1,official_span,blues_for_alice,169.06,0.2790039963110977,3f39487f49506a22fee6525acadcd046e88c528db5003ca431af9c4ebccdce2e,fbd093a8996d6c4f8171a4ea062374730ad95322d5d827cfc05354a9bf8a9b42 +SheetSage1,official_span,blues_in_the_closet,545.27,0.23808388504777414,ae432781111d2a7333d89918c089c4af762d65c304cb111d70953263a95d949e,24f301c1fe65dba4474956769e3ab70a8631f474331b31db64b494453d955b2b +SheetSage1,official_span,body_and_soul(goodman),211.03,0.3601540543353807,3b5d780196843b61835a7e33b0aa539fbe06ed6347651cc383f31de2d3ff159e,d35fdad26b131f516188e9f606f801922c161d6a52c3cc7d1b1a0101848e6de6 +SheetSage1,official_span,body_and_soul(hawkins),182.73,0.23342648195493182,7ea19cf85db2aefb64fb54e2e2fb56cbf6e33df783294701f0225279e7731dd6,37b17a85b7cd0b5fb4247c74a9c5cb8502176eeb1f12ce723b4191bc65e31d20 +SheetSage1,official_span,boplicity,182.71,0.23226016360932109,ac50fb6c791685a5c1bfdd25bb5742b1aa70268f50bd6e8f6b2b08e79bd2a54d,3c6505b7bc7b79aa1682f0136518c3daa60d17e95930047587224663c703b3c0 +SheetSage1,official_span,breakfast_feud,140.67,0.5696795646916564,c15953b7a5b8f3d89f3b2d03b90203389cb2476acca5b525328cdb0c53462030,dee9563153caef78804c7d720757a407fb5cd308f7818581dce572320827cfda +SheetSage1,official_span,concerto_for_cootie,199.87,0.34508277035738183,ee1f96e7bb30c211fa722b359c79a9824de03ecab396a6505296396b7c082bbc,d3eb92357d9f128b399a8cd408336fb727994d5908c0fb54e52fb44e16665bbc +SheetSage1,official_span,cotton_tail,191.6,0.23456520552431867,d6fdd701c3e7e9e094d101ea6a6a8b02a9850744d5ebf7e046521a17ab2d1493,a26e0fc29cef46b552d527144035e22c245eadf048dc530ec3040bc73406d0e3 +SheetSage1,official_span,cotton_tail_fitzgerald,220.92,0.1551268124498178,8a1728408e78c754f7b51f254ee66b91e4d4d0b99e44b292cdda5522b1917f66,e445ea39ead3a16fdacc5021e0858e21d4d84acab760376f7d4b327e01a38b7b +SheetSage1,official_span,crazeology,179.96,0.16611469409098845,c7099652a6ea38688b4bba645b0d3ebf30a78db08a71ec69d11ce7b47adcd2e4,d3217328fbcb99231f73aa4fe29518e4b451b8e46cb967f44b060fb20360d2b0 +SheetSage1,official_span,daahoud,245.47,0.295122060671334,0140ad498ab16fd55391bef39e3bfcd00546f09c5aa1c041a2ceeba88a6e719e,4bd09e6669b11ba612d3896f7558c7376fcf56c816d56bf5f5013e1d5f777e28 +SheetSage1,official_span,dead_man_blues,193.87,0.8039665755403105,6b2457d244f6cd8f731591d3b16c47dcdab75f92508987335db8ab54b2595987,b3156f8eb00af2e57d2ce048f6aafaf6e4d1f5c437372c4009274b4202f1a1fb +SheetSage1,official_span,dexter_rides_again,196.73,0.28678701846422916,7561188aeb54d13e1f84ca7959da928e555305d5100a9e9b1a16e321b4942035,c7cade360f7d377ed2fdb49ec7d5589c245ea730a39044e525fd6fd9475c322c +SheetSage1,official_span,diminuendo_and_crescendo_in_blue,360.31,0.5168330336660667,b1d22b763d8a8177086f868b415f7b33da66c0911712af853a6b4abd3a569b15,23d72706a5a1ed9d6d0cb6102540deaa4452b51377976d8b652704f77abd38f2 +SheetSage1,official_span,dinah,155.42,0.7775651600131968,4bd08dfa72677b0bf3c58fd529a49ec7743cf6a345437b589cafb0b64e44add0,e75bcc33071573f434095ac13b7b9cc493abdebb9ccad9fa6deba5ee314e66c4 +SheetSage1,official_span,dinah_fats_waller,189.63,0.6149058058830013,682f2355cbd65e179ee6f33f4225ed919d2a7046cc5b6f5f39ba8cf20ebfb22c,d11cd7e824bef9655c7bdcd66f2cb93c6d4ac54e76a95568739064c7b1b820fe +SheetSage1,official_span,dinah_red_nichols,195.44,0.6739536430618092,a5b9a3634cc538d0a526cfb56502b95981000aaedc9d9cb42bef92ea8cfe3cb5,31409ce2d65e90e018f36a9f311156279fafc7668bd1df3e9fd1fc776c3f7ed2 +SheetSage1,official_span,dippermouth_blues,148.93,0.38356069524271197,053000549cedfbb0c5909b101d8bdfbf20f2ba9b1e8c3497990220e21da1d63d,a027636a936230ce831e34981026bfc623e60ed40cc2e9a69dbc35c7f220b947 +SheetSage1,official_span,django,424.93,0.4859842602584683,d80f793bc591794719802909e7b34aba17dbd81d9c3c56a00be88ac8d2218dae,c8c5ccb11785faad70ebc292cec474c14fb2de36b545d1b57d7383e4d6af1fc0 +SheetSage1,official_span,doggin_around,180.51,0.23898952966594664,9d06d742db0a473ded9ee0b3f171ed4bc748e31abb4df52fe6c7b0524aa22a06,f194935aaa4be653067f12a7b570de2a5e7780fba240c5b65a877955210abc31 +SheetSage1,official_span,east_st_louis,219.03,0.5951209630744299,da0a2ec7a4e4b4c47d44924f396af04086724cdc4e88312c88a8d8d711fdaa36,6f80c4c73687ac8dca5d18379266a32515b4cbc56757b49cd308807234a5c4d8 +SheetSage1,official_span,embraceable_you,227.96,0.35810975907735915,62cc95b3d2a5a441b32124a0cb9e9fb5ebcfe1c41cf75f6c0b8baee936dbeae1,2644b9757815a5c22dec84054f3c1164ca63aa5e0a9161bfc492a94d4b738898 +SheetSage1,official_span,everybody_loves_my_baby,144.28,0.47274757484821006,b4c1ee0b96e3f9c7ea2efe8fb601ca23ddd21ea02aec3b4985536bcba50efadd,f3dd3b48280371984b1f3e062d8f57c1062fc4cbbe4d315b9c161f8d2551e0d1 +SheetSage1,official_span,evidence,154.73,0.11691419722671918,9ea2ddef5aee47308dd413d8fe6f4da24d1884103ae6a32253fde863fa567817,9f2d9bb54012533c224bde41b18ee8da60e1c1a0ca7821ce248d1cc53019cd8f +SheetSage1,official_span,for_dancers_only,161.49,0.3664626855173393,0818b881ab891c75ca3106207a214b1bd0b04924de2c761fe90dcaf2a5d4236c,dec4ef1bde083fd339552ab8b95af7948dea004423a32d380e07be47ca2feb03 +SheetSage1,official_span,four_brothers,198.52,0.21386249872305652,5951d65fd70d137ad4e02e9af573946d3a10c931f9465e48bf3c89d13feff521,054ceaa72b00ccd1399b2f18e031087d9d9071c977986a43879ed4dc65a5388d +SheetSage1,official_span,four_or_five_times,194.43,0.2573079537729437,e6bbbb8593f0afc93081c626e4b68d2e3a8d06e8c2ea35ffd0927c04b19469c6,785fa02f085ec6b1a8f9b4fb698a83ebf37796130721bdcc981a9f9cbe89f1b4 +SheetSage1,official_span,from_monday_on,183.13,0.8195124795894566,7f86cdc2cb0ec57b51ec4b26ad6d205a383cc9640836768c871040a7208a5277,c67191141121a2288f875f5e6d90f0b0e5368cc680c2928c1caed8073eca6a09 +SheetSage1,official_span,giant_steps,287.4,0.2340988169798192,88da977bed93c5ee30a20a1a19ccaf17f85a2f00cf5dc5838c25d07d68f123c5,fedd1d28c455f6817280f9348f550ec71fda71b53b174eaf1f10f9a5d62192bf +SheetSage1,official_span,girl_from_ipanema,326.37,0.6647853761013383,28b2782c7f4b0462d2cd0ea97a33c7e9fc974582cb1afcd710780511cc98d242,70743e10904c0b76b3d711a63a0dc964cf6267015573d79145f20792124b7dd1 +SheetSage1,official_span,grandpas_spells,175.36,0.6317726373082634,62f37cad245d65d8efbb2181333092bad16373da412b2eda3b4f66fdc2edc667,b6fca9badd94819b751ca58847a6e8e0ce7dee50dfb2af60a07403d44bfa3404 +SheetSage1,official_span,haig_and_haig,271.61,0.22575792640592465,61ff5490e61de9a56c6ce39bc98da3927e2046e0055cf00bab0a07fd615281c2,a7517198f19d66c2f1c01d8058455facd0be4bf997596d5cffe27dee11ebdd12 +SheetSage1,official_span,handful_of_riffs,187.85,0.1546712610459621,fc0fef17f79431d99837f15dfa5a98f6ed368d8b471a534e002a4ef105db9188,6a748b63282b38494b8fa31f47cadf060db297db1f804ebf467b08d4aaf2bf4c +SheetSage1,official_span,harlem_congo,195.89,0.17147783525223848,aaf851e76ea6791a030ab0a9e2c46c11f38e0ca5e8b30f77e496590d158c078e,0ddc9ccbb5a8a6689b646a9d5c85ae10c54a6e1c498d5e6b7ec643d025efdc13 +SheetSage1,official_span,he_s_funny_that_way,160.71,0.4585527305551376,2b30affdc83b70427267a093d0c659a34b38ecfd6c91e840e50aa229263caadb,9c17961a687c592204c03a764445c1b4ba0660bc374ecfa90e224e45b373cf37 +SheetSage1,official_span,honeysuckle_rose,185.97,0.252002499573936,d3135f10ca6ffca071557afcbd35600b1070575aa3845c61b0d3f7dd905354b8,5be142a6a9207ea83eb55d5dbdade7f55ddf2f659db93c5152dad9a2b02ac6ef +SheetSage1,official_span,honky_tonk_train,180.39,0.4848384056765897,2401fed7c06e476d1b323371aa08dc9579adad5d10da143c2ea83f8936450751,664952e9fc0749427bac64808b762356ea5f6c62b74de2ee72bc496b3fc5b63b +SheetSage1,official_span,hotter_than_that,181.49,0.5442382757255193,26d8b4a026510183274a77de2a96cbe0de2f1021129f8cc2381a411712ffc81c,569193855f2204cf216a9a7bc3a48d762d5400fab16de99505bb21e2aec6efb7 +SheetSage1,official_span,i_cant_believe_you_are_in_love_with_me,254.68,0.19899481702528626,3fc3d2b6003dc8500c21fa68aba89ee77799fc964d04e5fecfd9e65f1a7c806d,e4ceaa73a7f1bb91c43270cdd5d7ae3686554b3632e7cda1afd88101a916640e +SheetSage1,official_span,i_cant_get_started,186.16,0.5956446424152435,739f08e5ea0b43094e7f2b548001bab9979e8e9952a05ea502fb21178ee16d6b,a7de658f791712f83426f4b49064a139fcc003a5aa8f4fc54557337c5ae49030 +SheetSage1,official_span,i_found_a_new_baby,176.53,0.6793746105477825,1d1a27576f0f9bc38a7c42f732f536d1b2457a7efc8bba7c0788309d66ade094,4665ce812c74c8acfc4bddc44dc00a4afcbf1d7c6705a2bd99253061026e9261 +SheetSage1,official_span,i_got_rhythm,304.84,0.09330611404652431,74ee36586f2f50e1c6e9ae318d9779920226508cc2c4800aa1fc0aec0a77ca4d,be0c231dca93aa246e2e231af2cae607d971c735b90e503ab35fbfd417a3e244 +SheetSage1,official_span,i_gotta_right_to_sing_the_blues,183.6,0.23940149625935114,5faa3130557dc60c7b2401c90f4b359166e550ad43273d3454bf281098dd07b7,c634fc5dc1b22338ccf1bfe211f6bdfa48ec794164d9125d5a7b79cff0f8b1c8 +SheetSage1,official_span,in_a_mellotone,199.27,0.6284151997470223,48612b9dd9adaae8cc8ad0c0a6432dcfaf03a0386bd1dda55cfd0a78433d6cb7,d67cacf9cc23fc7a8021072eb6834f6a536f98a39936baa432eac3bfcafc6d1f +SheetSage1,official_span,in_gloryland,183.64,0.2913308647353517,49635410c59c4a8f45cf0645b6065dc4db7e074a91d910444763463984825ceb,1e41262bf11bf79dd4189937016daa85c16dd4015b2a0f30e7220c0b603f72bd +SheetSage1,official_span,indiana,166.15,0.2813681432341821,0875b89595cbeedaaec152c795de866dd27572fdc9957dbb6552c8b915ae9b30,f214fde3796f6c7389a11e7fba64ee5b2a347d3879ac429ec244bac692cf1e7b +SheetSage1,official_span,isfahan,255.04,0.2834304357958517,da3a77e4f6fef4550ad9e9799c68be365ade7b40a5f2b9b22fab24dadce9d737,4a51bff8a42d705272a3eaaa9d322bb7f47c95b4992f3c80ad065b295313d6f3 +SheetSage1,official_span,king_porter_stomp,176.67,0.4723190932868342,69f5e17779dee2e923d13fe343a6ab857c9e4610d438bad870a7214aebe7fa0a,66194287a26776cede0b3dd5b30d09e4c2f22880bd7139f11cba060f9504f7ba +SheetSage1,official_span,ko-ko(ellington),163.27,0.6201996692595088,a610c113841bbd74cda81ed15f7db59cb06fe835f7501e2877373de99911cbe2,689c4bd626680feb97ac4ace2b45bc72c3e667337386fa1329dfcbaf0a1f9f08 +SheetSage1,official_span,lady_bird,173.99,0.3301482843841597,a8b192366945d3d823ae1855a6c7e34b4d1e963bd06f3a65995e6f04d5f72e24,77edb4ecbb10c5bbef15b9aa062c6bdf3c5426813aac2f965bd6a0ee80e643ff +SheetSage1,official_span,lester_leaps_in,195.37,0.3185042940203757,c0186d872d2f7646378ee08dd94f99dce3b938ba784cd4023aba694ee017eec1,35d4e4e590d909527d2ffccc468f9a1902b5f68da319a51ec6d10d5a217523b0 +SheetSage1,official_span,livery_stable_blues,190.64,0.6586763391683748,7fdc4d52a621da09ad494fae7c9ab98e70db865e7f086f87b5894fe12da53b5d,ad24a02714a12d783da4a8d6089bb6390491ce9bd2b24e192fa7357421b121f9 +SheetSage1,official_span,lost_your_head_blues,177.2,0.49582392776523704,51da533a9bdc28ebb81c0668f0ff9184f7cca60595f51ffc904ea64a920d37ba,e0aee8ff1030be47e96b09ca3378fb76ece3fc62d338139c4fe80db8f3d5ebe2 +SheetSage1,official_span,manteca,189.79,0.48106081490875,24fe003d661a76312dcabaab2d5b3a76cf0528cf94de240f873e948199cc6d80,e98b2b35c18ad8e4e8cc12f7d53f02cc472cdf02e76e2d658521d4b45b269fd9 +SheetSage1,official_span,maple_leaf_rag(bechet),179.44,0.41605710240679566,e2186dd2511d1bc5b2495eae588191afb82936e25865c3dc26978b39aae64229,0ae90043cda7fce87cd95a733cbebc3f2dd3880882c4fb55792ac9d67e9cb299 +SheetSage1,official_span,maple_leaf_rag(braxton),220.51,0.3089513325608344,f20017ad3fa39b9d822493d78c4458ab8ecd78cbdc04d6519202271eb7a15a78,75af84364507765458154750bd9f2bd8e71f7604fac6666cec34ecb6f743aef2 +SheetSage1,official_span,maple_leaf_rag(hyman),149.97,0.7997263430793601,58b64e97844d42eb264abb94321d2a010e0cc831eddbfe9d5947d51ea8810e1f,7b72dfae8f77bdcc936ac095d33507dc37f71488f5bf976f549965ecb65abbe5 +SheetSage1,official_span,mean_to_me,190.88,0.5791567663148594,10f526cce7ef9acbde49c93b4b243d34dcef8ec03fe0ba65e527871f3fbe3933,70c96a6662b59447171529dc48f3fc05d5c3ee0837d7d941d00eaf5dbcfe16e4 +SheetSage1,official_span,minor_swing,193.816,0.7140586948445952,8069f5d6cbed51691d63005418dc867c47274ddfc2fe74879aae3d567415fe45,4dd44fc15830ee98db1df7fd2ab08eca7325bc9847d20a6dd92b325b57cdb652 +SheetSage1,official_span,misterioso,204.55,0.4330970422879491,357db50766b891cce08564d3eebf9860625316436bf6811a3538c175f3a81db3,90461595d8d36309f3fbc6285b33ebb41cde9318dc5c6a67d5dcf20e11d8ca05 +SheetSage1,official_span,moanin,576.8,0.17350048632875892,cf53055b9c0c613fabce4f5f2e85d52d30d7b3da35e09db2bdc9751e3d89985e,a381ad9d877d58534f5ef1fefeebbe94b0d457162f4ba5067a4c38b000b471fd +SheetSage1,official_span,moten_swing,205.88,0.3292658876891979,a9b9874825e3cd44e030089a13d2bfbb42ad3143101dde0a1e998d0fce9959c8,0d0338d509e7ef1bdb8b1775820395aae832565b1517d97ccb30b3b7152feb18 +SheetSage1,official_span,my_favorite_things,165.63,0.4401354459493995,e154ee322fa38a4ee8991d266ca73c952ee48f9b3ade3e755e8a092c2540fdcc,62240e4089133e93de6eb3f331a0c9a4d68548c0c6c70c1ee9c5d457fd79ee58 +SheetSage1,official_span,new_east_st_louis,180.47,0.4018582575818517,b282acdc561e130e18882640af88442391b540ad68fcd741e16380e030a24b7e,ef2bf1ac5f9d1598fb9ee13dc016a48f458ef1fa0a8eb0fdfd43959d6664808a +SheetSage1,official_span,night_in_tunisia,256.47,0.3792597583239157,b90a5b9c7a017546353581295d8ebec231eec5a042db7fe56f1b3617ddec8cc1,0a295ae2a1d3599569ddc2eaf01199243a818bf55d93ebed03edf475a8f0585e +SheetSage1,official_span,oh_lady_be_good,191.49,0.39480692410119855,3036dd8e1bcd2eac5c37b819cd35482585f5a3aadabb23faef5622e6138e3d28,f9bd28b24dcb548664fce2e998ef8b57e8e7285584211bb02009a9dafbc9a7f8 +SheetSage1,official_span,one_by_one,383.17,0.29875472537247083,4d614cf861444b617f885e7ccf482dff7043aa1959b0b5fb251040807b308834,acdf7d904f2ee8e64d83ff46ae9326999692f6aacec6d99c08877061dd3ef776 +SheetSage1,official_span,one_oclock_jump,185.49,0.43246767358470106,639bf669c52140940affe41d95341c027738c6eda5d394afc55ad10c737100fb,978dfc2d3275c0ffac3b35376a9cb2d7dadbc023a0bb8c8987ae701955186dc6 +SheetSage1,official_span,organ_grinders_swing,160.67,0.5978714134561522,e3f038bb98d685f71e51ba50fd718a9a3359587cfe8eb59ae74569f38bc6772e,41b9552f2260aa4bda93c71e439fdf74b67460be08b965e75703d22e3cc1424f +SheetSage1,official_span,parkers_mood,185.0,0.41610098176718074,8dea94758dda035cfd1ca037883bcb1ceaa4fadbe750eb58f5f73a22bd1917ce,17babc6d78f2cd590504160f27af4540ad628c339625f0818a20813bc60e6c06 +SheetSage1,official_span,pentup_house,534.09,0.3280717802993439,d667506c48b11df6da377c67e4e8ae0c9a7c60eeb02b4412b866eed04e361a87,9e4c19e4582a91e7301a2e3b69f3a4ba7c69adfa391bc17f7363adbda0cd148d +SheetSage1,official_span,potato_head_blues,177.33,0.5614391247955791,f5d0a2f0e6a49a8e3295e9b0f01c9b25262985ada2381770d3e21fb823fbd597,6d4968c2703ad6ff9f221d3ea594c5b1280fcb4fb1fecde3df24242ee3a4f22c +SheetSage1,official_span,riverboat_shuffle,190.8,0.5433176100628928,78d13f328da71fecdb438943de09284fb225fa5c9db4c8522541d2e89254b012,bb91df1b62b29268c0a392d8cd35d4df18396abdbd6ec74bfec4c330d7cbe917 +SheetSage1,official_span,rockin_chair,182.33,0.5472248689852313,d1af24d612d6bd9813db12d4fc927255912282018e926051d4a4692cd9194ab4,205bf60ec25b189688a90e61fd07a0214d2f4c2131f3640d8838230cecc5c528 +SheetSage1,official_span,september_in_the_rain,197.25,0.3555037362870318,03807464fc5649d597d96f2fd450c7c297b302366bada32a1c68895b09922379,5a5788ce64a21907f23129abb9f1c51de67c48dddd86a220c262a6e86272e2ee +SheetSage1,official_span,shaw_nuff,183.73,0.21969501163091273,41c74d272f2f3dbc314a1f2850b9511c2a9fcaacf06f2747cc61eb3efe8e4e58,abb51e939462fbf676233bf8e0891a3048106078374ecc62401f1933f11af8eb +SheetSage1,official_span,singin_the_blues,184.55,0.67662330411479,300f478458ea4c8627e6129dcebbab8e4b19a43ccc9c4bb0567ddb991a614d6d,11e51083e258557d3b8a8b915331cf9732fd05e6cce8ee18fe9e80eb11257ec5 +SheetSage1,official_span,st_louis_blues,193.17,0.6136679124399355,f5cb41c577cac23ab653afe045eaef3911ee7e4c1eada5a82ddbae440eb71f77,8582574570aca4713e97470c1f0d295f5b76aa8d31bef1703f1a101028d99614 +SheetSage1,official_span,st_thomas,408.57,0.2998120053637624,f841f7cba9b24210321abd51a09aae08cd78fc3a6a774ed897d4e1f99dca06e8,afc1310ffc6a980a13a8c44c66baabb1a70ef0d02565624e02c1284cf411b226 +SheetSage1,official_span,stompin_at_the_savoy,315.83,0.26511529808773904,0a6aa9a63da352a4508da69ee09d607fe556a857137f9f1c166a176df8ad9063,1f22185464d5033ac1ec65e168eb7c0266c5831bcf37a35791e8b078a025f480 +SheetSage1,official_span,struttin_with_some_barbecue,182.87,0.4503824197749818,6f27dbbddfc3cda607b6e6cd2cb59681958f873d2d4b60c146d6f209d44b3035,ff117b2c339352231d5a835593f6571866f1b7821e525effd69ef0096c95f1d1 +SheetSage1,official_span,subconscious_lee,168.4,0.33503562945368187,0bc283cfcd23ff67ca83501f4213396885932d1dbfb8281ef55e49cba4df12b3,5de92be2c7967b2ebcac05fcd169b95b69a9bbc97559c100ee485f3507dc4016 +SheetSage1,official_span,summertime,198.29,0.2774723889253112,9341afc5ac3517cb507cb05bce5afce725dadbe6e756536f40bddb4ad151fb77,d361d2219650fd6e503304554497d78735f70a6933d817f3b9f1f5bc460abb0e +SheetSage1,official_span,sweethearts_on_parade,200.53,0.6924122784081997,b8cb0d5d706fe44dce309efd0b2ac5dc4bc5c4e4b4a6d73d83a438f3cfcc51bf,a42a100a9d9fb363830b2e5846c819314eb696208fc5faf64f6d592ace89d755 +SheetSage1,official_span,swing_that_music,174.07,0.799106596499817,c26eda5854671e1a358a44210bfded899ed15570608c4f97cf1b96eaa61d3cde,5d1c043d11a6da68f3e8bbc61c70b70259f6a9316d2de00c21bdfabf07024a82 +SheetSage1,official_span,thats_a_serious_thing,212.75,0.7500511770726713,9db61bb04fd0d164c34b46e4432e984c900d44f08484c3be1071fc9acbd4f6f6,3dedee28c4041fbeaeeeb9b05da5293a434c2f21290ccd0c372d02b0d781abcc +SheetSage1,official_span,the_golden_bullet,150.04,0.4279192215409222,03e46b0356110106b2d3c88134754d8df7642253fd2b07d044c303917a4aedd7,939abe7ab5c142008ab747dd11b75a7a0739c7f16dad790ef0bf76064cc09fc8 +SheetSage1,official_span,the_man_i_love,309.43,0.33268548100816464,67265f2b51922718a550e9d4d01527dc5fa6f76585ea5a1aa2294eb7e86ba505,2b91ba86fcdf9cd55702b02820776edda77c38b092ff6d9a73edd58f3f267047 +SheetSage1,official_span,the_preacher,259.99,0.26711711711711694,8b7e44cf4a01f5d0409ccb541eee5de9f0ae1a90f797ab2f5dd5d1ba92cc276a,76fbdf8bdf44ed1d21443a95b396b09e38ace69061df1d5f10860952cec4a171 +SheetSage1,official_span,the_stampede,196.41,0.3738337574215433,c078c0fd972f09eae46fa898049148d0918337d6a18a4efaf7fce023d66f10de,93d8531f10d004492139a066630a650867505871ef106dd84f6d645ebfd00cbd +SheetSage1,official_span,these_foolish_things,217.29,0.35540428032714616,038d62b4e32ff3dafe831c105d22e861814eabccf965aac443b70b4698d66698,17ded81b42ef27106ea93dc8ca07cc02b494cc8420d95ed1f5c4d1bc26ba813c +SheetSage1,official_span,tricroism,276.8,0.2936863229391785,730eb4097987374046eb5e451b13ae9ad9ac0918f56e23625bf99ca5bbbedf75,5c1bbe6a44967e0be3daf05ced504f4448cb6146da73101790b4076121f3e94b +SheetSage1,official_span,walkin_shoes,194.65,0.22715728878604882,c13f6cc546b5360dc23cba29020c094f145bd0fb560ba906e68992a0c8ff2117,c18115282296f4c464b7c713374569fa09c5b53f81eaae19e3d0817a8d71d510 +SheetSage1,official_span,watermelon_man,391.71,0.2338347030547372,5f463343ac9b923fca54fe679b02c4a0a69c128eaf4f89bb5d6f554ee0c2d49b,e14e211f1d26a3efb176f327065672307d26c7805d97e777b22da8639855cccf +SheetSage1,official_span,weather_bird,165.67,0.27839065541855934,dd9627e6d29dcdb2cdba66a25a3838a7a3a5aa8a7c843d4e597f7e19a75e171d,a5142148f560e77cf145fe03d3d606b694c62fcfecab862944d3c1a7f38736be +SheetSage1,official_span,west_coast_blues,336.47,0.2932505126757216,850b36ba3d9cd92ea3097071de00588bfe85a44235943f2b0adc74de46da40fd,f2463af772d1325147bd48372b2bfabd907c59e7c9ccc169c19e244d426b5a0e +SheetSage1,official_span,west_end_blues,201.29,0.7107484524479464,685a33d52dcd9e776aa472348ea48c988d2bec051d69c8b6bc86124dafed5ead,b5372651f21f04817ccc51b275c57d435f6a13055154fda6d54e13e32e136bb8 +SheetSage1,official_span,when_lights_are_low,136.29,0.3285692448792418,28c96532dfc10edb94464844895158c4817010c178a3ec505278df1d4870f09e,9c9a72c8762564f65c25f23327b41f6ab9442b97195e7678315b71d2ae95be9c +SheetSage1,official_span,work_song,309.48,0.15069905333018913,63507cf71bb60f00ceca9b0ed44286213000675dc609ed6a605e77a971f1bd93,554f51026486158265d23b591f3a8d621d4f46d98a61d40db4b349b095c38e0d +SheetSage1,official_span,wrap_your_troubles_in_dreams,153.72,0.43010642652476505,8587ddc13c205d7ec6d168587604050077339a62d52c4a0c9cdb38ce42a2e1fb,61b0f075b57a1c8cced17618ff9d00e2d79783f94c91f464038935d9b7a00f52 +SheetSage1,official_span,wrappin_it_up,161.53,0.4294900081951711,f672e82dedc0b8e9a6ef33b1efeedd5d85fc4592b198c9012805d860eef6200a,dc3bf9685a7b9e7a143fe8affbac7f338d88721b9c15d7523d966a27426698e6 +SheetSage1,official_span,you_d_be_so_nice_to_come_home_to,170.91,0.19844020797227005,dab84388b08cfa57f215c329b7508cc160cc25ad3e7be347afb4fb7e0b9ccc44,12b328ee1f52428c157b96552925b5b616b9e31b330749de1c937cd46a7bc57c +madmom,audio_span,airegin,255.586667,0.6366182253203305,5cbe407268aab86e4115ee2031ad5abd9eb10addd6633f25106c0305565ea146,c8a656375047afb08f7c8d361d0b85d4d0c34b7364561e72fc6737c1af43d1b7 +madmom,audio_span,all_alone,142.53,0.4718421431657783,873bb8647fdeddec71121239b3c4828f53e1f9119c32d84522ce4daa41f19c05,868d8dbfe94ce787a2b70a793a29106c46461941d90ab58ef8f594d33b7f4493 +madmom,audio_span,bags_groove,173.266667,0.45482878134892535,c569f7178bf3f6ebc125da331fd9f5de978e54777f259a7a2e3babe22b8d8449,dc363142545c49a43fc8f11799c2ab67e0e4392bbcc564dfcc9474a4c466fb3a +madmom,audio_span,big_butter_and_eggman,180.8,0.7809632373895692,774679bbcf1fb206a318927fec0a63d3720cb7e55fda7e196b507b678a823aa3,a7b45334be6781265f687f3d19c0e704bde00c83f79bf58da36d809bf2a7b16c +madmom,audio_span,bikini,218.56,0.37540847680827216,ac92bd16ae9c1d086d47041baf1e4e23041eef583425c611b371b5d8454a7e6b,ccdb2920a9be7797ff1cba26c04c5ca43b8ccb2afcdb4cbb44bd0d54379d0a58 +madmom,audio_span,black_and_tan_fantasy,190.0,0.720943889808339,97fca3cdc5a4387c569645b98daf22015d8b80720e94fa2b592e1ef89bdfb419,8e7ac57decd4ce5281a760cb5d1941437d32c92e745bdf50ce0a4b768d1d1945 +madmom,audio_span,black_bottom_stomp,196.106667,0.7199605456959105,19ff0414f9c0f4924041381887ad21593e4cd6bcd51386b1de6ce14191ed9cdf,018baedddcfcc3aa4df06eec222fefb91956a4e37137ea40dad532426c1d160d +madmom,audio_span,black_water_blues,200.706667,0.6276655822300117,2fec1302bcb590e0c2606997a507b2eadfee0ae25c9d1f83b15ade44c59976db,c4607e7f9e768f8848933f6e101760f2f0a0aaf8555d1e48a7f0048f2253ab4b +madmom,audio_span,blue_7,674.6,0.4534094278090719,7d39418f7a8795f029fe84d5ff1cd39ad66a75409c08c65c8a26616f19967e72,542911d5aebe08a80fa44e5d52a1d3de9345ee7ac5886b1ea5b4044448931da9 +madmom,audio_span,blue_horizon,268.56,0.717195412570748,7d47c0625a737fc9cf169cc1e419a298a30ec3dc4bdb58348b389f6b9b8acde8,b7f3a09f0d185200489dc4764c2d06241a070a5e9512258afd57ffc6666e0045 +madmom,audio_span,blue_serge,205.4,0.52304785044206,50d72b6a88d88143a301018620e46bc33bc0293f0000540e41d0eab14a8dcc44,fb5a8a87ad5c56cd02ea6d1ba9ab08c5e9462f1ac2d8508a43c076a9b8bc4737 +madmom,audio_span,blues_for_alice,169.06,0.02065785428834922,9c9793889c382b5cf7091fb0c81498292c67a53c6a0ee30c77e84761a0ea8b43,db849ba057f87b5fedb08f86997d675c73086a5b47f6425e507fa49b06249373 +madmom,audio_span,blues_in_the_closet,545.266667,0.4589436364720957,c0843f663983905fe37fcdb37f2cc14d7bd8ea9af5a69d68b2f6ddc628dc8c3f,6ba19bbe54bcc1fbf8fa0c6b55a8d9d7e14f762caca54947204e794ac16833ef +madmom,audio_span,body_and_soul(goodman),211.026667,0.5939869197377093,79238a977788e5a742d3e79ce2c075a58fbfeec2d1f451d5ace5a23cf744a535,d0304ce18498bf4757b0055943fb6b092fefe1d6c61426de8f083a6cbf2ff4de +madmom,audio_span,body_and_soul(hawkins),182.73,0.346881503062013,eac11e0499050ef24b41ef8e4fb98b4efe5e8c107732332470b243776d3974e4,1beaa6abd9b20833b14ef81c0d2dadece55d18527bdab4ee46c6ea2dd44b7381 +madmom,audio_span,boplicity,180.733333,0.3713269881236582,d17dc6915c12e32259d9fb485049714e836551ca46e83d527125fc1af1feea61,a61602dcb7c4b975bc799f7973bebcde27b29103a235621fcb39d156711e374b +madmom,audio_span,breakfast_feud,140.666667,0.570348911524502,697424648d91be9aba2890e01bedf9e98433b1412e337d4aaeb19410be7904d9,dee77a6100afbe06fdaa884cf264d307d8737f1bab1b26119a992441b6e8bc7b +madmom,audio_span,concerto_for_cootie,199.866667,0.548287836848849,d7e8d447d7abb32a6be6d0620f0c54d91c246e8f22b405d1cbc01e73acd8f2c0,0ad1e0273d4d3a5023986560d4c1de8b39610408f2e620546ea5f1045b8cb4b3 +madmom,audio_span,cotton_tail,191.6,0.28642393143730505,a1efe62c395d94d9b1e1faaacf00d752cd986b2117a50c6dd5431b9c278d421b,d3debbc63125574503c2186317bcd2405d238af37e2b5778b6e4dc35dad00063 +madmom,audio_span,cotton_tail_fitzgerald,220.92,0.34940726396826094,c016303a72f1ecf1658e58332366943c76e7c5e858e3629bf849035920f5a47f,dbae0a685c3b8fbd5058ee0215987f4554c20ac463ce3985e612e0a62fcd8fb3 +madmom,audio_span,crazeology,179.96,0.23862645982220637,6a5a11d93d235cac2961cfde08ffe5115f99a7f74d80cf901fe75658ae340828,04bc22aa4b49aff127cc9d7b0e9e6e430bbd5f88e7fe067e6d97ce53928f1fd6 +madmom,audio_span,daahoud,245.466667,0.3943546104106826,ac07eaf915c5b70292870d606af7f4d13d5b3c645497e7ed1e8f48cb7cc07183,933cce2ac1e29e526d3981710861f5685a73599a3a2f44119a4cb543b5d3bfeb +madmom,audio_span,dead_man_blues,193.866667,0.8706843193420143,26dc87b65c08fc1f41a6a8f143dc1b0a69106ee654f1b9f0d34fab215c8717f8,a1a6e2cce8cd9a5c6a227e83c128385ec8935618c7a3f7812a0844535eb95c3e +madmom,audio_span,dexter_rides_again,196.73,0.452347888700303,05309941210903d9a74500d62049252371498309b00630d4ff26a369270e8135,662ba9f584d31cf8e09096c0e67add5ac1c7e7182c2d732de84a7ea480fa703b +madmom,audio_span,diminuendo_and_crescendo_in_blue,360.306667,0.6592437976922866,3109323d7ed57e07dd1d7c90b489ec8ecf29ef947854e54edbbd0afd9802aea7,7e409e8b57e5d0c0ce6ca5f36803edadccb1aa48fa420fabf7c42eb50ffc9aed +madmom,audio_span,dinah,155.42,0.7602111514351696,95047c5dd78d9056f89af32e237e97ca63b957bbc84c34448cc838770459b668,d91dc2291e0e33694145c537bf389230f634aba6285e4643f98c4677339788e3 +madmom,audio_span,dinah_fats_waller,189.626667,0.6686068936145012,442405bcac0bb1e3557b2fe4086858067387cd1d80b1738e4e56814a1aad5778,7a23d9f282638ee88fdafbc724838faae0ba667e265ef0f59d09205b3eca2705 +madmom,audio_span,dinah_red_nichols,195.44,0.7109598853868195,5b0116b72fa52db917d28914b106ee20f52967e9b05f88dd53487687148746bc,c214876c9da3479fbc14b670d1fcbb95faafeaf3b600431f82cd91127092b08a +madmom,audio_span,dippermouth_blues,148.93,0.4923481753341181,1bc1895d80d93481136e625fe586d25a31985306a3b3580d051a5cf4530da681,d9d1c4ac07af216dfdea1847b3c599d7d42633eb6bac11446838acf89705180b +madmom,audio_span,django,424.93,0.6149290658805571,527e3a1d0a94f334cd9d906fa6f8d9c433fa4d76cb04923699a985dd9d672f68,6c167a2717a0bc49f8f4a8c1679215f7ec3e5df3d59f684f21f835de55d744ef +madmom,audio_span,doggin_around,180.506667,0.4537043886583976,2ae9d6e30ef30281f63efbc80b7883028047fde6b266b559a93d39396924b8bf,558b9b3fd7f789d5e8da265584c69f21f81b66835792c130f962df2fdec6b73e +madmom,audio_span,east_st_louis,219.026667,0.6812648319000156,fa10c14b06211bedf0c2b9dcef69b38e51a52dbdc025a89e15d6d10e97d9a158,b193885028f290b7f50af59b2953901d34c6eb64c17c7b74f1f79ae029454d36 +madmom,audio_span,embraceable_you,227.96,0.47681180667546275,420e6954e5b834cf34e7df6fd18a72d7b433fb949db88db34731de3fdbab2eeb,a63edab2ead8175078663067a0f199753335878c31d2f18db23c14dab1f0c8d8 +madmom,audio_span,everybody_loves_my_baby,144.28,0.40009770395701055,3d4ad813dea033f2d009bb57fe8e2682e244171e07a0829676814048e7eb5450,a3f41a7dab67c3f25eb2e246652212d9bc824a3a1f9f398b2af0c1a1e91fd5e1 +madmom,audio_span,evidence,154.73,0.1968747800380095,0a54c8ce210f31b8d99f2902506ca2dd8d26e22106c207dfc50d00911674a1d1,28df2ee4cda16fd1405edb75a19617eb932d296d46956452a511b67b472e04ad +madmom,audio_span,for_dancers_only,161.49,0.5882394316663149,fb849ae488a848467ec17d5843c36a49f32c0ea722333a30d3a0504303e8fb7a,8d5f849ee70daa2b40707cb29ca844f2a693f1f6b3dd22b230e7981604fdbad4 +madmom,audio_span,four_brothers,198.52,0.3723567269384,3247d2a51e4a8e6ed33eaaa1e992825b32d966d2b421eb2f6ad43eb5b103121d,909752e4848a495f94565651ad32947cc2fa135495dfdd433c2110b37aaf0df5 +madmom,audio_span,four_or_five_times,194.426667,0.5646869992169075,e2108a451d173e892fcdb7ffc6d9e684393a8ae1905ea93b6ee5b781a5f05902,a7bb80fc755c8bfcacf772fcaf32bb40d1824593ed972f5ea41d8eb5d4b196fb +madmom,audio_span,from_monday_on,183.13,0.7176930254257048,6795e7e2b83557c70bfb8aad8b7b17e09729190e2978590426a4e7b01af900bc,44e695731cdc226ff99d800e2a19c29d16da773a461bddceb2a3cc90e87586d2 +madmom,audio_span,giant_steps,287.4,0.3813848295059147,5777d309435fa94d49e624d05a184a51bac5a57beaee83d5ed277233bf1fd576,099591f3c0b11a3dbd4dcb59ecf446784496035650126d04093ca2489d37452b +madmom,audio_span,girl_from_ipanema,326.37,0.7515755808484621,8370892b604cdf511780db641931106fa4e0930fbff6d8c7105071de6ccfb5a7,2dc38945ecfa5db18593d4c69922815c8886f28839a128719813ad423f0524d8 +madmom,audio_span,grandpas_spells,175.36,0.7391761504205845,1aae4cc5cef5a223b1f7adf05fd0369f2915044701f7f9edc16b28240177d1dd,e757d11961f1d29381eaf257e97b84b91995d1ca6e6c9f62f6790962dd23c21d +madmom,audio_span,haig_and_haig,271.61,0.35882897477435705,7561778501b697c69c45688a3b97ae91ffb13e1295733bbfa7287b5233735bfe,cc5568931cf427f044ad3b445fb99816a9be911aa3815d44b3104d771c8c29b4 +madmom,audio_span,handful_of_riffs,187.85,0.1701772911687879,dad83913988f3d36182c7074f20bd0daa61a78da8d79d8501fe19975ed9a1e0b,0c64e755364ad22f9ac87792695e6d19de03d6e5f9bfada33757c45762ea637a +madmom,audio_span,harlem_congo,195.89,0.5003615328994937,277e8dc5ff936ba1b03fccef251cb313c9950e72e5724851a306b45c887e16d9,519c039af84821329db7ea62419e513c5dc8d9c6b9704d5519651a8307229fd9 +madmom,audio_span,he_s_funny_that_way,160.706667,0.5866452707137607,f2849011114a1a5f30cf21af2fe0c47c4923b8f11c5c342865d5092925272da9,b8ed3640751db39087090bfbec764173b1cd39f0c00dcc847a68f47eb00d0e56 +madmom,audio_span,honeysuckle_rose,185.97,0.47917968528091825,319b13ee7b93d63d9289a319348c9a12c84fee38dd449bbf37564e031b6c90a6,f62464e974c238e5e56f641f4148122d1cf4be625068c73dc922a1169731fa7c +madmom,audio_span,honky_tonk_train,180.386667,0.4695838578801394,18307efa42b4023bba4f9613d73729a5c23e4673e71c3dc1e2d8c71c301b2496,169afc1ff86919c8e922a5afb73c4cf4649e25b3e6ee436fd9ec80e271d69cf6 +madmom,audio_span,hotter_than_that,181.49,0.7445833569044524,178ca57248867c0fd175a76a19dd6b1557860691443f75e8ea84ffdb6d68b9f0,87d9b1a7da349101798c198723b28dbbb33959b252b0b3395fa5c71aac7f2eac +madmom,audio_span,i_cant_believe_you_are_in_love_with_me,254.68,0.44008167111669516,d0d79ede2bb647d43841735f6be2184f93a692e406fe6ecfd773e98198727923,e9334f7378b824d9988cec23dd3c6570fd3c9be42c378da1d261a0739c73ce9f +madmom,audio_span,i_cant_get_started,186.16,0.7931205147240785,db5501f34003c4efa57d7a074e9f1f5e21da5ab7b1c8a80f2615b48160a33bf0,eb2dba9320de0786eb6ae2bf67dac70b08dd53923ed2e719a002bf8126c3c7b2 +madmom,audio_span,i_found_a_new_baby,176.53,0.6325270492267601,d789279e621794e537635d2a5a6e32d5b62909e432a043b888f2fcb2d9c5744d,2aa1756e1ecf287e7583ac02badb2bf6cf5949fe8c8619ccbedaa20d739265d2 +madmom,audio_span,i_got_rhythm,304.84,0.2515611061552186,efb46448b0e1ddea4102d5bc3bd91484721bb2b9112930e9b8d69f05ed4e05f7,db450219b1a1c35d81cb46c6c3f7bf78a0adfb3a065d61efa2389b9f789674fa +madmom,audio_span,i_gotta_right_to_sing_the_blues,183.6,0.4554403465021657,2e51ce82ed895d5c2696a6baa46713ff081dd9ffe91c78f87ae2e9e37d26eff9,788f71eb91c12179fdbd91cd65a3e40a833f8328b48ad822d6f9ca913b27b16b +madmom,audio_span,in_a_mellotone,199.266667,0.6541891399409896,41a306ced67f0f8140482cb0909b2dbd39cf8bb14f8100539fec81a66dbdedc7,94ddebe89d8cfce768313a852d9dcba0bff7504b55593a098b9687e4047bebab +madmom,audio_span,in_gloryland,183.64,0.39936832934001304,99e83c483f0604968fc7afd3cf88f48030362957ba8330c7fe2d5aafa1079380,dee0ca499cf56756fce92b1656e04e3d593c0f0b52ec5c50b684fce664d0ed2c +madmom,audio_span,indiana,166.146667,0.3421984988058813,e55637c8a273b726b61bf0384824b55634f68f951d6b458e94b907fae5af288d,c2419135be71cae4ae036bdfd9ea4e57546b75627b7ae978d787f1551c75e591 +madmom,audio_span,isfahan,255.04,0.5260312281519457,9a52ba786ae20b71fd2d01405f2ebeb57a9301f94ba47446f0015ad6d5b637b1,5c2a8aa3250cfa2690521c43fe6a481c46e08f8199152d982e69be3384eb2cde +madmom,audio_span,king_porter_stomp,176.666667,0.6495132135231083,52c66543b3a916740a223cf6772e346a36b9d39a97e98375409197a63dfca8bc,eff7db53441dcb67747663c5a8769234f18f8d33317b3edf2b983119a9257ebd +madmom,audio_span,ko-ko(ellington),163.266667,0.3499591683340975,2c32b1792b9f224a0f326b9741fd3f8cda03a47bd2789ba0ba410b8aeb15466e,9e5e0ce79715108de7d506cf3db7eaf0debe61e03f1d26ed43cb2fdbd2195397 +madmom,audio_span,lady_bird,171.146667,0.45047133170288356,40ff624918b9f0e38643dabe809370740bbf0aee0b7c883552c090b652009360,28c16e8814d1b7ee17a00271a8c5d71b53fafbbd9494cc2bd64e9975dd4d7f10 +madmom,audio_span,lester_leaps_in,195.37,0.32927935136288466,6d9fd981b067ed9b8a67d60a2b267a80e206c35844662d9394e1799c016f33ad,2dbcd041a6fac4da05d6c432d8c812aa0aabcf08bb5ccc25710e7624463cee46 +madmom,audio_span,livery_stable_blues,190.64,0.6841192240971454,bfeacc8669fcedfd6957564143f001468ace56f0b9a572a0ab885821d57a2883,a34d7136b0b9e6b669356f27fc01c7cbf1bcf8eb8c8216d48472ca30c6631de0 +madmom,audio_span,lost_your_head_blues,177.2,0.7551354401805868,faf99e3b4bd10bb12ddf7a388810421389ebffbac60acec7c509cb5d09a90000,4771be5c1ff801292bebee69802f29018e5fd693c1a1a91bed96844667e6423a +madmom,audio_span,manteca,189.786667,0.6363168541879862,566e7817cd5478189f36615179c6fe60ac06f2220cfe2ea32712e13db5164804,81599874aabd8bb79556df69e97382a4956d2e345ed0dd48e7742b1ab4c9ac46 +madmom,audio_span,maple_leaf_rag(bechet),179.44,0.5164582350165174,83ce42455c47875d2fc69cdf6678d6f36a1e28b971beb985d062b79427432b80,e529d5e7fdd5ab97e26758af42946d3d15acba4a69fa278fb3392c2e5a60c857 +madmom,audio_span,maple_leaf_rag(braxton),220.506667,0.7187575445099266,6c0d74d128bb6d4983bb97c6f512aeaac85cc6f5144ef25b27e5b100837f250f,058641d72b08755c9e28ba050723331e301b4a52fcfdfe02b8a535f16141547a +madmom,audio_span,maple_leaf_rag(hyman),149.97,0.8229871813337175,17a0cb2b4aee8cc28401f3dbd21945d6dd5cb53f7de5c4bc7cc8eb975f25d30f,8f370d29317e2fc5b8039a738b10f920deb8b8d17c4713a8405967c6a4851bb1 +madmom,audio_span,mean_to_me,190.88,0.5938553351384204,a8568a7eb71680b3c371d95bb66a9f0c9e9d3b3c76c2b899ff12a06edd81d4ee,1f59cfcb6475d0d792b7ff428856484990ae241bdda7fcc4436e5867600fcda7 +madmom,audio_span,minor_swing,193.816,0.6896541049242579,814e0292099b5070d37fa2abed55b118f5c7cd1d5d9e218d212d4a688665ac97,a096d95efed41258962b2b882be447c94dd12e1b2199cf2ffe151620e78655ac +madmom,audio_span,misterioso,202.773333,0.4034718559367962,b28052e707725eb94eb7f4b597958b7ddacba0ee12c96585e70f10ea7d901650,818fdf916e503ba716273fe88ef511eb7cfeb2ebb416792d83153af2731225d1 +madmom,audio_span,moanin,576.8,0.29689830325299893,86933114cd5f1a6cf69aedd560947c023243a6789478d31f90706b5449437dc4,635f9344009b0b9a8a7555cb419691fc8e27e0658aa286ffab8dc55c7a048795 +madmom,audio_span,moten_swing,205.88,0.3159295962135782,6635e59e3d5c61de165126e01f65baec188d9b82f913f67c34362f3471d9f8b6,b86599c4dc9fe21c4768df2d43c0202471207897d33d61623d95b2f37f8bf410 +madmom,audio_span,my_favorite_things,165.626667,0.4950022731286845,881d01696faefc97c968129147d6da2c7b76e4418afb350009ce296e3eef1880,0e2dfe3d98d2df80e8b4c9bcbaaddae8cd0b23e8316a9dec5c992ad4037c0a31 +madmom,audio_span,new_east_st_louis,180.466667,0.5619703969699392,93226cf814585aae0622109e933ba94d7c714b3c8c57600a353094981c6de65d,7748628ceb097af39bd77162d3e5ef8a149e670691b8a862a80d4b85529e2259 +madmom,audio_span,night_in_tunisia,256.466667,0.48921280338291623,22853e9164ef663ccbe33ca254d931f187d2c3e74e4b5ecd2adf830b03ce8797,9612324225bbdba390c9cc63dec25f1f736f6d1aee25a10b1f3449d29ed235b0 +madmom,audio_span,oh_lady_be_good,191.49,0.41833111407012863,917a5ee9f3635dd7c4b65990585ae03a3e4c2204422ac8df6f812a186f8a6373,f3303d12f042979eee7c32465beece7d55275f4e086bf1a0edcf08ea581e99d7 +madmom,audio_span,one_by_one,383.17,0.2730709361796755,0c62498f519fb474a8cf8aec39d70935edd94f97c42720fe30d2e933f2e0a532,40b83dd2131b5f6411994837aa824b5a28969d4860f4808f2853c4e0d16046e8 +madmom,audio_span,one_oclock_jump,185.49,0.42567640986634725,d16798e80359c6e105335a3269b16a6aedc340448635ebc7f2463ba926295c25,7624883ae46e0ce92d012e97096f860d87c8a952782dfcb81932ec78dc2efeca +madmom,audio_span,organ_grinders_swing,160.666667,0.5497510382785249,9a0509837357bdc283ddb4507b7350d4f4ad2ab849181a3052c20f4fe97ee0d5,de502cd1af70ee5cd94653500d35af2b40a5e9f4b32706d8ddc54576e3d6ff74 +madmom,audio_span,parkers_mood,185.0,0.5368639551192143,29b430a24bbbd514b5a6ff6f765ffa9553fdccba2509ad77bde7206bbc1cbdfb,62676e4c3eddffb76ea17c922583e74f8ec7fed55137291a8e8661896323e4ec +madmom,audio_span,pentup_house,534.09,0.49672044998929477,cdc5a0f107d3aed4c424eece37be78eff34f2e681867d7d6e52717a03affd6d5,a626351af99222d034ef8577ab8541305550077622c00693932f6d2ebed19776 +madmom,audio_span,potato_head_blues,177.33,0.6501437996954833,ed6efb0a442bcebfb293dfda0cf33e62e7afefd49eb237679a69b2258e5d2d16,0d242428ab00db25f8954b8ff02fb31514b4cac6b5b2075e9e4b92944717611f +madmom,audio_span,riverboat_shuffle,190.8,0.7044025157232705,c3ebae0eb36031688c3fc0d267a7f6ead00473068581effc7cc986994e17e0e2,d819657b9cab108a86cd958ba17bce42ad91a8537bb41c8611f71634512174bd +madmom,audio_span,rockin_chair,182.33,0.6628751786565028,fe071274a47e55ca19c766dce91f9a060a808dda0af29324ebfa6622d8d19e1c,3168d4c184fd010ae4e0cb4de99b6fe765acfb3b30e76bf5e1834e728c865dd1 +madmom,audio_span,september_in_the_rain,197.25,0.5087180030738248,db36ac871d2f81f88b2727890f8b142f04c54b3c972e74c68c6ce519731617c4,b8e9549325208dbf65a1983b3e82341545dd0d93322ffa3dfc79a3969399b316 +madmom,audio_span,shaw_nuff,183.73,0.18745153786508095,63176762c05524b77761143e2bbaed12b18a3e2f74a0e40b54a16684f0942b54,95678d0032b2f37d954828412257a68ae1093585d1a729a3fba5b607f2be169b +madmom,audio_span,singin_the_blues,184.546667,0.744342291847796,f519c8f43673a6fe6197be5355d6aeb6c570730b02a2120428e22192f2b7d04b,bc984c5584214114d2f9739532ccd60bf958e037ccc20f152531104fe43141d7 +madmom,audio_span,st_louis_blues,193.17,0.4293112653497063,cb1ee9f10a0649759bceaef38c272ffa60c57b8ed8dbb48d3b9999cbdf2d18e7,964c70ab7fcde880f1a43da8de3f0a425d330530953ba0c18b79050f2585440f +madmom,audio_span,st_thomas,408.57,0.4823705729235143,c22e4a1669c51efccd682953a00fb3bb1d3f7720385f7363d173d85e1cac8c42,513a3dcb6632100a13563a3b01a5504c889a43b188ec7d1cc143303d8003f08a +madmom,audio_span,stompin_at_the_savoy,315.826667,0.49616254467717064,2d37c9c2bb1c3231eabf46b3f6b2a647078c7a3d438590eda31a3694a095e6d1,e01360d03cbb4202d997cd9d67b2709ba54c8e4d0732d601b2f9cbbe56047d5a +madmom,audio_span,struttin_with_some_barbecue,182.866667,0.7148980200360292,ce24f92c1f1386a89b7ece9fbea6e735306b4682c4ac0aef745257d101bafdb2,b263e7b21e2c774291499701045af08c248d56a6f266c001231eac3b0af0c678 +madmom,audio_span,subconscious_lee,168.4,0.4627078384798097,84cdea1d1fe5ad15fdade010542878daca02e338f698bb623f3e2a71c9f356f2,206b6b096b0b8fa2f19c9ac4d2d7b2caa9d4c4efcf1592acacadb83138ab855f +madmom,audio_span,summertime,198.29,0.2799435170709567,95fcdc8f9fbe707faee5726212ff07a471ffcd9ec2c46c86b22f41887da26c41,2c92d887e7a8da18a45cb2247b663b80024cd212621670d97233e6317751585f +madmom,audio_span,sweethearts_on_parade,200.53,0.8602206766720705,f69c1d1f2014853c05f382ea3df3c22566989c010e46593982f2fe8d0e349735,2723b0ad9486d52c86398e2851a8e7a00a26bb2297f8e687721000bf46cc90ea +madmom,audio_span,swing_that_music,174.066667,0.8038143808183288,63829701098e165a402f98d404190b9ac30307bb78ab5c0fa47c2736329a344f,e4f4a1f9f3a082bc67303b27ff207920b957d840f6172bb76e436bd285d7b45f +madmom,audio_span,thats_a_serious_thing,212.746667,0.7503539812170901,6a5f109b4d059aff77c51d36c5860831fef00c3c850da817e6cd9963a1ff0a2a,35f16f88879b5d2bd88fbad56350381dd03e8e143d19848693090a59755ac19b +madmom,audio_span,the_golden_bullet,150.04,0.5831111703545717,6b4d41b2b12c3b50dbbe2bcbf9340b4159e0f2abe91afbd7440c6763df4329e4,c89fa896728db386eb65fe9deb9b912a83590b0ff960bc9e0d8453ffa0b850f2 +madmom,audio_span,the_man_i_love,309.426667,0.46176146982953137,e6b6143deb93b1e7410e71b4e1eef9990dfae2b822262af1c5acd72321b57488,f7d6ddd771bd0628fb1165bb0cb8f84203dbc2c965868fece4447aca2ae615a1 +madmom,audio_span,the_preacher,259.986667,0.41678155664589794,e92bbcfef49cd8a3d67596e07ce6752ebb209c133330802c9a58d69b3cee779f,d4e3173ed74617f2ad4769d4f2b570ccab21b5e6669cc828e20dd74216859cf8 +madmom,audio_span,the_stampede,196.41,0.5385920271416451,019da05632668d46e6be0a49465da9b1d6e5bc1f363e04512fff74251f25f9eb,d44ec2249fa6e4d827f687b2ac6a9b768d12d30a98f3c27cbc37e6339c762828 +madmom,audio_span,these_foolish_things,217.29,0.5993927224643714,f6baeb3fb70d911e5dc5be0072a0d0dabb18a631e2f0dc9491e1f21dfd396e2b,3953078cf6671f2440fd4725a7b7ea7e1c2f3db11117e95a4ebc3a83cf959c73 +madmom,audio_span,tricroism,276.8,0.46619326952763107,bd5724654c3bf626ae8835b096249facdc1bb26991b8f91ba3135869e43ba583,0598f596439519fb7482053184015f28a51289c515889ef392da087d393831de +madmom,audio_span,walkin_shoes,194.65,0.2810542355663409,de07b5750237b2c57b0f7471aab457b01fb73a4855c29de9f639b7190630ff21,6319028133296054316828206b6034341f8907a16d65b6f3fe67ba20a2b569ae +madmom,audio_span,watermelon_man,391.706667,0.44135560561904597,f47ebc167d810f785bf15423c5b3acc4de648c0c9300d0a6412b83be3148cc70,060a76833addefa32c16f095b4720fc86839d8a0195a12099fc7a3ca831fce7b +madmom,audio_span,weather_bird,164.666667,0.5271614894137434,558e4e0b964c5b07e73608b214b05bb1baf61c590b02dc0cf723da0f81931d8b,250ac43d6ede8d2e116be57bb04ffebc6c7ab1c502be5c9901170cbdca22f853 +madmom,audio_span,west_coast_blues,336.466667,0.575143650113787,6e012d59f2eb8223b328ca244b8b22fcb317f3fc1ab9429e349fda5794bdd1a3,f8c77fcc6fdc77297d23138be5a89e318ad555bfb2c8f047483064ca005083ee +madmom,audio_span,west_end_blues,201.29,0.772138947153016,a9d72ed7cedec03ac42c8bfb3e8aecc11e38d6757455ab4d0fd7cbbf270081b0,b8f4d27cc584ae4b17ca004e469033b33e69b63606e2d85747a6e39013939b95 +madmom,audio_span,when_lights_are_low,134.866667,0.3548744382359965,31a1fe1747e71416b09176625c2c63f5b29547444035fa84408a078aad521a40,a6291fad2d3f3727f25076c72af669cdd845f40b9d7315980ff4a1f39efa8372 +madmom,audio_span,work_song,309.48,0.31147458141023504,e275eaa84ec6b952e1549ab6fd1d65cb4fc7cdfe37efdbed1dda263c693b94bb,35d35ff5a50727175c6190f27898f129196f6b6bc617a3ca1a22bf8b254e6d05 +madmom,audio_span,wrap_your_troubles_in_dreams,153.72,0.4110383408377676,a17c554546a829cb7e4b590ea8d77f0fafd1aec04f41ec91be6cbc80ed65b894,09c14bb0bb50177c357aff9e1c4977007b0ed32b50f3a1ec824994a00b6c7693 +madmom,audio_span,wrappin_it_up,161.53,0.5632604173233311,331e3b183da26016d294eeb5942b9dcd18927805cea0dde76576493330b76be8,f7d724c8f73a8cfeb038c33fdbd5d8889ce8168a1ac4776fb86745f40b9902a0 +madmom,audio_span,you_d_be_so_nice_to_come_home_to,170.906667,0.32140192253471817,9b80957c306a33ab302cf997f27aca96625cfcb04580918f4130118d5a5e8f29,0c7bb038d236ca56c5ecd7424a6090572ce8f627bd036b06db2f719224157ee4 +madmom,official_span,airegin,255.59,0.6366231647634586,5cbe407268aab86e4115ee2031ad5abd9eb10addd6633f25106c0305565ea146,6e9f9508bcb79c2028165bcc011b588549ed19345cb8cb0f06574e3baf1298d8 +madmom,official_span,all_alone,142.53,0.4718421431657783,873bb8647fdeddec71121239b3c4828f53e1f9119c32d84522ce4daa41f19c05,f0745989d240da16b1ee7ba632ada87975c90d96b248f93d5b39988a0cbce926 +madmom,official_span,bags_groove,173.27,0.45483926819414816,c569f7178bf3f6ebc125da331fd9f5de978e54777f259a7a2e3babe22b8d8449,2658d12b95849f01846257618bc6f3f8e13eb5999d967246acb8c7f274b760e1 +madmom,official_span,big_butter_and_eggman,180.8,0.7809632373895692,774679bbcf1fb206a318927fec0a63d3720cb7e55fda7e196b507b678a823aa3,4c7dfea4899be0e34573c3053f59a8513f04f0e5bda47c4d99a3e20ba87c4b29 +madmom,official_span,bikini,218.56,0.37540847680827216,ac92bd16ae9c1d086d47041baf1e4e23041eef583425c611b371b5d8454a7e6b,411c7cc6a3c48f029b6f253629f373a7acd49d0e20f9de71ab6ec56851d0b76e +madmom,official_span,black_and_tan_fantasy,190.0,0.720943889808339,97fca3cdc5a4387c569645b98daf22015d8b80720e94fa2b592e1ef89bdfb419,bd33b5d182c407c77ae701e7f9a60b5c4f9cf7a09f602512c6b233b758fded49 +madmom,official_span,black_bottom_stomp,196.11,0.7199655673320067,19ff0414f9c0f4924041381887ad21593e4cd6bcd51386b1de6ce14191ed9cdf,65d3bd286db277736ca232fda43f8eb50b5d63bac2d051b431e382e6328f8b72 +madmom,official_span,black_water_blues,200.71,0.6276717652334217,2fec1302bcb590e0c2606997a507b2eadfee0ae25c9d1f83b15ade44c59976db,29d2653eb3b38551051468350eb4a6136c1f58cac178f220a2fe803ed291e7e9 +madmom,official_span,blue_7,674.6,0.4534094278090719,7d39418f7a8795f029fe84d5ff1cd39ad66a75409c08c65c8a26616f19967e72,9f7d3eeba7bb25d4c06857a50fc74f5d288d4e86a838a1cbbd5caf82ea2b74d6 +madmom,official_span,blue_horizon,268.56,0.717195412570748,7d47c0625a737fc9cf169cc1e419a298a30ec3dc4bdb58348b389f6b9b8acde8,cf5c2da979e317f070ccc9f325f47a166f4dc9c856da08b024981a55eab8eba4 +madmom,official_span,blue_serge,205.4,0.52304785044206,50d72b6a88d88143a301018620e46bc33bc0293f0000540e41d0eab14a8dcc44,dbbc2eda5d394d6a1e22e6a2201fe91f5124b3645262721bd301b48d823d7854 +madmom,official_span,blues_for_alice,169.06,0.02065785428834922,9c9793889c382b5cf7091fb0c81498292c67a53c6a0ee30c77e84761a0ea8b43,fbd093a8996d6c4f8171a4ea062374730ad95322d5d827cfc05354a9bf8a9b42 +madmom,official_span,blues_in_the_closet,545.27,0.45894694371595585,c0843f663983905fe37fcdb37f2cc14d7bd8ea9af5a69d68b2f6ddc628dc8c3f,24f301c1fe65dba4474956769e3ab70a8631f474331b31db64b494453d955b2b +madmom,official_span,body_and_soul(goodman),211.03,0.5939939627355053,79238a977788e5a742d3e79ce2c075a58fbfeec2d1f451d5ace5a23cf744a535,d35fdad26b131f516188e9f606f801922c161d6a52c3cc7d1b1a0101848e6de6 +madmom,official_span,body_and_soul(hawkins),182.73,0.346881503062013,eac11e0499050ef24b41ef8e4fb98b4efe5e8c107732332470b243776d3974e4,37b17a85b7cd0b5fb4247c74a9c5cb8502176eeb1f12ce723b4191bc65e31d20 +madmom,official_span,boplicity,182.71,0.37902825979177035,d17dc6915c12e32259d9fb485049714e836551ca46e83d527125fc1af1feea61,3c6505b7bc7b79aa1682f0136518c3daa60d17e95930047587224663c703b3c0 +madmom,official_span,breakfast_feud,140.67,0.5703597339782345,697424648d91be9aba2890e01bedf9e98433b1412e337d4aaeb19410be7904d9,dee9563153caef78804c7d720757a407fb5cd308f7818581dce572320827cfda +madmom,official_span,concerto_for_cootie,199.87,0.5482956010520348,d7e8d447d7abb32a6be6d0620f0c54d91c246e8f22b405d1cbc01e73acd8f2c0,d3eb92357d9f128b399a8cd408336fb727994d5908c0fb54e52fb44e16665bbc +madmom,official_span,cotton_tail,191.6,0.28642393143730505,a1efe62c395d94d9b1e1faaacf00d752cd986b2117a50c6dd5431b9c278d421b,a26e0fc29cef46b552d527144035e22c245eadf048dc530ec3040bc73406d0e3 +madmom,official_span,cotton_tail_fitzgerald,220.92,0.34940726396826094,c016303a72f1ecf1658e58332366943c76e7c5e858e3629bf849035920f5a47f,e445ea39ead3a16fdacc5021e0858e21d4d84acab760376f7d4b327e01a38b7b +madmom,official_span,crazeology,179.96,0.23862645982220637,6a5a11d93d235cac2961cfde08ffe5115f99a7f74d80cf901fe75658ae340828,d3217328fbcb99231f73aa4fe29518e4b451b8e46cb967f44b060fb20360d2b0 +madmom,official_span,daahoud,245.47,0.3943636690001796,ac07eaf915c5b70292870d606af7f4d13d5b3c645497e7ed1e8f48cb7cc07183,4bd09e6669b11ba612d3896f7558c7376fcf56c816d56bf5f5013e1d5f777e28 +madmom,official_span,dead_man_blues,193.87,0.8706865425284981,26dc87b65c08fc1f41a6a8f143dc1b0a69106ee654f1b9f0d34fab215c8717f8,b3156f8eb00af2e57d2ce048f6aafaf6e4d1f5c437372c4009274b4202f1a1fb +madmom,official_span,dexter_rides_again,196.73,0.452347888700303,05309941210903d9a74500d62049252371498309b00630d4ff26a369270e8135,c7cade360f7d377ed2fdb49ec7d5589c245ea730a39044e525fd6fd9475c322c +madmom,official_span,diminuendo_and_crescendo_in_blue,360.31,0.6592473184946372,3109323d7ed57e07dd1d7c90b489ec8ecf29ef947854e54edbbd0afd9802aea7,23d72706a5a1ed9d6d0cb6102540deaa4452b51377976d8b652704f77abd38f2 +madmom,official_span,dinah,155.42,0.7602111514351696,95047c5dd78d9056f89af32e237e97ca63b957bbc84c34448cc838770459b668,e75bcc33071573f434095ac13b7b9cc493abdebb9ccad9fa6deba5ee314e66c4 +madmom,official_span,dinah_fats_waller,189.63,0.6686129778561205,442405bcac0bb1e3557b2fe4086858067387cd1d80b1738e4e56814a1aad5778,d11cd7e824bef9655c7bdcd66f2cb93c6d4ac54e76a95568739064c7b1b820fe +madmom,official_span,dinah_red_nichols,195.44,0.7109598853868195,5b0116b72fa52db917d28914b106ee20f52967e9b05f88dd53487687148746bc,31409ce2d65e90e018f36a9f311156279fafc7668bd1df3e9fd1fc776c3f7ed2 +madmom,official_span,dippermouth_blues,148.93,0.4923481753341181,1bc1895d80d93481136e625fe586d25a31985306a3b3580d051a5cf4530da681,a027636a936230ce831e34981026bfc623e60ed40cc2e9a69dbc35c7f220b947 +madmom,official_span,django,424.93,0.6149290658805571,527e3a1d0a94f334cd9d906fa6f8d9c433fa4d76cb04923699a985dd9d672f68,c8c5ccb11785faad70ebc292cec474c14fb2de36b545d1b57d7383e4d6af1fc0 +madmom,official_span,doggin_around,180.51,0.45371447565231815,2ae9d6e30ef30281f63efbc80b7883028047fde6b266b559a93d39396924b8bf,f194935aaa4be653067f12a7b570de2a5e7780fba240c5b65a877955210abc31 +madmom,official_span,east_st_louis,219.03,0.6812709804375505,fa10c14b06211bedf0c2b9dcef69b38e51a52dbdc025a89e15d6d10e97d9a158,6f80c4c73687ac8dca5d18379266a32515b4cbc56757b49cd308807234a5c4d8 +madmom,official_span,embraceable_you,227.96,0.47681180667546275,420e6954e5b834cf34e7df6fd18a72d7b433fb949db88db34731de3fdbab2eeb,2644b9757815a5c22dec84054f3c1164ca63aa5e0a9161bfc492a94d4b738898 +madmom,official_span,everybody_loves_my_baby,144.28,0.40009770395701055,3d4ad813dea033f2d009bb57fe8e2682e244171e07a0829676814048e7eb5450,f3dd3b48280371984b1f3e062d8f57c1062fc4cbbe4d315b9c161f8d2551e0d1 +madmom,official_span,evidence,154.73,0.1968747800380095,0a54c8ce210f31b8d99f2902506ca2dd8d26e22106c207dfc50d00911674a1d1,9f2d9bb54012533c224bde41b18ee8da60e1c1a0ca7821ce248d1cc53019cd8f +madmom,official_span,for_dancers_only,161.49,0.5882394316663149,fb849ae488a848467ec17d5843c36a49f32c0ea722333a30d3a0504303e8fb7a,dec4ef1bde083fd339552ab8b95af7948dea004423a32d380e07be47ca2feb03 +madmom,official_span,four_brothers,198.52,0.3723567269384,3247d2a51e4a8e6ed33eaaa1e992825b32d966d2b421eb2f6ad43eb5b103121d,054ceaa72b00ccd1399b2f18e031087d9d9071c977986a43879ed4dc65a5388d +madmom,official_span,four_or_five_times,194.43,0.5646952186721058,e2108a451d173e892fcdb7ffc6d9e684393a8ae1905ea93b6ee5b781a5f05902,785fa02f085ec6b1a8f9b4fb698a83ebf37796130721bdcc981a9f9cbe89f1b4 +madmom,official_span,from_monday_on,183.13,0.7176930254257048,6795e7e2b83557c70bfb8aad8b7b17e09729190e2978590426a4e7b01af900bc,c67191141121a2288f875f5e6d90f0b0e5368cc680c2928c1caed8073eca6a09 +madmom,official_span,giant_steps,287.4,0.3813848295059147,5777d309435fa94d49e624d05a184a51bac5a57beaee83d5ed277233bf1fd576,fedd1d28c455f6817280f9348f550ec71fda71b53b174eaf1f10f9a5d62192bf +madmom,official_span,girl_from_ipanema,326.37,0.7515755808484621,8370892b604cdf511780db641931106fa4e0930fbff6d8c7105071de6ccfb5a7,70743e10904c0b76b3d711a63a0dc964cf6267015573d79145f20792124b7dd1 +madmom,official_span,grandpas_spells,175.36,0.7391761504205845,1aae4cc5cef5a223b1f7adf05fd0369f2915044701f7f9edc16b28240177d1dd,b6fca9badd94819b751ca58847a6e8e0ce7dee50dfb2af60a07403d44bfa3404 +madmom,official_span,haig_and_haig,271.61,0.35882897477435705,7561778501b697c69c45688a3b97ae91ffb13e1295733bbfa7287b5233735bfe,a7517198f19d66c2f1c01d8058455facd0be4bf997596d5cffe27dee11ebdd12 +madmom,official_span,handful_of_riffs,187.85,0.1701772911687879,dad83913988f3d36182c7074f20bd0daa61a78da8d79d8501fe19975ed9a1e0b,6a748b63282b38494b8fa31f47cadf060db297db1f804ebf467b08d4aaf2bf4c +madmom,official_span,harlem_congo,195.89,0.5003615328994937,277e8dc5ff936ba1b03fccef251cb313c9950e72e5724851a306b45c887e16d9,0ddc9ccbb5a8a6689b646a9d5c85ae10c54a6e1c498d5e6b7ec643d025efdc13 +madmom,official_span,he_s_funny_that_way,160.71,0.5866556341206564,f2849011114a1a5f30cf21af2fe0c47c4923b8f11c5c342865d5092925272da9,9c17961a687c592204c03a764445c1b4ba0660bc374ecfa90e224e45b373cf37 +madmom,official_span,honeysuckle_rose,185.97,0.47917968528091825,319b13ee7b93d63d9289a319348c9a12c84fee38dd449bbf37564e031b6c90a6,5be142a6a9207ea83eb55d5dbdade7f55ddf2f659db93c5152dad9a2b02ac6ef +madmom,official_span,honky_tonk_train,180.39,0.46959365818504367,18307efa42b4023bba4f9613d73729a5c23e4673e71c3dc1e2d8c71c301b2496,664952e9fc0749427bac64808b762356ea5f6c62b74de2ee72bc496b3fc5b63b +madmom,official_span,hotter_than_that,181.49,0.7445833569044524,178ca57248867c0fd175a76a19dd6b1557860691443f75e8ea84ffdb6d68b9f0,569193855f2204cf216a9a7bc3a48d762d5400fab16de99505bb21e2aec6efb7 +madmom,official_span,i_cant_believe_you_are_in_love_with_me,254.68,0.44008167111669516,d0d79ede2bb647d43841735f6be2184f93a692e406fe6ecfd773e98198727923,e4ceaa73a7f1bb91c43270cdd5d7ae3686554b3632e7cda1afd88101a916640e +madmom,official_span,i_cant_get_started,186.16,0.7931205147240785,db5501f34003c4efa57d7a074e9f1f5e21da5ab7b1c8a80f2615b48160a33bf0,a7de658f791712f83426f4b49064a139fcc003a5aa8f4fc54557337c5ae49030 +madmom,official_span,i_found_a_new_baby,176.53,0.6325270492267601,d789279e621794e537635d2a5a6e32d5b62909e432a043b888f2fcb2d9c5744d,4665ce812c74c8acfc4bddc44dc00a4afcbf1d7c6705a2bd99253061026e9261 +madmom,official_span,i_got_rhythm,304.84,0.2515611061552186,efb46448b0e1ddea4102d5bc3bd91484721bb2b9112930e9b8d69f05ed4e05f7,be0c231dca93aa246e2e231af2cae607d971c735b90e503ab35fbfd417a3e244 +madmom,official_span,i_gotta_right_to_sing_the_blues,183.6,0.4554403465021657,2e51ce82ed895d5c2696a6baa46713ff081dd9ffe91c78f87ae2e9e37d26eff9,c634fc5dc1b22338ccf1bfe211f6bdfa48ec794164d9125d5a7b79cff0f8b1c8 +madmom,official_span,in_a_mellotone,199.27,0.6541952145040577,41a306ced67f0f8140482cb0909b2dbd39cf8bb14f8100539fec81a66dbdedc7,d67cacf9cc23fc7a8021072eb6834f6a536f98a39936baa432eac3bfcafc6d1f +madmom,official_span,in_gloryland,183.64,0.39936832934001304,99e83c483f0604968fc7afd3cf88f48030362957ba8330c7fe2d5aafa1079380,1e41262bf11bf79dd4189937016daa85c16dd4015b2a0f30e7220c0b603f72bd +madmom,official_span,indiana,166.15,0.3422141379556315,e55637c8a273b726b61bf0384824b55634f68f951d6b458e94b907fae5af288d,f214fde3796f6c7389a11e7fba64ee5b2a347d3879ac429ec244bac692cf1e7b +madmom,official_span,isfahan,255.04,0.5260312281519457,9a52ba786ae20b71fd2d01405f2ebeb57a9301f94ba47446f0015ad6d5b637b1,4a51bff8a42d705272a3eaaa9d322bb7f47c95b4992f3c80ad065b295313d6f3 +madmom,official_span,king_porter_stomp,176.67,0.649520488230166,52c66543b3a916740a223cf6772e346a36b9d39a97e98375409197a63dfca8bc,66194287a26776cede0b3dd5b30d09e4c2f22880bd7139f11cba060f9504f7ba +madmom,official_span,ko-ko(ellington),163.27,0.34997243829239927,2c32b1792b9f224a0f326b9741fd3f8cda03a47bd2789ba0ba410b8aeb15466e,689c4bd626680feb97ac4ace2b45bc72c3e667337386fa1329dfcbaf0a1f9f08 +madmom,official_span,lady_bird,173.99,0.45945169262601276,40ff624918b9f0e38643dabe809370740bbf0aee0b7c883552c090b652009360,77edb4ecbb10c5bbef15b9aa062c6bdf3c5426813aac2f965bd6a0ee80e643ff +madmom,official_span,lester_leaps_in,195.37,0.32927935136288466,6d9fd981b067ed9b8a67d60a2b267a80e206c35844662d9394e1799c016f33ad,35d4e4e590d909527d2ffccc468f9a1902b5f68da319a51ec6d10d5a217523b0 +madmom,official_span,livery_stable_blues,190.64,0.6841192240971454,bfeacc8669fcedfd6957564143f001468ace56f0b9a572a0ab885821d57a2883,ad24a02714a12d783da4a8d6089bb6390491ce9bd2b24e192fa7357421b121f9 +madmom,official_span,lost_your_head_blues,177.2,0.7551354401805868,faf99e3b4bd10bb12ddf7a388810421389ebffbac60acec7c509cb5d09a90000,e0aee8ff1030be47e96b09ca3378fb76ece3fc62d338139c4fe80db8f3d5ebe2 +madmom,official_span,manteca,189.79,0.636323537519987,566e7817cd5478189f36615179c6fe60ac06f2220cfe2ea32712e13db5164804,e98b2b35c18ad8e4e8cc12f7d53f02cc472cdf02e76e2d658521d4b45b269fd9 +madmom,official_span,maple_leaf_rag(bechet),179.44,0.5164582350165174,83ce42455c47875d2fc69cdf6678d6f36a1e28b971beb985d062b79427432b80,0ae90043cda7fce87cd95a733cbebc3f2dd3880882c4fb55792ac9d67e9cb299 +madmom,official_span,maple_leaf_rag(braxton),220.51,0.7187620702974128,6c0d74d128bb6d4983bb97c6f512aeaac85cc6f5144ef25b27e5b100837f250f,75af84364507765458154750bd9f2bd8e71f7604fac6666cec34ecb6f743aef2 +madmom,official_span,maple_leaf_rag(hyman),149.97,0.8229871813337175,17a0cb2b4aee8cc28401f3dbd21945d6dd5cb53f7de5c4bc7cc8eb975f25d30f,7b72dfae8f77bdcc936ac095d33507dc37f71488f5bf976f549965ecb65abbe5 +madmom,official_span,mean_to_me,190.88,0.5938553351384204,a8568a7eb71680b3c371d95bb66a9f0c9e9d3b3c76c2b899ff12a06edd81d4ee,70c96a6662b59447171529dc48f3fc05d5c3ee0837d7d941d00eaf5dbcfe16e4 +madmom,official_span,minor_swing,193.816,0.6896541049242579,814e0292099b5070d37fa2abed55b118f5c7cd1d5d9e218d212d4a688665ac97,4dd44fc15830ee98db1df7fd2ab08eca7325bc9847d20a6dd92b325b57cdb652 +madmom,official_span,misterioso,204.55,0.40865314104131023,b28052e707725eb94eb7f4b597958b7ddacba0ee12c96585e70f10ea7d901650,90461595d8d36309f3fbc6285b33ebb41cde9318dc5c6a67d5dcf20e11d8ca05 +madmom,official_span,moanin,576.8,0.29689830325299893,86933114cd5f1a6cf69aedd560947c023243a6789478d31f90706b5449437dc4,a381ad9d877d58534f5ef1fefeebbe94b0d457162f4ba5067a4c38b000b471fd +madmom,official_span,moten_swing,205.88,0.3159295962135782,6635e59e3d5c61de165126e01f65baec188d9b82f913f67c34362f3471d9f8b6,0d0338d509e7ef1bdb8b1775820395aae832565b1517d97ccb30b3b7152feb18 +madmom,official_span,my_favorite_things,165.63,0.4950166112956806,881d01696faefc97c968129147d6da2c7b76e4418afb350009ce296e3eef1880,62240e4089133e93de6eb3f331a0c9a4d68548c0c6c70c1ee9c5d457fd79ee58 +madmom,official_span,new_east_st_louis,180.47,0.5619821414206423,93226cf814585aae0622109e933ba94d7c714b3c8c57600a353094981c6de65d,ef2bf1ac5f9d1598fb9ee13dc016a48f458ef1fa0a8eb0fdfd43959d6664808a +madmom,official_span,night_in_tunisia,256.47,0.4892202034251938,22853e9164ef663ccbe33ca254d931f187d2c3e74e4b5ecd2adf830b03ce8797,0a295ae2a1d3599569ddc2eaf01199243a818bf55d93ebed03edf475a8f0585e +madmom,official_span,oh_lady_be_good,191.49,0.41833111407012863,917a5ee9f3635dd7c4b65990585ae03a3e4c2204422ac8df6f812a186f8a6373,f9bd28b24dcb548664fce2e998ef8b57e8e7285584211bb02009a9dafbc9a7f8 +madmom,official_span,one_by_one,383.17,0.2730709361796755,0c62498f519fb474a8cf8aec39d70935edd94f97c42720fe30d2e933f2e0a532,acdf7d904f2ee8e64d83ff46ae9326999692f6aacec6d99c08877061dd3ef776 +madmom,official_span,one_oclock_jump,185.49,0.42567640986634725,d16798e80359c6e105335a3269b16a6aedc340448635ebc7f2463ba926295c25,978dfc2d3275c0ffac3b35376a9cb2d7dadbc023a0bb8c8987ae701955186dc6 +madmom,official_span,organ_grinders_swing,160.67,0.5497603784153856,9a0509837357bdc283ddb4507b7350d4f4ad2ab849181a3052c20f4fe97ee0d5,41b9552f2260aa4bda93c71e439fdf74b67460be08b965e75703d22e3cc1424f +madmom,official_span,parkers_mood,185.0,0.5368639551192143,29b430a24bbbd514b5a6ff6f765ffa9553fdccba2509ad77bde7206bbc1cbdfb,17babc6d78f2cd590504160f27af4540ad628c339625f0818a20813bc60e6c06 +madmom,official_span,pentup_house,534.09,0.49672044998929477,cdc5a0f107d3aed4c424eece37be78eff34f2e681867d7d6e52717a03affd6d5,9e4c19e4582a91e7301a2e3b69f3a4ba7c69adfa391bc17f7363adbda0cd148d +madmom,official_span,potato_head_blues,177.33,0.6501437996954833,ed6efb0a442bcebfb293dfda0cf33e62e7afefd49eb237679a69b2258e5d2d16,6d4968c2703ad6ff9f221d3ea594c5b1280fcb4fb1fecde3df24242ee3a4f22c +madmom,official_span,riverboat_shuffle,190.8,0.7044025157232705,c3ebae0eb36031688c3fc0d267a7f6ead00473068581effc7cc986994e17e0e2,bb91df1b62b29268c0a392d8cd35d4df18396abdbd6ec74bfec4c330d7cbe917 +madmom,official_span,rockin_chair,182.33,0.6628751786565028,fe071274a47e55ca19c766dce91f9a060a808dda0af29324ebfa6622d8d19e1c,205bf60ec25b189688a90e61fd07a0214d2f4c2131f3640d8838230cecc5c528 +madmom,official_span,september_in_the_rain,197.25,0.5087180030738248,db36ac871d2f81f88b2727890f8b142f04c54b3c972e74c68c6ce519731617c4,5a5788ce64a21907f23129abb9f1c51de67c48dddd86a220c262a6e86272e2ee +madmom,official_span,shaw_nuff,183.73,0.18745153786508095,63176762c05524b77761143e2bbaed12b18a3e2f74a0e40b54a16684f0942b54,abb51e939462fbf676233bf8e0891a3048106078374ecc62401f1933f11af8eb +madmom,official_span,singin_the_blues,184.55,0.7443470492993133,f519c8f43673a6fe6197be5355d6aeb6c570730b02a2120428e22192f2b7d04b,11e51083e258557d3b8a8b915331cf9732fd05e6cce8ee18fe9e80eb11257ec5 +madmom,official_span,st_louis_blues,193.17,0.4293112653497063,cb1ee9f10a0649759bceaef38c272ffa60c57b8ed8dbb48d3b9999cbdf2d18e7,8582574570aca4713e97470c1f0d295f5b76aa8d31bef1703f1a101028d99614 +madmom,official_span,st_thomas,408.57,0.4823705729235143,c22e4a1669c51efccd682953a00fb3bb1d3f7720385f7363d173d85e1cac8c42,afc1310ffc6a980a13a8c44c66baabb1a70ef0d02565624e02c1284cf411b226 +madmom,official_span,stompin_at_the_savoy,315.83,0.49616844769403856,2d37c9c2bb1c3231eabf46b3f6b2a647078c7a3d438590eda31a3694a095e6d1,1f22185464d5033ac1ec65e168eb7c0266c5831bcf37a35791e8b078a025f480 +madmom,official_span,struttin_with_some_barbecue,182.87,0.7149032865931386,ce24f92c1f1386a89b7ece9fbea6e735306b4682c4ac0aef745257d101bafdb2,ff117b2c339352231d5a835593f6571866f1b7821e525effd69ef0096c95f1d1 +madmom,official_span,subconscious_lee,168.4,0.4627078384798097,84cdea1d1fe5ad15fdade010542878daca02e338f698bb623f3e2a71c9f356f2,5de92be2c7967b2ebcac05fcd169b95b69a9bbc97559c100ee485f3507dc4016 +madmom,official_span,summertime,198.29,0.2799435170709567,95fcdc8f9fbe707faee5726212ff07a471ffcd9ec2c46c86b22f41887da26c41,d361d2219650fd6e503304554497d78735f70a6933d817f3b9f1f5bc460abb0e +madmom,official_span,sweethearts_on_parade,200.53,0.8602206766720705,f69c1d1f2014853c05f382ea3df3c22566989c010e46593982f2fe8d0e349735,a42a100a9d9fb363830b2e5846c819314eb696208fc5faf64f6d592ace89d755 +madmom,official_span,swing_that_music,174.07,0.8038183820829764,63829701098e165a402f98d404190b9ac30307bb78ab5c0fa47c2736329a344f,5d1c043d11a6da68f3e8bbc61c70b70259f6a9316d2de00c21bdfabf07024a82 +madmom,official_span,thats_a_serious_thing,212.75,0.7503582395087001,6a5f109b4d059aff77c51d36c5860831fef00c3c850da817e6cd9963a1ff0a2a,3dedee28c4041fbeaeeeb9b05da5293a434c2f21290ccd0c372d02b0d781abcc +madmom,official_span,the_golden_bullet,150.04,0.5831111703545717,6b4d41b2b12c3b50dbbe2bcbf9340b4159e0f2abe91afbd7440c6763df4329e4,939abe7ab5c142008ab747dd11b75a7a0739c7f16dad790ef0bf76064cc09fc8 +madmom,official_span,the_man_i_love,309.43,0.46176783812566574,e6b6143deb93b1e7410e71b4e1eef9990dfae2b822262af1c5acd72321b57488,2b91ba86fcdf9cd55702b02820776edda77c38b092ff6d9a73edd58f3f267047 +madmom,official_span,the_preacher,259.99,0.4167895167895167,e92bbcfef49cd8a3d67596e07ce6752ebb209c133330802c9a58d69b3cee779f,76fbdf8bdf44ed1d21443a95b396b09e38ace69061df1d5f10860952cec4a171 +madmom,official_span,the_stampede,196.41,0.5385920271416451,019da05632668d46e6be0a49465da9b1d6e5bc1f363e04512fff74251f25f9eb,93d8531f10d004492139a066630a650867505871ef106dd84f6d645ebfd00cbd +madmom,official_span,these_foolish_things,217.29,0.5993927224643714,f6baeb3fb70d911e5dc5be0072a0d0dabb18a631e2f0dc9491e1f21dfd396e2b,17ded81b42ef27106ea93dc8ca07cc02b494cc8420d95ed1f5c4d1bc26ba813c +madmom,official_span,tricroism,276.8,0.46619326952763107,bd5724654c3bf626ae8835b096249facdc1bb26991b8f91ba3135869e43ba583,5c1bbe6a44967e0be3daf05ced504f4448cb6146da73101790b4076121f3e94b +madmom,official_span,walkin_shoes,194.65,0.2810542355663409,de07b5750237b2c57b0f7471aab457b01fb73a4855c29de9f639b7190630ff21,c18115282296f4c464b7c713374569fa09c5b53f81eaae19e3d0817a8d71d510 +madmom,official_span,watermelon_man,391.71,0.44136041763580947,f47ebc167d810f785bf15423c5b3acc4de648c0c9300d0a6412b83be3148cc70,e14e211f1d26a3efb176f327065672307d26c7805d97e777b22da8639855cccf +madmom,official_span,weather_bird,165.67,0.530240103828682,558e4e0b964c5b07e73608b214b05bb1baf61c590b02dc0cf723da0f81931d8b,a5142148f560e77cf145fe03d3d606b694c62fcfecab862944d3c1a7f38736be +madmom,official_span,west_coast_blues,336.47,0.5751478586501028,6e012d59f2eb8223b328ca244b8b22fcb317f3fc1ab9429e349fda5794bdd1a3,f2463af772d1325147bd48372b2bfabd907c59e7c9ccc169c19e244d426b5a0e +madmom,official_span,west_end_blues,201.29,0.772138947153016,a9d72ed7cedec03ac42c8bfb3e8aecc11e38d6757455ab4d0fd7cbbf270081b0,b5372651f21f04817ccc51b275c57d435f6a13055154fda6d54e13e32e136bb8 +madmom,official_span,when_lights_are_low,136.29,0.36189238764903714,31a1fe1747e71416b09176625c2c63f5b29547444035fa84408a078aad521a40,9c9a72c8762564f65c25f23327b41f6ab9442b97195e7678315b71d2ae95be9c +madmom,official_span,work_song,309.48,0.31147458141023504,e275eaa84ec6b952e1549ab6fd1d65cb4fc7cdfe37efdbed1dda263c693b94bb,554f51026486158265d23b591f3a8d621d4f46d98a61d40db4b349b095c38e0d +madmom,official_span,wrap_your_troubles_in_dreams,153.72,0.4110383408377676,a17c554546a829cb7e4b590ea8d77f0fafd1aec04f41ec91be6cbc80ed65b894,61b0f075b57a1c8cced17618ff9d00e2d79783f94c91f464038935d9b7a00f52 +madmom,official_span,wrappin_it_up,161.53,0.5632604173233311,331e3b183da26016d294eeb5942b9dcd18927805cea0dde76576493330b76be8,dc3bf9685a7b9e7a143fe8affbac7f338d88721b9c15d7523d966a27426698e6 +madmom,official_span,you_d_be_so_nice_to_come_home_to,170.91,0.3214182553437317,9b80957c306a33ab302cf997f27aca96625cfcb04580918f4130118d5a5e8f29,12b328ee1f52428c157b96552925b5b616b9e31b330749de1c937cd46a7bc57c diff --git a/benchmarks/jaah_results.json b/benchmarks/jaah_results.json new file mode 100644 index 0000000000000000000000000000000000000000..b61a809a5c5f1c4c8cb954b264f8b7bb320b22c5 --- /dev/null +++ b/benchmarks/jaah_results.json @@ -0,0 +1,313 @@ +{ + "dataset": "JAAH", + "tracks": 113, + "primary_reference": "audio_span", + "primary_chordformer_vocabulary": "submission", + "primary_metric": "majmin", + "aggregation": "reference-span-weighted mean of per-track mir_eval scores", + "scorer_sha256": "5a74e06b566c5a39fa2c63e2bf3ee6685977d469b813e554c51397ae4b02ecb5", + "mir_eval": "0.8.2", + "numpy": "1.24.3", + "results": { + "ChordFormer": { + "audio_span": { + "summary": { + "n": 113, + "total_duration": 24991.969346, + "majmin_macro": 0.598218672222064, + "majmin": 0.594466921029072 + }, + "percent": { + "majmin_macro": 59.82186722220641, + "majmin": 59.44669210290719 + }, + "corpus_eligible_duration_weighted_percent": { + "majmin": 59.626981188033206 + }, + "eligible_reference_seconds": { + "majmin": 23460.829346000006 + }, + "eligible_reference_percent": { + "majmin": 93.87347199893611 + } + }, + "official_span": { + "summary": { + "n": 113, + "total_duration": 25001.115999999998, + "majmin_macro": 0.5984845689662535, + "majmin": 0.5946247940369601 + }, + "percent": { + "majmin_macro": 59.84845689662534, + "majmin": 59.46247940369601 + }, + "corpus_eligible_duration_weighted_percent": { + "majmin": 59.642715249031376 + }, + "eligible_reference_seconds": { + "majmin": 23469.976 + }, + "eligible_reference_percent": { + "majmin": 93.87571338815437 + } + } + }, + "ChordFormer_full_auxiliary": { + "audio_span": { + "summary": { + "n": 113, + "total_duration": 24991.969346, + "majmin_macro": 0.5945973379959845, + "majmin": 0.5911195668245862 + }, + "percent": { + "majmin_macro": 59.459733799598446, + "majmin": 59.11195668245862 + }, + "corpus_eligible_duration_weighted_percent": { + "majmin": 59.28580372991986 + }, + "eligible_reference_seconds": { + "majmin": 23460.829346000006 + }, + "eligible_reference_percent": { + "majmin": 93.87347199893611 + } + }, + "official_span": { + "summary": { + "n": 113, + "total_duration": 25001.115999999998, + "majmin_macro": 0.5948641720345073, + "majmin": 0.5912787598995988 + }, + "percent": { + "majmin_macro": 59.48641720345073, + "majmin": 59.127875989959875 + }, + "corpus_eligible_duration_weighted_percent": { + "majmin": 59.301670753651415 + }, + "eligible_reference_seconds": { + "majmin": 23469.976 + }, + "eligible_reference_percent": { + "majmin": 93.87571338815437 + } + } + }, + "SheetSage2-Prober": { + "audio_span": { + "summary": { + "n": 113, + "total_duration": 24991.969346, + "majmin_macro": 0.6257256809828833, + "majmin": 0.6294130449403118 + }, + "percent": { + "majmin_macro": 62.57256809828833, + "majmin": 62.94130449403118 + }, + "corpus_eligible_duration_weighted_percent": { + "majmin": 62.983243806422934 + }, + "eligible_reference_seconds": { + "majmin": 23460.829346000006 + }, + "eligible_reference_percent": { + "majmin": 93.87347199893611 + } + }, + "official_span": { + "summary": { + "n": 113, + "total_duration": 25001.115999999998, + "majmin_macro": 0.6259663482622727, + "majmin": 0.6295569569223054 + }, + "percent": { + "majmin_macro": 62.59663482622727, + "majmin": 62.95569569223054 + }, + "corpus_eligible_duration_weighted_percent": { + "majmin": 62.99766987405528 + }, + "eligible_reference_seconds": { + "majmin": 23469.976 + }, + "eligible_reference_percent": { + "majmin": 93.87571338815437 + } + } + }, + "SheetSage2-AR": { + "audio_span": { + "summary": { + "n": 113, + "total_duration": 24991.969346, + "majmin_macro": 0.6481228656738396, + "majmin": 0.6450302704985715 + }, + "percent": { + "majmin_macro": 64.81228656738396, + "majmin": 64.50302704985715 + }, + "corpus_eligible_duration_weighted_percent": { + "majmin": 64.66985937670378 + }, + "eligible_reference_seconds": { + "majmin": 23460.829346000006 + }, + "eligible_reference_percent": { + "majmin": 93.87347199893611 + } + }, + "official_span": { + "summary": { + "n": 113, + "total_duration": 25001.115999999998, + "majmin_macro": 0.6483588585539686, + "majmin": 0.6451685510270442 + }, + "percent": { + "majmin_macro": 64.83588585539685, + "majmin": 64.51685510270441 + }, + "corpus_eligible_duration_weighted_percent": { + "majmin": 64.68362813835002 + }, + "eligible_reference_seconds": { + "majmin": 23469.976 + }, + "eligible_reference_percent": { + "majmin": 93.87571338815437 + } + } + }, + "SheetSage1": { + "audio_span": { + "summary": { + "n": 113, + "total_duration": 24991.969346, + "majmin_macro": 0.4153930600603254, + "majmin": 0.3977021069918738 + }, + "percent": { + "majmin_macro": 41.53930600603254, + "majmin": 39.77021069918738 + }, + "corpus_eligible_duration_weighted_percent": { + "majmin": 39.95899594060327 + }, + "eligible_reference_seconds": { + "majmin": 23460.829346000006 + }, + "eligible_reference_percent": { + "majmin": 93.87347199893611 + } + }, + "official_span": { + "summary": { + "n": 113, + "total_duration": 25001.115999999998, + "majmin_macro": 0.41573012408549387, + "majmin": 0.3979346391459685 + }, + "percent": { + "majmin_macro": 41.57301240854939, + "majmin": 39.79346391459685 + }, + "corpus_eligible_duration_weighted_percent": { + "majmin": 39.98239495430246 + }, + "eligible_reference_seconds": { + "majmin": 23469.976 + }, + "eligible_reference_percent": { + "majmin": 93.87571338815437 + } + } + }, + "madmom": { + "audio_span": { + "summary": { + "n": 113, + "total_duration": 24991.969346, + "majmin_macro": 0.5207085208803997, + "majmin": 0.5124246945353549 + }, + "percent": { + "majmin_macro": 52.07085208803996, + "majmin": 51.24246945353549 + }, + "corpus_eligible_duration_weighted_percent": { + "majmin": 51.4328976526881 + }, + "eligible_reference_seconds": { + "majmin": 23460.829346 + }, + "eligible_reference_percent": { + "majmin": 93.87347199893607 + } + }, + "official_span": { + "summary": { + "n": 113, + "total_duration": 25001.115999999998, + "majmin_macro": 0.5209938369294852, + "majmin": 0.5126128017660908 + }, + "percent": { + "majmin_macro": 52.09938369294852, + "majmin": 51.261280176609084 + }, + "corpus_eligible_duration_weighted_percent": { + "majmin": 51.45182508921186 + }, + "eligible_reference_seconds": { + "majmin": 23469.975999999995 + }, + "eligible_reference_percent": { + "majmin": 93.87571338815434 + } + } + } + }, + "pending_models": [], + "date": "2026-09-16", + "dataset_citation": "https://doi.org/10.5281/zenodo.1291834", + "annotation_commit": "6fec3f6dd1d60c21cf9af855ea173be38e6d7243", + "model_provenance": { + "ChordFormer": { + "code_commit": "3da11c078c802b3f5a2ff0f6f8ec184a41537844", + "inference": "five released Chords1217 models; component-probability ensemble; official HMM; submission vocabulary" + }, + "SheetSage2-Prober": { + "checkpoint_sha256": "a9148c5117e237a551d454fe2f9ddf59e11c9d094e6fd195feb25819d882d211", + "inference": "fixed checkpoint; 300-second windows; BF16; batch size 1; native predicted beats; zero global offset" + }, + "SheetSage2-AR": { + "checkpoint_sha256": "aa399ee6090d78154e9eaa61df27272fecb8014190d0cc02e0b4f7f7271c65b2", + "inference": "fixed paper checkpoint; 300-second windows; 100-second overlap; predicted-prefix carry; BF16 autocast; FP32 weights; greedy; 5120-token limit", + "prompts": [ + "timestamp", + "downbeat_meter", + "chord_full" + ] + }, + "SheetSage1": { + "inference": "released Jukebox-based model; automatic beats; six-measure chunks with four-/two-measure fallback; native structured harmony outputs" + }, + "madmom": { + "inference": "released CNN chord features and CRF chord decoder; default 10-Hz decoding; major/minor/no-chord vocabulary" + } + }, + "foundation_checkpoint_sha256": "9011e52d49b430123583c5560f13398e56280539f9e635b985009f12043cea58", + "reference_policy": "Intersect each official annotation with its WAV span. Do not extend shorter annotations or remove tracks. Weight per-track recall by the entire evaluated reference span, not only metric-eligible duration.", + "limitations": [ + "Reported model differences are point estimates for the evaluated models and recordings; they do not establish statistical significance.", + "Two of 132 AR windows hit the token limit and use the existing incomplete-event recovery; all 113 tracks are included.", + "No title/performer match with Chords1217 was found; this is not a corpus-wide audio-fingerprint or foundation-pretraining audit." + ] +} diff --git a/benchmarks/jaah_statistics.json b/benchmarks/jaah_statistics.json new file mode 100644 index 0000000000000000000000000000000000000000..4c27aad534c580a28303c93dd01cd6fa30ce5b7c --- /dev/null +++ b/benchmarks/jaah_statistics.json @@ -0,0 +1,48 @@ +{ + "method": "Reference-span-weighted per-track Maj/min point estimates and paired differences", + "n": 113, + "models": { + "ChordFormer": { + "majmin": { + "percent": 59.44669210290719 + } + }, + "SheetSage2-Prober": { + "majmin": { + "percent": 62.94130449403118 + } + }, + "SheetSage2-AR": { + "majmin": { + "percent": 64.50302704985715 + } + }, + "SheetSage1": { + "majmin": { + "percent": 39.77021069918738 + } + }, + "madmom": { + "majmin": { + "percent": 51.24246945353549 + } + } + }, + "paired_differences": { + "SheetSage2-AR minus ChordFormer": { + "majmin": { + "percent": 5.056334946949961 + } + }, + "SheetSage2-Prober minus ChordFormer": { + "majmin": { + "percent": 3.4946123911239906 + } + }, + "SheetSage2-AR minus SheetSage2-Prober": { + "majmin": { + "percent": 1.5617225558259702 + } + } + } +} diff --git a/benchmarks/rock_corpus.md b/benchmarks/rock_corpus.md new file mode 100644 index 0000000000000000000000000000000000000000..86bc7ab2ec4a3b4857f731f590db8100844d10a8 --- /dev/null +++ b/benchmarks/rock_corpus.md @@ -0,0 +1,33 @@ +# Rock Corpus vocal melody benchmark + +Vocal melody transcription on all 200 recordings in Rock Corpus (RS 200). +The [official timed vocal-note lists](https://rockcorpus.midside.com/melodic_transcriptions.html) +provide note onsets and pitches; note offsets are not evaluated. + +| Model | Vocal pitch-class note F1 (%) | +|---|---:| +| SheetSage1 | 49.19 | +| SheetSage2-AR | **67.08** | + +Scores are the mean of per-recording F1 over all 200 recordings. The six +recordings whose references contain no pitched notes receive zero F1 and +remain in the mean. Matching uses a 50-ms onset tolerance and a 50-cent pitch +tolerance after folding MIDI pitches modulo 12, without offset matching. +All models use the same references and recordings. These are point estimates. + +SheetSage1 uses its released Jukebox-based model and automatic beats, with +six-measure chunks and the existing four-/two-measure fallback. Its single +melody output is compared with the vocal reference. SheetSage2-AR uses the +fixed validation-selected paper model, 300-second windows with 100-second +overlap, predicted-prefix carry, and the `timestamp`, `downbeat_meter`, +`melody_vocal` prompts. No checkpoints or inference settings are tuned on +these annotations. No output time alignment, octave correction, or annotation +correction is applied. + +Reference onsets within each measure derive from metrical positions and bar +timestamps. Fine timing inaccuracies can therefore affect the 50-ms F1. +Reference note-end estimates do not enter the metric. + +- [Full-precision scores and scoring protocol](rock_corpus_results.json) +- [Per-recording scores](rock_corpus_per_song.csv): 400 rows, two models × 200 recordings; F1 is on a 0–1 scale. +- [Paper inference settings](../benchmark_results.json) diff --git a/benchmarks/rock_corpus_per_song.csv b/benchmarks/rock_corpus_per_song.csv new file mode 100644 index 0000000000000000000000000000000000000000..06ab9b915bcf228d4aac96ea8ce20b540b280b8f --- /dev/null +++ b/benchmarks/rock_corpus_per_song.csv @@ -0,0 +1,401 @@ +model,track,precision,recall,f1,matched_notes,reference_notes,estimated_notes +SheetSage1,1999,0.5740365111561866,0.48211243611584326,0.5240740740740741,283,587,493 +SheetSage1,a_change_is_gonna_come,0.6103896103896104,0.17407407407407408,0.2708933717579251,47,270,77 +SheetSage1,a_day_in_the_life,0.6170886075949367,0.6112852664576802,0.6141732283464567,195,319,316 +SheetSage1,a_hard_days_night,0.7164634146341463,0.7679738562091504,0.7413249211356467,235,306,328 +SheetSage1,a_whiter_shade_of_pale,0.4028268551236749,0.49137931034482757,0.44271844660194165,114,232,283 +SheetSage1,all_along_the_watchtower,0.3075,0.6910112359550562,0.42560553633217996,123,178,400 +SheetSage1,all_apologies,0.6151202749140894,0.6302816901408451,0.622608695652174,179,284,291 +SheetSage1,all_i_have_to_do_is_dream,0.8577405857740585,0.82,0.838445807770961,205,250,239 +SheetSage1,anarchy_in_the_uk,0.611764705882353,0.6446280991735537,0.6277665995975854,156,242,255 +SheetSage1,back_in_black,0.2376599634369287,0.436241610738255,0.3076923076923077,130,298,547 +SheetSage1,be-bop-a-lula,0.42857142857142855,0.610909090909091,0.5037481259370316,168,275,392 +SheetSage1,be_my_baby,0.576036866359447,0.5656108597285068,0.5707762557077626,125,221,217 +SheetSage1,billie_jean,0.01430615164520744,0.019646365422396856,0.016556291390728475,10,509,699 +SheetSage1,bitter_sweet_symphony,0.6035502958579881,0.6784922394678492,0.6388308977035491,306,451,507 +SheetSage1,bizarre_love_triangle,0.16947648624667258,0.7234848484848485,0.27462257368799425,191,264,1127 +SheetSage1,blitzkrieg_bop,0.7757009345794392,0.7477477477477478,0.7614678899082569,166,222,214 +SheetSage1,blowin_in_the_wind,0.573170731707317,0.4034334763948498,0.473551637279597,94,233,164 +SheetSage1,blue_suede_shoes,0.38285714285714284,0.5134099616858238,0.43862520458265136,134,261,350 +SheetSage1,blueberry_hill,0.6099290780141844,0.6013986013986014,0.6056338028169014,86,143,141 +SheetSage1,bo_diddley,0.5714285714285714,0.4864864864864865,0.5255474452554744,72,148,126 +SheetSage1,bohemian_rhapsody,0.4247787610619469,0.4452690166975881,0.43478260869565216,240,539,565 +SheetSage1,born_to_be_wild,0.6212624584717608,0.7083333333333334,0.6619469026548671,187,264,301 +SheetSage1,born_to_run,0.5604770017035775,0.7075268817204301,0.6254752851711027,329,465,587 +SheetSage1,both_sides_now,0.7408536585365854,0.7189349112426036,0.7297297297297297,243,338,328 +SheetSage1,bridge_over_troubled_water,0.4962686567164179,0.5911111111111111,0.539553752535497,133,225,268 +SheetSage1,brown_eyed_girl,0.5231316725978647,0.49830508474576274,0.5104166666666667,147,295,281 +SheetSage1,california_dreamin,0.3180428134556575,0.6582278481012658,0.42886597938144333,104,158,327 +SheetSage1,california_girls,0.27491408934707906,0.35555555555555557,0.310077519379845,80,225,291 +SheetSage1,california_love,0.4788732394366197,0.4322033898305085,0.4543429844097996,102,236,213 +SheetSage1,cathys_clown,0.8086124401913876,0.7511111111111111,0.7788018433179723,169,225,209 +SheetSage1,changes,0.584717607973422,0.4808743169398907,0.527736131934033,176,366,301 +SheetSage1,come_as_you_are,0.44274809160305345,0.75,0.5568,174,232,393 +SheetSage1,crazy,0.37815126050420167,0.26011560693641617,0.3082191780821918,45,173,119 +SheetSage1,crying,0.6919191919191919,0.6715686274509803,0.681592039800995,137,204,198 +SheetSage1,da_doo_ron_ron,0.23106060606060605,0.21554770318021202,0.22303473491773307,61,283,264 +SheetSage1,dancing_in_the_street,0.6583850931677019,0.6180758017492711,0.6375939849624059,212,343,322 +SheetSage1,dancing_queen,0.7444794952681388,0.7840531561461794,0.7637540453074434,236,301,317 +SheetSage1,dont_worry_baby,0.6940298507462687,0.8017241379310345,0.7439999999999999,186,232,268 +SheetSage1,dream_on,0.5208333333333334,0.5528255528255528,0.5363528009535161,225,407,432 +SheetSage1,earth_angel,0.3787878787878788,0.1976284584980237,0.25974025974025977,50,253,132 +SheetSage1,eight_miles_high,0.09643605870020965,0.4339622641509434,0.15780445969125212,46,106,477 +SheetSage1,eleanor_rigby,0.8324324324324325,0.616,0.7080459770114942,154,250,185 +SheetSage1,enter_sandman,0.2107843137254902,0.7350427350427351,0.32761904761904764,172,234,816 +SheetSage1,every_breath_you_take,0.023148148148148147,0.035842293906810034,0.02812939521800281,10,279,432 +SheetSage1,everyday_people,0.8137651821862348,0.7077464788732394,0.7570621468926554,201,284,247 +SheetSage1,fake_plastic_trees,0.8115183246073299,0.7142857142857143,0.7598039215686274,155,217,191 +SheetSage1,family_affair,0.5164319248826291,0.3971119133574007,0.4489795918367347,110,277,213 +SheetSage1,fast_car,0.632051282051282,0.7481031866464339,0.6851980542043086,493,659,780 +SheetSage1,folsom_prison_blues,0.19148936170212766,0.19148936170212766,0.19148936170212763,45,235,235 +SheetSage1,for_what_its_worth,0.6027397260273972,0.6616541353383458,0.6308243727598566,176,266,292 +SheetSage1,fortunate_son,0.5769230769230769,0.4669260700389105,0.5161290322580646,120,257,208 +SheetSage1,foxey_lady,0.0,0.0,0.0,0,0,205 +SheetSage1,free_fallin,0.7558139534883721,0.78,0.7677165354330708,195,250,258 +SheetSage1,georgia_on_my_mind,0.24427480916030533,0.15841584158415842,0.1921921921921922,32,202,131 +SheetSage1,gimme_shelter,0.24345146379044685,0.5563380281690141,0.33869239013933544,158,284,649 +SheetSage1,go_your_own_way,0.5284552845528455,0.49429657794676807,0.5108055009823183,130,263,246 +SheetSage1,god_only_knows,0.23655913978494625,0.3384615384615385,0.27848101265822783,66,195,279 +SheetSage1,god_save_the_queen,0.0,0.0,0.0,0,0,334 +SheetSage1,good_golly_miss_molly,0.4577259475218659,0.6541666666666667,0.5385934819897085,157,240,343 +SheetSage1,good_vibrations,0.453125,0.4517133956386293,0.452418096723869,145,321,320 +SheetSage1,great_balls_of_fire,0.3781818181818182,0.4094488188976378,0.39319470699432896,104,254,275 +SheetSage1,hallelujah,0.34959349593495936,0.2938496583143508,0.3193069306930693,129,439,369 +SheetSage1,heartbreak_hotel,0.3054187192118227,0.21754385964912282,0.2540983606557377,62,285,203 +SheetSage1,help,0.7204610951008645,0.7552870090634441,0.7374631268436579,250,331,347 +SheetSage1,heroes,0.5017543859649123,0.4612903225806452,0.48067226890756304,143,310,285 +SheetSage1,hey_jude,0.734,0.6911487758945386,0.711930164888458,367,531,500 +SheetSage1,honky_tonk_women,0.35233160621761656,0.3675675675675676,0.3597883597883598,68,185,193 +SheetSage1,hot_stuff,0.47412587412587415,0.7121848739495799,0.5692695214105794,339,476,715 +SheetSage1,hotel_california,0.35427394438722964,0.7765237020316027,0.48656294200848654,344,443,971 +SheetSage1,hound_dog,0.32567049808429116,0.3244274809160305,0.32504780114722753,85,262,261 +SheetSage1,house_of_the_rising_sun,0.27,0.42408376963350786,0.32993890020366606,81,191,300 +SheetSage1,i_believe_i_can_fly,0.6872852233676976,0.3875968992248062,0.4956629491945478,200,516,291 +SheetSage1,i_cant_make_you_love_me,0.6177606177606177,0.6015037593984962,0.6095238095238095,160,266,259 +SheetSage1,i_cant_stop_loving_you,0.41545893719806765,0.26380368098159507,0.3227016885553471,86,326,207 +SheetSage1,i_fought_the_law,0.70042194092827,0.8058252427184466,0.7494356659142212,166,206,237 +SheetSage1,i_got_you,0.3067226890756303,0.26838235294117646,0.2862745098039216,73,272,238 +SheetSage1,i_heard_it_through_the_grapevine,0.654228855721393,0.7897897897897898,0.7156462585034012,263,333,402 +SheetSage1,i_only_have_eyes_for_you,0.43333333333333335,0.20155038759689922,0.2751322751322751,26,129,60 +SheetSage1,i_saw_her_standing_there,0.575187969924812,0.6566523605150214,0.6132264529058116,153,233,266 +SheetSage1,i_still_havent_found_what_im_looking_for,0.595166163141994,0.718978102189781,0.6512396694214876,197,274,331 +SheetSage1,i_walk_the_line,0.5708333333333333,0.6715686274509803,0.6171171171171171,137,204,240 +SheetSage1,i_wanna_be_sedated,0.752913752913753,0.8239795918367347,0.7868453105968332,323,392,429 +SheetSage1,i_want_to_hold_your_hand,0.8097345132743363,0.7065637065637066,0.7546391752577319,183,259,226 +SheetSage1,i_want_you_back,0.5736196319018405,0.5598802395209581,0.5666666666666668,187,334,326 +SheetSage1,im_so_lonesome_i_could_cry,0.29207920792079206,0.3597560975609756,0.3224043715846995,59,164,202 +SheetSage1,im_waiting_for_the_man,0.2552083333333333,0.4066390041493776,0.31359999999999993,98,241,384 +SheetSage1,imagine,0.6933962264150944,0.6681818181818182,0.6805555555555556,147,220,212 +SheetSage1,in_bloom,0.7287066246056783,0.8048780487804879,0.7649006622516556,231,287,317 +SheetSage1,in_my_life,0.5015673981191222,0.7619047619047619,0.604914933837429,160,210,319 +SheetSage1,in_the_midnight_hour,0.49572649572649574,0.48535564853556484,0.4904862579281184,116,239,234 +SheetSage1,in_the_still_of_the_night,0.2968036529680365,0.32019704433497537,0.30805687203791465,65,203,219 +SheetSage1,its_a_mans_mans_mans_world,0.46153846153846156,0.20512820512820512,0.2840236686390532,48,234,104 +SheetSage1,ive_been_loving_you_too_long,0.4318181818181818,0.14671814671814673,0.21902017291066284,38,259,88 +SheetSage1,jailhouse_rock,0.6142433234421365,0.5214105793450882,0.564032697547684,207,397,337 +SheetSage1,johnny_b_goode,0.4295652173913043,0.8430034129692833,0.5691244239631336,247,293,575 +SheetSage1,jumpin_jack_flash,0.38197424892703863,0.42788461538461536,0.4036281179138322,89,208,233 +SheetSage1,kashmir,0.17101449275362318,0.1372093023255814,0.15225806451612903,59,430,345 +SheetSage1,layla,0.07288135593220339,0.17131474103585656,0.10225921521997623,43,251,590 +SheetSage1,let_it_be,0.5842696629213483,0.6099706744868035,0.5968436154949786,208,341,356 +SheetSage1,lets_get_it_on,0.6619385342789598,0.5656565656565656,0.6100217864923747,280,495,423 +SheetSage1,lets_stay_together,0.7478991596638656,0.5741935483870968,0.6496350364963503,178,310,238 +SheetSage1,light_my_fire,0.18091451292246521,0.7109375,0.2884310618066561,182,256,1006 +SheetSage1,like_a_rolling_stone,0.6601671309192201,0.4778225806451613,0.5543859649122808,237,496,359 +SheetSage1,little_red_corvette,0.5687103594080338,0.4686411149825784,0.5138490926456541,269,574,473 +SheetSage1,living_for_the_city,0.39892665474060823,0.4207547169811321,0.4095500459136822,223,530,559 +SheetSage1,london_calling,0.4086687306501548,0.37606837606837606,0.3916913946587537,132,351,323 +SheetSage1,long_tall_sally,0.5656836461126006,0.65527950310559,0.6071942446043166,211,322,373 +SheetSage1,lose_yourself,0.4666666666666667,0.5313531353135313,0.4969135802469136,161,303,345 +SheetSage1,loser,0.21779141104294478,0.4930555555555556,0.3021276595744681,71,144,326 +SheetSage1,losing_my_religion,0.6751412429378532,0.746875,0.7091988130563799,239,320,354 +SheetSage1,louie_louie,0.4424778761061947,0.5263157894736842,0.4807692307692308,150,285,339 +SheetSage1,love_and_happiness,0.44368600682593856,0.3002309468822171,0.35812672176308546,130,433,293 +SheetSage1,love_will_tear_us_apart,0.5656565656565656,0.6120218579234973,0.5879265091863517,112,183,198 +SheetSage1,lust_for_life,0.4351464435146444,0.5226130653266332,0.4748858447488585,208,398,478 +SheetSage1,maggie_may,0.3994082840236686,0.6818181818181818,0.503731343283582,270,396,676 +SheetSage1,maybellene,0.48427672955974843,0.40848806366047746,0.4431654676258993,154,377,318 +SheetSage1,me_and_bobby_mcgee,0.5352112676056338,0.5428571428571428,0.5390070921985815,304,560,568 +SheetSage1,mr_tambourine_man_byrds,0.34121621621621623,0.48095238095238096,0.39920948616600793,101,210,296 +SheetSage1,mr_tambourine_man_dylan,0.6208112874779541,0.565008025682183,0.5915966386554622,352,623,567 +SheetSage1,my_generation,0.3333333333333333,0.24380165289256198,0.2816229116945107,59,242,177 +SheetSage1,my_girl,0.6451612903225806,0.449438202247191,0.5298013245033112,120,267,186 +SheetSage1,mystery_train,0.46464646464646464,0.26436781609195403,0.336996336996337,46,174,99 +SheetSage1,no_woman_no_cry,0.5934065934065934,0.7714285714285715,0.6708074534161491,270,350,455 +SheetSage1,norwegian_wood,0.56875,0.6791044776119403,0.619047619047619,91,134,160 +SheetSage1,not_fade_away,0.2733812949640288,0.22485207100591717,0.24675324675324678,38,169,139 +SheetSage1,nothing_compares_2_u,0.631578947368421,0.5075528700906344,0.5628140703517587,168,331,266 +SheetSage1,nuthin_but_a_g_thang,0.0,0.0,0.0,0,0,11 +SheetSage1,one,0.5601503759398496,0.46855345911949686,0.5102739726027397,149,318,266 +SheetSage1,paint_it_black,0.47554347826086957,0.38802660753880264,0.42735042735042733,175,451,368 +SheetSage1,papa_was_a_rollin_stone,0.4388059701492537,0.5568181818181818,0.49081803005008345,294,528,670 +SheetSage1,papas_got_a_brand_new_bag,0.5147058823529411,0.4525862068965517,0.48165137614678893,105,232,204 +SheetSage1,paranoid_android,0.36312849162011174,0.5579399141630901,0.4399323181049069,130,233,358 +SheetSage1,people_get_ready,0.5816326530612245,0.5876288659793815,0.5846153846153846,114,194,196 +SheetSage1,please_please_please,0.6565656565656566,0.23214285714285715,0.34300791556728233,65,280,99 +SheetSage1,proud_mary,0.5449275362318841,0.8209606986899564,0.6550522648083623,188,229,345 +SheetSage1,purple_haze,0.2103448275862069,0.6039603960396039,0.31202046035805625,61,101,290 +SheetSage1,purple_rain,0.29280397022332505,0.33053221288515405,0.31052631578947365,118,357,403 +SheetSage1,rave_on,0.6588235294117647,0.7533632286995515,0.7029288702928871,168,223,255 +SheetSage1,redemption_song,0.7647058823529411,0.7673611111111112,0.7660311958405547,221,288,289 +SheetSage1,respect,0.43508771929824563,0.5040650406504065,0.4670433145009416,124,246,285 +SheetSage1,ring_of_fire,0.5920398009950248,0.5336322869955157,0.5613207547169812,119,223,201 +SheetSage1,river_deep_mountain_high,0.4555160142348754,0.35555555555555557,0.3993759750390016,128,360,281 +SheetSage1,rock_and_roll_music,0.8134715025906736,0.7040358744394619,0.7548076923076923,314,446,386 +SheetSage1,rock_around_the_clock,0.3671399594320487,0.6053511705685619,0.45707070707070707,181,299,493 +SheetSage1,rock_lobster,0.0,0.0,0.0,0,0,659 +SheetSage1,rockin_in_the_free_world,0.5546558704453441,0.8726114649681529,0.6782178217821783,274,314,494 +SheetSage1,roll_over_beethoven,0.49448123620309054,0.6746987951807228,0.5707006369426751,224,332,453 +SheetSage1,sabotage,0.0,0.0,0.0,0,0,344 +SheetSage1,satisfaction,0.6346666666666667,0.6704225352112676,0.6520547945205479,238,355,375 +SheetSage1,september_gurls,0.5836734693877551,0.7185929648241206,0.6441441441441441,143,199,245 +SheetSage1,shake_rattle_and_roll,0.4813664596273292,0.49363057324840764,0.4874213836477987,155,314,322 +SheetSage1,she_loves_you,0.7522123893805309,0.6513409961685823,0.6981519507186859,170,261,226 +SheetSage1,should_i_stay_or_should_i_go,0.540625,0.6156583629893239,0.5757071547420965,173,281,320 +SheetSage1,shout,0.5423728813559322,0.48792884371029227,0.5137123745819397,384,787,708 +SheetSage1,smells_like_teen_spirit,0.5904761904761905,0.7828282828282829,0.6731813246471227,310,396,525 +SheetSage1,stairway_to_heaven,0.4304857621440536,0.5376569037656904,0.4781395348837209,257,478,597 +SheetSage1,stand_by_me,0.5276752767527675,0.6217391304347826,0.5708582834331337,143,230,271 +SheetSage1,strawberry_fields_forever,0.522633744855967,0.4601449275362319,0.48940269749518295,127,276,243 +SheetSage1,summer_babe,0.2677165354330709,0.3285024154589372,0.2950108459869848,68,207,254 +SheetSage1,summertime_blues,0.6912442396313364,0.6198347107438017,0.6535947712418301,150,242,217 +SheetSage1,sunshine_of_your_love,0.3782051282051282,0.4521072796934866,0.41186736474694585,118,261,312 +SheetSage1,superstition,0.311787072243346,0.5942028985507246,0.4089775561097257,164,276,526 +SheetSage1,suspicious_minds,0.6289855072463768,0.48764044943820223,0.5493670886075949,217,445,345 +SheetSage1,sweet_child_o_mine,0.3131188118811881,0.6421319796954315,0.4209650582362729,253,394,808 +SheetSage1,sympathy_for_the_devil,0.4467455621301775,0.29206963249516443,0.3532163742690059,151,517,338 +SheetSage1,take_me_to_the_river,0.6022408963585434,0.6456456456456456,0.6231884057971014,215,333,357 +SheetSage1,tangled_up_in_blue,0.6297814207650273,0.6255088195386703,0.627637848876787,461,737,732 +SheetSage1,tears_in_heaven,0.680672268907563,0.8140703517587939,0.7414187643020594,162,199,238 +SheetSage1,thatll_be_the_day,0.32779097387173395,0.43125,0.3724696356275303,138,320,421 +SheetSage1,thats_all_right,0.4122448979591837,0.5519125683060109,0.47196261682242985,101,183,245 +SheetSage1,the_boxer,0.6766256590509666,0.7432432432432432,0.7083716651333947,385,518,569 +SheetSage1,the_dock_of_the_bay,0.6781115879828327,0.5808823529411765,0.6257425742574259,158,272,233 +SheetSage1,the_message,0.0,0.0,0.0,0,0,367 +SheetSage1,the_sounds_of_silence,0.7857142857142857,0.7385159010600707,0.761384335154827,209,283,266 +SheetSage1,the_times_they_are_a-changin,0.5666666666666667,0.3730407523510972,0.44990548204158787,119,319,210 +SheetSage1,the_tracks_of_my_tears,0.6612377850162866,0.6151515151515151,0.6373626373626373,203,330,307 +SheetSage1,the_weight,0.6882494004796164,0.7103960396039604,0.6991473812423873,287,404,417 +SheetSage1,thunder_road,0.6352,0.720508166969147,0.6751700680272109,397,551,625 +SheetSage1,tutti_frutti,0.4326647564469914,0.3793969849246231,0.40428380187416335,151,398,349 +SheetSage1,up_on_the_roof,0.7640449438202247,0.8869565217391304,0.8209255533199196,204,230,267 +SheetSage1,voodoo_child,0.10721649484536082,0.30952380952380953,0.15926493108728942,52,168,485 +SheetSage1,walk_on_by,0.7750865051903114,0.7671232876712328,0.7710843373493976,224,292,289 +SheetSage1,waterloo_sunset,0.557632398753894,0.7489539748953975,0.6392857142857142,179,239,321 +SheetSage1,whatd_i_say,0.25752508361204013,0.719626168224299,0.3793103448275862,154,214,598 +SheetSage1,whats_going_on,0.6818181818181818,0.5329949238578681,0.5982905982905983,210,394,308 +SheetSage1,when_a_man_loves_a_woman,0.4117647058823529,0.2202797202797203,0.2870159453302961,63,286,153 +SheetSage1,when_doves_cry,0.3637602179836512,0.5668789808917197,0.44315352697095434,267,471,734 +SheetSage1,while_my_guitar_gently_weeps,0.3314285714285714,0.6480446927374302,0.4385633270321361,116,179,350 +SheetSage1,who_do_you_love,0.47214854111405835,0.7206477732793523,0.5705128205128205,178,247,377 +SheetSage1,whole_lotta_love,0.44686648501362397,0.47126436781609193,0.45874125874125876,164,348,367 +SheetSage1,whole_lotta_shakin_goin_on,0.23140495867768596,0.2916666666666667,0.2580645161290323,84,288,363 +SheetSage1,will_you_love_me_tomorrow,0.6106194690265486,0.7301587301587301,0.6650602409638554,138,189,226 +SheetSage1,with_or_without_you,0.5227272727272727,0.828,0.6408668730650153,207,250,396 +SheetSage1,wont_get_fooled_again,0.25845620121422375,0.7321867321867321,0.382051282051282,298,407,1153 +SheetSage1,yesterday,0.8343558282208589,0.7555555555555555,0.7930029154518949,136,180,163 +SheetSage1,you_cant_always_get_what_you_want,0.5850144092219021,0.3717948717948718,0.45464725643896975,203,546,347 +SheetSage1,you_really_got_me,0.40298507462686567,0.41064638783269963,0.4067796610169492,108,263,268 +SheetSage1,you_send_me,0.3684210526315789,0.3462897526501767,0.3570127504553734,98,283,266 +SheetSage1,your_song,0.6835443037974683,0.5567010309278351,0.6136363636363636,216,388,316 +SheetSage1,youve_lost_that_lovin_feelin,0.5276872964169381,0.43548387096774194,0.4771723122238586,162,372,307 +SheetSage2-AR,1999,0.7589041095890411,0.47189097103918226,0.5819327731092437,277,587,365 +SheetSage2-AR,a_change_is_gonna_come,0.6607142857142857,0.4111111111111111,0.5068493150684932,111,270,168 +SheetSage2-AR,a_day_in_the_life,0.7471264367816092,0.8150470219435737,0.7796101949025488,260,319,348 +SheetSage2-AR,a_hard_days_night,0.8285714285714286,0.8529411764705882,0.8405797101449276,261,306,315 +SheetSage2-AR,a_whiter_shade_of_pale,0.6551724137931034,0.5732758620689655,0.6114942528735632,133,232,203 +SheetSage2-AR,all_along_the_watchtower,0.8333333333333334,0.8146067415730337,0.8238636363636364,145,178,174 +SheetSage2-AR,all_apologies,0.8493150684931506,0.8732394366197183,0.861111111111111,248,284,292 +SheetSage2-AR,all_i_have_to_do_is_dream,0.9073359073359073,0.94,0.9233791748526522,235,250,259 +SheetSage2-AR,anarchy_in_the_uk,0.7922705314009661,0.6776859504132231,0.7305122494432071,164,242,207 +SheetSage2-AR,back_in_black,0.8411552346570397,0.7818791946308725,0.8104347826086957,233,298,277 +SheetSage2-AR,be-bop-a-lula,0.65234375,0.6072727272727273,0.6290018832391714,167,275,256 +SheetSage2-AR,be_my_baby,0.5041666666666667,0.5475113122171946,0.5249457700650759,121,221,240 +SheetSage2-AR,billie_jean,0.0,0.0,0.0,0,509,540 +SheetSage2-AR,bitter_sweet_symphony,0.7199074074074074,0.6895787139689579,0.7044167610419027,311,451,432 +SheetSage2-AR,bizarre_love_triangle,0.5880681818181818,0.7840909090909091,0.672077922077922,207,264,352 +SheetSage2-AR,blitzkrieg_bop,0.7757847533632287,0.7792792792792793,0.7775280898876405,173,222,223 +SheetSage2-AR,blowin_in_the_wind,0.6991525423728814,0.7081545064377682,0.7036247334754797,165,233,236 +SheetSage2-AR,blue_suede_shoes,0.6254681647940075,0.6398467432950191,0.6325757575757575,167,261,267 +SheetSage2-AR,blueberry_hill,0.5454545454545454,0.5454545454545454,0.5454545454545454,78,143,143 +SheetSage2-AR,bo_diddley,0.8601398601398601,0.831081081081081,0.8453608247422679,123,148,143 +SheetSage2-AR,bohemian_rhapsody,0.6737044145873321,0.6512059369202227,0.6622641509433963,351,539,521 +SheetSage2-AR,born_to_be_wild,0.8339483394833949,0.8560606060606061,0.8448598130841121,226,264,271 +SheetSage2-AR,born_to_run,0.8686440677966102,0.8817204301075269,0.8751334044823906,410,465,472 +SheetSage2-AR,both_sides_now,0.8948948948948949,0.8816568047337278,0.8882265275707899,298,338,333 +SheetSage2-AR,bridge_over_troubled_water,0.7523364485981309,0.7155555555555555,0.733485193621868,161,225,214 +SheetSage2-AR,brown_eyed_girl,0.8475177304964538,0.8101694915254237,0.8284228769497402,239,295,282 +SheetSage2-AR,california_dreamin,0.49230769230769234,0.810126582278481,0.6124401913875599,128,158,260 +SheetSage2-AR,california_girls,0.425,0.4533333333333333,0.43870967741935485,102,225,240 +SheetSage2-AR,california_love,0.812206572769953,0.7330508474576272,0.7706013363028953,173,236,213 +SheetSage2-AR,cathys_clown,0.8854625550660793,0.8933333333333333,0.8893805309734514,201,225,227 +SheetSage2-AR,changes,0.7723342939481268,0.73224043715847,0.7517531556802244,268,366,347 +SheetSage2-AR,come_as_you_are,0.8528138528138528,0.8491379310344828,0.8509719222462203,197,232,231 +SheetSage2-AR,crazy,0.3356643356643357,0.2774566473988439,0.30379746835443033,48,173,143 +SheetSage2-AR,crying,0.8669724770642202,0.9264705882352942,0.8957345971563981,189,204,218 +SheetSage2-AR,da_doo_ron_ron,0.43209876543209874,0.3710247349823322,0.39923954372623577,105,283,243 +SheetSage2-AR,dancing_in_the_street,0.7614213197969543,0.8746355685131195,0.8141112618724559,300,343,394 +SheetSage2-AR,dancing_queen,0.838006230529595,0.893687707641196,0.864951768488746,269,301,321 +SheetSage2-AR,dont_worry_baby,0.7253521126760564,0.8879310344827587,0.7984496124031009,206,232,284 +SheetSage2-AR,dream_on,0.8688946015424165,0.8304668304668305,0.8492462311557789,338,407,389 +SheetSage2-AR,earth_angel,0.3288888888888889,0.2924901185770751,0.3096234309623431,74,253,225 +SheetSage2-AR,eight_miles_high,0.7647058823529411,0.8584905660377359,0.8088888888888889,91,106,119 +SheetSage2-AR,eleanor_rigby,0.9801587301587301,0.988,0.9840637450199202,247,250,252 +SheetSage2-AR,enter_sandman,0.8942307692307693,0.7948717948717948,0.8416289592760181,186,234,208 +SheetSage2-AR,every_breath_you_take,0.0,0.0,0.0,0,279,418 +SheetSage2-AR,everyday_people,0.8985507246376812,0.8732394366197183,0.8857142857142857,248,284,276 +SheetSage2-AR,fake_plastic_trees,0.9245283018867925,0.9032258064516129,0.9137529137529137,196,217,212 +SheetSage2-AR,family_affair,0.9587628865979382,0.33574007220216606,0.49732620320855614,93,277,97 +SheetSage2-AR,fast_car,0.9038759689922481,0.8846737481031867,0.8941717791411044,583,659,645 +SheetSage2-AR,folsom_prison_blues,0.1038961038961039,0.10212765957446808,0.10300429184549355,24,235,231 +SheetSage2-AR,for_what_its_worth,0.7849056603773585,0.7819548872180451,0.783427495291902,208,266,265 +SheetSage2-AR,fortunate_son,0.6506024096385542,0.6303501945525292,0.6403162055335968,162,257,249 +SheetSage2-AR,foxey_lady,0.0,0.0,0.0,0,0,26 +SheetSage2-AR,free_fallin,0.7518796992481203,0.8,0.7751937984496123,200,250,266 +SheetSage2-AR,georgia_on_my_mind,0.3490566037735849,0.18316831683168316,0.24025974025974023,37,202,106 +SheetSage2-AR,gimme_shelter,0.6932153392330384,0.8274647887323944,0.754414125200642,235,284,339 +SheetSage2-AR,go_your_own_way,0.8547008547008547,0.7604562737642585,0.8048289738430583,200,263,234 +SheetSage2-AR,god_only_knows,0.2976190476190476,0.38461538461538464,0.33557046979865773,75,195,252 +SheetSage2-AR,god_save_the_queen,0.0,0.0,0.0,0,0,205 +SheetSage2-AR,good_golly_miss_molly,0.7309236947791165,0.7583333333333333,0.7443762781186094,182,240,249 +SheetSage2-AR,good_vibrations,0.48184818481848185,0.45482866043613707,0.46794871794871795,146,321,303 +SheetSage2-AR,great_balls_of_fire,0.5976331360946746,0.39763779527559057,0.4775413711583924,101,254,169 +SheetSage2-AR,hallelujah,0.6480186480186481,0.6332574031890661,0.6405529953917051,278,439,429 +SheetSage2-AR,heartbreak_hotel,0.326271186440678,0.27017543859649124,0.2955854126679463,77,285,236 +SheetSage2-AR,help,0.8488372093023255,0.8821752265861027,0.8651851851851852,292,331,344 +SheetSage2-AR,heroes,0.7403846153846154,0.7451612903225806,0.7427652733118971,231,310,312 +SheetSage2-AR,hey_jude,0.7206405693950177,0.7627118644067796,0.7410795974382433,405,531,562 +SheetSage2-AR,honky_tonk_women,0.6021505376344086,0.6054054054054054,0.6037735849056605,112,185,186 +SheetSage2-AR,hot_stuff,0.8833333333333333,0.8907563025210085,0.8870292887029289,424,476,480 +SheetSage2-AR,hotel_california,0.801255230125523,0.8645598194130926,0.8317046688382193,383,443,478 +SheetSage2-AR,hound_dog,0.47307692307692306,0.46946564885496184,0.47126436781609193,123,262,260 +SheetSage2-AR,house_of_the_rising_sun,0.765,0.8010471204188482,0.7826086956521738,153,191,200 +SheetSage2-AR,i_believe_i_can_fly,0.7943722943722944,0.7112403100775194,0.7505112474437627,367,516,462 +SheetSage2-AR,i_cant_make_you_love_me,0.8715953307392996,0.8421052631578947,0.8565965583173996,224,266,257 +SheetSage2-AR,i_cant_stop_loving_you,0.348,0.2668711656441718,0.3020833333333333,87,326,250 +SheetSage2-AR,i_fought_the_law,0.8853211009174312,0.9368932038834952,0.910377358490566,193,206,218 +SheetSage2-AR,i_got_you,0.5613382899628253,0.5551470588235294,0.5582255083179297,151,272,269 +SheetSage2-AR,i_heard_it_through_the_grapevine,0.66,0.7927927927927928,0.7203274215552523,264,333,400 +SheetSage2-AR,i_only_have_eyes_for_you,0.4755244755244755,0.5271317829457365,0.5000000000000001,68,129,143 +SheetSage2-AR,i_saw_her_standing_there,0.7403100775193798,0.8197424892703863,0.7780040733197556,191,233,258 +SheetSage2-AR,i_still_havent_found_what_im_looking_for,0.9119718309859155,0.9452554744525548,0.9283154121863799,259,274,284 +SheetSage2-AR,i_walk_the_line,0.7692307692307693,0.7352941176470589,0.7518796992481205,150,204,195 +SheetSage2-AR,i_wanna_be_sedated,0.9537275064267352,0.9464285714285714,0.9500640204865557,371,392,389 +SheetSage2-AR,i_want_to_hold_your_hand,0.8634686346863468,0.9034749034749034,0.8830188679245283,234,259,271 +SheetSage2-AR,i_want_you_back,0.794425087108014,0.6826347305389222,0.7342995169082127,228,334,287 +SheetSage2-AR,im_so_lonesome_i_could_cry,0.4715447154471545,0.35365853658536583,0.40418118466898956,58,164,123 +SheetSage2-AR,im_waiting_for_the_man,0.6804123711340206,0.5477178423236515,0.606896551724138,132,241,194 +SheetSage2-AR,imagine,0.875,0.8590909090909091,0.8669724770642202,189,220,216 +SheetSage2-AR,in_bloom,0.9288135593220339,0.9547038327526133,0.9415807560137457,274,287,295 +SheetSage2-AR,in_my_life,0.8842592592592593,0.9095238095238095,0.8967136150234741,191,210,216 +SheetSage2-AR,in_the_midnight_hour,0.8214285714285714,0.4811715481171548,0.6068601583113457,115,239,140 +SheetSage2-AR,in_the_still_of_the_night,0.6683417085427136,0.6551724137931034,0.6616915422885572,133,203,199 +SheetSage2-AR,its_a_mans_mans_mans_world,0.6129032258064516,0.0811965811965812,0.14339622641509434,19,234,31 +SheetSage2-AR,ive_been_loving_you_too_long,0.6853932584269663,0.23552123552123552,0.3505747126436782,61,259,89 +SheetSage2-AR,jailhouse_rock,0.8054862842892768,0.8136020151133502,0.8095238095238095,323,397,401 +SheetSage2-AR,johnny_b_goode,0.8733766233766234,0.9180887372013652,0.8951747088186357,269,293,308 +SheetSage2-AR,jumpin_jack_flash,0.7389162561576355,0.7211538461538461,0.7299270072992701,150,208,203 +SheetSage2-AR,kashmir,0.5617021276595745,0.30697674418604654,0.3969924812030075,132,430,235 +SheetSage2-AR,layla,0.6142131979695431,0.4820717131474104,0.5401785714285714,121,251,197 +SheetSage2-AR,let_it_be,0.8209366391184573,0.873900293255132,0.8465909090909092,298,341,363 +SheetSage2-AR,lets_get_it_on,0.8156424581005587,0.29494949494949496,0.4332344213649852,146,495,179 +SheetSage2-AR,lets_stay_together,0.8614232209737828,0.7419354838709677,0.7972270363951472,230,310,267 +SheetSage2-AR,light_my_fire,0.7692307692307693,0.7421875,0.7554671968190856,190,256,247 +SheetSage2-AR,like_a_rolling_stone,0.7255520504731862,0.4637096774193548,0.5658056580565805,230,496,317 +SheetSage2-AR,little_red_corvette,0.7557077625570776,0.5766550522648084,0.6541501976284585,331,574,438 +SheetSage2-AR,living_for_the_city,0.5146831530139103,0.6283018867924528,0.5658453695836874,333,530,647 +SheetSage2-AR,london_calling,0.4011627906976744,0.39316239316239315,0.3971223021582734,138,351,344 +SheetSage2-AR,long_tall_sally,0.7813504823151125,0.7546583850931677,0.7677725118483412,243,322,311 +SheetSage2-AR,lose_yourself,0.0,0.0,0.0,0,303,0 +SheetSage2-AR,loser,0.8947368421052632,0.9444444444444444,0.918918918918919,136,144,152 +SheetSage2-AR,losing_my_religion,0.8865671641791045,0.928125,0.9068702290076337,297,320,335 +SheetSage2-AR,louie_louie,0.8,0.7719298245614035,0.7857142857142858,220,285,275 +SheetSage2-AR,love_and_happiness,0.7572815533980582,0.18013856812933027,0.291044776119403,78,433,103 +SheetSage2-AR,love_will_tear_us_apart,0.8315217391304348,0.8360655737704918,0.8337874659400545,153,183,184 +SheetSage2-AR,lust_for_life,0.48055555555555557,0.43467336683417085,0.45646437994722955,173,398,360 +SheetSage2-AR,maggie_may,0.8407960199004975,0.8535353535353535,0.8471177944862155,338,396,402 +SheetSage2-AR,maybellene,0.5965909090909091,0.5570291777188329,0.5761316872427983,210,377,352 +SheetSage2-AR,me_and_bobby_mcgee,0.8072916666666666,0.8303571428571429,0.8186619718309859,465,560,576 +SheetSage2-AR,mr_tambourine_man_byrds,0.6181818181818182,0.6476190476190476,0.6325581395348837,136,210,220 +SheetSage2-AR,mr_tambourine_man_dylan,0.7260869565217392,0.8041733547351525,0.7631378522467631,501,623,690 +SheetSage2-AR,my_generation,0.3377049180327869,0.4256198347107438,0.37659963436928706,103,242,305 +SheetSage2-AR,my_girl,0.7558139534883721,0.4868913857677903,0.592255125284738,130,267,172 +SheetSage2-AR,mystery_train,0.7325581395348837,0.7241379310344828,0.7283236994219654,126,174,172 +SheetSage2-AR,no_woman_no_cry,0.8328690807799443,0.8542857142857143,0.8434414668547249,299,350,359 +SheetSage2-AR,norwegian_wood,0.927536231884058,0.9552238805970149,0.9411764705882353,128,134,138 +SheetSage2-AR,not_fade_away,0.7866666666666666,0.6982248520710059,0.7398119122257053,118,169,150 +SheetSage2-AR,nothing_compares_2_u,0.5936507936507937,0.5649546827794562,0.5789473684210525,187,331,315 +SheetSage2-AR,nuthin_but_a_g_thang,0.0,0.0,0.0,0,0,0 +SheetSage2-AR,one,0.636963696369637,0.6069182389937107,0.6215780998389694,193,318,303 +SheetSage2-AR,paint_it_black,0.6914285714285714,0.5365853658536586,0.6042446941323346,242,451,350 +SheetSage2-AR,papa_was_a_rollin_stone,0.7621621621621621,0.5340909090909091,0.6280623608017818,282,528,370 +SheetSage2-AR,papas_got_a_brand_new_bag,0.7185929648241206,0.6163793103448276,0.6635730858468678,143,232,199 +SheetSage2-AR,paranoid_android,0.8905472636815921,0.7682403433476395,0.8248847926267282,179,233,201 +SheetSage2-AR,people_get_ready,0.8027210884353742,0.6082474226804123,0.6920821114369501,118,194,147 +SheetSage2-AR,please_please_please,0.5833333333333334,0.25,0.35000000000000003,70,280,120 +SheetSage2-AR,proud_mary,0.8600823045267489,0.9126637554585153,0.8855932203389831,209,229,243 +SheetSage2-AR,purple_haze,0.65625,0.6237623762376238,0.6395939086294415,63,101,96 +SheetSage2-AR,purple_rain,0.7047619047619048,0.20728291316526612,0.3203463203463204,74,357,105 +SheetSage2-AR,rave_on,0.8597285067873304,0.852017937219731,0.855855855855856,190,223,221 +SheetSage2-AR,redemption_song,0.8566775244299675,0.9131944444444444,0.884033613445378,263,288,307 +SheetSage2-AR,respect,0.29615384615384616,0.3130081300813008,0.3043478260869565,77,246,260 +SheetSage2-AR,ring_of_fire,0.897196261682243,0.8609865470852018,0.8787185354691077,192,223,214 +SheetSage2-AR,river_deep_mountain_high,0.6543535620052771,0.6888888888888889,0.6711772665764546,248,360,379 +SheetSage2-AR,rock_and_roll_music,0.8738532110091743,0.8542600896860987,0.8639455782312925,381,446,436 +SheetSage2-AR,rock_around_the_clock,0.6833333333333333,0.68561872909699,0.684474123539232,205,299,300 +SheetSage2-AR,rock_lobster,0.0,0.0,0.0,0,0,335 +SheetSage2-AR,rockin_in_the_free_world,0.9711538461538461,0.964968152866242,0.9680511182108625,303,314,312 +SheetSage2-AR,roll_over_beethoven,0.6377708978328174,0.6204819277108434,0.6290076335877863,206,332,323 +SheetSage2-AR,sabotage,0.0,0.0,0.0,0,0,0 +SheetSage2-AR,satisfaction,0.8242074927953891,0.8056338028169014,0.8148148148148148,286,355,347 +SheetSage2-AR,september_gurls,0.8407960199004975,0.8492462311557789,0.845,169,199,201 +SheetSage2-AR,shake_rattle_and_roll,0.5574324324324325,0.5254777070063694,0.5409836065573771,165,314,296 +SheetSage2-AR,she_loves_you,0.898876404494382,0.9195402298850575,0.9090909090909091,240,261,267 +SheetSage2-AR,should_i_stay_or_should_i_go,0.708904109589041,0.7366548042704626,0.7225130890052355,207,281,292 +SheetSage2-AR,shout,0.5315934065934066,0.49174078780177893,0.510891089108911,387,787,728 +SheetSage2-AR,smells_like_teen_spirit,0.9673366834170855,0.9722222222222222,0.9697732997481109,385,396,398 +SheetSage2-AR,stairway_to_heaven,0.7913832199546486,0.7301255230125523,0.7595212187159956,349,478,441 +SheetSage2-AR,stand_by_me,0.7772511848341233,0.7130434782608696,0.743764172335601,164,230,211 +SheetSage2-AR,strawberry_fields_forever,0.8103448275862069,0.8514492753623188,0.8303886925795053,235,276,290 +SheetSage2-AR,summer_babe,0.8424242424242424,0.6714975845410628,0.7473118279569892,139,207,165 +SheetSage2-AR,summertime_blues,0.7619047619047619,0.7933884297520661,0.7773279352226721,192,242,252 +SheetSage2-AR,sunshine_of_your_love,0.7318007662835249,0.7318007662835249,0.7318007662835249,191,261,261 +SheetSage2-AR,superstition,0.8181818181818182,0.5217391304347826,0.6371681415929203,144,276,176 +SheetSage2-AR,suspicious_minds,0.7668161434977578,0.7685393258426966,0.7676767676767675,342,445,446 +SheetSage2-AR,sweet_child_o_mine,0.8835978835978836,0.8477157360406091,0.8652849740932643,334,394,378 +SheetSage2-AR,sympathy_for_the_devil,0.6666666666666666,0.4912959381044487,0.5657015590200445,254,517,381 +SheetSage2-AR,take_me_to_the_river,0.8867313915857605,0.8228228228228228,0.853582554517134,274,333,309 +SheetSage2-AR,tangled_up_in_blue,0.732620320855615,0.7435549525101763,0.7380471380471381,548,737,748 +SheetSage2-AR,tears_in_heaven,0.9581151832460733,0.9195979899497487,0.9384615384615383,183,199,191 +SheetSage2-AR,thatll_be_the_day,0.43729903536977494,0.425,0.4310618066561014,136,320,311 +SheetSage2-AR,thats_all_right,0.8223350253807107,0.8852459016393442,0.8526315789473684,162,183,197 +SheetSage2-AR,the_boxer,0.9292364990689013,0.9633204633204633,0.9459715639810427,499,518,537 +SheetSage2-AR,the_dock_of_the_bay,0.8582995951417004,0.7794117647058824,0.8169556840077071,212,272,247 +SheetSage2-AR,the_message,0.0,0.0,0.0,0,0,0 +SheetSage2-AR,the_sounds_of_silence,0.9428571428571428,0.9328621908127208,0.9378330373001776,264,283,280 +SheetSage2-AR,the_times_they_are_a-changin,0.7286063569682152,0.9341692789968652,0.8186813186813187,298,319,409 +SheetSage2-AR,the_tracks_of_my_tears,0.6129032258064516,0.5757575757575758,0.59375,190,330,310 +SheetSage2-AR,the_weight,0.9101941747572816,0.9282178217821783,0.9191176470588236,375,404,412 +SheetSage2-AR,thunder_road,0.8683760683760684,0.9219600725952813,0.8943661971830986,508,551,585 +SheetSage2-AR,tutti_frutti,0.42857142857142855,0.39195979899497485,0.4094488188976378,156,398,364 +SheetSage2-AR,up_on_the_roof,0.8524590163934426,0.9043478260869565,0.8776371308016878,208,230,244 +SheetSage2-AR,voodoo_child,0.76,0.2261904761904762,0.3486238532110092,38,168,50 +SheetSage2-AR,walk_on_by,0.8762886597938144,0.8732876712328768,0.8747855917667239,255,292,291 +SheetSage2-AR,waterloo_sunset,0.9053497942386831,0.9205020920502092,0.9128630705394191,220,239,243 +SheetSage2-AR,whatd_i_say,0.8394495412844036,0.8551401869158879,0.8472222222222222,183,214,218 +SheetSage2-AR,whats_going_on,0.7490636704119851,0.5076142131979695,0.6051437216338881,200,394,267 +SheetSage2-AR,when_a_man_loves_a_woman,0.6547619047619048,0.5769230769230769,0.6133828996282528,165,286,252 +SheetSage2-AR,when_doves_cry,0.8297213622291022,0.5690021231422505,0.6750629722921914,268,471,323 +SheetSage2-AR,while_my_guitar_gently_weeps,0.8350515463917526,0.9050279329608939,0.868632707774799,162,179,194 +SheetSage2-AR,who_do_you_love,0.8765432098765432,0.8623481781376519,0.8693877551020408,213,247,243 +SheetSage2-AR,whole_lotta_love,0.6850393700787402,0.5,0.5780730897009966,174,348,254 +SheetSage2-AR,whole_lotta_shakin_goin_on,0.4353448275862069,0.3506944444444444,0.38846153846153847,101,288,232 +SheetSage2-AR,will_you_love_me_tomorrow,0.9033816425120773,0.9894179894179894,0.9444444444444445,187,189,207 +SheetSage2-AR,with_or_without_you,0.9539748953974896,0.912,0.9325153374233129,228,250,239 +SheetSage2-AR,wont_get_fooled_again,0.884318766066838,0.8452088452088452,0.864321608040201,344,407,389 +SheetSage2-AR,yesterday,0.8950276243093923,0.9,0.8975069252077562,162,180,181 +SheetSage2-AR,you_cant_always_get_what_you_want,0.7467889908256881,0.7454212454212454,0.7461044912923922,407,546,545 +SheetSage2-AR,you_really_got_me,0.19771863117870722,0.19771863117870722,0.19771863117870725,52,263,263 +SheetSage2-AR,you_send_me,0.3147410358565737,0.2791519434628975,0.2958801498127341,79,283,251 +SheetSage2-AR,your_song,0.7546174142480211,0.7371134020618557,0.7457627118644068,286,388,379 +SheetSage2-AR,youve_lost_that_lovin_feelin,0.6263736263736264,0.6129032258064516,0.6195652173913044,228,372,364 diff --git a/benchmarks/rock_corpus_results.json b/benchmarks/rock_corpus_results.json new file mode 100644 index 0000000000000000000000000000000000000000..da5747274e03a5ee7cff163996ce08de19f1c79c --- /dev/null +++ b/benchmarks/rock_corpus_results.json @@ -0,0 +1,37 @@ +{ + "dataset": "Rock Corpus (RS 200)", + "task": "vocal melody transcription", + "tracks": 200, + "metric": "onset_pitch_class_note_F1", + "protocol": { + "onset_tolerance_seconds": 0.05, + "pitch_tolerance_cents": 50, + "pitch_mode": "MIDI modulo 12", + "offset_matching": false, + "aggregation": "macro_average_over_all_200_recordings", + "empty_reference_tracks": 6, + "empty_reference_f1": 0, + "time_alignment": false, + "annotation_correction": false, + "dataset_tuning": false + }, + "reference_url": "https://rockcorpus.midside.com/melodic_transcriptions.html", + "models": { + "SheetSage1": { + "vocal_pitch_class_F1_percent": 49.187611626228076, + "macro_precision": 0.48822614214813176, + "macro_recall": 0.5260359171647316, + "matched_notes": 32337, + "reference_notes": 59591, + "estimated_notes": 69935 + }, + "SheetSage2-AR": { + "vocal_pitch_class_F1_percent": 67.07513352928562, + "macro_precision": 0.6997741783959895, + "macro_recall": 0.659468737829881, + "matched_notes": 40231, + "reference_notes": 59591, + "estimated_notes": 56059 + } + } +} diff --git a/benchmarks/score_chordformer.py b/benchmarks/score_chordformer.py new file mode 100644 index 0000000000000000000000000000000000000000..3103c2a862a56342ae078ca672f116219770276b --- /dev/null +++ b/benchmarks/score_chordformer.py @@ -0,0 +1,122 @@ +"""Score ChordFormer predictions on the frozen SheetSage2 chord cohorts. + +Scoring functions are preserved from the audited SheetSage2 evaluator. +Requires numpy==1.26.4, scipy==1.13.1, mir_eval==0.7. +""" +from pathlib import Path +import argparse, csv, hashlib, json, warnings +import numpy as np +np.int = int +np.float = float +import mir_eval.chord, mir_eval.io +METRIC_KEYS = ["root", "majmin", "majmin7", "tetrads", "sevenths"] + +def load_chord_lab(path: Path): + intervals, labels = mir_eval.io.load_labeled_intervals(str(path)) + return sanitize_chord_intervals(intervals, labels) + +def sanitize_chord_intervals(intervals, labels): + intervals = np.asarray(intervals, dtype=np.float64) + if intervals.size == 0 or intervals.ndim != 2 or intervals.shape[1] != 2: + raise ValueError("No valid chord intervals after sanitizing.") + order = np.argsort(intervals[:, 0], kind="stable") + cleaned_intervals = [] + cleaned_labels = [] + last_end = None + for index in order: + start, end = (float(value) for value in intervals[index]) + if not np.isfinite(start) or not np.isfinite(end) or end <= start: + continue + start = max(0.0, start) + end = max(0.0, end) + if end <= start: + continue + if last_end is not None and start < last_end: + start = last_end + if end <= start: + continue + cleaned_intervals.append([start, end]) + cleaned_labels.append(labels[index]) + last_end = end + if not cleaned_intervals: + raise ValueError("No valid chord intervals after sanitizing.") + return np.asarray(cleaned_intervals, dtype=np.float64), cleaned_labels + +def crop_chord_intervals(intervals, labels, start: float, end: float): + cropped_intervals = [] + cropped_labels = [] + for (interval_start, interval_end), label in zip(intervals, labels): + interval_start = max(float(interval_start), start) + interval_end = min(float(interval_end), end) + if interval_end <= interval_start: + continue + cropped_intervals.append([interval_start, interval_end]) + cropped_labels.append(label) + if not cropped_intervals: + return np.asarray([[start, end]], dtype=np.float64), ["N"] + return np.asarray(cropped_intervals, dtype=np.float64), cropped_labels + +def evaluate_one(ref_path: Path, est_path: Path) -> dict: + ref_intervals, ref_labels = load_chord_lab(ref_path) + est_intervals, est_labels = load_chord_lab(est_path) + est_intervals, est_labels = crop_chord_intervals( + est_intervals, + est_labels, + float(ref_intervals.min()), + float(ref_intervals.max()), + ) + scores = mir_eval.chord.evaluate(ref_intervals, ref_labels, est_intervals, est_labels) + duration = float(ref_intervals.max() - ref_intervals.min()) + return { + "duration": duration, + "root": float(scores["root"]), + "majmin": float(scores["majmin"]), + "majmin7": float(scores["sevenths"]), + "tetrads": float(scores["tetrads"]), + "sevenths": float(scores["sevenths"]), + } + +def summarize(rows: list[dict]) -> dict: + durations = np.asarray([row["duration"] for row in rows], dtype=np.float64) + total_duration = float(np.sum(durations)) + summary = { + "n": len(rows), + "total_duration": total_duration, + } + for key in METRIC_KEYS: + values = np.asarray([row[key] for row in rows], dtype=np.float64) + summary[f"{key}_macro"] = float(np.mean(values)) if len(values) else float("nan") + summary[key] = float(np.sum(values * durations) / total_duration) if total_duration > 0 else float("nan") + return summary + +def main(): + p=argparse.ArgumentParser(description=__doc__) + p.add_argument('--dataset',choices=['osu2017','Chords1217'],required=True) + p.add_argument('--reference',type=Path,required=True) + p.add_argument('--predictions',type=Path,required=True) + p.add_argument('--cohort',type=Path,default=Path(__file__).with_name('chordformer_per_song.csv')) + p.add_argument('--verify-archived-predictions',action='store_true') + args=p.parse_args() + with args.cohort.open(encoding='utf-8') as f: + cohort=[r for r in csv.DictReader(f) if r['dataset']==args.dataset] + count={'osu2017':142,'Chords1217':1217}[args.dataset] + if len(cohort)!=count or len({r['sample_id'] for r in cohort})!=count: + raise ValueError('Incomplete or duplicated cohort') + rows=[] + for r in cohort: + ref=args.reference/(r['sample_id']+'.lab') + pred=args.predictions/(r['sample_id']+'.lab') + if hashlib.sha256(ref.read_bytes()).hexdigest()!=r['reference_sha256']: + raise ValueError('Reference differs from frozen cohort: '+r['sample_id']) + if args.verify_archived_predictions and hashlib.sha256(pred.read_bytes()).hexdigest()!=r['prediction_sha256']: + raise ValueError('Prediction differs from archive: '+r['sample_id']) + with warnings.catch_warnings(): + warnings.simplefilter('ignore') + rows.append(evaluate_one(ref,pred)) + result=summarize(rows) + result['dataset']=args.dataset + result['majmin_percent']=100*result['majmin'] + print(json.dumps(result,indent=2)) + +if __name__=='__main__': + main() diff --git a/chord_spelling_sheetsage2.py b/chord_spelling_sheetsage2.py new file mode 100644 index 0000000000000000000000000000000000000000..a14a268805080b63c8586fbf767c72e05c1f0bd1 --- /dev/null +++ b/chord_spelling_sheetsage2.py @@ -0,0 +1,196 @@ +"""Local-key chord spelling, ported from SheetSage2 LM.""" +import numpy as np +import mir_eval.chord + +KEY_MAP = [ + ['C:major', 'Db:major', 'D:major', 'Eb:major', 'E:major', 'F:major', 'F#:major', 'G:major', 'Ab:major', 'A:major', 'Bb:major', 'B:major'], + ['D:dorian', 'Eb:dorian', 'E:dorian', 'F:dorian', 'F#:dorian', 'G:dorian', 'G#:dorian', 'A:dorian', 'Bb:dorian', 'B:dorian', 'C:dorian', 'C#:dorian'], + ['E:phrygian', 'F:phrygian', 'F#:phrygian', 'G:phrygian', 'G#:phrygian', 'A:phrygian', 'A#:phrygian', 'B:phrygian', 'C:phrygian', 'C#:phrygian', 'D:phrygian', 'D#:phrygian'], + ['F:lydian', 'Gb:lydian', 'G:lydian', 'Ab:lydian', 'A:lydian', 'Bb:lydian', 'B:lydian', 'C:lydian', 'Db:lydian', 'D:lydian', 'Eb:lydian', 'E:lydian'], + ['G:mixolydian', 'Ab:mixolydian', 'A:mixolydian', 'Bb:mixolydian', 'B:mixolydian', 'C:mixolydian', 'C#:mixolydian', 'D:mixolydian', 'Eb:mixolydian', 'E:mixolydian', 'F:mixolydian', 'F#:mixolydian'], + ['A:minor', 'Bb:minor', 'B:minor', 'C:minor', 'C#:minor', 'D:minor', 'D#:minor', 'E:minor', 'F:minor', 'F#:minor', 'G:minor', 'G#:minor'], + ['B:locrian', 'C:locrian', 'C#:locrian', 'D:locrian', 'D#:locrian', 'E:locrian', 'E#:locrian', 'F#:locrian', 'G:locrian', 'G#:locrian', 'A:locrian', 'A#:locrian'] +] + +MODE_NAMES = ['major', 'dorian', 'phrygian', 'lydian', 'mixolydian', 'minor', 'locrian'] +MODE_STARTS = [0, 2, 4, 5, 7, 9, 11] + + +QUALITIES = { + # 1 2 3 4 5 6 7 + 'maj': [2, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0], + 'min': [2, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0], + 'aug': [2, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0], + 'dim': [2, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0], + 'sus4': [2, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0], + 'sus4(b7)':[2, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0], + 'sus4(b7,9)':[2, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0], + 'sus2': [2, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0], + '7': [2, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0], + 'maj7': [2, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1], + 'min7': [2, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0], + 'minmaj7': [2, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1], + 'maj6': [2, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0], + 'min6': [2, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0], + '9': [2, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0], + 'maj9': [2, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1], + 'min9': [2, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0], + '7(b9)': [2, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0], + '7(#9)': [2, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0], + 'maj6(9)': [2, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0], + 'min6(9)': [2, 0, 1, 1, 0, 0, 0, 1, 0, 1, 0, 0], + 'maj(9)': [2, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0], + 'min(9)': [2, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0], + 'maj(11)': [2, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 1], + 'min(11)': [2, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1], + '11': [2, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0], + 'maj9(11)':[2, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 1], + 'min11': [2, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0], + '13': [2, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0], + 'maj13': [2, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1], + 'min13': [2, 0, 1, 1, 0, 1, 0, 1, 0, 1, 1, 0], + 'dim7': [2, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0], + 'hdim7': [2, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0], + #'5': [2, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0] + } +DEFAULT_SPELLING = ['1', 'b2', '2', 'b3', '3', '4', 'b5', '5', '#5', '6', 'b7', '7'] +CHORD_SPELLING_TABLE = None +CIRCLE_OF_FIFTH = np.array([3, 0, 5, 1, 6, 2, 7]) +CIRCLE_OF_FIFTH_INV = np.array([1, 3, 5, 0, 2, 4, 6]) +NOTE_NAMES = 'CDEFGAB' + +def scale_degree_to_tuple(scale_degree): + offset = 0 + if scale_degree.startswith("#"): + offset = scale_degree.count("#") + scale_degree = scale_degree.strip("#") + elif scale_degree.startswith("b"): + offset = -1 * scale_degree.count("b") + scale_degree = scale_degree.strip("b") + return np.array([int(scale_degree) - 1, offset], dtype=int) + +def note_name_to_tuple(note_name): + scale_degree = NOTE_NAMES.index(note_name[0]) + offset = 0 + if note_name.endswith("#"): + offset = note_name.count("#") + elif note_name.endswith("b"): + offset = -1 * note_name.count("b") + return np.array([scale_degree, offset], dtype=int) + +def scale_degrees_to_tuple(scale_degrees): + return np.stack([scale_degree_to_tuple(sd) for sd in scale_degrees], axis=0) + + +def get_chord_spelling_table(): + global CHORD_SPELLING_TABLE + if CHORD_SPELLING_TABLE is not None: + return CHORD_SPELLING_TABLE + chord_spelling_table = {} + for quality in QUALITIES: + quality_spelling = [] + chroma = QUALITIES[quality] + for i in range(12): + if chroma[i] > 0: + if '#9' in quality and i == DEFAULT_SPELLING.index('b3'): + quality_spelling.append('#2') + elif 'dim7' in quality and i == DEFAULT_SPELLING.index('6'): + quality_spelling.append('bb7') + else: + quality_spelling.append(DEFAULT_SPELLING[i]) + chord_spelling_table[quality] = scale_degrees_to_tuple(quality_spelling) + CHORD_SPELLING_TABLE = chord_spelling_table + return chord_spelling_table + +# Circle-of-fifths offsets of major-scale degrees 1-7 from the tonic. +MAJOR_SCALE_FIFTHS = np.array([0, 2, 4, -1, 1, 3, 5]) + +def spell_chord_tones(root_spelling, quality): + ''' + Spell every chord tone from a root spelling. + Template intervals are relative to the root's own major scale, so adding + them on the circle of fifths keeps each tone's pitch class; e.g., E:maj + gives E, G#, B, and Db:hdim7 gives Db, Fb, Abb, Cb. + :param root_spelling: Numpy array of shape (2,) with note letter id and accidental offset. + :param quality: Chord quality in QUALITIES. + :return: Numpy array of shape (N, 2); the first row is the root. + ''' + intervals = get_chord_spelling_table()[quality] + letters = (root_spelling[0] + intervals[:, 0]) % 7 + root_pos = CIRCLE_OF_FIFTH_INV[root_spelling[0]] + root_spelling[1] * 7 + tone_pos = root_pos + MAJOR_SCALE_FIFTHS[intervals[:, 0]] + intervals[:, 1] * 7 + return np.stack([letters, (tone_pos - CIRCLE_OF_FIFTH_INV[letters]) // 7], axis=1) + +def score_spelling_under_key(spelling, key): + ''' + Score the chord spelling under a given key. + :param spelling: Numpy array of shape (N, 2) + :param key: Numpy array of shape (2,) representing the degree of 1 (DO) + :return: Score of the chord spelling under the key. + ''' + key_pos = CIRCLE_OF_FIFTH_INV[key[0]] + key[1] * 7 + spelling_pos = CIRCLE_OF_FIFTH_INV[spelling[:, 0] % 7] + spelling[:, 1] * 7 + relative_pos = np.clip(np.abs((spelling_pos - (key_pos + 2))) - 3, 0, None) + return np.sum(relative_pos) + np.sum(relative_pos[:1]) * 1.0 # root matters more + +def normalize_key_name(key_name): + """Use the same canonical tonal spelling as SheetSage2 LM/NoLM.""" + tonic, mode = key_name.split(':') + mode_id = MODE_NAMES.index(mode) + scale = (mir_eval.chord.pitch_class_to_semitone(tonic) - MODE_STARTS[mode_id]) % 12 + return KEY_MAP[mode_id][scale] + + +def correct_chord_spelling(label, key_name): + if label == 'N' or label == 'X': + return label + key_tonal, key_mode = key_name.split(':') + key_mode = MODE_NAMES.index(key_mode) + scale_semitone = (mir_eval.chord.pitch_class_to_semitone(key_tonal) - MODE_STARTS[key_mode]) % 12 + # Tokenizer keys use sharps; map enharmonic aliases to the LM key signature. + key_spelling = note_name_to_tuple(KEY_MAP[0][scale_semitone].split(':')[0]) + # Ignore all inversions + inversion = '' + if '/' in label: + label, inversion = label.split('/') + # Separate quality and root + root, quality = label.split(':') + root_semitone = mir_eval.chord.pitch_class_to_semitone(root) + scores = [] + for possible_root_id in range(7): + possible_root = NOTE_NAMES[possible_root_id] + root_spelling = np.array([ + possible_root_id, + (root_semitone - mir_eval.chord.pitch_class_to_semitone(possible_root) + 6) % 12 - 6 + ]) + chord_spelling = spell_chord_tones(root_spelling, quality) + scores.append(score_spelling_under_key(chord_spelling, key_spelling)) + best_root_id = np.argmin(scores) + best_root = NOTE_NAMES[best_root_id] + best_root_spelling = np.array([ + best_root_id, + (root_semitone - mir_eval.chord.pitch_class_to_semitone(best_root) + 6) % 12 - 6 + ]) + if best_root_spelling[1] < 0: + best_root = best_root + 'b' * abs(best_root_spelling[1]) + else: + best_root = best_root + '#' * best_root_spelling[1] + if inversion: + return f"{best_root}:{quality}/{inversion}" + else: + return f"{best_root}:{quality}" + + +def correct_chord_rows(chords, keys): + """Use the local key at each chord midpoint, as in SheetSage2 LM. + + Match LM's left-boundary tie rule. Extend the first/last decoded key to + uncovered edges. Without a decoded key, preserve the original spelling. + Return new rows without changing event values, timing, quality or inversion. + """ + if not keys: + return [list(row) for row in chords] + boundaries = np.array([row[1] for row in keys[:-1]]) + return [[start, end, correct_chord_spelling( + label, keys[np.searchsorted(boundaries, (start + end) / 2.0)][2])] + for start, end, label in chords] diff --git a/config.json b/config.json new file mode 100644 index 0000000000000000000000000000000000000000..e8eb3dc877ce5dcac60b3570e343634e0afbc44e --- /dev/null +++ b/config.json @@ -0,0 +1,75 @@ +{ + "architectures": [ + "SheetSage2Model" + ], + "auto_map": { + "AutoConfig": "configuration_sheetsage2.SheetSage2Config", + "AutoModel": "modeling_sheetsage2.SheetSage2Model", + "AutoModelForSeq2SeqLM": "modeling_sheetsage2.SheetSage2Model", + "AutoProcessor": "processing_sheetsage2.SheetSage2Processor" + }, + "backbone_config": { + "architectures": [ + "MERT2Model" + ], + "context_seconds": 360.0, + "conv_depthwise_kernel_size": 31, + "frame_rate": 25.0, + "hidden_size": 1024, + "hop_length": 240, + "initializer_range": 0.02, + "inputs_to_logits_ratio": 960, + "intermediate_size": 4096, + "layer_norm_eps": 1e-05, + "minimum_input_samples": 1025, + "model_type": "mert2", + "n_fft": 2048, + "num_attention_heads": 16, + "num_hidden_layers": 24, + "num_mel_bins": 128, + "rotary_embedding_base": 10000, + "sampling_rate": 24000, + "subsampling_channels": [ + 128, + 512, + 1024 + ], + "subsampling_depths": [ + 3, + 4, + 5 + ], + "subsampling_layer_norm_eps": 1e-06, + "torch_dtype": "float32", + "transformers_version": "4.53.2", + "variant": "fs", + "win_length": 2048 + }, + "base_model_name_or_path": "m-a-p/MERT-v2-FullSong", + "base_model_revision": "d8ba1c745e733b3908ce6ad16ebeb17ac7600a42", + "base_model_sha256": "e6dd2ab187d6dd62b6521cd7d8f932e237acf0c5757745a7232082e28391350d", + "bos_token_id": 1, + "decoder_dropout": 0.1, + "decoder_layers": 6, + "decoder_start_token_id": 1, + "encoder_attn_implementation": "sdpa", + "eos_token_id": 2, + "hidden_size": 512, + "input_audio_length": 300.0, + "intermediate_size": 2048, + "is_encoder_decoder": true, + "lora_alpha": 128.0, + "lora_rank": 64, + "max_output_seq_len": 5120, + "model_type": "sheetsage2", + "num_attention_heads": 8, + "pad_token_id": 0, + "sampling_rate": 24000, + "time_hz": 100, + "tokenizer_fingerprint": "5ba3325af0344c7f", + "tokenizer_schema_version": "v1", + "transformers_version": "4.45.2", + "use_cache": true, + "vocab_size": 31678, + "weights_format": "adapter" +} diff --git a/configuration_mert2.py b/configuration_mert2.py new file mode 100644 index 0000000000000000000000000000000000000000..f07208f8a08b8743d47026956c622eaa062d6963 --- /dev/null +++ b/configuration_mert2.py @@ -0,0 +1,76 @@ +"""Configuration for MERT2 music representation models.""" + +from transformers import PretrainedConfig + + +class MERT2Config(PretrainedConfig): + """Architecture shared by the 30-second and full-song MERT2 encoders.""" + + model_type = "mert2" + + def __init__( + self, + hidden_size=1024, + intermediate_size=4096, + num_hidden_layers=24, + num_attention_heads=16, + num_mel_bins=128, + sampling_rate=24000, + n_fft=2048, + win_length=2048, + hop_length=240, + subsampling_channels=None, + subsampling_depths=None, + conv_depthwise_kernel_size=31, + rotary_embedding_base=10000, + layer_norm_eps=1e-5, + subsampling_layer_norm_eps=1e-6, + initializer_range=0.02, + variant="30s", + context_seconds=None, + **kwargs, + ): + super().__init__(**kwargs) + self.hidden_size = int(hidden_size) + self.intermediate_size = int(intermediate_size) + self.num_hidden_layers = int(num_hidden_layers) + self.num_attention_heads = int(num_attention_heads) + self.num_mel_bins = int(num_mel_bins) + self.sampling_rate = int(sampling_rate) + self.n_fft = int(n_fft) + self.win_length = int(win_length) + self.hop_length = int(hop_length) + self.subsampling_channels = list(subsampling_channels or [num_mel_bins, 512, hidden_size]) + self.subsampling_depths = list(subsampling_depths or [3, 4, 5]) + self.conv_depthwise_kernel_size = int(conv_depthwise_kernel_size) + self.rotary_embedding_base = int(rotary_embedding_base) + self.layer_norm_eps = float(layer_norm_eps) + self.subsampling_layer_norm_eps = float(subsampling_layer_norm_eps) + self.initializer_range = float(initializer_range) + self.variant = str(variant) + self.context_seconds = float(context_seconds if context_seconds is not None else (360 if variant == "fs" else 30)) + self.inputs_to_logits_ratio = self.hop_length * 4 + self.frame_rate = self.sampling_rate / self.inputs_to_logits_ratio + self.minimum_input_samples = self.n_fft // 2 + 1 + + if min(self.hidden_size, self.intermediate_size, self.num_hidden_layers, self.num_attention_heads) <= 0: + raise ValueError("Encoder dimensions and layer counts must be positive.") + if self.hidden_size % self.num_attention_heads or (self.hidden_size // self.num_attention_heads) % 2: + raise ValueError("hidden_size must divide into an even head dimension.") + if len(self.subsampling_channels) != 3 or len(self.subsampling_depths) != 3: + raise ValueError("The subsampler must contain three channel widths and three depths.") + if self.subsampling_channels[0] != self.num_mel_bins or self.subsampling_channels[-1] != self.hidden_size: + raise ValueError("Subsampling widths must start at num_mel_bins and end at hidden_size.") + if min(*self.subsampling_channels, *self.subsampling_depths, self.num_mel_bins, self.sampling_rate, self.hop_length) <= 0: + raise ValueError("Frontend dimensions and sampling parameters must be positive.") + if self.n_fft < self.win_length or self.win_length <= 0 or self.n_fft % 2: + raise ValueError("n_fft must be even and at least win_length > 0.") + if self.conv_depthwise_kernel_size <= 0 or self.conv_depthwise_kernel_size % 2 != 1: + raise ValueError("conv_depthwise_kernel_size must be positive and odd.") + if self.rotary_embedding_base <= 0 or min(self.layer_norm_eps, self.subsampling_layer_norm_eps) <= 0: + raise ValueError("Rotary base and normalization epsilons must be positive.") + if self.variant not in {"30s", "fs"}: + raise ValueError("variant must be '30s' or 'fs'.") + + +MERT2Config.register_for_auto_class() diff --git a/configuration_sheetsage2.py b/configuration_sheetsage2.py new file mode 100644 index 0000000000000000000000000000000000000000..48b1954971c6d853a2fc641c0c69a4398f5b0ac8 --- /dev/null +++ b/configuration_sheetsage2.py @@ -0,0 +1,88 @@ +"""Configuration for SheetSage2 audio-to-symbolic transcription.""" + +from transformers import PretrainedConfig + +from .configuration_mert2 import MERT2Config + + +class SheetSage2Config(PretrainedConfig): + model_type = "sheetsage2" + + def __init__( + self, + vocab_size=31678, + hidden_size=512, + decoder_layers=6, + num_attention_heads=8, + intermediate_size=2048, + decoder_dropout=0.1, + input_audio_length=300.0, + max_output_seq_len=5120, + time_hz=100, + sampling_rate=24000, + lora_rank=64, + lora_alpha=128, + weights_format="adapter", + backbone_config=None, + encoder_attn_implementation="sdpa", + base_model_name_or_path="m-a-p/MERT-v2-FullSong", + base_model_revision="d8ba1c745e733b3908ce6ad16ebeb17ac7600a42", + base_model_sha256="e6dd2ab187d6dd62b6521cd7d8f932e237acf0c5757745a7232082e28391350d", + tokenizer_schema_version="v1", + tokenizer_fingerprint="5ba3325af0344c7f", + **kwargs, + ): + for name, default in ( + ("is_encoder_decoder", True), ("tie_word_embeddings", True), + ("pad_token_id", 0), ("bos_token_id", 1), ("eos_token_id", 2), + ("decoder_start_token_id", 1), + ("use_cache", True), + ): + kwargs.setdefault(name, default) + super().__init__(**kwargs) + self.vocab_size = int(vocab_size) + self.hidden_size = int(hidden_size) + self.decoder_layers = int(decoder_layers) + self.num_attention_heads = int(num_attention_heads) + self.intermediate_size = int(intermediate_size) + self.decoder_dropout = float(decoder_dropout) + self.input_audio_length = float(input_audio_length) + self.max_output_seq_len = int(max_output_seq_len) + self.time_hz = int(time_hz) + self.sampling_rate = int(sampling_rate) + self.lora_rank = int(lora_rank) + self.lora_alpha = float(lora_alpha) + self.weights_format = str(weights_format) + self.backbone_config = dict(backbone_config or MERT2Config(variant="fs").to_dict()) + self.backbone_config.pop("_name_or_path", None) + self.backbone_config.pop("auto_map", None) + self.encoder_attn_implementation = str(encoder_attn_implementation) + self.base_model_name_or_path = str(base_model_name_or_path) + self.base_model_revision = str(base_model_revision) + self.base_model_sha256 = str(base_model_sha256) + self.tokenizer_schema_version = str(tokenizer_schema_version) + self.tokenizer_fingerprint = str(tokenizer_fingerprint) + self.architectures = ["SheetSage2Model"] + self.auto_map = { + "AutoConfig": "configuration_sheetsage2.SheetSage2Config", + "AutoModel": "modeling_sheetsage2.SheetSage2Model", + "AutoModelForSeq2SeqLM": "modeling_sheetsage2.SheetSage2Model", + "AutoProcessor": "processing_sheetsage2.SheetSage2Processor", + } + if self.weights_format not in {"adapter", "merged"}: + raise ValueError("weights_format must be 'adapter' or 'merged'.") + if self.encoder_attn_implementation not in {"sdpa", "flash_attention_2"}: + raise ValueError("Select encoder attention 'sdpa' or 'flash_attention_2'.") + if min(self.vocab_size, self.hidden_size, self.decoder_layers, self.num_attention_heads, + self.intermediate_size, self.input_audio_length, self.max_output_seq_len, + self.time_hz, self.sampling_rate, self.lora_rank, self.lora_alpha) <= 0: + raise ValueError("Model dimensions and timing parameters must be positive.") + if self.hidden_size % self.num_attention_heads: + raise ValueError("hidden_size must be divisible by num_attention_heads.") + if not 0 <= self.decoder_dropout < 1: + raise ValueError("decoder_dropout must lie in [0, 1).") + if self.sampling_rate != self.backbone_config["sampling_rate"]: + raise ValueError("Processor and encoder sampling rates must match.") + + +SheetSage2Config.register_for_auto_class() diff --git a/durations_sheetsage2.py b/durations_sheetsage2.py new file mode 100644 index 0000000000000000000000000000000000000000..2ad9c7eabb63733502ebd8cddd94f139b61100fd --- /dev/null +++ b/durations_sheetsage2.py @@ -0,0 +1,14 @@ +import numpy as np + + +DURATION_TEMPLATES = np.array( + [ + 1, 2, 3, 4, 6, 8, 12, 16, 24, 32, 48, 64, + 96, 128, 192, 256, 384, 512, 768, 1024, + 1536, 2048, 3072, 4096, + ], + dtype=np.int32, +) +duration_boundaries = (DURATION_TEMPLATES[:-1] + DURATION_TEMPLATES[1:]) / 2 + + diff --git a/exports_sheetsage2.py b/exports_sheetsage2.py new file mode 100644 index 0000000000000000000000000000000000000000..4bdfaa1f918bb426642d972fecc6f7f4a68d5401 --- /dev/null +++ b/exports_sheetsage2.py @@ -0,0 +1,209 @@ +"""Raw decoded events, key-aware chord LAB, MIDI and validated ABC.""" +from pathlib import Path +import json +from fractions import Fraction + +import numpy as np +import pretty_midi + +from .notation_sheetsage2 import generate_abc_from_data +from .io_sheetsage2 import atomic_write_text +from .generation_sheetsage2 import field_text +from .chord_spelling_sheetsage2 import correct_chord_rows, normalize_key_name +from .midi_sheetsage2 import build_playback, midi_bytes + + +def rows_text(rows): + return "".join("\t".join(str(x) for x in row) + "\n" for row in rows) + + +def write_rows(path, rows): + atomic_write_text(path, rows_text(rows)) + + +def interval_rows(events, field, duration): + rows = [[e["time"], 0, e["values"][field]] for e in events if field in e["values"]] + for i, row in enumerate(rows): + row[1] = rows[i + 1][0] if i + 1 < len(rows) else duration + return [r for r in rows if r[1] > r[0]] + + +def rhythm_rows(events): + rows, meter = [], None + for event in events: + rhythm = event["values"].get("rhythm", {}) + meter = rhythm.get("meter", meter) + eighth = rhythm.get("eighth_position") + if eighth is not None and meter is not None: + # The model stores eighth-note position, not denominator-beat index. + position = Fraction(int(eighth) * int(meter[1]), 8) + if position.denominator != 1: + raise ValueError(f"Eighth position {eighth} is off the {meter[0]}/{meter[1]} beat grid") + if not 0 <= position < meter[0]: + raise ValueError(f"Eighth position {eighth} is outside meter {meter}") + rows.append([float(event["time"]), int(position) + 1, int(meter[0]), int(meter[1])]) + return rows + + +def _midi(notes, paper=False): + midi = pretty_midi.PrettyMIDI(resolution=220 if paper else 960) + names = ((0, "vocal_melody"), (1, "instrumental_melody")) if paper else ((0, "Vocal"), (1, "Ins")) + for track, name in names: + instrument = pretty_midi.Instrument(program=0, name=name) + for start, end, pitch, source in notes: + if track == source and end > start: + instrument.notes.append(pretty_midi.Note(100, pitch, start, end)) + midi.instruments.append(instrument) + return midi + + +def notation_notes(notes): + """A monophonic notation view, retaining the exact raw prediction separately.""" + result, diagnostics = [], [] + for track in (0, 1): + ordered = sorted((list(n) for n in notes if n[3] == track), key=lambda n: (n[0], n[2], n[1])) + for i, note in enumerate(ordered): + if i + 1 < len(ordered) and note[1] > ordered[i + 1][0] + 1e-6: + note[1] = ordered[i + 1][0] + diagnostics.append(f"notation only: clipped track {track} note at {note[0]:.3f} to next onset") + if note[1] > note[0] + 1e-6: + result.append(note) + return sorted(result), diagnostics + + +def export_result(decoded, tokenizer, output_dir=None, duration=None, paper=False, *, melody_only=False): + """Build ABC, MIDI and LAB in memory, optionally writing the same bytes. + + Statistics retain their file-interface names. ``payload`` contains the + in-memory ABC text, MIDI bytes, decoded event list, LAB texts and playback. + melody_only removes chords from notation and playback without changing + decoded events or the key-corrected LAB annotations. + """ + if not isinstance(melody_only, bool): + raise ValueError("melody_only must be True or False") + if duration is None: + raise TypeError("duration is required") + texts, midis, notation_midis, labs = {}, {}, {}, {} + + def keep_rows(name, rows): + text = rows_text(rows) + texts[name] = text + if name.endswith(".lab"): + labs[name[:-4]] = text + + events = decoded["events"] + notes = [] + for event in events: + start = float(event["time"]) + for note in event["values"].get("melody", ()): + end = max(start + 0.04, float(note["end_time"])) if paper else min(duration, float(note["end_time"])) + if end > start: + notes.append([start, end, int(note["pitch"]), int(note["track"])]) + if not paper: + notes.sort() + texts["events.json"] = json.dumps(decoded, indent=2) + keep_rows("events.tsv", [["time", "global_subbeat", "fields"]] + + [[e["time"], e["global_subbeat"], field_text(e, tokenizer)] for e in events]) + midis["melody"] = midi_bytes(_midi(notes, paper=paper)) + lab_notes = [[f"{a:.6f}", f"{b:.6f}", p, t] for a, b, p, t in notes] if paper else notes + keep_rows("melody_full.lab", lab_notes) + for track, name in ((0, "vocal"), (1, "instrumental")): + selected = [n for n in notes if n[3] == track] + keep_rows(f"melody_{name}.lab", [n[:3] for n in lab_notes if n[3] == track]) + midis[f"melody_{name}"] = midi_bytes(_midi(selected, paper=paper)) + intervals = {} + for field in ("chord", "key", "structure"): + rows = interval_rows(events, field, duration) + if paper: + rows = [[float(e["time"]), None, e["values"][field]] for e in events if field in e["values"]] + for i, row in enumerate(rows): + row[1] = max(row[0], rows[i + 1][0]) if i + 1 < len(rows) else float(duration) + intervals[field] = rows + intervals["key"] = [[start, end, normalize_key_name(key)] + for start, end, key in intervals["key"]] + intervals["chord"] = correct_chord_rows(intervals["chord"], intervals["key"]) + for field, rows in intervals.items(): + keep_rows(f"{field}.lab", rows) + if paper: + rows = [] + for event in events: + rhythm, stamp = event["values"].get("rhythm"), event["values"].get("timestamp") + if rhythm is None and stamp is None: + continue + meter = rhythm.get("meter") if isinstance(rhythm, dict) else None + eighth = rhythm.get("eighth_position") if isinstance(rhythm, dict) else None + rows.append([f"{event['time']:.6f}", "" if stamp is None else f"{float(stamp):.6f}", + "" if eighth is None else int(eighth), "" if meter is None else f"{meter[0]}/{meter[1]}"]) + keep_rows("beat_meter.lab", rows) + raw_rhythm = [[e["time"], json.dumps(e["values"].get("rhythm", {}))] + for e in events if "rhythm" in e["values"] or "timestamp" in e["values"]] + keep_rows("rhythm_events.lab", raw_rhythm) + diagnostics, abc_error, score, text = [], None, None, None + try: + beats = rhythm_rows(events) + keep_rows("beat.lab", beats) + keep_rows("downbeat.lab", [[r[0]] for r in beats if r[1] == 1]) + if len(beats) < 2: + raise ValueError("At least two decoded beats are required for ABC") + # canonical notation's last beat is a boundary, so append it explicitly. Continue the + # final tempo only as far as the audio/last note and let it pad the bar. + abc_beats = [list(b) for b in beats] + period = float(np.median(np.diff([b[0] for b in beats[-9:]]))) + if period <= 0: + raise ValueError("Decoded beats must increase in time") + end = max(duration, max((n[1] for n in notes), default=0)) + while abc_beats[-1][0] < end - 1e-6: + prev = abc_beats[-1] + abc_beats.append([prev[0] + period, prev[1] % prev[2] + 1, prev[2], prev[3]]) + keep_rows("notation/song_beats.txt", abc_beats) + notation_intervals = {} + for field, suffix in (("chord", "chords"), ("key", "keys"), ("structure", "structures")): + rows = interval_rows(events, field, duration) + if field == "chord": + rows = correct_chord_rows(rows, interval_rows(events, "key", duration)) + elif field == "key": + rows = [[start, end, normalize_key_name(key)] for start, end, key in rows] + # Clip to the actual beat domain: events beyond it have no ABC bin. + rows = [[max(abc_beats[0][0], a), min(abc_beats[-1][0], b), v] + for a, b, v in rows if b > abc_beats[0][0] and a < abc_beats[-1][0]] + notation_intervals[field] = rows + keep_rows(f"notation/song_{suffix}.txt", rows) + if not interval_rows(events, "key", duration): + raise ValueError("No key was decoded; cannot construct a keyed ABC score") + clean, adjustments = notation_notes(notes) + diagnostics.extend(adjustments) + notation_midis["notation/song_melody.mid"] = midi_bytes(_midi(clean)) + text, score = generate_abc_from_data( + notation_midis["notation/song_melody.mid"], abc_beats, + notation_intervals["chord"], notation_intervals["key"], notation_intervals["structure"], + melody_only=melody_only, + ) + diagnostics.extend(score.diagnostics) + texts["score.abc"] = text + abc_measures = len(score.measures) + except (ValueError, FileNotFoundError) as exc: + abc_error = str(exc) + abc_measures = 0 + playback, playback_midis = build_playback( + midis["melody"], [] if melody_only else intervals["chord"], score, duration) + midis.update(playback_midis) + texts["playback.json"] = json.dumps(playback, indent=2) + diagnostics.extend(playback["warnings"]) + if output_dir is not None: + output_dir = Path(output_dir) + output_dir.mkdir(parents=True, exist_ok=True) + for name, content in texts.items(): + atomic_write_text(output_dir / name, content) + for name, content in {**{f"{name}.mid": content for name, content in midis.items()}, **notation_midis}.items(): + path = output_dir / name + path.parent.mkdir(parents=True, exist_ok=True) + path.write_bytes(content) + if abc_error is not None: + (output_dir / "score.abc").unlink(missing_ok=True) + else: + (output_dir / "score.browser.abc").unlink(missing_ok=True) + payload = dict(abc=text, midi=midis["transcription"], midis=midis, + events=events, labs=labs, playback=playback) + return dict(melody_notes=len(notes), vocal_notes=sum(n[3] == 0 for n in notes), + instrumental_notes=sum(n[3] == 1 for n in notes), events=len(events), + abc_measures=abc_measures, abc_error=abc_error, diagnostics=diagnostics, payload=payload) diff --git a/generation_sheetsage2.py b/generation_sheetsage2.py new file mode 100644 index 0000000000000000000000000000000000000000..da4ee0cd59f4122a1309dec7d8f58e2213de2af5 --- /dev/null +++ b/generation_sheetsage2.py @@ -0,0 +1,634 @@ +"""Prompt grammar, cached generation and overlap context from the evaluated model.""" +import copy +from contextlib import nullcontext +from pathlib import Path +import numpy as np +import torch + +FULL_TASK_PROMPTS = ("timestamp", "downbeat_meter", "structure", "key", "chord_full", "melody_full") +FIELD_TO_INDEX = {"timestamp": 0, "rhythm": 1, "structure": 2, "key": 3, "chord": 4, "melody": 5} + + +class PromptGrammarState: + def __init__(self, tokenizer): + self.tokenizer = tokenizer + self.generated_events = 0 + self.in_shift = True + self.shift_run = 0 + self.payload_count = 0 + self.last_field_index = -1 + self.incomplete = None + + def _allow_field_starts(self, allowed): + tokenizer = self.tokenizer + if self.last_field_index < FIELD_TO_INDEX["timestamp"]: + allowed[tokenizer.time_token_start : tokenizer.time_token_end] = True + if self.last_field_index < FIELD_TO_INDEX["rhythm"]: + allowed[tokenizer.meter_token_start : tokenizer.meter_token_end] = True + allowed[ + tokenizer.eighth_position_token_start : tokenizer.eighth_position_token_end + ] = True + if self.last_field_index < FIELD_TO_INDEX["structure"]: + allowed[ + tokenizer.structure_token_start : tokenizer.structure_token_end + ] = True + if self.last_field_index < FIELD_TO_INDEX["key"]: + allowed[tokenizer.key_token_start : tokenizer.key_token_end] = True + if self.last_field_index < FIELD_TO_INDEX["chord"]: + allowed[ + tokenizer.full_chord_token_start : tokenizer.full_chord_token_end + ] = True + if self.last_field_index <= FIELD_TO_INDEX["melody"]: + allowed[tokenizer.pitch_token_start : tokenizer.pitch_token_end] = True + + def allowed(self, device): + tokenizer = self.tokenizer + allowed = torch.zeros(tokenizer.n_tokens, dtype=torch.bool, device=device) + can_end = self.payload_count > 0 + + if can_end: + allowed[tokenizer.eos_token] = True + if self.payload_count > 0 or self.in_shift: + if self.shift_run < 4: + allowed[ + tokenizer.subbeat_shift_token_start : tokenizer.subbeat_shift_token_end + ] = True + + if self.incomplete == "rhythm_after_meter": + allowed[ + tokenizer.eighth_position_token_start : tokenizer.eighth_position_token_end + ] = True + return allowed + + if self.incomplete == "melody_after_pitch": + allowed[tokenizer.duration_token_start : tokenizer.duration_token_end] = True + allowed[tokenizer.pitch_token_start : tokenizer.pitch_token_end] = True + return allowed + + self._allow_field_starts(allowed) + return allowed + + def update(self, token): + tokenizer = self.tokenizer + token = int(token) + token_type = tokenizer.token_type(token) + if token == tokenizer.eos_token: + return True + if token_type == "subbeat_shift": + if not self.in_shift and self.payload_count > 0: + self.generated_events += 1 + self.payload_count = 0 + self.last_field_index = -1 + self.incomplete = None + self.in_shift = True + self.shift_run += 1 + return False + + self.in_shift = False + self.shift_run = 0 + self.payload_count += 1 + if token_type == "time": + self.last_field_index = FIELD_TO_INDEX["timestamp"] + self.incomplete = None + elif token_type == "meter": + self.last_field_index = FIELD_TO_INDEX["rhythm"] + self.incomplete = "rhythm_after_meter" + elif token_type == "eighth_position": + self.last_field_index = FIELD_TO_INDEX["rhythm"] + self.incomplete = None + elif token_type == "structure": + self.last_field_index = FIELD_TO_INDEX["structure"] + self.incomplete = None + elif token_type == "key": + self.last_field_index = FIELD_TO_INDEX["key"] + self.incomplete = None + elif token_type == "chord_full": + self.last_field_index = FIELD_TO_INDEX["chord"] + self.incomplete = None + elif token_type == "pitch": + self.last_field_index = FIELD_TO_INDEX["melody"] + self.incomplete = "melody_after_pitch" + elif token_type == "duration": + self.last_field_index = FIELD_TO_INDEX["melody"] + self.incomplete = None + else: + raise RuntimeError(f"Unexpected prompt token type {token_type!r}") + return False + + +def inference_autocast(device, dtype=torch.bfloat16): + if device.type != "cuda" or dtype is None: + return nullcontext() + return torch.autocast(device_type="cuda", dtype=dtype) + + +def select_cache_batch(cache, indices, batch_size): + if cache is None: + return None + batch_select = getattr(cache, "batch_select_indices", None) + if callable(batch_select): + batch_select(indices) + return cache + if torch.is_tensor(cache): + if cache.ndim > 0 and cache.shape[0] == batch_size: + return cache.index_select(0, indices) + return cache + if isinstance(cache, tuple): + return tuple(select_cache_batch(item, indices, batch_size) for item in cache) + if isinstance(cache, list): + return [select_cache_batch(item, indices, batch_size) for item in cache] + if isinstance(cache, dict): + return { + key: select_cache_batch(value, indices, batch_size) + for key, value in cache.items() + } + return cache + + +@torch.inference_mode() +def constrained_prompt_generate_batch( + model, + audio, + prompts, + max_sequence_length, + prefix_tokens=None, + autocast_dtype=torch.bfloat16, + stop_time_seconds=None, + progress_callback=None, + memory=None, + step_callback=None, +): + tokenizer = model.tokenizer + prefix = list(prefix_tokens) if prefix_tokens is not None else tokenizer.prompt_prefix(prompts) + if not prefix or prefix[0] != tokenizer.sos_token: + raise ValueError("generation prefix must begin with <|sos|>") + if prefix[-1] == tokenizer.eos_token: + prefix = prefix[:-1] + if audio.ndim != 2 or audio.shape[0] < 1: + raise ValueError(f"audio must have shape [batch, samples], got {tuple(audio.shape)}") + states = [PromptGrammarState(tokenizer) for _ in range(audio.shape[0])] + stop_times = [ + None if stop_time_seconds is None else float(stop_time_seconds) + for _ in states + ] + out_index = prefix.index(tokenizer.out_token) + for state in states: + for token in prefix[out_index + 1 :]: + state.update(token) + output_tokens = [list(prefix) for _ in states] + active_sample_ids = list(range(audio.shape[0])) + decoder_input = torch.tensor( + [prefix] * audio.shape[0], + dtype=torch.long, + device=audio.device, + ) + past_key_values = None + if memory is None: + with inference_autocast(audio.device, autocast_dtype): + memory = model.encode(audio) + current_length = len(prefix) + while active_sample_ids and current_length < int(max_sequence_length): + with inference_autocast(audio.device, autocast_dtype): + logits, past_key_values = model.decode( + memory, + decoder_input, + use_cache=True, + past_key_values=past_key_values, + ) + next_logits = logits[:, -1].float() + allowed = torch.stack( + [state.allowed(next_logits.device) for state in states], + dim=0, + ) + masked_logits = next_logits.masked_fill(~allowed, float("-inf")) + next_tokens = masked_logits.argmax(dim=-1) + if step_callback is not None: + step_callback(current_length, active_sample_ids, next_logits, masked_logits) + next_token_values = next_tokens.tolist() + keep_positions = [] + for position, (sample_id, state, stop_time, token) in enumerate( + zip(active_sample_ids, states, stop_times, next_token_values) + ): + output_tokens[sample_id].append(int(token)) + finished = state.update(token) + if ( + not finished + and stop_time is not None + and tokenizer.time_token_start <= int(token) < tokenizer.time_token_end + and tokenizer.token_to_time_id(token) / tokenizer.time_hz >= stop_time + ): + output_tokens[sample_id].append(tokenizer.eos_token) + finished = True + if not finished: + keep_positions.append(position) + current_length += 1 + if progress_callback is not None and current_length % 64 == 0: + progress_callback(current_length) + if not keep_positions: + break + + old_batch_size = len(active_sample_ids) + decoder_input = next_tokens[:, None] + if len(keep_positions) == old_batch_size: + continue + + keep = torch.tensor(keep_positions, dtype=torch.long, device=audio.device) + active_sample_ids = [active_sample_ids[position] for position in keep_positions] + states = [states[position] for position in keep_positions] + stop_times = [stop_times[position] for position in keep_positions] + memory = memory.index_select(0, keep) + past_key_values = select_cache_batch(past_key_values, keep, old_batch_size) + decoder_input = decoder_input.index_select(0, keep) + + for tokens in output_tokens: + if tokens[-1] != tokenizer.eos_token: + tokens.append(tokenizer.eos_token) + return [torch.tensor(tokens, dtype=torch.long) for tokens in output_tokens] + + +@torch.inference_mode() +def constrained_prompt_generate( + model, + audio, + prompts, + max_sequence_length, + prefix_tokens=None, + autocast_dtype=torch.bfloat16, + stop_time_seconds=None, + progress_callback=None, + memory=None, + step_callback=None, +): + if audio.shape[0] != 1: + raise ValueError( + "constrained_prompt_generate expects batch size 1; " + "use constrained_prompt_generate_batch for batched inference" + ) + return constrained_prompt_generate_batch( + model, + audio, + prompts, + max_sequence_length, + prefix_tokens=prefix_tokens, + autocast_dtype=autocast_dtype, + stop_time_seconds=stop_time_seconds, + progress_callback=progress_callback, + memory=memory, + step_callback=step_callback, + )[0] + + +def decode_generated_tokens(tokenizer, tokens, song_id, window_index=None): + try: + return tokenizer.decode_sequence(tokens, strict=True), None + except ValueError as exc: + recoverable_errors = ( + "empty event at subbeat", + "belongs to inactive output field", + ) + if not any(message in str(exc) for message in recoverable_errors): + raise + decoded = tokenizer.decode_sequence(tokens, strict=False) + warning = { + "song_id": song_id, + "warning": "strict decode failed; recovered in non-strict decode", + "error": str(exc), + } + if window_index is not None: + warning["window_index"] = int(window_index) + return decoded, warning + + +def event_time_map(decoded, target_seconds): + anchors = [] + for event in decoded["events"]: + value = event["values"].get("timestamp") + if value is not None: + anchors.append((int(event["subbeat"]), float(value))) + if not anchors: + return lambda step: min(float(target_seconds), max(0.0, float(step) * 0.125)) + anchors = sorted(dict(anchors).items()) + steps = np.asarray([item[0] for item in anchors], dtype=np.float64) + times = np.asarray([item[1] for item in anchors], dtype=np.float64) + if len(anchors) >= 2: + step_seconds = float(np.median(np.diff(times) / np.maximum(np.diff(steps), 1))) + if not np.isfinite(step_seconds) or step_seconds <= 0: + step_seconds = 0.125 + else: + step_seconds = 0.125 + + def lookup(step): + step = float(step) + if step <= steps[0]: + return float(np.clip(times[0] + (step - steps[0]) * step_seconds, 0, target_seconds)) + if step >= steps[-1]: + return float(np.clip(times[-1] + (step - steps[-1]) * step_seconds, 0, target_seconds)) + return float(np.interp(step, steps, times)) + + return lookup + + +def field_text(event, tokenizer): + parts = [] + for field in tokenizer.event_field_order: + value = event["values"].get(field) + if value is None: + continue + if field == "melody": + note_parts = [] + for note in value: + duration = note["duration_bin"] + note_parts.append( + f"pitch={note['pitch']}:track={note['track']}:dur_bin={duration}:dur_steps={note['duration_steps']}" + ) + parts.append("melody=[" + ",".join(note_parts) + "]") + elif isinstance(value, dict): + parts.append(field + "=" + ",".join(f"{k}:{v}" for k, v in value.items())) + else: + parts.append(f"{field}={value}") + return "; ".join(parts) + + +def event_start_time(event, time_lookup): + if "time" in event: + return float(event["time"]) + return float(time_lookup(event["subbeat"])) + + +def write_events_tsv(decoded, tokenizer, time_lookup, path): + with Path(path).open("w", encoding="utf-8") as f: + f.write("event_index\tsubbeat\ttime\tfields\ttokens\n") + for index, event in enumerate(decoded["events"]): + token_text = " ".join( + tokenizer.describe(token) + for field in tokenizer.event_field_order + for token in event["tokens_by_field"].get(field, ()) + ) + f.write( + f"{index}\t{event['subbeat']}\t{event_start_time(event, time_lookup):.6f}\t" + f"{field_text(event, tokenizer)}\t{token_text}\n" + ) + + +def clone_decoded_event(event): + return { + "subbeat": int(event["subbeat"]), + "tokens_by_field": { + field: [int(token) for token in tokens] + for field, tokens in event["tokens_by_field"].items() + }, + "values": copy.deepcopy(event["values"]), + } + + +def refresh_event_values(event, tokenizer, prompts): + event["values"] = { + field: tokenizer._decode_field(field, tokens, prompts) + for field, tokens in event["tokens_by_field"].items() + if tokens + } + + +def set_event_local_timestamp(event, tokenizer, local_time): + time_id = int(round(float(local_time) * tokenizer.time_hz)) + time_id = max(0, min(time_id, tokenizer.n_time_tokens - 1)) + event["tokens_by_field"]["timestamp"] = [tokenizer.time_id_to_token(time_id)] + + +def active_context_before(events, tokenizer, time_abs): + state = {} + for event in events: + event_time = event.get("time") + if event_time is None or float(event_time) > float(time_abs) + 1e-6: + continue + for field in ("structure", "key", "chord"): + tokens = event["tokens_by_field"].get(field) + if tokens: + state[field] = [int(token) for token in tokens] + rhythm_tokens = event["tokens_by_field"].get("rhythm", ()) + meter_tokens = [ + int(token) + for token in rhythm_tokens + if tokenizer.token_type(token) == "meter" + ] + if meter_tokens: + state["meter"] = meter_tokens[:1] + return state + + +def apply_prefix_context(event, context, tokenizer, prompts): + for field in ("structure", "key", "chord"): + if field not in event["tokens_by_field"] and field in context: + event["tokens_by_field"][field] = list(context[field]) + + rhythm_tokens = list(event["tokens_by_field"].get("rhythm", ())) + has_meter = any(tokenizer.token_type(token) == "meter" for token in rhythm_tokens) + has_eighth = any( + tokenizer.token_type(token) == "eighth_position" for token in rhythm_tokens + ) + if has_eighth and not has_meter and "meter" in context: + event["tokens_by_field"]["rhythm"] = list(context["meter"]) + rhythm_tokens + + refresh_event_values(event, tokenizer, prompts) + + +def build_overlap_prefix_tokens( + stitched_events, + tokenizer, + prompts, + window_start, + prefix_end, +): + eps = 1e-4 + source_events = [ + event + for event in stitched_events + if float(window_start) - eps <= float(event.get("time", -1.0)) < float(prefix_end) - eps + ] + source_events.sort( + key=lambda event: ( + int( + event.get( + "global_subbeat", + event.get("source_subbeat", event["subbeat"]), + ) + ), + float(event.get("time", 0.0)), + ) + ) + first_beat_index = next( + ( + index + for index, event in enumerate(source_events) + if "timestamp" in event["values"] or "rhythm" in event["values"] + ), + None, + ) + if first_beat_index is None: + return None, None, None + + source_events = source_events[first_beat_index:] + base_subbeat = int( + source_events[0].get( + "global_subbeat", + source_events[0].get("source_subbeat", source_events[0]["subbeat"]), + ) + ) + context = active_context_before( + stitched_events, + tokenizer, + source_events[0]["time"], + ) + prefix_events = [] + for source in source_events: + event = clone_decoded_event(source) + source_subbeat = int( + source.get( + "global_subbeat", + source.get("source_subbeat", source["subbeat"]), + ) + ) + event["subbeat"] = max(0, source_subbeat - base_subbeat) + if "timestamp" in event["tokens_by_field"]: + set_event_local_timestamp( + event, + tokenizer, + float(source["time"]) - float(window_start), + ) + refresh_event_values(event, tokenizer, prompts) + prefix_events.append(event) + + apply_prefix_context(prefix_events[0], context, tokenizer, prompts) + prefix_decoded = { + "schema_version": tokenizer.schema_version, + "prompts": prompts, + "events": prefix_events, + "has_eos": False, + } + return ( + prefix_decoded, + tokenizer.encode_decoded_sequence(prefix_decoded), + base_subbeat, + ) + + +def stitched_window_events( + decoded, + time_lookup, + window_start, + accept_start, + accept_end, + song_duration, + window_index, + global_subbeat_base=0, +): + accepted = [] + eps = 1e-4 + for event in decoded["events"]: + local_time = float(time_lookup(event["subbeat"])) + abs_time = float(window_start) + local_time + if abs_time < float(accept_start) - eps: + continue + if abs_time >= float(accept_end) - eps or abs_time >= float(song_duration) - eps: + continue + + output = clone_decoded_event(event) + output["time"] = float(np.clip(abs_time, 0.0, song_duration)) + output["window_index"] = int(window_index) + output["window_start"] = float(window_start) + output["source_subbeat"] = int(event["subbeat"]) + output["global_subbeat"] = int(global_subbeat_base) + int(event["subbeat"]) + if "timestamp" in output["values"]: + output["values"]["timestamp"] = output["time"] + + notes = output["values"].get("melody") + if notes is not None: + fixed_notes = [] + for note in notes: + fixed_note = copy.deepcopy(note) + duration_steps = int(fixed_note["duration_steps"]) + local_end = float(time_lookup(int(event["subbeat"]) + duration_steps)) + end_time = float(window_start) + local_end + end_time = min( + float(song_duration), + max(output["time"] + 0.04, end_time), + ) + fixed_note["end_time"] = end_time + fixed_notes.append(fixed_note) + output["values"]["melody"] = fixed_notes + accepted.append(output) + return accepted + + +def write_window_tokens(path, windows, tokenizer): + with Path(path).open("w", encoding="utf-8") as f: + for window in windows: + f.write( + f"# window_index={window['window_index']} " + f"start={window['start']:.6f} end={window['end']:.6f} " + f"prefix_end={window['prefix_end']:.6f} " + f"accept=[{window['accept_start']:.6f},{window['accept_end']:.6f}) " + f"generation_stop={window['generation_stop']} " + f"prefix_tokens={window['prefix_tokens']} " + f"tokens={int(window['tokens'].numel())}\n" + ) + for index, token in enumerate(window["tokens"].tolist()): + f.write(f"{index}\t{token}\t{tokenizer.describe(token)}\n") + f.write("\n") + + +@torch.inference_mode() +def generate(model, input_values, prompts=None, *, attention_mask=None, max_length=None, + max_new_tokens=None, prefix_tokens=None, + autocast_dtype=torch.bfloat16, stop_time_seconds=None, + return_dict_in_generate=False, output_logits=False, output_scores=False, + progress_callback=None): + """Generate symbolic token sequences with the model's event grammar. + + Inputs are 24 kHz waveforms [batch, samples]. Scores/logits are per generated + step, after the prompt prefix, with completed batch items filled by NaNs. + """ + from transformers.utils import ModelOutput + if input_values.ndim == 1: + input_values = input_values.unsqueeze(0) + if attention_mask is not None and attention_mask.ndim == 1: + attention_mask = attention_mask.unsqueeze(0) + input_values = input_values.to(next(model.parameters()).device) + prompts = model.tokenizer.normalize_prompts(prompts or FULL_TASK_PROMPTS) + prefix = list(prefix_tokens) if prefix_tokens is not None else model.tokenizer.prompt_prefix(prompts) + prefix_length = len(prefix) - (1 if prefix and prefix[-1] == model.tokenizer.eos_token else 0) + if max_new_tokens is not None: + if max_length is not None: + raise ValueError("Specify max_new_tokens or max_length, not both.") + if not isinstance(max_new_tokens, int) or isinstance(max_new_tokens, bool) or max_new_tokens < 1: + raise ValueError("max_new_tokens must be a positive integer.") + max_length = prefix_length + max_new_tokens + limit = model.max_output_seq_len if max_length is None else max_length + if not isinstance(limit, int) or isinstance(limit, bool) or not prefix_length < limit <= model.max_output_seq_len: + raise ValueError("The token limit must exceed the prefix length and fit the decoder context.") + memory = None + if attention_mask is not None: + with inference_autocast(input_values.device, autocast_dtype): + memory = model.get_audio_features(input_values, attention_mask=attention_mask).encoder_last_hidden_state + raw, scores, positions = [], [], [] + batch_size = input_values.shape[0] + def capture(position, ids, logits, masked): + positions.append(position) + for enabled, values, output in ((output_logits, logits, raw), (output_scores, masked, scores)): + if enabled: + row = torch.full((batch_size, values.shape[-1]), float('nan'), dtype=torch.float32) + row[ids] = values.detach().cpu() + output.append(row) + tokens = constrained_prompt_generate_batch( + model, input_values, prompts, limit, + prefix_tokens=prefix_tokens, autocast_dtype=autocast_dtype, + stop_time_seconds=stop_time_seconds, progress_callback=progress_callback, + step_callback=capture if output_logits or output_scores else None, + memory=memory, + ) + sequences = torch.nn.utils.rnn.pad_sequence(tokens, batch_first=True, padding_value=model.tokenizer.pad_token) + if return_dict_in_generate or output_logits or output_scores: + return ModelOutput(sequences=sequences, logits=tuple(raw) if output_logits else None, + scores=tuple(scores) if output_scores else None, + token_positions=torch.tensor(positions, dtype=torch.long)) + return sequences diff --git a/infer.py b/infer.py new file mode 100644 index 0000000000000000000000000000000000000000..0dc1570f28f13263d660df0b018933fbde8de93c --- /dev/null +++ b/infer.py @@ -0,0 +1,78 @@ +"""Transcribe a music recording with SheetSage2.""" +import argparse +from pathlib import Path +import sys + +SCRIPT_DIR = Path(__file__).absolute().parent +sys.path.insert(0, str(SCRIPT_DIR)) + + +def main(): + parser = argparse.ArgumentParser(description="SheetSage2: music audio to ABC, MIDI, annotations and features") + parser.add_argument("audio", type=Path) + parser.add_argument("--output", type=Path, default=Path("output")) + local = SCRIPT_DIR + parser.add_argument("--model", default=str(local) if (local / "config.json").exists() else "m-a-p/SheetSage2") + parser.add_argument("--revision", help="Model and code commit on Hugging Face") + parser.add_argument("--device", default="auto") + parser.add_argument("--dtype", choices=("bf16", "fp32"), default="bf16") + parser.add_argument("--preset", choices=("default", "paper"), default="default") + parser.add_argument("--max-seconds", type=float) + parser.add_argument("--overlap", type=float) + parser.add_argument("--lookahead", type=float) + parser.add_argument("--prompts", nargs="+") + parser.add_argument("--melody-only", action="store_true", + help="Keep vocal and instrumental melodies; omit chords from ABC and playback") + parser.add_argument("--export-logits", action="store_true") + parser.add_argument("--export-scores", action="store_true") + parser.add_argument("--export-embeddings", action="store_true") + parser.add_argument("--all-layers", action="store_true", help="Also export all 24 MERT block features") + parser.add_argument("--render-audio", action="store_true") + parser.add_argument("--render-score", nargs="?", const="pdf", default=False, help="pdf,svg,png (default: pdf)") + parser.add_argument("--render-parts", default="mix", help="mix,melody,vocal,instrumental,chords,all") + parser.add_argument("--local-files-only", action="store_true") + args = parser.parse_args() + if args.render_audio or args.render_score: + from rendering_sheetsage2 import validate_render_options + try: + validate_render_options(audio=args.render_audio, score=args.render_score, parts=args.render_parts) + except ValueError as exc: + parser.error(str(exc)) + import torch + from transformers import AutoModel + torch.set_num_threads(min(4, torch.get_num_threads())) + device = "cuda" if torch.cuda.is_available() else "cpu" if args.device == "auto" else args.device + if args.device != "auto": + device = args.device + model = AutoModel.from_pretrained( + args.model, revision=args.revision, code_revision=args.revision, + local_files_only=args.local_files_only, trust_remote_code=True, + ).eval().to(device) + def progress(value): + if value["stage"] == "encoding": + print(f"Window {value['window']}/{value['windows']}", flush=True) + options = dict(dtype=args.dtype, preset=args.preset, max_seconds=args.max_seconds, + overlap_seconds=args.overlap, lookahead_seconds=args.lookahead, + export_logits=args.export_logits, export_scores=args.export_scores, + export_embeddings=args.export_embeddings, output_hidden_states=args.all_layers, + render_audio=args.render_audio, render_score=args.render_score, + render_parts=tuple(args.render_parts.split(",")), progress=progress) + if args.prompts: + options["prompts"] = args.prompts + if args.melody_only: + options["melody_only"] = True + try: + result = model.transcribe(args.audio, output_dir=args.output, **options) + except (ValueError, RuntimeError, FileNotFoundError) as exc: + parser.exit(1, f"SheetSage2: {exc}\n") + if args.melody_only and (result.get("abc_error") or not result.get("abc")): + reason = result.get("abc_error") or "no ABC score was produced" + parser.exit(1, f"SheetSage2: melody-only ABC unavailable: {reason}. " + f"Transcription outputs were saved to {args.output.resolve()}.\n") + print(f"Saved transcription to {args.output.resolve()}") + if result.get("abc_error"): + print(f"ABC unavailable: {result['abc_error']}. MIDI and annotations were saved.") + + +if __name__ == "__main__": + main() diff --git a/io_sheetsage2.py b/io_sheetsage2.py new file mode 100644 index 0000000000000000000000000000000000000000..0e27cc72233ce5b029a01c6d2a5f45ed5f159be6 --- /dev/null +++ b/io_sheetsage2.py @@ -0,0 +1,67 @@ +import os +import stat +import tempfile +from contextlib import contextmanager +from pathlib import Path + + +def _target_path(path) -> Path: + target = Path(path) + target.parent.mkdir(parents=True, exist_ok=True) + return target + + +def _flush_path(path: Path) -> None: + with path.open("rb+") as handle: + os.fsync(handle.fileno()) + + +def _replacement_mode(target: Path) -> int: + try: + return stat.S_IMODE(target.stat().st_mode) + except FileNotFoundError: + mask = os.umask(0) + os.umask(mask) + return 0o666 & ~mask + + +@contextmanager +def atomic_output_path(path): + target = _target_path(path) + mode = _replacement_mode(target) + fd, tmp_name = tempfile.mkstemp( + # Keep the temporary basename independent of the final basename. Some + # annotation IDs are already close to NAME_MAX; repeating the target + # name here made an otherwise valid final path fail with ENAMETOOLONG. + prefix=".tmp_", + suffix=".tmp", + dir=str(target.parent), + ) + os.close(fd) + tmp_path = Path(tmp_name) + try: + yield str(tmp_path) + os.chmod(tmp_path, mode) + _flush_path(tmp_path) + os.replace(tmp_path, target) + except Exception: + try: + tmp_path.unlink() + except FileNotFoundError: + pass + raise + + +def atomic_write_text(path, text: str, encoding: str = "utf-8", newline: str = "\n") -> str: + with atomic_output_path(path) as tmp_path: + with open(tmp_path, "w", encoding=encoding, newline=newline) as handle: + handle.write(text) + handle.flush() + os.fsync(handle.fileno()) + return str(path) + + +def atomic_write_pretty_midi(midi, path) -> str: + with atomic_output_path(path) as tmp_path: + midi.write(tmp_path) + return str(path) diff --git a/labels_sheetsage2.py b/labels_sheetsage2.py new file mode 100644 index 0000000000000000000000000000000000000000..879999de3642e95c6f703d7fbe85167cca5c19fa --- /dev/null +++ b/labels_sheetsage2.py @@ -0,0 +1,29 @@ + + + +STRUCTURE_LABELS = ['silence', 'intro', 'outro', 'verse', 'chorus', 'bridge', 'pre-chorus', 'post-chorus', + 'interlude', 'fade-out', 'loop', 'rap', 'preshot', 'irregular'] + + +STRUCTURE_LABELS = ['silence', 'intro', 'outro', 'verse', 'chorus', 'bridge', 'pre-chorus', 'post-chorus', + 'interlude', 'fade-out', 'loop', 'rap', 'preshot', 'irregular', 'instrumental', + 'intro and verse', 'pre-chorus and chorus', 'verse and pre-chorus', 'solo', 'theme', 'development', 'variation', 'pre-outro'] + + +MIREX_STRUCTURE_LABEL_REDUCTION = { + 'silence': 'silence', + 'intro': 'intro', + 'outro': 'outro', + 'verse': 'verse', + 'chorus': 'chorus', + 'bridge': 'bridge', + 'pre-chorus': 'verse', + 'post-chorus': 'verse', + 'interlude': 'inst', + 'inst': 'inst', + 'fade-out': 'outro', + 'loop': 'chorus', + 'rap': 'verse', + 'preshot': 'inst', + 'irregular': 'verse', +} \ No newline at end of file diff --git a/midi_sheetsage2.py b/midi_sheetsage2.py new file mode 100644 index 0000000000000000000000000000000000000000..7cc393644c4165b16e93c2cbe9cf5109ef6907ab --- /dev/null +++ b/midi_sheetsage2.py @@ -0,0 +1,92 @@ +"""Original-time MIDI playback and a separate score-to-audio measure map.""" +import json +from io import BytesIO +from pathlib import Path + +import mir_eval.chord +import numpy as np +import pretty_midi + +from .io_sheetsage2 import atomic_write_text + + +def chord_pitches(label): + if label in {"N", "X", "?"}: + return [] + root, bitmap, bass = mir_eval.chord.encode(label, reduce_extended_chords=True) + if root < 0: + return [] + # Keep inversion bass below the chord; no ABC chord-name reinterpretation. + upper = [48 + root + int(interval) for interval in np.flatnonzero(bitmap > 0)] + return sorted(set([36 + (root + bass) % 12] + upper)) + + +def measure_map(score, duration): + rows, position = [], 0.0 + for measure in score.measures: + length = measure.abc_numerator / measure.abc_denominator + actual = measure.numerator / measure.denominator + start = float(score.beats[measure.start_beat].time) + end = float(score.beats[measure.end_beat].time) + rows.append(dict(index=measure.index, start=start, end=min(end, duration), + score_start=position, score_end=position + length, + leading_rest=length - actual if measure.pad_before else 0.0, + trailing_rest=length - actual if not measure.pad_before else 0.0)) + position += length + return rows + + +def midi_bytes(midi): + """Serialize a PrettyMIDI object without touching the filesystem.""" + stream = BytesIO() + midi.write(stream) + return stream.getvalue() + + +def build_playback(melody_midi, chord_rows, score, duration): + """Return playback metadata and MIDI bytes, preserving MIDI tick rounding.""" + if isinstance(melody_midi, pretty_midi.PrettyMIDI): + melody_midi = midi_bytes(melody_midi) + midi = pretty_midi.PrettyMIDI(BytesIO(melody_midi)) + chord_track = pretty_midi.Instrument(0, name="Chords") + warnings = [] + for start, end, label in chord_rows: + start, end = max(0.0, float(start)), min(duration, float(end)) + try: + pitches = chord_pitches(label) + except mir_eval.chord.InvalidChordException as exc: + warnings.append(f"Chord playback skipped {label}: {exc}") + continue + # Rearticulate long chord spans at downbeats, including repeated bars. + downbeats = [b.time for b in score.beats if b.beat_id == 1] if score is not None else [] + cuts = [start] + [time for time in downbeats if start < time < end] + [end] + for a, b in zip(cuts, cuts[1:]): + if b <= a: + continue + for pitch in pitches: + chord_track.notes.append(pretty_midi.Note(48, pitch, a, b)) + midi.instruments.append(chord_track) + transcription = midi_bytes(midi) + chords = pretty_midi.PrettyMIDI(resolution=midi.resolution) + chords.instruments.append(chord_track) + midis = {"transcription": transcription, "chords": midi_bytes(chords)} + # Decode the serialized bytes, so playback follows the returned MIDI exactly. + midi = pretty_midi.PrettyMIDI(BytesIO(transcription)) + tracks = [dict(name=instrument.name, program=int(instrument.program), + notes=[dict(pitch=int(n.pitch), start=float(n.start), end=float(n.end), velocity=int(n.velocity)) + for n in instrument.notes]) for instrument in midi.instruments] + data = dict(version=1, duration=duration, midi="transcription.mid", tracks=tracks, + measures=measure_map(score, duration) if score is not None else [], warnings=warnings) + return data, midis + + +def export_playback(directory, score, duration): + """Write playback files for an existing directory of exported annotations.""" + directory = Path(directory) + chord_path = directory / "chord.lab" + rows = [line.split(maxsplit=2) for line in chord_path.read_text(encoding="utf-8").splitlines()] if chord_path.exists() else [] + data, midis = build_playback((directory / "melody.mid").read_bytes(), rows, score, duration) + for name, content in midis.items(): + (directory / f"{name}.mid").write_bytes(content) + atomic_write_text(directory / "playback.json", json.dumps(data, indent=2)) + return data diff --git a/model.safetensors b/model.safetensors new file mode 100644 index 0000000000000000000000000000000000000000..244dc81ec5faa905271e523d26e85089571ab28f --- /dev/null +++ b/model.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b235f68091a5f5b644000f2b5acb57d1e70432aca2b34ab1b9cf27236e1f4274 +size 228738564 diff --git a/modeling_mert2.py b/modeling_mert2.py new file mode 100644 index 0000000000000000000000000000000000000000..0369f732d561917d8d1a4d252f802ad4e23f3d4c --- /dev/null +++ b/modeling_mert2.py @@ -0,0 +1,361 @@ +"""Standalone MERT2 waveform-to-representation inference.""" + +from dataclasses import dataclass +from typing import Optional, Tuple + +import torch +from torch import nn +from torch.nn import functional as F +from torchaudio.transforms import AmplitudeToDB, MelScale, Spectrogram +from transformers import PreTrainedModel +from transformers.utils import ModelOutput + +from .configuration_mert2 import MERT2Config + + +@dataclass +class MERT2ModelOutput(ModelOutput): + """Frame representations and their validity mask. + + ``hidden_states`` contains one tensor per Conformer block, without an input + embedding. ``feature_attention_mask`` is True at valid output frames. + """ + + last_hidden_state: Optional[torch.FloatTensor] = None + hidden_states: Optional[Tuple[torch.FloatTensor, ...]] = None + feature_attention_mask: Optional[torch.BoolTensor] = None + + +class MERT2MelFrontend(nn.Module): + """Power log-mel features with fixed, checkpoint-specific normalization.""" + + def __init__(self, config): + super().__init__() + # Filter construction requires real tensors even during meta loading. + with torch.device("cpu"): + self.register_buffer("mel_mean", torch.zeros(config.num_mel_bins, dtype=torch.float32)) + self.register_buffer("mel_std", torch.ones(config.num_mel_bins, dtype=torch.float32)) + self.spectrogram = Spectrogram( + n_fft=config.n_fft, + win_length=config.win_length, + hop_length=config.hop_length, + power=2.0, + ).float() + self.mel_scale = MelScale( + n_mels=config.num_mel_bins, + sample_rate=config.sampling_rate, + n_stft=config.n_fft // 2 + 1, + ).float() + self.amplitude_to_db = AmplitudeToDB(stype="power", top_db=None) + + def _apply(self, fn, recurse=True): + # Preserve the original float32 values, including on model.half(). + saved = [(module, name, value) for module in self.modules() for name, value in module._buffers.items() if value is not None] + super()._apply(fn, recurse=recurse) + for module, name, original in saved: + current = module._buffers[name] + if original.is_floating_point(): + module._buffers[name] = ( + current.float() if original.is_meta else original.to(device=current.device, dtype=torch.float32) + ) + return self + + @torch.no_grad() + def forward(self, waveform): + with torch.autocast(device_type=waveform.device.type, enabled=False): + spectrum = self.spectrogram(waveform.float()) + mel = self.amplitude_to_db(self.mel_scale(spectrum)) + mel = mel[..., :-1].transpose(-1, -2) + return (mel - self.mel_mean) / self.mel_std.clamp_min(1e-5) + + +class Transpose(nn.Module): + def forward(self, hidden_states): + return hidden_states.transpose(1, 2) + + +class GlobalResponseNorm(nn.Module): + def __init__(self, dim): + super().__init__() + self.weight = nn.Parameter(torch.zeros(1, 1, dim)) + self.bias = nn.Parameter(torch.zeros(1, 1, dim)) + + def forward(self, hidden_states): + magnitude = torch.norm(hidden_states, p=2, dim=1, keepdim=True) + normalized = magnitude / (magnitude.mean(dim=-1, keepdim=True) + 1e-6) + return self.weight * (hidden_states * normalized) + self.bias + hidden_states + + +class ConvNextLayer(nn.Module): + def __init__(self, dim, eps): + super().__init__() + self.depthwise_block = nn.Sequential( + Transpose(), nn.Conv1d(dim, dim, 7, padding=3, groups=dim), Transpose() + ) + self.pointwise_block = nn.Sequential( + nn.LayerNorm(dim, eps=eps), + nn.Linear(dim, 4 * dim), + nn.GELU(), + GlobalResponseNorm(4 * dim), + nn.Linear(4 * dim, dim), + ) + + def forward(self, hidden_states): + return hidden_states + self.pointwise_block(self.depthwise_block(hidden_states)) + + +class ConvNextBlock(nn.Module): + def __init__(self, in_channels, out_channels, stride, depth, eps): + super().__init__() + self.resampling_layer = ( + nn.Sequential( + nn.LayerNorm(in_channels, eps=eps), + Transpose(), + nn.Conv1d(in_channels, out_channels, 2, stride=stride), + Transpose(), + ) + if in_channels != out_channels or stride > 1 else nn.Identity() + ) + self.convnext_layers = nn.Sequential(*[ConvNextLayer(out_channels, eps) for _ in range(depth)]) + + def forward(self, hidden_states): + return self.convnext_layers(self.resampling_layer(hidden_states)) + + +class RotaryEmbedding(nn.Module): + def __init__(self, config): + super().__init__() + self.head_dim = config.hidden_size // config.num_attention_heads + self.base = config.rotary_embedding_base + with torch.device("cpu"): + inverse_frequency = 1.0 / ( + self.base ** (torch.arange(0, self.head_dim, 2, dtype=torch.float32) / self.head_dim) + ) + self.register_buffer("inv_freq", inverse_frequency, persistent=False) + self._sequence_length = 0 + self._cache_device = None + self._cos = None + self._sin = None + + def _apply(self, fn, recurse=True): + original = self.inv_freq + super()._apply(fn, recurse=recurse) + self.inv_freq = original.to(device=self.inv_freq.device, dtype=torch.float32) + return self + + def forward(self, hidden_states): + length = hidden_states.shape[1] + if self._cos is None or self._cache_device != hidden_states.device or length > self._sequence_length: + positions = torch.arange(length, device=hidden_states.device, dtype=self.inv_freq.dtype) + frequencies = torch.einsum("i,j->ij", positions, self.inv_freq) + angles = torch.cat((frequencies, frequencies), dim=-1) + self._cos = angles.cos()[:, None, None, :] + self._sin = angles.sin()[:, None, None, :] + self._sequence_length = length + self._cache_device = hidden_states.device + return ( + self._cos[:length].to(hidden_states.dtype).permute(1, 0, 2, 3), + self._sin[:length].to(hidden_states.dtype).permute(1, 0, 2, 3), + ) + + +def rotate_half(value): + first, second = value.chunk(2, dim=-1) + return torch.cat((-second, first), dim=-1) + + +class SelfAttention(nn.Module): + def __init__(self, config): + super().__init__() + self.config = config + self.num_heads = config.num_attention_heads + self.head_dim = config.hidden_size // self.num_heads + self.query_proj = nn.Linear(config.hidden_size, config.hidden_size) + self.key_proj = nn.Linear(config.hidden_size, config.hidden_size) + self.value_proj = nn.Linear(config.hidden_size, config.hidden_size) + self.out_proj = nn.Linear(config.hidden_size, config.hidden_size) + + def forward(self, hidden_states, position_embeddings): + batch, time, width = hidden_states.shape + shape = (batch, time, self.num_heads, self.head_dim) + query = self.query_proj(hidden_states).reshape(shape) + key = self.key_proj(hidden_states).reshape(shape) + value = self.value_proj(hidden_states).reshape(shape) + cos, sin = position_embeddings + query = query * cos + rotate_half(query) * sin + key = key * cos + rotate_half(key) * sin + if self.config._attn_implementation == "flash_attention_2": + if query.device.type != "cuda" or query.dtype not in (torch.float16, torch.bfloat16): + raise ValueError("flash_attention_2 requires CUDA and float16/bfloat16 activations; use autocast or load a reduced-precision model.") + try: + from flash_attn import flash_attn_func + except ImportError as error: + raise ImportError("Install flash-attn to use flash_attention_2, or select attn_implementation='sdpa'.") from error + attended = flash_attn_func(query.contiguous(), key.contiguous(), value.contiguous(), dropout_p=0.0, causal=False) + else: + attended = F.scaled_dot_product_attention( + query.transpose(1, 2), key.transpose(1, 2), value.transpose(1, 2), dropout_p=0.0, is_causal=False + ).transpose(1, 2) + return self.out_proj(attended.reshape(batch, time, width)) + + +class FeedForward(nn.Module): + def __init__(self, config): + super().__init__() + self.w_1 = nn.Linear(config.hidden_size, config.intermediate_size) + self.w_2 = nn.Linear(config.intermediate_size, config.hidden_size) + + def forward(self, hidden_states): + return self.w_2(F.gelu(self.w_1(hidden_states))) + + +class ConvolutionModule(nn.Module): + def __init__(self, config): + super().__init__() + width = config.hidden_size + kernel = config.conv_depthwise_kernel_size + self.layer_norm = nn.LayerNorm(width, eps=config.layer_norm_eps) + self.conv_block = nn.Sequential( + Transpose(), + nn.Conv1d(width, 2 * width, 1, bias=False), + nn.GLU(dim=1), + nn.Conv1d(width, width, kernel, padding=(kernel - 1) // 2, groups=width, bias=False), + nn.Sequential(Transpose(), nn.LayerNorm(width, eps=config.layer_norm_eps), Transpose()), + nn.GELU(), + nn.Conv1d(width, width, 1, bias=False), + Transpose(), + ) + + def forward(self, hidden_states): + return self.conv_block(self.layer_norm(hidden_states)) + + +class ConformerBlock(nn.Module): + def __init__(self, config): + super().__init__() + width, eps = config.hidden_size, config.layer_norm_eps + self.ffn1_layer_norm = nn.LayerNorm(width, eps=eps) + self.ffn1 = FeedForward(config) + self.attn_layer_norm = nn.LayerNorm(width, eps=eps) + self.attn = SelfAttention(config) + self.conv_module = ConvolutionModule(config) + self.ffn2_layer_norm = nn.LayerNorm(width, eps=eps) + self.ffn2 = FeedForward(config) + self.final_layer_norm = nn.LayerNorm(width, eps=eps) + + def forward(self, hidden_states, position_embeddings): + hidden_states = hidden_states + 0.5 * self.ffn1(self.ffn1_layer_norm(hidden_states)) + hidden_states = self.attn(self.attn_layer_norm(hidden_states), position_embeddings) + hidden_states + hidden_states = self.conv_module(hidden_states) + hidden_states + hidden_states = hidden_states + 0.5 * self.ffn2(self.ffn2_layer_norm(hidden_states)) + return self.final_layer_norm(hidden_states) + + +class MERT2Model(PreTrainedModel): + """Encode mono waveforms into 25 Hz MERT2 frame representations. + + Inputs are floating-point mono waveforms sampled at ``config.sampling_rate``. + Do not standardize their amplitude. An optional waveform attention mask must + contain a prefix of ones followed by zeros. Without a mask, every input + sample, including any caller-provided silence or padding, is processed. + """ + + config_class = MERT2Config + base_model_prefix = "" + main_input_name = "input_values" + _supports_sdpa = True + _supports_flash_attn_2 = True + _no_split_modules = ["ConvNextBlock", "ConformerBlock"] + + def __init__(self, config): + super().__init__(config) + if config._attn_implementation not in {"sdpa", "flash_attention_2"}: + raise ValueError("MERT2 supports attn_implementation='sdpa' or 'flash_attention_2'.") + self.feature_extractor = MERT2MelFrontend(config) + channels = [config.num_mel_bins] + config.subsampling_channels + self.subsampling_module = nn.Sequential(*[ + ConvNextBlock(channels[i], channels[i + 1], (1, 2, 2)[i], config.subsampling_depths[i], config.subsampling_layer_norm_eps) + for i in range(3) + ]) + self.layers = nn.ModuleList([ConformerBlock(config) for _ in range(config.num_hidden_layers)]) + self.embed_positions = RotaryEmbedding(config) + self.post_init() + + def _init_weights(self, module): + if isinstance(module, (nn.Linear, nn.Conv1d)): + nn.init.normal_(module.weight, mean=0.0, std=self.config.initializer_range) + if module.bias is not None: + nn.init.zeros_(module.bias) + elif isinstance(module, nn.LayerNorm): + nn.init.ones_(module.weight) + nn.init.zeros_(module.bias) + + def _get_feat_extract_output_lengths(self, input_lengths): + return input_lengths // self.config.inputs_to_logits_ratio + + def _encode(self, input_values, output_hidden_states): + mel = self.feature_extractor(input_values) + input_dtype = self.subsampling_module[0].convnext_layers[0].depthwise_block[1].weight.dtype + hidden = self.subsampling_module(mel.to(dtype=input_dtype)) + positions = self.embed_positions(hidden) + states = [] if output_hidden_states else None + for layer in self.layers: + hidden = layer(hidden, positions) + if states is not None: + states.append(hidden) + return hidden, tuple(states) if states is not None else None + + def forward(self, input_values, attention_mask=None, output_hidden_states=None, return_dict=None): + """Return final frames, optionally all block states, and a frame mask. + + Different valid waveform lengths are encoded separately so convolution + and global normalization never incorporate another sample's padding. + Outputs are zero-padded to the longest valid feature sequence. + """ + output_hidden_states = self.config.output_hidden_states if output_hidden_states is None else output_hidden_states + return_dict = self.config.use_return_dict if return_dict is None else return_dict + if input_values.ndim != 2 or not input_values.is_floating_point() or input_values.shape[0] == 0: + raise ValueError("input_values must be a nonempty floating-point tensor of shape [batch, samples].") + if input_values.shape[1] < self.config.minimum_input_samples: + raise ValueError(f"Each waveform must contain at least {self.config.minimum_input_samples} samples.") + if not torch.isfinite(input_values).all(): + raise ValueError("input_values must contain only finite samples.") + batch, samples = input_values.shape + if attention_mask is None: + hidden, states = self._encode(input_values, output_hidden_states) + feature_mask = torch.ones(hidden.shape[:2], dtype=torch.bool, device=hidden.device) + else: + if attention_mask.shape != input_values.shape: + raise ValueError("attention_mask must have the same shape as input_values.") + attention_mask = attention_mask.to(device=input_values.device) + if not ((attention_mask == 0) | (attention_mask == 1)).all(): + raise ValueError("attention_mask must contain only zeros and ones.") + mask = attention_mask.bool() + lengths = mask.sum(dim=1) + expected = torch.arange(samples, device=input_values.device)[None, :] < lengths[:, None] + if not torch.equal(mask, expected): + raise ValueError("attention_mask must be right padded: valid samples followed by padding.") + if (lengths < self.config.minimum_input_samples).any(): + raise ValueError(f"Each waveform must contain at least {self.config.minimum_input_samples} valid samples.") + feature_lengths = self._get_feat_extract_output_lengths(lengths) + maximum = int(feature_lengths.max().item()) + feature_mask = torch.arange(maximum, device=input_values.device)[None, :] < feature_lengths[:, None] + hidden, state_values = None, None + for length in torch.unique(lengths, sorted=True).tolist(): + indices = torch.where(lengths == length)[0] + group_hidden, group_states = self._encode(input_values.index_select(0, indices)[:, :length], output_hidden_states) + padding = (0, 0, 0, maximum - group_hidden.shape[1]) + if hidden is None: + hidden = group_hidden.new_zeros(batch, maximum, self.config.hidden_size) + if output_hidden_states: + state_values = [torch.zeros_like(hidden) for _ in self.layers] + hidden = hidden.index_copy(0, indices, F.pad(group_hidden, padding)) + if state_values is not None: + for i, value in enumerate(group_states): + state_values[i] = state_values[i].index_copy(0, indices, F.pad(value, padding)) + states = tuple(state_values) if state_values is not None else None + output = MERT2ModelOutput(last_hidden_state=hidden, hidden_states=states, feature_attention_mask=feature_mask) + return output if return_dict else output.to_tuple() + + +MERT2Model.register_for_auto_class("AutoModel") diff --git a/modeling_sheetsage2.py b/modeling_sheetsage2.py new file mode 100644 index 0000000000000000000000000000000000000000..374e822c18f79f05eec08c2f72bd91f55811d30c --- /dev/null +++ b/modeling_sheetsage2.py @@ -0,0 +1,449 @@ +"""Hugging Face SheetSage2 model with a shared MERT-v2 encoder.""" + +from dataclasses import dataclass +import copy +import hashlib +from pathlib import Path +import shutil +from types import SimpleNamespace +from typing import Optional, Tuple + +import torch +from torch import nn +from torch.nn import functional as F +from transformers import AutoModel, BartConfig, PreTrainedModel +from transformers.models.bart.modeling_bart import BartDecoder +from transformers.utils import ModelOutput +from transformers.utils.hub import cached_file + +from .configuration_mert2 import MERT2Config +from .modeling_mert2 import MERT2Model +from .configuration_sheetsage2 import SheetSage2Config +from .tokenization_sheetsage2 import SheetSage2Tokenizer + + +PROJECTIONS = ("query_proj", "key_proj", "value_proj", "out_proj") +BASE_CODE_HASHES = { + "configuration_mert2.py": "77b53ec9d7ee31a599d744fb006e812c7eeaf7390deb46e2f460cf8c17b00bd6", + "modeling_mert2.py": "b1a3174e5649c4b26b0c90d8626f0adacfbbba111a58ed3bb72ad651945a2f5c", +} + + +def _hf_relative_dependencies(): + # Transformers 4.45 copies direct imports into a fresh local module cache. + from .audio_sheetsage2 import load_audio + from .chord_spelling_sheetsage2 import normalize_key_name + from .durations_sheetsage2 import DURATION_TEMPLATES + from .exports_sheetsage2 import export_result + from .io_sheetsage2 import atomic_write_text + from .labels_sheetsage2 import STRUCTURE_LABELS + from .midi_sheetsage2 import export_playback + from .notation_sheetsage2 import generate_abc_from_exports + from .rendering_sheetsage2 import render_outputs + from .schema_sheetsage2 import get_prompt_multitask_schema + from .tensors_sheetsage2 import WindowTensorWriter + + +def _sha256(path): + digest = hashlib.sha256() + with Path(path).open("rb") as stream: + for block in iter(lambda: stream.read(8 << 20), b""): + digest.update(block) + return digest.hexdigest() + + +@dataclass +class SheetSage2EncoderOutput(ModelOutput): + """Frame features. Block states exclude the separately returned input state.""" + + encoder_last_hidden_state: Optional[torch.FloatTensor] = None + backbone_last_hidden_state: Optional[torch.FloatTensor] = None + mixed_hidden_state: Optional[torch.FloatTensor] = None + input_hidden_state: Optional[torch.FloatTensor] = None + backbone_hidden_states: Optional[Tuple[torch.FloatTensor, ...]] = None + feature_attention_mask: Optional[torch.BoolTensor] = None + + @property + def last_hidden_state(self): + return self.encoder_last_hidden_state + + +@dataclass +class SheetSage2Output(ModelOutput): + logits: Optional[torch.FloatTensor] = None + past_key_values: Optional[Tuple] = None + decoder_hidden_states: Optional[Tuple[torch.FloatTensor, ...]] = None + encoder_last_hidden_state: Optional[torch.FloatTensor] = None + backbone_last_hidden_state: Optional[torch.FloatTensor] = None + mixed_hidden_state: Optional[torch.FloatTensor] = None + input_hidden_state: Optional[torch.FloatTensor] = None + backbone_hidden_states: Optional[Tuple[torch.FloatTensor, ...]] = None + feature_attention_mask: Optional[torch.BoolTensor] = None + + +class AttentionAdapter(nn.Module): + def __init__(self, width, rank): + super().__init__() + self.lora_A = nn.Linear(width, rank, bias=False) + self.lora_B = nn.Linear(rank, width, bias=False) + + +class EncoderAdapters(nn.Module): + def __init__(self, config): + super().__init__() + self.layers = nn.ModuleList() + for _ in range(config.backbone_config["num_hidden_layers"]): + layer = nn.Module() + layer.attn = nn.Module() + for name in PROJECTIONS: + setattr(layer.attn, name, AttentionAdapter(config.backbone_config["hidden_size"], config.lora_rank)) + self.layers.append(layer) + + +class SheetSage2Model(PreTrainedModel): + """Audio-to-symbolic model, with optional frame and decoder representations. + + ``from_pretrained`` loads the pinned MERT-v2 parent and merges attention + adapters in float32. ``save_pretrained`` writes an independent merged model. + ``forward`` returns raw vocabulary logits; grammar-masked generation scores + are available separately through ``generate(output_scores=True)``. + """ + + config_class = SheetSage2Config + base_model_prefix = "" + main_input_name = "input_values" + _supports_sdpa = True + _tied_weights_keys = ["decoder.embed_tokens.weight", "output_projection.weight"] + _no_split_modules = ["ConformerBlock", "BartDecoderLayer"] + + def __init__(self, config): + super().__init__(config) + self.hparams = SimpleNamespace(input_audio_length=config.input_audio_length, time_hz=config.time_hz) + self.max_output_seq_len = config.max_output_seq_len + self.tokenizer = SheetSage2Tokenizer( + config.input_audio_length, config.time_hz, config.tokenizer_schema_version, + expected_fingerprint=config.tokenizer_fingerprint, + ) + if self.tokenizer.n_tokens != config.vocab_size: + raise ValueError("Tokenizer vocabulary size does not match the model.") + if config.weights_format == "adapter": + self.encoder = None + self.adapter = EncoderAdapters(config) + else: + ec = MERT2Config(**config.backbone_config) + ec._attn_implementation = config.encoder_attn_implementation + self.encoder = MERT2Model(ec) + self.adapter = None + self.layer_weight = nn.Parameter(torch.zeros(config.backbone_config["num_hidden_layers"] + 1)) + self.encoder_projection = nn.Linear(config.backbone_config["hidden_size"], config.hidden_size) + dc = BartConfig( + vocab_size=config.vocab_size, d_model=config.hidden_size, + decoder_layers=config.decoder_layers, decoder_attention_heads=config.num_attention_heads, + decoder_ffn_dim=config.intermediate_size, max_position_embeddings=config.max_output_seq_len, + dropout=config.decoder_dropout, attention_dropout=config.decoder_dropout, + activation_dropout=config.decoder_dropout, activation_function="gelu", + pad_token_id=config.pad_token_id, bos_token_id=config.bos_token_id, + eos_token_id=config.eos_token_id, is_encoder_decoder=True, use_cache=True, + ) + dc._attn_implementation = "sdpa" + self.token_embedding = nn.Embedding(config.vocab_size, config.hidden_size, padding_idx=config.pad_token_id) + self.decoder = BartDecoder(dc, embed_tokens=self.token_embedding) + self.decoder.gradient_checkpointing_disable() + self.output_projection = nn.Linear(config.hidden_size, config.vocab_size, bias=False) + self.output_projection.weight = self.token_embedding.weight + self.lora_merged = config.weights_format == "merged" + self.post_init() + + def get_input_embeddings(self): + return self.token_embedding + + def set_input_embeddings(self, value): + self.token_embedding = value + self.decoder.embed_tokens.weight = value.weight + + def tie_weights(self): + super().tie_weights() + if hasattr(self, "decoder") and hasattr(self, "token_embedding"): + self.decoder.embed_tokens.weight = self.token_embedding.weight + + def get_output_embeddings(self): + return self.output_projection + + def set_output_embeddings(self, value): + self.output_projection = value + + def _init_weights(self, module): + if isinstance(module, (nn.Linear, nn.Embedding)): + nn.init.normal_(module.weight, mean=0.0, std=0.02) + if getattr(module, "bias", None) is not None: + nn.init.zeros_(module.bias) + if isinstance(module, nn.Embedding) and module.padding_idx is not None: + module.weight.data[module.padding_idx].zero_() + elif isinstance(module, nn.LayerNorm): + nn.init.ones_(module.weight) + nn.init.zeros_(module.bias) + + @torch.no_grad() + def merge_lora(self): + if self.lora_merged: + return self + if self.encoder is None or self.adapter is None: + raise RuntimeError("Load both the MERT-v2 parent and adapters before merging.") + scale = self.config.lora_alpha / self.config.lora_rank + with torch.autocast("cpu", enabled=False): + for layer, adapter in zip(self.encoder.layers, self.adapter.layers): + for name in PROJECTIONS: + projection = getattr(layer.attn, name) + update = getattr(adapter.attn, name) + values = (projection.weight, update.lora_A.weight, update.lora_B.weight) + if any(value.device.type != "cpu" or value.dtype != torch.float32 for value in values): + raise ValueError("Merge adapters on CPU with float32 parameters.") + projection.weight.add_((update.lora_B.weight @ update.lora_A.weight) * scale) + self.adapter = None + self.lora_merged = True + self.config.weights_format = "merged" + return self + + @classmethod + def from_pretrained(cls, pretrained_model_name_or_path, *model_args, **kwargs): + base_path = kwargs.pop("base_model_path", None) + requested_dtype = kwargs.pop("torch_dtype", torch.float32) + target_device = kwargs.pop("device_map", None) + backend = kwargs.pop("attn_implementation", None) + return_loading_info = kwargs.pop("output_loading_info", False) + config = kwargs.pop("config", None) + hub_keys = ("cache_dir", "force_download", "local_files_only", "token", "revision", "subfolder") + hub_args = {name: kwargs[name] for name in hub_keys if name in kwargs} + if config is None: + config = cls.config_class.from_pretrained(pretrained_model_name_or_path, **hub_args) + if backend is not None: + config.encoder_attn_implementation = backend + if config.encoder_attn_implementation not in {"sdpa", "flash_attention_2"}: + raise ValueError("Select attn_implementation='sdpa' or 'flash_attention_2'.") + if isinstance(target_device, dict): + if set(target_device) != {""}: + raise ValueError("Use a single device for SheetSage2: device_map={'': 'cuda:0'}.") + target_device = target_device[""] + if target_device == "auto": + target_device = "cuda" if torch.cuda.is_available() else "cpu" + if requested_dtype == "auto": + requested_dtype = torch.float32 + if isinstance(requested_dtype, str): + requested_dtype = getattr(torch, requested_dtype, None) + if requested_dtype not in {None, torch.float32, torch.bfloat16, torch.float16}: + raise ValueError("Use torch_dtype float32, bfloat16, float16, or 'auto'.") + # Adapters must be loaded and merged before any reduced-precision cast. + model, loading_info = super().from_pretrained( + pretrained_model_name_or_path, *model_args, config=config, + torch_dtype=torch.float32, attn_implementation="sdpa", output_loading_info=True, **kwargs, + ) + if any(loading_info.get(name) for name in ("missing_keys", "unexpected_keys", "mismatched_keys", "error_msgs")): + raise ValueError(f"Incomplete or incompatible SheetSage2 weights: {loading_info}") + if config.weights_format == "adapter": + parent = str(base_path or config.base_model_name_or_path) + parent_hub_args = {name: hub_args[name] for name in ("cache_dir", "force_download", "local_files_only", "token") if name in hub_args} + parent_hub_args["revision"] = config.base_model_revision + expected_files = dict(BASE_CODE_HASHES, **{"model.safetensors": config.base_model_sha256}) + for filename, expected in expected_files.items(): + resolved = cached_file(parent, filename, **parent_hub_args) + if _sha256(resolved) != expected: + raise ValueError(f"MERT-v2 parent integrity check failed: {filename}") + model.encoder = AutoModel.from_pretrained( + parent, trust_remote_code=True, code_revision=config.base_model_revision, + torch_dtype=torch.float32, attn_implementation=config.encoder_attn_implementation, + **parent_hub_args, + ) + for name, expected in config.backbone_config.items(): + if name in ("hidden_size", "intermediate_size", "num_hidden_layers", "num_attention_heads", + "sampling_rate", "hop_length", "n_fft", "win_length", "num_mel_bins", + "conv_depthwise_kernel_size", "rotary_embedding_base", "subsampling_channels", + "subsampling_depths", "layer_norm_eps", "subsampling_layer_norm_eps", "variant"): + if getattr(model.encoder.config, name) != expected: + raise ValueError(f"MERT-v2 parent architecture mismatch: {name}") + model.merge_lora() + if requested_dtype is not None: + model.to(dtype=requested_dtype) + if target_device is not None: + model.to(target_device) + # Resource lookup follows the caller's cache and offline settings. These + # transient options are never written into config or model weights. + model._hub_resource_options = {name: hub_args[name] for name in ("cache_dir", "local_files_only", "token") if name in hub_args} + resource_args = dict(model._hub_resource_options, local_files_only=True, + revision=config._commit_hash or hub_args.get("revision"), + subfolder=hub_args.get("subfolder", ""), + _raise_exceptions_for_missing_entries=False) + resource_config = cached_file(str(pretrained_model_name_or_path), "config.json", **resource_args) + model._source_snapshot = Path(resource_config).parent if resource_config else Path(pretrained_model_name_or_path) + model.eval().requires_grad_(False) + return (model, loading_info) if return_loading_info else model + + def save_pretrained(self, save_directory, *args, **kwargs): + if not self.lora_merged or self.encoder is None: + raise ValueError("Load and merge the model before saving a standalone snapshot.") + original_config = self.config + source = original_config._name_or_path + self.config = copy.deepcopy(original_config) + self.config.weights_format = "merged" + self.config._name_or_path = "" + self.config.backbone_config.pop("_name_or_path", None) + try: + result = super().save_pretrained(save_directory, *args, **kwargs) + from .processing_sheetsage2 import SheetSage2Processor + SheetSage2Processor.from_model_config(self.config).save_pretrained(save_directory) + finally: + self.config = original_config + source_dir = getattr(self, "_source_snapshot", Path(source)) + if source and not source_dir.is_dir(): + from huggingface_hub import snapshot_download + try: + source_dir = Path(snapshot_download(source, revision=original_config._commit_hash, + cache_dir=getattr(self, "_hub_resource_options", {}).get("cache_dir"), + local_files_only=True)) + except (OSError, ValueError): + source_dir = None + if source and source_dir is not None and source_dir.is_dir(): + destination = Path(save_directory) + for name in ("infer.py", "render.py", "setup_render.py", "requirements.txt", "requirements-render.txt", + "LICENSE", "THIRD_PARTY_NOTICES.md"): + if (source_dir / name).is_file() and (source_dir / name).resolve() != (destination / name).resolve(): + shutil.copy2(source_dir / name, destination / name) + assets = source_dir / "render_assets" + if (assets / "manifest.json").is_file() and assets.resolve() != (destination / "render_assets").resolve(): + from .rendering_sheetsage2 import _verify_assets + try: + _verify_assets(assets, audio=True) + except (FileNotFoundError, ValueError): + pass + else: + shutil.copytree(assets, destination / "render_assets", dirs_exist_ok=True) + return result + + def _prepare_audio(self, input_values, attention_mask=None): + if self.encoder is None or not self.lora_merged: + raise RuntimeError("Load the model with from_pretrained before inference.") + if input_values.ndim != 2 or input_values.shape[0] < 1 or not input_values.is_floating_point(): + raise ValueError("input_values must be floating-point [batch, samples].") + if not torch.isfinite(input_values).all(): + raise ValueError("Audio must contain only finite samples.") + batch, samples = input_values.shape + minimum = self.encoder.config.minimum_input_samples + window = round(self.config.input_audio_length * self.config.sampling_rate) + if samples < minimum: + raise ValueError(f"Each waveform must contain at least {minimum} samples.") + if samples > window: + raise ValueError("Audio exceeds one model window; use transcribe for whole songs.") + if attention_mask is None: + lengths = torch.full((batch,), samples, dtype=torch.long, device=input_values.device) + else: + if attention_mask.shape != input_values.shape: + raise ValueError("attention_mask must have the same shape as input_values.") + mask = attention_mask.to(device=input_values.device) + if not ((mask == 0) | (mask == 1)).all(): + raise ValueError("attention_mask must contain zeros and ones.") + mask = mask.bool() + lengths = mask.sum(1) + expected = torch.arange(samples, device=input_values.device)[None] < lengths[:, None] + if not torch.equal(mask, expected) or (lengths < minimum).any(): + raise ValueError("attention_mask must identify a nonempty right-padded waveform.") + input_values = input_values.masked_fill(~mask, 0) + # The encoder attends to the complete fixed window, including this silence. + input_values = F.pad(input_values.float(), (0, window - samples)) + stride = self.encoder.config.inputs_to_logits_ratio + if window % stride: + input_values = F.pad(input_values, (0, stride - window % stride)) + return input_values, lengths + + def get_audio_features(self, input_values, attention_mask=None, output_hidden_states=None, return_dict=True): + output_hidden_states = self.config.output_hidden_states if output_hidden_states is None else output_hidden_states + waveform, lengths = self._prepare_audio(input_values, attention_mask) + mel = self.encoder.feature_extractor(waveform) + weight_dtype = self.encoder.subsampling_module[0].convnext_layers[0].depthwise_block[1].weight.dtype + hidden = self.encoder.subsampling_module(mel.to(dtype=weight_dtype)) + input_hidden = hidden if output_hidden_states else None + weights = torch.softmax(self.layer_weight, dim=0) + mixed = hidden * weights[0] + positions = self.encoder.embed_positions(hidden) + states = [] if output_hidden_states else None + for weight, layer in zip(weights[1:], self.encoder.layers): + hidden = layer(hidden, positions) + mixed = mixed + hidden * weight + if states is not None: + states.append(hidden) + memory = self.encoder_projection(mixed) + stride = self.encoder.config.inputs_to_logits_ratio + frame_mask = torch.arange(memory.shape[1], device=memory.device)[None] < ((lengths + stride - 1) // stride)[:, None] + output = SheetSage2EncoderOutput( + encoder_last_hidden_state=memory, backbone_last_hidden_state=hidden, + mixed_hidden_state=mixed, input_hidden_state=input_hidden, + backbone_hidden_states=tuple(states) if states is not None else None, + feature_attention_mask=frame_mask, + ) + return output if return_dict else output.to_tuple() + + def encode(self, audio): + return self.get_audio_features(audio).last_hidden_state + + def _decode(self, memory, decoder_input_ids, use_cache=False, past_key_values=None, output_hidden_states=False): + attention_mask = None if past_key_values is not None else decoder_input_ids != self.tokenizer.pad_token + output = self.decoder( + input_ids=decoder_input_ids, attention_mask=attention_mask, + encoder_hidden_states=memory, encoder_attention_mask=None, + past_key_values=past_key_values, use_cache=use_cache, + output_hidden_states=output_hidden_states, return_dict=True, + ) + return self.output_projection(output.last_hidden_state), output + + def decode(self, memory, decoder_input_ids, use_cache=False, past_key_values=None): + logits, output = self._decode(memory, decoder_input_ids, use_cache, past_key_values) + return logits, output.past_key_values + + def forward(self, input_values=None, decoder_input_ids=None, attention_mask=None, + encoder_outputs=None, past_key_values=None, use_cache=None, + output_hidden_states=None, return_dict=None): + output_hidden_states = self.config.output_hidden_states if output_hidden_states is None else output_hidden_states + use_cache = self.config.use_cache if use_cache is None else use_cache + if decoder_input_ids is None: + raise ValueError("decoder_input_ids is required for logits; use generate to transcribe audio.") + if encoder_outputs is None: + if input_values is None: + raise ValueError("Provide input_values or encoder_outputs.") + encoder_outputs = self.get_audio_features(input_values, attention_mask, output_hidden_states) + if torch.is_tensor(encoder_outputs): + encoder_outputs = SheetSage2EncoderOutput(encoder_last_hidden_state=encoder_outputs) + logits, decoded = self._decode(encoder_outputs.last_hidden_state, decoder_input_ids, + use_cache, past_key_values, output_hidden_states) + output = SheetSage2Output( + logits=logits, past_key_values=decoded.past_key_values, + decoder_hidden_states=decoded.hidden_states, + encoder_last_hidden_state=encoder_outputs.last_hidden_state, + backbone_last_hidden_state=encoder_outputs.backbone_last_hidden_state if output_hidden_states else None, + mixed_hidden_state=encoder_outputs.mixed_hidden_state if output_hidden_states else None, + input_hidden_state=encoder_outputs.input_hidden_state if output_hidden_states else None, + backbone_hidden_states=encoder_outputs.backbone_hidden_states if output_hidden_states else None, + feature_attention_mask=encoder_outputs.feature_attention_mask, + ) + return_dict = self.config.use_return_dict if return_dict is None else return_dict + return output if return_dict else output.to_tuple() + + def generate(self, input_values, **kwargs): + """Generate grammar-constrained symbolic tokens with autoregressive caching.""" + from .generation_sheetsage2 import generate + return generate(self, input_values, **kwargs) + + def transcribe(self, audio, output_dir=None, *, melody_only=False, **kwargs): + """Return transcription in memory; set output_dir to also save files. + + Accepts a path, encoded audio bytes, binary stream, or waveform with + sampling_rate. Returns ABC text, MIDI bytes, timed events, and optional + per-window CPU tensors. With output_dir, optional tensors are saved + instead of retained in memory. Set melody_only=True to retain both vocal + and instrumental melodies while omitting chords from ABC and playback; + raw predicted annotations remain available. The default keeps full + transcription. See the model card for rendering options. + """ + from .pipeline_sheetsage2 import transcribe + return transcribe(self, audio, output_dir=output_dir, melody_only=melody_only, **kwargs) + + +SheetSage2ForConditionalGeneration = SheetSage2Model +SheetSage2Model.register_for_auto_class("AutoModel") diff --git a/notation_sheetsage2.py b/notation_sheetsage2.py new file mode 100644 index 0000000000000000000000000000000000000000..a4a6da099b05e7ff956e913a6ab366d96e23f1ce --- /dev/null +++ b/notation_sheetsage2.py @@ -0,0 +1,1570 @@ +"""Convert timed musical events into validated two-voice ABC notation.""" + +from __future__ import annotations + +import math +import os +import re +from collections import Counter +from dataclasses import dataclass, replace +from io import BytesIO +from pathlib import Path +from typing import Iterable, Sequence + +import numpy as np +import pretty_midi + +from .io_sheetsage2 import atomic_write_text + + +SUBBEAT_DIVISION = 4 +VOICE_IDS = ("Vocal", "Ins") +NO_CHORDS = frozenset({"N", "X", "?"}) + + +class AbcRebuildError(ValueError): + """Base class for deterministic reconstruction failures.""" + + +class BeatGridError(AbcRebuildError): + pass + + +class ChordSymbolError(AbcRebuildError): + pass + + +class MelodyVoiceError(AbcRebuildError): + pass + + +@dataclass(frozen=True) +class BeatEvent: + time: float + beat_id: int + declared_numerator: int + denominator: int + line_no: int + + +@dataclass(frozen=True) +class Measure: + index: int + start_beat: int + end_beat: int + numerator: int + denominator: int + pickup: bool = False + partial: bool = False + inferred: bool = False + notated_numerator: int | None = None + notated_denominator: int | None = None + pad_before: bool = False + + @property + def beat_count(self) -> int: + return self.end_beat - self.start_beat + + @property + def start_t(self) -> int: + return self.start_beat * SUBBEAT_DIVISION + + @property + def end_t(self) -> int: + return self.end_beat * SUBBEAT_DIVISION + + @property + def abc_numerator(self) -> int: + return self.notated_numerator or self.numerator + + @property + def abc_denominator(self) -> int: + return self.notated_denominator or self.denominator + + +@dataclass +class RebuiltAbcScore: + beats: list[BeatEvent] + measures: list[Measure] + subbeat_times: np.ndarray + subbeat_quarters: np.ndarray + subbeat_denominators: np.ndarray + key_arr: np.ndarray + chord_arr: np.ndarray + structure_events: list[tuple[int, str]] + voice_arrs: dict[str, np.ndarray] + diagnostics: list[str] + subbeat_div: int = SUBBEAT_DIVISION + + +@dataclass +class MeasureGroup: + measures: list[Measure] + structure_labels: list[str] + meter_changed: bool + key_changed: bool + + +_QUALITY_TO_ABC = { + "maj": "", + "min": "m", + "dim": "dim", + "aug": "aug", + "7": "7", + "maj7": "maj7", + "min7": "m7", + "dim7": "dim7", + "hdim7": "m7b5", + "sus4": "sus4", + "sus2": "sus2", + "maj6": "6", + "min6": "m6", + "sus4(b7)": "7sus4", + # abc2midi and SymMusic both accept the parenthesized major seventh. + # Common aliases such as mmaj7/mM7 trigger abc2midi diagnostics. + "minmaj7": "m(maj7)", +} + +_NATURAL_PITCH_CLASS = { + "C": 0, + "D": 2, + "E": 4, + "F": 5, + "G": 7, + "A": 9, + "B": 11, +} +_LETTERS = "CDEFGAB" +_SHARP_PITCH_NAMES = ("C", "C#", "D", "D#", "E", "F", "F#", "G", "G#", "A", "A#", "B") +_FLAT_PITCH_NAMES = ("C", "Db", "D", "Eb", "E", "F", "Gb", "G", "Ab", "A", "Bb", "B") +_ROOT_RE = re.compile(r"^(?P[A-G])(?P#{0,2}|b{0,2})$") +_BASS_DEGREE_RE = re.compile(r"^(?P#{0,2}|b{0,2})(?P[1-9]|1[0-3])$") + +_KEY_SIGNATURE_ACCIDENTALS = { + "C": 0, + "G": 1, + "D": 2, + "A": 3, + "E": 4, + "B": 5, + "F#": 6, + "C#": 7, + "F": -1, + "Bb": -2, + "Eb": -3, + "Ab": -4, + "Db": -5, + "Gb": -6, + "Cb": -7, + "Am": 0, + "Em": 1, + "Bm": 2, + "F#m": 3, + "C#m": 4, + "G#m": 5, + "D#m": 6, + "A#m": 7, + "Dm": -1, + "Gm": -2, + "Cm": -3, + "Fm": -4, + "Bbm": -5, + "Ebm": -6, + "Abm": -7, +} + +# Keep the standard key-relative chromatic spelling. MIDI carries only +# pitch, not note names, so a deterministic key-based table is preferable to +# rewriting every chromatic pitch with a single sharp/flat. In remote sharp +# and flat keys this deliberately permits musically useful double accidentals, +# for example MIDI G as F## in G# minor. +_KEY_RELATIVE_PITCH_NAMES = { + 7: ("B#", "C#", "C##", "D#", "D##", "E#", "F#", "F##", "G#", "G##", "A#", "B"), + 6: ("B#", "C#", "C##", "D#", "E", "E#", "F#", "F##", "G#", "G##", "A#", "B"), + 5: ("B#", "C#", "C##", "D#", "E", "E#", "F#", "F##", "G#", "A", "A#", "B"), + 4: ("B#", "C#", "D", "D#", "E", "E#", "F#", "F##", "G#", "A", "A#", "B"), + 3: ("B#", "C#", "D", "D#", "E", "E#", "F#", "G", "G#", "A", "A#", "B"), + 2: ("C", "C#", "D", "D#", "E", "E#", "F#", "G", "G#", "A", "A#", "B"), + 1: ("C", "C#", "D", "D#", "E", "F", "F#", "G", "G#", "A", "A#", "B"), + 0: ("C", "C#", "D", "D#", "E", "F", "F#", "G", "G#", "A", "Bb", "B"), + -1: ("C", "C#", "D", "Eb", "E", "F", "F#", "G", "G#", "A", "Bb", "B"), + -2: ("C", "C#", "D", "Eb", "E", "F", "F#", "G", "Ab", "A", "Bb", "B"), + -3: ("C", "Db", "D", "Eb", "E", "F", "F#", "G", "Ab", "A", "Bb", "B"), + -4: ("C", "Db", "D", "Eb", "E", "F", "Gb", "G", "Ab", "A", "Bb", "B"), + -5: ("C", "Db", "D", "Eb", "E", "F", "Gb", "G", "Ab", "A", "Bb", "Cb"), + -6: ("C", "Db", "D", "Eb", "Fb", "F", "Gb", "G", "Ab", "A", "Bb", "Cb"), + -7: ("C", "Db", "D", "Eb", "Fb", "F", "Gb", "G", "Ab", "Bbb", "Bb", "Cb"), +} + + +def _read_tsv(path: os.PathLike[str] | str, min_columns: int) -> list[tuple[int, list[str]]]: + rows = [] + with open(path, "r", encoding="utf-8-sig") as handle: + for line_no, raw_line in enumerate(handle, 1): + line = raw_line.rstrip("\r\n") + if not line.strip(): + continue + columns = line.split("\t") + if len(columns) < min_columns: + raise AbcRebuildError( + f"{path}:{line_no}: expected at least {min_columns} tab-separated columns" + ) + rows.append((line_no, columns)) + return rows + + +def read_beats(path: os.PathLike[str] | str) -> list[BeatEvent]: + return _parse_beats(_read_tsv(path, 3), path) + + +def _row_entries(rows, source): + entries = [] + for line_no, row in enumerate(rows, 1): + if len(row) < 3: + raise AbcRebuildError(f"{source}:{line_no}: expected at least 3 columns") + entries.append((line_no, [str(value) for value in row])) + return entries + + +def _parse_beats(entries, path): + beats = [] + for line_no, row in entries: + meter_text = row[2] + if len(row) >= 4: + numerator_text, denominator_text = meter_text, row[3] + elif "/" in meter_text: + numerator_text, denominator_text = meter_text.split("/", 1) + else: + numerator_text, denominator_text = meter_text, "4" + try: + beat = BeatEvent( + time=float(row[0]), + beat_id=int(row[1]), + declared_numerator=int(numerator_text), + denominator=int(denominator_text), + line_no=line_no, + ) + except ValueError as exc: + raise BeatGridError(f"{path}:{line_no}: invalid beat row {row!r}") from exc + if beat.beat_id < 1: + raise BeatGridError(f"{path}:{line_no}: beat ID must be positive") + if beat.declared_numerator < 1: + raise BeatGridError(f"{path}:{line_no}: meter numerator must be positive") + if beat.denominator < 1 or beat.denominator & (beat.denominator - 1): + raise BeatGridError( + f"{path}:{line_no}: meter denominator must be a positive power of two" + ) + if beats and beat.time <= beats[-1].time: + raise BeatGridError(f"{path}:{line_no}: beat times must be strictly increasing") + beats.append(beat) + if len(beats) < 2: + raise BeatGridError(f"{path}: at least two beat events are required") + return beats + + +def read_chords(path: os.PathLike[str] | str) -> list[tuple[float, float, str]]: + return _parse_chords(_read_tsv(path, 3), path) + + +def _parse_chords(entries, path): + rows = [] + previous_end = None + for line_no, row in entries: + start, end, chord = float(row[0]), float(row[1]), row[2].strip() + if end <= start: + raise ChordSymbolError(f"{path}:{line_no}: chord end must be after start") + if previous_end is not None and start < previous_end - 1e-6: + raise ChordSymbolError(f"{path}:{line_no}: overlapping chord intervals") + chord_symbol_to_abc(chord) + rows.append((start, end, chord)) + previous_end = end + return rows + + +def read_keys(path: os.PathLike[str] | str) -> list[tuple[float, float, str]]: + return _parse_keys(_read_tsv(path, 3), path) + + +def _parse_keys(entries, path): + rows = [] + previous_end = None + for line_no, row in entries: + start, end, key = float(row[0]), float(row[1]), row[2].strip() + if end <= start: + raise AbcRebuildError(f"{path}:{line_no}: key end must be after start") + if previous_end is not None and start < previous_end - 1e-6: + raise AbcRebuildError(f"{path}:{line_no}: overlapping key intervals") + normalized = key_symbol_to_abc(key) + rows.append((start, end, normalized)) + previous_end = end + if not rows: + raise AbcRebuildError(f"{path}: at least one key interval is required") + return rows + + +def read_structures(path: os.PathLike[str] | str) -> list[tuple[float, float, str]]: + return _parse_structures(_read_tsv(path, 3), path) + + +def _parse_structures(entries, path): + rows = [] + previous_end = None + for line_no, row in entries: + start, end, label = float(row[0]), float(row[1]), row[2].strip() + if end <= start: + raise AbcRebuildError(f"{path}:{line_no}: structure end must be after start") + if previous_end is not None and start < previous_end - 1e-6: + raise AbcRebuildError(f"{path}:{line_no}: overlapping structure intervals") + rows.append((start, end, label)) + previous_end = end + return rows + + +def _mode_with_first_tiebreak(values: Sequence[int]) -> int: + counts = Counter(values) + maximum = max(counts.values()) + return next(value for value in values if counts[value] == maximum) + + +def infer_measures( + beats: Sequence[BeatEvent], + *, + meter_conflict: str = "infer", +) -> tuple[list[Measure], list[str]]: + """Infer self-consistent measures from actual downbeat boundaries.""" + + if meter_conflict not in {"infer", "reject"}: + raise ValueError("meter_conflict must be 'infer' or 'reject'") + downbeat_indices = [index for index, beat in enumerate(beats) if beat.beat_id == 1] + if not downbeat_indices: + raise BeatGridError("No downbeat (beat ID 1) exists in the beat lab") + spans: list[tuple[int, int, bool, bool]] = [] + if downbeat_indices[0] > 0: + spans.append((0, downbeat_indices[0], True, False)) + spans.extend( + (start, end, False, False) + for start, end in zip(downbeat_indices, downbeat_indices[1:]) + ) + if downbeat_indices[-1] < len(beats) - 1: + # Exported beat labs use their last row as the score end boundary. If + # that row is not a downbeat, the final bar is intentionally truncated. + spans.append((downbeat_indices[-1], len(beats) - 1, False, True)) + if not spans: + raise BeatGridError("No positive-length measure exists between downbeats") + + diagnostics = [] + measures = [] + for measure_index, (start, end, pickup, partial) in enumerate(spans): + events = list(beats[start:end]) + beat_count = len(events) + if beat_count < 1: + raise BeatGridError(f"Measure {measure_index}: empty downbeat span") + ids = [event.beat_id for event in events] + expected_ids = list(range(ids[0], ids[0] + beat_count)) + if ids != expected_ids: + line_numbers = [event.line_no for event in events] + raise BeatGridError( + f"Measure {measure_index} (beat rows {line_numbers[0]}-{line_numbers[-1]}): " + f"non-consecutive beat IDs {ids!r}" + ) + if not pickup and ids[0] != 1: + raise BeatGridError(f"Measure {measure_index}: full measure does not start at beat ID 1") + + denominators = [event.denominator for event in events] + denominator = _mode_with_first_tiebreak(denominators) + declared_numerators = [event.declared_numerator for event in events] + declared_numerator = _mode_with_first_tiebreak(declared_numerators) + numerator_conflict = any(value != beat_count for value in declared_numerators) + denominator_conflict = any(value != denominator for value in denominators) + pad_final_partial = ( + partial + and len(set(declared_numerators)) == 1 + and not denominator_conflict + and declared_numerator >= beat_count + ) + inferred = pickup or partial or numerator_conflict or denominator_conflict + unresolved_numerator_conflict = ( + numerator_conflict + and not pad_final_partial + and not pickup + ) + if ( + unresolved_numerator_conflict or denominator_conflict + ) and meter_conflict == "reject": + raise BeatGridError( + f"Measure {measure_index}: {beat_count} actual beats conflict with declarations " + f"{list(zip(declared_numerators, denominators))!r}" + ) + if pad_final_partial and declared_numerator > beat_count: + diagnostics.append( + f"measure {measure_index}: padded final {beat_count}/{denominator} span " + f"to declared {declared_numerator}/{denominator} with trailing rest" + ) + elif numerator_conflict: + diagnostics.append( + f"measure {measure_index}: inferred {beat_count}/{denominator} from downbeat span; " + f"declared numerators were {declared_numerators}" + ) + if denominator_conflict: + diagnostics.append( + f"measure {measure_index}: placed denominator {denominator} at the measure boundary; " + f"row declarations were {denominators}" + ) + measures.append( + Measure( + index=measure_index, + start_beat=start, + end_beat=end, + numerator=beat_count, + denominator=denominator, + pickup=pickup, + partial=partial, + inferred=inferred, + notated_numerator=( + declared_numerator if pad_final_partial else beat_count + ), + ) + ) + if len(measures) >= 2: + first = measures[0] + following = measures[1] + first_duration = first.numerator / first.denominator + following_duration = ( + following.abc_numerator / following.abc_denominator + ) + if first_duration < following_duration: + measures[0] = replace( + first, + inferred=True, + notated_numerator=following.abc_numerator, + notated_denominator=following.abc_denominator, + pad_before=True, + ) + diagnostics.append( + f"measure 0: padded leading {first.numerator}/{first.denominator} span " + f"to {following.abc_numerator}/{following.abc_denominator} " + f"with preceding rest" + ) + return measures, diagnostics + + +def _build_grid(beats: Sequence[BeatEvent], measures: Sequence[Measure]): + interval_denominators = np.zeros(len(beats) - 1, dtype=np.int32) + for measure in measures: + interval_denominators[measure.start_beat:measure.end_beat] = measure.denominator + if np.any(interval_denominators == 0): + raise BeatGridError("Downbeat spans do not cover every beat interval") + + subbeat_times = [] + subbeat_denominators = [] + quarter_positions = [0.0] + current_quarter = 0.0 + for index in range(len(beats) - 1): + start = beats[index].time + end = beats[index + 1].time + denominator = int(interval_denominators[index]) + times = np.linspace(start, end, SUBBEAT_DIVISION + 1)[:-1] + subbeat_times.extend(float(value) for value in times) + subbeat_denominators.extend([denominator] * SUBBEAT_DIVISION) + quarter_step = 4.0 / denominator / SUBBEAT_DIVISION + for _ in range(SUBBEAT_DIVISION): + current_quarter += quarter_step + quarter_positions.append(current_quarter) + subbeat_times.append(beats[-1].time) + subbeat_denominators.append(int(interval_denominators[-1])) + return ( + np.asarray(subbeat_times, dtype=np.float64), + np.asarray(quarter_positions, dtype=np.float64), + np.asarray(subbeat_denominators, dtype=np.int32), + ) + + +def _subbeat_boundaries(subbeat_times: np.ndarray) -> np.ndarray: + return (subbeat_times[:-1] + subbeat_times[1:]) / 2 + + +def _quantize_time(time: float, subbeat_times: np.ndarray) -> int: + return int(np.searchsorted(_subbeat_boundaries(subbeat_times), float(time))) + + +def _fill_intervals(rows, subbeat_times, *, default, dtype): + result = np.full(len(subbeat_times), default, dtype=dtype) + for start, end, value in rows: + start_t = _quantize_time(start, subbeat_times) + end_t = _quantize_time(end, subbeat_times) + start_t = max(0, min(start_t, len(result) - 1)) + end_t = max(0, min(end_t, len(result) - 1)) + if end_t <= start_t: + raise AbcRebuildError( + f"Interval {start:.6f}-{end:.6f} ({value}) is shorter than the ABC subbeat grid" + ) + result[start_t:end_t] = value + if len(result) > 1: + result[-1] = result[-2] + return result + + +def _structure_events(rows, subbeat_times): + events = [] + for start, _, label in rows: + t = _quantize_time(start, subbeat_times) + t = max(0, min(t, len(subbeat_times) - 1)) + events.append((t, label)) + return events + + +def _classify_melody_tracks(midi: pretty_midi.PrettyMIDI): + classified = {"Vocal": [], "Ins": []} + unknown = [] + for instrument in midi.instruments: + if instrument.is_drum: + continue + name = (instrument.name or "").strip().lower() + if "vocal" in name: + classified["Vocal"].append(instrument) + elif "ins" in name or "instrument" in name: + classified["Ins"].append(instrument) + elif instrument.notes: + unknown.append(instrument) + if unknown: + if not classified["Vocal"] and not classified["Ins"] and len(unknown) == 1: + classified["Ins"].extend(unknown) + else: + names = [instrument.name or "" for instrument in unknown] + raise MelodyVoiceError( + f"Cannot map non-empty melody track(s) {names!r} to fixed Vocal/Ins voices" + ) + return classified + + +def _notes_to_arr(notes, subbeat_times, voice_id): + result = np.zeros(len(subbeat_times), dtype=np.int32) + boundaries = _subbeat_boundaries(subbeat_times) + for note in sorted(notes, key=lambda item: (item.start, item.end, item.pitch)): + start_t = int(np.searchsorted(boundaries, note.start)) + end_t = int(np.searchsorted(boundaries, note.end)) + start_t = max(0, min(start_t, len(result) - 1)) + end_t = max(0, min(end_t, len(result) - 1)) + if end_t <= start_t: + raise MelodyVoiceError( + f"{voice_id}: MIDI note pitch={note.pitch} at {note.start:.6f}-{note.end:.6f} " + "cannot be represented on the decoded subbeat grid" + ) + if np.any(result[start_t:end_t] != 0): + raise MelodyVoiceError( + f"{voice_id}: overlapping quantized melody notes at subbeats {start_t}:{end_t}" + ) + sustain = note.pitch * 2 + 2 + result[start_t:end_t] = sustain + result[start_t] = sustain + 1 + return result + + +def _pitch_class(root: str) -> tuple[int, str, str]: + match = _ROOT_RE.fullmatch(root) + if match is None: + raise ChordSymbolError(f"Invalid pitch spelling {root!r}") + letter = match.group("letter") + accidental = match.group("accidental") + offset = accidental.count("#") - accidental.count("b") + return (_NATURAL_PITCH_CLASS[letter] + offset) % 12, letter, accidental + + +def portable_pitch_name(root: str, *, preserve_double: bool = False) -> str: + pitch_class, _, accidental = _pitch_class(root) + if preserve_double or len(accidental) <= 1: + return root + names = _SHARP_PITCH_NAMES if accidental.startswith("#") else _FLAT_PITCH_NAMES + return names[pitch_class] + + +def _bass_degree_to_pitch(root: str, degree_text: str) -> str: + if _ROOT_RE.fullmatch(degree_text): + return portable_pitch_name(degree_text, preserve_double=True) + match = _BASS_DEGREE_RE.fullmatch(degree_text) + if match is None: + raise ChordSymbolError(f"Invalid chord bass degree {degree_text!r}") + root_pc, root_letter, root_accidental = _pitch_class(root) + degree = int(match.group("degree")) + degree_accidental = match.group("accidental") + scale_semitones = (0, 2, 4, 5, 7, 9, 11) + interval = scale_semitones[(degree - 1) % 7] + 12 * ((degree - 1) // 7) + interval += degree_accidental.count("#") - degree_accidental.count("b") + target_pc = (root_pc + interval) % 12 + + target_letter_index = (_LETTERS.index(root_letter) + degree - 1) % 7 + target_letter = _LETTERS[target_letter_index] + natural_pc = _NATURAL_PITCH_CLASS[target_letter] + difference = (target_pc - natural_pc + 6) % 12 - 6 + if difference in {-2, -1, 0, 1, 2}: + accidental = {-2: "bb", -1: "b", 0: "", 1: "#", 2: "##"}[difference] + return target_letter + accidental + names = _SHARP_PITCH_NAMES if "#" in (root_accidental + degree_accidental) else _FLAT_PITCH_NAMES + return names[target_pc] + + +def chord_symbol_to_abc(chord: str) -> str | None: + chord = chord.strip() + if chord in NO_CHORDS: + return None + if ":" not in chord: + raise ChordSymbolError(f"Chord {chord!r} is missing the ':' quality separator") + root, descriptor = chord.split(":", 1) + if "/" in descriptor: + quality, bass_degree = descriptor.split("/", 1) + else: + quality, bass_degree = descriptor, None + if quality not in _QUALITY_TO_ABC: + raise ChordSymbolError( + f"Unsupported chord quality {quality!r} in {chord!r}; refusing to rewrite it as major" + ) + chord_root = portable_pitch_name(root, preserve_double=True) + text = chord_root + _QUALITY_TO_ABC[quality] + if bass_degree: + text += "/" + _bass_degree_to_pitch(root, bass_degree) + return text + + +def key_symbol_to_abc(key: str) -> str: + key = key.strip() + if ":" in key: + root, mode = key.split(":", 1) + if mode not in {"major", "minor"}: + raise AbcRebuildError(f"Unsupported key mode {mode!r} in {key!r}") + elif key.endswith("m"): + root, mode = key[:-1], "minor" + else: + root, mode = key, "major" + root_pc, _, accidental = _pitch_class(root) + candidate = portable_pitch_name(root) + ("m" if mode == "minor" else "") + if candidate in _KEY_SIGNATURE_ACCIDENTALS: + return candidate + names = _FLAT_PITCH_NAMES if "b" in accidental else _SHARP_PITCH_NAMES + candidate = names[root_pc] + ("m" if mode == "minor" else "") + if candidate not in _KEY_SIGNATURE_ACCIDENTALS: + fallback_names = _SHARP_PITCH_NAMES if names is _FLAT_PITCH_NAMES else _FLAT_PITCH_NAMES + candidate = fallback_names[root_pc] + ("m" if mode == "minor" else "") + if candidate not in _KEY_SIGNATURE_ACCIDENTALS: + raise AbcRebuildError(f"Cannot encode portable ABC key for {key!r}") + return candidate + + +def get_key_accidentals(key: str) -> list[int]: + try: + count = _KEY_SIGNATURE_ACCIDENTALS[key] + except KeyError as exc: + raise AbcRebuildError(f"Unsupported ABC key signature {key!r}") from exc + accidentals = [0] * 7 + order = "FCGDAEB" if count > 0 else "BEADGCF" + for letter in order[:abs(count)]: + accidentals[_LETTERS.index(letter)] = 1 if count > 0 else -1 + return accidentals + + +def note_to_abc(note: int, key_accidentals: Sequence[int], measure_accidentals: dict) -> str: + """Use key-relative spelling and write only bar-state changes. + + The two target parsers propagate an accidental to the same note letter in + every octave until the next barline. ``measure_accidentals`` is therefore + keyed by letter and reset by the caller for every bar (and after an inline + key change). This preserves pitches across parsers while still omitting + repeated accidental marks. The key-relative spelling can use double + accidentals in remote keys; MIDI G is F## in G# minor, for example. + """ + + accidental_count = sum(key_accidentals) + try: + pitch_name = _KEY_RELATIVE_PITCH_NAMES[accidental_count][note % 12] + except KeyError as exc: + raise AbcRebuildError( + f"Unsupported key signature accidental count {accidental_count}" + ) from exc + letter = pitch_name[0] + accidental = pitch_name[1:] + accidental_number = {"": 0, "#": 1, "##": 2, "b": -1, "bb": -2}[accidental] + octave = (note - 60) // 12 + # Cb and B# cross the MIDI octave boundary even though their written note + # letter does not. + if note % 12 == 11 and accidental_number == -1: + octave += 1 + elif note % 12 == 0 and accidental_number == 1: + octave -= 1 + scale_index = _LETTERS.index(letter) + current_accidental = measure_accidentals.get( + scale_index, + key_accidentals[scale_index], + ) + accidental_text = "" + if current_accidental != accidental_number: + measure_accidentals[scale_index] = accidental_number + accidental_text = {-2: "__", -1: "_", 0: "=", 1: "^", 2: "^^"}[ + accidental_number + ] + + if octave > 0: + letter = letter.lower() + if octave > 1: + letter += "'" * (octave - 1) + elif octave < 0: + letter += "," * abs(octave) + return accidental_text + letter + + +def build_rebuilt_abc_score( + melody_midi_path, + beats_path, + chords_path, + keys_path, + structures_path, + *, + meter_conflict: str = "infer", + melody_only: bool = False, +) -> RebuiltAbcScore: + beats = read_beats(beats_path) + keys = read_keys(keys_path) + structures = read_structures(structures_path) + chords = [] if melody_only else read_chords(chords_path) + midi = pretty_midi.PrettyMIDI(str(melody_midi_path)) + return _assemble_abc_score(midi, beats, keys, structures, chords, + meter_conflict=meter_conflict, melody_only=melody_only) + + +def build_rebuilt_abc_score_from_data( + melody_midi, beats, chords, keys, structures, *, meter_conflict="infer", melody_only=False, +) -> RebuiltAbcScore: + """Build from MIDI bytes/BytesIO/PrettyMIDI and beat/interval rows. + + BeatEvent lists are also accepted. The file and memory interfaces share + interval validation, score construction, serialization and ABC validation. + """ + beats = list(beats) + if beats and isinstance(beats[0], BeatEvent): + beat_entries = [(b.line_no, [str(b.time), str(b.beat_id), str(b.declared_numerator), str(b.denominator)]) for b in beats] + else: + beat_entries = _row_entries(beats, "beats") + beats = _parse_beats(beat_entries, "beats") + keys = _parse_keys(_row_entries(keys, "keys"), "keys") + structures = _parse_structures(_row_entries(structures, "structures"), "structures") + chords = [] if melody_only else _parse_chords(_row_entries(chords, "chords"), "chords") + if isinstance(melody_midi, (bytes, bytearray)): + melody_midi = BytesIO(melody_midi) + if not isinstance(melody_midi, (BytesIO, pretty_midi.PrettyMIDI)): + raise TypeError("melody_midi must be MIDI bytes, BytesIO, or PrettyMIDI") + midi = melody_midi if isinstance(melody_midi, pretty_midi.PrettyMIDI) else pretty_midi.PrettyMIDI(melody_midi) + return _assemble_abc_score(midi, beats, keys, structures, chords, + meter_conflict=meter_conflict, melody_only=melody_only) + + +def _assemble_abc_score(midi, beats, keys, structures, chords, *, meter_conflict, melody_only): + measures, diagnostics = infer_measures(beats, meter_conflict=meter_conflict) + subbeat_times, subbeat_quarters, subbeat_denominators = _build_grid(beats, measures) + classified = _classify_melody_tracks(midi) + voice_arrs = {} + for voice_id in VOICE_IDS: + notes = [ + note + for instrument in classified[voice_id] + for note in instrument.notes + ] + voice_arrs[voice_id] = _notes_to_arr(notes, subbeat_times, voice_id) + + key_arr = _fill_intervals(keys, subbeat_times, default=keys[0][2], dtype=" int: + values = [ + denominator * score.subbeat_div + for measure in score.measures + for denominator in (measure.denominator, measure.abc_denominator) + ] + denominator = math.lcm(*values) + if denominator > 1024: + raise AbcRebuildError(f"Required ABC unit length 1/{denominator} is unreasonably small") + return denominator + + +def _measure_actual_units(measure: Measure, unit_denominator: int) -> int: + return measure.numerator * unit_denominator // measure.denominator + + +def _measure_abc_units(measure: Measure, unit_denominator: int) -> int: + return measure.abc_numerator * unit_denominator // measure.abc_denominator + + +def _measure_padding_units(measure: Measure, unit_denominator: int) -> int: + return ( + _measure_abc_units(measure, unit_denominator) + - _measure_actual_units(measure, unit_denominator) + ) + + +def _duration_units(score: RebuiltAbcScore, start_t: int, end_t: int, unit_denominator: int) -> int: + units = 0 + for denominator in score.subbeat_denominators[start_t:end_t]: + divisor = int(denominator) * score.subbeat_div + if unit_denominator % divisor: + raise AbcRebuildError( + f"ABC L:1/{unit_denominator} cannot express a 1/{divisor} subbeat exactly" + ) + units += unit_denominator // divisor + return units + + +def estimate_tempo(score: RebuiltAbcScore) -> float: + seconds = score.subbeat_times[-1] - score.subbeat_times[0] + quarter_notes = score.subbeat_quarters[-1] - score.subbeat_quarters[0] + if seconds <= 0 or quarter_notes <= 0: + raise AbcRebuildError("Cannot estimate tempo from a zero-duration score") + return float(quarter_notes / seconds * 60.0) + + +def _continues_pitch(value: int, next_value: int) -> bool: + if value <= 0: + return False + pitch = value // 2 - 1 + return next_value == pitch * 2 + 2 + + +def _same_note_segment(value: int, next_value: int) -> bool: + if value == 0: + return next_value == 0 + pitch = value // 2 - 1 + return next_value == pitch * 2 + 2 + + +_SUPPORTED_DURATION_UNITS = frozenset( + {1, 2, 3, 4, 6, 8, 12, 16, 24, 32, 48} +) + + +def _split_duration_units(duration: int) -> list[int]: + """Split a duration into values accepted by strict music parsers.""" + + if duration <= 0: + raise AbcRebuildError(f"Cannot serialize non-positive duration {duration}") + result = [] + remaining = int(duration) + while remaining: + if remaining in _SUPPORTED_DURATION_UNITS: + result.append(remaining) + break + candidates = [ + value + for value in _SUPPORTED_DURATION_UNITS + if value < remaining + ] + if not candidates: + raise AbcRebuildError( + f"Duration {duration} cannot be split into representable ABC values" + ) + chunk = max(candidates) + result.append(chunk) + remaining -= chunk + return result + + +def _duration_text(duration: int) -> str: + return "" if duration == 1 else str(duration) + + +def _render_duration_tokens( + prefix: str, + note_text: str, + duration: int, + *, + tie_out: bool, +) -> list[str]: + chunks = _split_duration_units(duration) + tokens = [] + for index, chunk in enumerate(chunks): + continues = note_text != "z" and ( + index + 1 < len(chunks) or tie_out + ) + tokens.append( + (prefix if index == 0 else "") + + note_text + + _duration_text(chunk) + + ("-" if continues else "") + ) + return tokens + + +def _render_voice_measure( + score: RebuiltAbcScore, + voice_id: str, + measure: Measure, + unit_denominator: int, +) -> str: + voice = score.voice_arrs[voice_id] + show_chords = voice_id == "Vocal" + measure_accidentals = {} + current_key = str(score.key_arr[measure.start_t]) + key_accidentals = get_key_accidentals(current_key) + parts = [] + padding = _measure_padding_units(measure, unit_denominator) + if padding < 0: + raise AbcRebuildError( + f"Measure {measure.index}: notated meter is shorter than its decoded span" + ) + leading_padding = padding if measure.pad_before else 0 + trailing_padding = 0 if measure.pad_before else padding + t = measure.start_t + while t < measure.end_t: + change_points = [measure.end_t] + for probe in range(t + 1, measure.end_t): + if not _same_note_segment(int(voice[t]), int(voice[probe])): + change_points.append(probe) + break + for probe in range(t + 1, measure.end_t): + if score.key_arr[probe] != score.key_arr[probe - 1]: + change_points.append(probe) + break + if show_chords: + for probe in range(t + 1, measure.end_t): + if score.chord_arr[probe] != score.chord_arr[probe - 1]: + change_points.append(probe) + break + next_t = min(change_points) + + prefix = "" + key = str(score.key_arr[t]) + if t > measure.start_t and key != current_key: + current_key = key + key_accidentals = get_key_accidentals(current_key) + measure_accidentals = {} + prefix += f"[K:{current_key}]" + + if show_chords and (t == measure.start_t or score.chord_arr[t] != score.chord_arr[t - 1]): + chord = str(score.chord_arr[t]) + chord_text = chord_symbol_to_abc(chord) + if chord_text is not None: + prefix += f'"{chord_text}"' + + value = int(voice[t]) + if value == 0: + note_text = "z" + else: + note_text = note_to_abc(value // 2 - 1, key_accidentals, measure_accidentals) + duration = _duration_units(score, t, next_t, unit_denominator) + if t == measure.start_t and leading_padding: + if value == 0 and not prefix: + duration += leading_padding + else: + parts.extend( + _render_duration_tokens( + "", + "z", + leading_padding, + tie_out=False, + ) + ) + leading_padding = 0 + if value == 0 and next_t == measure.end_t and trailing_padding: + duration += trailing_padding + trailing_padding = 0 + if duration <= 0: + raise AbcRebuildError(f"Non-positive ABC duration at subbeats {t}:{next_t}") + tie_out = ( + value > 0 + and next_t < len(voice) + and _continues_pitch(value, int(voice[next_t])) + ) + parts.extend( + _render_duration_tokens( + prefix, + note_text, + duration, + tie_out=tie_out, + ) + ) + t = next_t + if leading_padding: + raise AbcRebuildError( + f"Measure {measure.index}: leading rest padding was not serialized" + ) + if trailing_padding: + parts.extend( + _render_duration_tokens( + "", + "z", + trailing_padding, + tie_out=False, + ) + ) + return "".join(parts) + + +def _is_compressible_full_rest(rendered_measure: str) -> bool: + """Whether a rendered measure can be losslessly replaced by ABC ``Z``.""" + + cursor = 0 + saw_note = False + for match in _MUSIC_ELEMENT_RE.finditer(rendered_measure): + if rendered_measure[cursor:match.start()]: + return False + cursor = match.end() + if match.group("quoted") is not None or match.group("key") is not None: + return False + saw_note = True + if match.group("note") != "z" or match.group("tie"): + return False + return saw_note and cursor == len(rendered_measure) + + +def _render_voice_group( + score: RebuiltAbcScore, + voice_id: str, + measures: list[Measure], + unit_denominator: int, +) -> str: + rendered = [ + _render_voice_measure( + score, + voice_id, + measure, + unit_denominator, + ) + for measure in measures + ] + parts = [] + index = 0 + while index < len(rendered): + if not _is_compressible_full_rest(rendered[index]): + parts.append(rendered[index] + "|") + index += 1 + continue + end = index + 1 + while ( + end < len(rendered) + and _is_compressible_full_rest(rendered[end]) + ): + end += 1 + count = end - index + parts.append("Z" + (str(count) if count > 1 else "") + "|") + index = end + return "".join(parts) + + +def _sanitize_structure_label(value: str) -> str: + return " ".join(str(value).split()) + + +def _measure_groups(score: RebuiltAbcScore) -> list[MeasureGroup]: + first_measure = score.measures[0] + active_meter = ( + first_measure.abc_numerator, + first_measure.abc_denominator, + ) + active_key = str(score.key_arr[first_measure.start_t]) + active_structure = "" + groups: list[MeasureGroup] = [] + + for measure in score.measures: + meter = (measure.abc_numerator, measure.abc_denominator) + key = str(score.key_arr[measure.start_t]) + meter_changed = meter != active_meter + key_changed = key != active_key + new_structure_labels = [] + for t, label in score.structure_events: + if not measure.start_t <= t < measure.end_t: + continue + clean_label = _sanitize_structure_label(label) + if clean_label and clean_label != active_structure: + new_structure_labels.append(clean_label) + active_structure = clean_label + + start_group = ( + not groups + or len(groups[-1].measures) >= 4 + or meter_changed + or key_changed + or bool(new_structure_labels) + ) + if start_group: + groups.append( + MeasureGroup( + measures=[measure], + structure_labels=new_structure_labels, + meter_changed=meter_changed, + key_changed=key_changed, + ) + ) + else: + groups[-1].measures.append(measure) + + active_meter = meter + active_key = str(score.key_arr[measure.end_t - 1]) + return groups + + +def score_to_abc(score: RebuiltAbcScore) -> str: + unit_denominator = abc_unit_denominator(score) + first_measure = score.measures[0] + first_key = str(score.key_arr[first_measure.start_t]) + lines = [ + "X:1", + "T:", + f"M:{first_measure.abc_numerator}/{first_measure.abc_denominator}", + f"L:1/{unit_denominator}", + f"Q:1/4={int(round(estimate_tempo(score)))}", + 'V: Vocal clef=treble name="Vocal Melody" snm="Vocal"', + 'V: Ins clef=treble name="Ins Melody" snm="Inst."', + f"K:{first_key}", + ] + for group in _measure_groups(score): + lines.extend(f"% {label}" for label in group.structure_labels) + first_group_measure = group.measures[0] + for voice_id in VOICE_IDS: + lines.append(f"V: {voice_id}") + if group.meter_changed: + lines.append( + f"M:{first_group_measure.abc_numerator}/" + f"{first_group_measure.abc_denominator}" + ) + if group.key_changed: + lines.append( + f"K:{score.key_arr[first_group_measure.start_t]}" + ) + lines.append( + _render_voice_group( + score, + voice_id, + group.measures, + unit_denominator, + ) + ) + text = "\n".join(lines) + "\n" + validate_serialized_abc(text, score) + return text + + +_MUSIC_ELEMENT_RE = re.compile( + r'"(?P[^"]*)"' + r"|\[K:(?P[^\]]+)\]" + r"|(?P[_=^]*[A-Ga-gz][,']*)(?P\d*)(?P-?)" +) + + +def _parse_music_measure(line: str, expected: int, context: str): + body = line + if body == "Z": + return [], [] + position = 0 + cursor = 0 + quoted_events = [] + key_events = [] + for match in _MUSIC_ELEMENT_RE.finditer(body): + gap = body[cursor:match.start()] + if gap.strip(): + raise AbcRebuildError(f"{context}: unsupported serialized ABC tokens {gap!r}") + cursor = match.end() + if match.group("quoted") is not None: + quoted_events.append((position, match.group("quoted"))) + continue + if match.group("key") is not None: + key_events.append((position, match.group("key"))) + continue + note = match.group("note") + tie = match.group("tie") + if tie and note == "z": + raise AbcRebuildError(f"{context}: a rest cannot be tied") + duration_text = match.group("duration") + duration = int(duration_text) if duration_text else 1 + if duration not in _SUPPORTED_DURATION_UNITS: + raise AbcRebuildError( + f"{context}: duration {duration} is not parser-representable" + ) + position += duration + if body[cursor:].strip(): + raise AbcRebuildError( + f"{context}: unsupported serialized ABC tokens {body[cursor:]!r}" + ) + if position != expected: + raise AbcRebuildError( + f"{context}: duration {position} does not match meter duration {expected}" + ) + if re.search(r"(^|[\s|])-[_=^A-Ga-g]", line): + raise AbcRebuildError(f"{context}: tie is written before its second note") + return quoted_events, key_events + + +def _expected_measure_chords( + score: RebuiltAbcScore, + measure: Measure, + unit_denominator: int, +) -> list[tuple[int, str]]: + expected = [] + leading_padding = ( + _measure_padding_units(measure, unit_denominator) + if measure.pad_before + else 0 + ) + for t in range(measure.start_t, measure.end_t): + if t != measure.start_t and score.chord_arr[t] == score.chord_arr[t - 1]: + continue + position = leading_padding + _duration_units( + score, + measure.start_t, + t, + unit_denominator, + ) + chord = str(score.chord_arr[t]) + text = chord_symbol_to_abc(chord) + if text is not None: + expected.append((position, text)) + return expected + + +def _expected_measure_keys( + score: RebuiltAbcScore, + measure: Measure, + unit_denominator: int, +) -> list[tuple[int, str]]: + leading_padding = ( + _measure_padding_units(measure, unit_denominator) + if measure.pad_before + else 0 + ) + return [ + ( + leading_padding + + _duration_units(score, measure.start_t, t, unit_denominator), + str(score.key_arr[t]), + ) + for t in range(measure.start_t + 1, measure.end_t) + if score.key_arr[t] != score.key_arr[t - 1] + ] + + +def _parse_voice_group(lines, cursor, voice_id, group_index): + expected_voice_field = f"V: {voice_id}" + if cursor >= len(lines) or lines[cursor] != expected_voice_field: + observed = lines[cursor] if cursor < len(lines) else "" + raise AbcRebuildError( + f"Group {group_index}: expected {expected_voice_field}, got {observed!r}" + ) + cursor += 1 + fields = {} + while cursor < len(lines) and ( + lines[cursor].startswith("M:") + or lines[cursor].startswith("K:") + ): + name, value = lines[cursor].split(":", 1) + if name in fields: + raise AbcRebuildError( + f"Group {group_index} {voice_id}: repeated {name}: field" + ) + fields[name] = value + cursor += 1 + if cursor >= len(lines): + raise AbcRebuildError( + f"Group {group_index} {voice_id}: missing music line" + ) + music_line = lines[cursor] + if music_line.startswith(("V:", "M:", "K:", "%")): + raise AbcRebuildError( + f"Group {group_index} {voice_id}: invalid music line {music_line!r}" + ) + cursor += 1 + split_bars = music_line.split("|") + if not split_bars or split_bars[-1].strip(): + raise AbcRebuildError( + f"Group {group_index} {voice_id}: music line must end with a barline" + ) + serialized_bars = [bar.strip() for bar in split_bars[:-1]] + if any(not bar for bar in serialized_bars): + raise AbcRebuildError( + f"Group {group_index} {voice_id}: empty serialized measure" + ) + bars = [] + for bar in serialized_bars: + match = re.fullmatch(r"Z(?P[1-4])?", bar) + if match is None: + bars.append(bar) + continue + if match.group("count") == "1": + raise AbcRebuildError( + f"Group {group_index} {voice_id}: Z1 must be written as Z" + ) + bars.extend(["Z"] * int(match.group("count") or "1")) + if not 1 <= len(bars) <= 4: + raise AbcRebuildError( + f"Group {group_index} {voice_id}: expected 1-4 semantic measures" + ) + return cursor, fields, bars + + +def validate_serialized_abc(text: str, score: RebuiltAbcScore) -> None: + """Validate invariants that must hold before any ABC is written.""" + + lines = text.splitlines() + if not lines or lines[0] != "X:1": + raise AbcRebuildError("ABC must start with X:1") + if len(lines) < 2 or lines[1] != "T:": + raise AbcRebuildError("ABC title must be fixed as empty T:") + if any(line.startswith(("%abc-", "I:abc-creator")) for line in lines): + raise AbcRebuildError("ABC must not contain version or creator metadata") + if "%%MIDI gchordoff" in text: + raise AbcRebuildError("ABC must not contain %%MIDI gchordoff") + if "% ss2" in text: + raise AbcRebuildError("ABC must not contain % ss2 metadata") + header_voice_ids = [ + match.group(1) + for line in lines + if (match := re.match(r"^V: (Vocal|Ins) ", line)) + ] + if header_voice_ids != list(VOICE_IDS): + raise AbcRebuildError(f"Expected fixed Vocal/Ins voice definitions, got {header_voice_ids!r}") + + header_key_index = next( + ( + index + for index, line in enumerate(lines) + if index > 0 + and line.startswith("K:") + and any( + header_index < index + for header_index, header_line in enumerate(lines) + if header_line.startswith("V: Ins ") + ) + ), + None, + ) + if header_key_index is None: + raise AbcRebuildError("ABC header K: field is missing") + first_measure = score.measures[0] + expected_header_meter = ( + f"M:{first_measure.abc_numerator}/{first_measure.abc_denominator}" + ) + header_meters = [ + line + for line in lines[:header_key_index + 1] + if line.startswith("M:") + ] + if header_meters != [expected_header_meter]: + raise AbcRebuildError( + f"ABC header meters {header_meters!r} " + f"!= {[expected_header_meter]!r}" + ) + expected_header_key = f"K:{score.key_arr[first_measure.start_t]}" + header_keys = [ + line + for line in lines[:header_key_index + 1] + if line.startswith("K:") + ] + if header_keys != [expected_header_key]: + raise AbcRebuildError( + f"ABC header keys {header_keys!r} " + f"!= {[expected_header_key]!r}" + ) + + unit_denominator = abc_unit_denominator(score) + expected_groups = _measure_groups(score) + cursor = header_key_index + 1 + for group_index, group in enumerate(expected_groups): + structure_labels = [] + while cursor < len(lines) and lines[cursor].startswith("% "): + structure_labels.append(lines[cursor][2:].strip()) + cursor += 1 + if structure_labels != group.structure_labels: + raise AbcRebuildError( + f"Group {group_index}: structure labels " + f"{structure_labels!r} != {group.structure_labels!r}" + ) + + cursor, vocal_fields, vocal_bars = _parse_voice_group( + lines, + cursor, + "Vocal", + group_index, + ) + cursor, ins_fields, ins_bars = _parse_voice_group( + lines, + cursor, + "Ins", + group_index, + ) + if vocal_fields != ins_fields: + raise AbcRebuildError( + f"Group {group_index}: meter/key changes must be scoped to both voices" + ) + first_measure = group.measures[0] + expected_fields = {} + if group.meter_changed: + expected_fields["M"] = ( + f"{first_measure.abc_numerator}/{first_measure.abc_denominator}" + ) + if group.key_changed: + expected_fields["K"] = str( + score.key_arr[first_measure.start_t] + ) + if vocal_fields != expected_fields: + raise AbcRebuildError( + f"Group {group_index}: fields {vocal_fields!r} " + f"!= required changes {expected_fields!r}" + ) + if ( + len(vocal_bars) != len(group.measures) + or len(ins_bars) != len(group.measures) + ): + raise AbcRebuildError( + f"Group {group_index}: both voices must contain " + f"{len(group.measures)} measures" + ) + + for bar_index, measure in enumerate(group.measures): + expected_duration = ( + measure.abc_numerator + * unit_denominator + // measure.abc_denominator + ) + for voice_id, bars in ( + ("Vocal", vocal_bars), + ("Ins", ins_bars), + ): + quoted_events, key_events = _parse_music_measure( + bars[bar_index], + expected_duration, + f"measure {measure.index} {voice_id}", + ) + expected_keys = _expected_measure_keys( + score, + measure, + unit_denominator, + ) + if key_events != expected_keys: + raise AbcRebuildError( + f"Measure {measure.index} {voice_id}: inline keys " + f"{key_events!r} != {expected_keys!r}" + ) + if voice_id == "Vocal": + expected_chords = _expected_measure_chords( + score, + measure, + unit_denominator, + ) + if quoted_events != expected_chords: + raise AbcRebuildError( + f"Measure {measure.index}: chord symbols " + f"{quoted_events!r} != {expected_chords!r}" + ) + elif quoted_events: + raise AbcRebuildError( + f"Measure {measure.index}: chords must only be in Vocal" + ) + if cursor != len(lines): + raise AbcRebuildError( + f"Unexpected trailing ABC body lines: {lines[cursor:cursor + 5]!r}" + ) + + +def abc_paths_from_melody( + melody_midi_path, + output_path=None, + *, + melody_only=False, +): + melody = Path(melody_midi_path) + if melody.name.endswith("_raw_full_melody.mid"): + raise AbcRebuildError(f"Raw melody MIDI is not a valid ABC input: {melody}") + if not melody.name.endswith("_melody.mid"): + raise AbcRebuildError(f"Expected an exact *_melody.mid input, got {melody}") + stem = melody.name[: -len("_melody.mid")] + prefix = melody.with_name(stem) + default_suffix = "_melody_only.abc" if melody_only else "_full.abc" + return { + "melody_midi": melody, + "beats": Path(str(prefix) + "_beats.txt"), + "chords": Path(str(prefix) + "_chords.txt"), + "keys": Path(str(prefix) + "_keys.txt"), + "structures": Path(str(prefix) + "_structures.txt"), + "output": ( + Path(output_path) + if output_path is not None + else Path(str(prefix) + default_suffix) + ), + } + + +def preflight_exports( + melody_midi_path, + output_path=None, + *, + melody_only=False, +): + paths = abc_paths_from_melody( + melody_midi_path, + output_path=output_path, + melody_only=melody_only, + ) + required = {"melody_midi", "beats", "keys", "structures"} + if not melody_only: + required.add("chords") + missing = [ + str(path) + for name, path in paths.items() + if name in required and not path.is_file() + ] + if missing: + raise FileNotFoundError( + f"{paths['melody_midi']}: missing required companion file(s): {', '.join(missing)}" + ) + return paths + + +def generate_abc_from_exports( + melody_midi_path, + *, + output_path=None, + meter_conflict="infer", + melody_only=False, +): + paths = preflight_exports( + melody_midi_path, + output_path=output_path, + melody_only=melody_only, + ) + score = build_rebuilt_abc_score( + paths["melody_midi"], + paths["beats"], + paths["chords"], + paths["keys"], + paths["structures"], + meter_conflict=meter_conflict, + melody_only=melody_only, + ) + return score_to_abc(score), score, paths + + +def generate_abc_from_data(melody_midi, beats, chords, keys, structures, *, + meter_conflict="infer", melody_only=False): + """Return validated ABC text and its score without filesystem access.""" + score = build_rebuilt_abc_score_from_data( + melody_midi, beats, chords, keys, structures, + meter_conflict=meter_conflict, melody_only=melody_only, + ) + return score_to_abc(score), score diff --git a/pipeline_sheetsage2.py b/pipeline_sheetsage2.py new file mode 100644 index 0000000000000000000000000000000000000000..bdeb9da32ae4a97b8ddcc66ec9a134c3ab4a9d1c --- /dev/null +++ b/pipeline_sheetsage2.py @@ -0,0 +1,259 @@ +"""Whole-song inference with cached overlap prefixes and right-hand audio context.""" +from pathlib import Path +import json +import re +import time + +import torch + +from .io_sheetsage2 import atomic_write_text +from .audio_sheetsage2 import SAMPLE_RATE, load_audio, slice_audio +from .generation_sheetsage2 import ( + FULL_TASK_PROMPTS, build_overlap_prefix_tokens, constrained_prompt_generate, + decode_generated_tokens, event_time_map, stitched_window_events, write_window_tokens, +) +from .exports_sheetsage2 import export_result + + +def _tensor_files(output_dir): + """Inventory only files owned by the optional tensor exporter.""" + files = set() + tensor_dir = output_dir / "tensors" + if tensor_dir.is_symlink(): + return files + for directory in tensor_dir.glob("window-*"): + if re.fullmatch(r"window-\d{4,}", directory.name) and directory.is_dir() and not directory.is_symlink(): + for path in directory.iterdir(): + if path.is_file() and re.fullmatch(r"(?:index\.json|audio\.safetensors|(?:tokens|decoder)-\d{4,}\.safetensors)", path.name): + files.add(path) + return files + + +def sliding_window_plan(duration, window_seconds=300.0, overlap_seconds=200.0, lookahead_seconds=100.0): + if not duration > 0 or not window_seconds > 0: + raise ValueError("Duration and window length must be positive") + if not 0 <= lookahead_seconds <= overlap_seconds < window_seconds: + raise ValueError("Require 0 <= lookahead <= overlap < window length") + hop = window_seconds - overlap_seconds + start, accepted = 0.0, 0.0 + result = [] + while True: + last = start + window_seconds >= duration - 1e-6 + accept_end = duration if last else start + window_seconds - lookahead_seconds + result.append(dict(start=start, end=min(duration, start + window_seconds), + accept_start=accepted, accept_end=accept_end, prefix_end=accepted, + generation_stop=None if last else window_seconds - lookahead_seconds)) + if last: + return result + accepted = accept_end + start = min(start + hop, duration - window_seconds) + + +class Transcriber: + def __init__(self, model, dtype="bf16"): + self.model = model + self.device = next(model.parameters()).device + self.dtype = {"bf16": torch.bfloat16, "fp32": None}[dtype] + + @torch.inference_mode() + def analyze(self, audio_path, output_dir=None, *, prompts=FULL_TASK_PROMPTS, + sampling_rate=None, max_seconds=None, preset="default", + overlap_seconds=None, lookahead_seconds=None, progress=None, + export_logits=False, export_scores=False, export_embeddings=False, + output_hidden_states=False, melody_only=False): + def report(stage, **fields): + if progress: + progress(dict(stage=stage, **fields)) + + if not isinstance(melody_only, bool): + raise ValueError("melody_only must be True or False") + if preset not in ("default", "paper"): + raise ValueError("preset must be default or paper") + defaults = (200.0, 100.0) if preset == "default" else (100.0, 0.0) + overlap_seconds = defaults[0] if overlap_seconds is None else overlap_seconds + lookahead_seconds = defaults[1] if lookahead_seconds is None else lookahead_seconds + if preset == "paper" and (overlap_seconds, lookahead_seconds) != defaults: + raise ValueError("paper preset fixes overlap=100 and lookahead=0") + started = time.monotonic() + output_dir = Path(output_dir) if output_dir is not None else None + if output_dir is not None: + output_dir.mkdir(parents=True, exist_ok=True) + previous_tensors = _tensor_files(output_dir) if output_dir is not None else set() + current_tensors = set() + tensor_results = [] + prompts = self.model.tokenizer.normalize_prompts(prompts) + if "timestamp" not in prompts: + raise ValueError("timestamp is required to export timed annotations") + report("audio") + audio = load_audio(audio_path, sampling_rate=sampling_rate, max_seconds=max_seconds, preset=preset) + duration = len(audio) / SAMPLE_RATE + window_length = float(self.model.hparams.input_audio_length) + plan = sliding_window_plan(duration, window_length, overlap_seconds, lookahead_seconds) + if self.device.type == "cuda": + torch.cuda.reset_peak_memory_stats(self.device) + stitched, records, warnings = [], [], [] + for index, window in enumerate(plan): + report("encoding", window=index + 1, windows=len(plan), start=window["start"]) + segment = slice_audio(audio, window["start"], window_length)[None].to(self.device) + prefix, base = None, 0 + if index: + _, prefix, base = build_overlap_prefix_tokens( + stitched, self.model.tokenizer, prompts, window["start"], window["prefix_end"]) + if prefix is not None: + if preset == "paper" and len(prefix) >= self.model.max_output_seq_len - 16: + warnings.append(f"Window {index + 1}: overlap prefix exceeded the context") + prefix = None + elif preset != "paper" and len(prefix) >= self.model.max_output_seq_len - 128: + raise ValueError("Overlap prefix fills the context; reduce overlap_seconds") + tick = time.monotonic() + memory = None + tensor_record = None + if export_embeddings or output_hidden_states or export_logits or export_scores: + from .tensors_sheetsage2 import WindowTensorWriter + tensor_record = WindowTensorWriter(output_dir, index, window, export_logits, export_scores) + if export_embeddings or output_hidden_states: + memory = tensor_record.audio_features(self.model, segment, self.dtype, output_hidden_states) + tokens = constrained_prompt_generate( + self.model, segment, prompts, self.model.max_output_seq_len, + prefix_tokens=prefix, autocast_dtype=self.dtype, + stop_time_seconds=(None if preset == "paper" else + window["generation_stop"] if window["generation_stop"] is not None else + min(duration - window["start"], window_length)), + memory=memory, + step_callback=tensor_record.capture if tensor_record is not None and (export_logits or export_scores) else None, + progress_callback=lambda n: report("decoding", window=index + 1, windows=len(plan), tokens=n), + ) + if tensor_record is not None: + if export_embeddings: + tensor_record.decoder_features(self.model, segment, tokens, self.dtype, memory) + tensor_data = tensor_record.finish() + if tensor_data is not None: + tensor_results.append(tensor_data) + if tensor_record.directory is not None: + current_tensors.update(tensor_record.directory / name for name in tensor_record.files) + current_tensors.add(tensor_record.directory / "index.json") + if len(tokens) > self.model.max_output_seq_len: + warnings.append(f"Window {index + 1} reached the token limit; inspect its token coverage") + decoded, warning = decode_generated_tokens(self.model.tokenizer, tokens, Path(audio_path).stem if isinstance(audio_path, (str, Path)) else "audio", index) + if warning: + warnings.append(warning["error"]) + lookup = event_time_map(decoded, window_length) + accepted = stitched_window_events( + decoded, lookup, window["start"], window["accept_start"], window["accept_end"], + duration, index, global_subbeat_base=base or 0, + ) + stitched.extend(accepted) + if preset == "paper": + stitched.sort(key=lambda e: (float(e.get("time", 0)), int(e.get("window_index", 0)), + int(e.get("source_subbeat", e["subbeat"])))) + record = dict(window, window_index=index, prefix_tokens=0 if prefix is None else len(prefix), + tokens=tokens, events=len(decoded["events"]), accepted_events=len(accepted), + elapsed_seconds=time.monotonic() - tick) + records.append(record) + report("window_complete", window=index + 1, windows=len(plan), tokens=len(tokens)) + if preset != "paper": + stitched.sort(key=lambda e: (e["time"], e["global_subbeat"])) + decoded = dict(schema_version=self.model.tokenizer.schema_version, + prompts=list(prompts), events=stitched, has_eos=True) + report("notation") + exported = export_result(decoded, self.model.tokenizer, output_dir, duration, + paper=preset == "paper", melody_only=melody_only) + payload = exported.pop("payload") + if output_dir is not None: + write_window_tokens(output_dir / "tokens.txt", records, self.model.tokenizer) + atomic_write_text(output_dir / "tokens.json", json.dumps([ + dict(r, tokens=r["tokens"].tolist()) for r in records + ])) + result = dict( + audio=Path(audio_path).name if isinstance(audio_path, (str, Path)) else "audio", + duration_seconds=duration, prompts=list(prompts), preset=preset, melody_only=melody_only, + dtype="bf16" if self.dtype and self.device.type == "cuda" else "fp32", + window_seconds=window_length, overlap_seconds=overlap_seconds, lookahead_seconds=lookahead_seconds, + windows=[dict(r, tokens=len(r["tokens"])) for r in records], + elapsed_seconds=time.monotonic() - started, warnings=warnings, + peak_gpu_mib=torch.cuda.max_memory_allocated(self.device) / 1024**2 if self.device.type == "cuda" else 0, + **exported, + ) + if output_dir is not None: + atomic_write_text(output_dir / "result.json", json.dumps(result, indent=2)) + for path in previous_tensors - current_tensors: + path.unlink(missing_ok=True) + for directory in {path.parent for path in previous_tensors - current_tensors}: + if directory.is_dir() and not any(directory.iterdir()): + directory.rmdir() + report("complete", **exported) + return dict(result, num_events=result["events"], **payload, + tokens=[r["tokens"] for r in records], tensors=tensor_results, + _metadata=result) + + +@torch.inference_mode() +def transcribe(model, audio, output_dir=None, *, render_audio=False, render_score=False, + render_parts=("mix",), dtype="bf16", melody_only=False, **kwargs): + """Transcribe a path, encoded audio bytes, binary stream, or waveform. + + Arrays use channels-first layout and require sampling_rate. With + output_dir=None, all audio/results stay in memory: ABC is text, MIDI is + bytes, events are a list, and optional features are CPU tensors grouped by + window. A directory saves the standard output files and writes optional + tensors to disk instead of keeping them in memory. Optional + rendering also returns bytes/text when no output directory is given. + melody_only=True omits chords from ABC and MIDI playback, retaining both + melody voices and the original decoded events/LAB annotations. If the + requested melody-only ABC cannot be built, raises RuntimeError with the + completed transcription available as error.result. + """ + if not isinstance(melody_only, bool): + raise ValueError("melody_only must be True or False") + output_dir = Path(output_dir) if output_dir is not None else None + if render_audio or render_score: + from .rendering_sheetsage2 import render_outputs, render_memory, validate_render_options + formats, render_parts = validate_render_options(audio=render_audio, score=render_score, parts=render_parts) + result = Transcriber(model, dtype=dtype).analyze(audio, output_dir, melody_only=melody_only, **kwargs) + metadata = result.pop("_metadata", None) + if metadata is None: + metadata = dict(result) + if render_audio or render_score: + try: + assets = Path(__file__).with_name("render_assets") + if not assets.is_dir(): + source = getattr(model, "_source_snapshot", Path(model.config._name_or_path)) + if (source / "render_assets").is_dir(): + assets = source / "render_assets" + else: + from huggingface_hub import snapshot_download + assets = Path(snapshot_download(model.config._name_or_path, + revision=model.config._commit_hash, allow_patterns=["render_assets/**"], + **getattr(model, "_hub_resource_options", {}))) / "render_assets" + # A missing score does not prevent a requested MIDI piano preview. + rendered = None + if render_audio or not result.get("abc_error"): + options = dict(audio=render_audio, score=() if result.get("abc_error") else formats, + parts=render_parts, assets_dir=assets) + if output_dir is None: + rendered = render_memory(midi=result["midi"], abc=result["abc"], + duration=result["duration_seconds"], **options) + else: + rendered = render_outputs(input_dir=output_dir, output_dir=output_dir, **options) + result["rendered"] = rendered + if output_dir is not None: + metadata["rendered"] = rendered + if formats and result.get("abc_error"): + raise ValueError(f"ABC unavailable: {result['abc_error']}") + except Exception as exc: + result["render_error"] = str(exc) + metadata["render_error"] = str(exc) + if output_dir is not None: + atomic_write_text(output_dir / "result.json", json.dumps(metadata, indent=2)) + location = f"saved to {output_dir.resolve()}" if output_dir is not None else "completed in memory" + error = RuntimeError(f"Transcription {location}; rendering failed: {exc}") + error.result = result + raise error from exc + if output_dir is not None: + atomic_write_text(output_dir / "result.json", json.dumps(metadata, indent=2)) + if melody_only and not result.get("abc"): + reason = result.get("abc_error") or "No ABC score was produced" + error = RuntimeError(f"Melody-only ABC unavailable: {reason}") + error.result = result + raise error + return result diff --git a/processing_sheetsage2.py b/processing_sheetsage2.py new file mode 100644 index 0000000000000000000000000000000000000000..e5dfaa3813484b333bf4d93351627294bb5dc2b6 --- /dev/null +++ b/processing_sheetsage2.py @@ -0,0 +1,110 @@ +"""Waveform preparation and symbolic decoding for SheetSage2.""" + +import numbers + +import torch +import torchaudio +from transformers import ProcessorMixin +from transformers.feature_extraction_utils import BatchFeature + +from .tokenization_sheetsage2 import SheetSage2Tokenizer + + +def _hf_relative_dependencies(): + # Keep standalone AutoProcessor loading compatible with Transformers 4.45. + from .chord_spelling_sheetsage2 import normalize_key_name + from .durations_sheetsage2 import DURATION_TEMPLATES + from .labels_sheetsage2 import STRUCTURE_LABELS + from .schema_sheetsage2 import get_prompt_multitask_schema + + +class SheetSage2Processor(ProcessorMixin): + """Prepare mono waveforms without amplitude normalization. + + Pass one mono waveform, a batch tensor, or a list of mono waveforms. Use + ``model.transcribe`` for files and audio longer than one model window. + """ + + attributes = [] + valid_kwargs = ["sampling_rate", "window_seconds", "time_hz", "schema_version", "tokenizer_fingerprint"] + + def __init__(self, sampling_rate=24000, window_seconds=300.0, time_hz=100, + schema_version="v1", tokenizer_fingerprint="5ba3325af0344c7f", **kwargs): + super().__init__(**{key: value for key, value in kwargs.items() if key == "chat_template"}) + self.sampling_rate = int(sampling_rate) + self.window_seconds = float(window_seconds) + self.time_hz = int(time_hz) + self.schema_version = str(schema_version) + self.tokenizer_fingerprint = str(tokenizer_fingerprint) + self.tokenizer = SheetSage2Tokenizer( + self.window_seconds, self.time_hz, self.schema_version, + expected_fingerprint=self.tokenizer_fingerprint, + ) + + @property + def model_input_names(self): + return ["input_values", "attention_mask"] + + @classmethod + def from_model_config(cls, config): + return cls(config.sampling_rate, config.input_audio_length, config.time_hz, + config.tokenizer_schema_version, config.tokenizer_fingerprint) + + def __call__(self, audio, sampling_rate=None, padding=True, return_tensors="pt", + return_attention_mask=True): + source_rate = self.sampling_rate if sampling_rate is None else int(sampling_rate) + if source_rate <= 0: + raise ValueError("sampling_rate must be positive.") + if isinstance(audio, (str, bytes)): + raise ValueError("Pass waveform samples here; use model.transcribe for audio files.") + if isinstance(audio, (list, tuple)) and audio and not isinstance(audio[0], numbers.Number): + waveforms = [torch.as_tensor(value) for value in audio] + else: + value = torch.as_tensor(audio) + waveforms = list(value) if value.ndim == 2 else [value] + if not waveforms: + raise ValueError("Provide at least one waveform.") + prepared = [] + maximum = round(self.window_seconds * self.sampling_rate) + for waveform in waveforms: + if waveform.ndim != 1 or not waveform.is_floating_point() or not torch.isfinite(waveform).all(): + raise ValueError("Each waveform must be a one-dimensional finite floating-point array.") + waveform = waveform.to(dtype=torch.float32) + if source_rate != self.sampling_rate: + waveform = torchaudio.functional.resample(waveform, source_rate, self.sampling_rate) + if waveform.numel() < 1025: + raise ValueError("Each waveform must contain at least 1025 samples at 24 kHz.") + if waveform.numel() > maximum: + raise ValueError("Audio exceeds one model window; use model.transcribe for whole songs.") + prepared.append(waveform) + if len({str(value.device) for value in prepared}) != 1: + raise ValueError("All waveforms in a batch must be on the same device.") + if padding is False: + length = max(value.numel() for value in prepared) + if any(value.numel() != length for value in prepared): + raise ValueError("Use padding=True for waveforms of different lengths.") + elif padding is True or padding == "max_length": + length = maximum + elif padding == "longest": + length = max(value.numel() for value in prepared) + else: + raise ValueError("padding must be True, False, 'max_length', or 'longest'.") + lengths = torch.tensor([value.numel() for value in prepared], device=prepared[0].device) + values = torch.stack([torch.nn.functional.pad(value, (0, length - value.numel())) for value in prepared]) + data = {"input_values": values} + if return_attention_mask: + data["attention_mask"] = (torch.arange(length, device=values.device)[None] < lengths[:, None]).long() + if return_tensors == "np": + data = {key: value.cpu().numpy() for key, value in data.items()} + elif return_tensors not in {None, "pt"}: + raise ValueError("return_tensors must be 'pt', 'np', or None.") + return BatchFeature(data=data) + + def decode(self, token_ids, strict=True): + return self.tokenizer.decode_sequence(token_ids, strict=strict) + + def batch_decode(self, sequences, strict=True): + return [self.decode(tokens, strict=strict) for tokens in sequences] + + +SheetSage2Processor.register_for_auto_class() diff --git a/processor_config.json b/processor_config.json new file mode 100644 index 0000000000000000000000000000000000000000..8dbba2cc459657bf4f17e1c684bd41c636e4e24f --- /dev/null +++ b/processor_config.json @@ -0,0 +1,11 @@ +{ + "processor_class": "SheetSage2Processor", + "sampling_rate": 24000, + "window_seconds": 300.0, + "time_hz": 100, + "schema_version": "v1", + "tokenizer_fingerprint": "5ba3325af0344c7f", + "auto_map": { + "AutoProcessor": "processing_sheetsage2.SheetSage2Processor" + } +} diff --git a/render.py b/render.py new file mode 100644 index 0000000000000000000000000000000000000000..a0c6b690e180ef57b5b5f73b475f981adb513b84 --- /dev/null +++ b/render.py @@ -0,0 +1,45 @@ +"""Render existing SheetSage2 MIDI and ABC outputs without loading a model.""" +import argparse +import json +from pathlib import Path +import sys + +SCRIPT_DIR = Path(__file__).absolute().parent +sys.path.insert(0, str(SCRIPT_DIR)) + +from rendering_sheetsage2 import render_outputs + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument("--input", help="Transcription output directory.") + parser.add_argument("--midi", help="MIDI file with original note timing.") + parser.add_argument("--abc", help="ABC score file.") + parser.add_argument("--output", help="Output directory; defaults to --input or rendered/.") + parser.add_argument("--audio", action="store_true", help="Render piano WAV.") + parser.add_argument("--score", default="", help="Comma-separated pdf,svg,png.") + parser.add_argument("--parts", default="mix", help="Comma-separated mix,melody,vocal,instrumental,chords, or all (audio only).") + parser.add_argument("--duration", type=float, help="Minimum audio duration in seconds; preserves trailing silence.") + args = parser.parse_args() + audio = args.audio + score = args.score + if not audio and not score: + if args.input: + audio, score = True, "pdf" + else: + audio, score = bool(args.midi), "pdf" if args.abc else "" + if not args.input and not args.midi and not args.abc: + parser.error("Provide --input, --midi, or --abc.") + try: + result = render_outputs(args.input, midi=args.midi, abc=args.abc, + output_dir=args.output, audio=audio, score=score, + parts=args.parts, duration=args.duration) + except (ValueError, OSError, RuntimeError) as exc: + print(f"Rendering failed: {exc}", file=sys.stderr) + return 1 + print(json.dumps(result, indent=2)) + return 0 + + +if __name__ == "__main__": + raise SystemExit(main()) diff --git a/render_assets/DejaVuSans.ttf b/render_assets/DejaVuSans.ttf new file mode 100644 index 0000000000000000000000000000000000000000..356575d14731ad077bde1fb0aac44f88bb51f5c4 --- /dev/null +++ b/render_assets/DejaVuSans.ttf @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7da195a74c55bef988d0d48f9508bd5d849425c1770dba5d7bfc6ce9ed848954 +size 757076 diff --git a/render_assets/LICENSE.abcjs b/render_assets/LICENSE.abcjs new file mode 100644 index 0000000000000000000000000000000000000000..bcd01ff61cc818d5a119ae447e069798bb26287c --- /dev/null +++ b/render_assets/LICENSE.abcjs @@ -0,0 +1,21 @@ +Copyright (c) 2009-2024 Paul Rosen and Gregory Dyke + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +**This text is from: http://opensource.org/licenses/MIT** diff --git a/render_assets/LICENSE.font b/render_assets/LICENSE.font new file mode 100644 index 0000000000000000000000000000000000000000..df52c1709bea171104d41bf084313ea434858423 --- /dev/null +++ b/render_assets/LICENSE.font @@ -0,0 +1,187 @@ +Fonts are (c) Bitstream (see below). DejaVu changes are in public domain. +Glyphs imported from Arev fonts are (c) Tavmjong Bah (see below) + + +Bitstream Vera Fonts Copyright +------------------------------ + +Copyright (c) 2003 by Bitstream, Inc. All Rights Reserved. Bitstream Vera is +a trademark of Bitstream, Inc. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of the fonts accompanying this license ("Fonts") and associated +documentation files (the "Font Software"), to reproduce and distribute the +Font Software, including without limitation the rights to use, copy, merge, +publish, distribute, and/or sell copies of the Font Software, and to permit +persons to whom the Font Software is furnished to do so, subject to the +following conditions: + +The above copyright and trademark notices and this permission notice shall +be included in all copies of one or more of the Font Software typefaces. + +The Font Software may be modified, altered, or added to, and in particular +the designs of glyphs or characters in the Fonts may be modified and +additional glyphs or characters may be added to the Fonts, only if the fonts +are renamed to names not containing either the words "Bitstream" or the word +"Vera". + +This License becomes null and void to the extent applicable to Fonts or Font +Software that has been modified and is distributed under the "Bitstream +Vera" names. + +The Font Software may be sold as part of a larger software package but no +copy of one or more of the Font Software typefaces may be sold by itself. + +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT, +TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL BITSTREAM OR THE GNOME +FOUNDATION BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING +ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF +THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE +FONT SOFTWARE. + +Except as contained in this notice, the names of Gnome, the Gnome +Foundation, and Bitstream Inc., shall not be used in advertising or +otherwise to promote the sale, use or other dealings in this Font Software +without prior written authorization from the Gnome Foundation or Bitstream +Inc., respectively. For further information, contact: fonts at gnome dot +org. + +Arev Fonts Copyright +------------------------------ + +Copyright (c) 2006 by Tavmjong Bah. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining +a copy of the fonts accompanying this license ("Fonts") and +associated documentation files (the "Font Software"), to reproduce +and distribute the modifications to the Bitstream Vera Font Software, +including without limitation the rights to use, copy, merge, publish, +distribute, and/or sell copies of the Font Software, and to permit +persons to whom the Font Software is furnished to do so, subject to +the following conditions: + +The above copyright and trademark notices and this permission notice +shall be included in all copies of one or more of the Font Software +typefaces. + +The Font Software may be modified, altered, or added to, and in +particular the designs of glyphs or characters in the Fonts may be +modified and additional glyphs or characters may be added to the +Fonts, only if the fonts are renamed to names not containing either +the words "Tavmjong Bah" or the word "Arev". + +This License becomes null and void to the extent applicable to Fonts +or Font Software that has been modified and is distributed under the +"Tavmjong Bah Arev" names. + +The Font Software may be sold as part of a larger software package but +no copy of one or more of the Font Software typefaces may be sold by +itself. + +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL +TAVMJONG BAH BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. + +Except as contained in this notice, the name of Tavmjong Bah shall not +be used in advertising or otherwise to promote the sale, use or other +dealings in this Font Software without prior written authorization +from Tavmjong Bah. For further information, contact: tavmjong @ free +. fr. + +TeX Gyre DJV Math +----------------- +Fonts are (c) Bitstream (see below). DejaVu changes are in public domain. + +Math extensions done by B. Jackowski, P. Strzelczyk and P. Pianowski +(on behalf of TeX users groups) are in public domain. + +Letters imported from Euler Fraktur from AMSfonts are (c) American +Mathematical Society (see below). +Bitstream Vera Fonts Copyright +Copyright (c) 2003 by Bitstream, Inc. All Rights Reserved. Bitstream Vera +is a trademark of Bitstream, Inc. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of the fonts accompanying this license (“Fonts”) and associated +documentation +files (the “Font Software”), to reproduce and distribute the Font Software, +including without limitation the rights to use, copy, merge, publish, +distribute, +and/or sell copies of the Font Software, and to permit persons to whom +the Font Software is furnished to do so, subject to the following +conditions: + +The above copyright and trademark notices and this permission notice +shall be +included in all copies of one or more of the Font Software typefaces. + +The Font Software may be modified, altered, or added to, and in particular +the designs of glyphs or characters in the Fonts may be modified and +additional +glyphs or characters may be added to the Fonts, only if the fonts are +renamed +to names not containing either the words “Bitstream” or the word “Vera”. + +This License becomes null and void to the extent applicable to Fonts or +Font Software +that has been modified and is distributed under the “Bitstream Vera” +names. + +The Font Software may be sold as part of a larger software package but +no copy +of one or more of the Font Software typefaces may be sold by itself. + +THE FONT SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT, +TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL BITSTREAM OR THE GNOME +FOUNDATION +BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING ANY GENERAL, +SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN +ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR +INABILITY TO USE +THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE. +Except as contained in this notice, the names of GNOME, the GNOME +Foundation, +and Bitstream Inc., shall not be used in advertising or otherwise to promote +the sale, use or other dealings in this Font Software without prior written +authorization from the GNOME Foundation or Bitstream Inc., respectively. +For further information, contact: fonts at gnome dot org. + +AMSFonts (v. 2.2) copyright + +The PostScript Type 1 implementation of the AMSFonts produced by and +previously distributed by Blue Sky Research and Y&Y, Inc. are now freely +available for general use. This has been accomplished through the +cooperation +of a consortium of scientific publishers with Blue Sky Research and Y&Y. +Members of this consortium include: + +Elsevier Science IBM Corporation Society for Industrial and Applied +Mathematics (SIAM) Springer-Verlag American Mathematical Society (AMS) + +In order to assure the authenticity of these fonts, copyright will be +held by +the American Mathematical Society. This is not meant to restrict in any way +the legitimate use of the fonts, such as (but not limited to) electronic +distribution of documents containing these fonts, inclusion of these fonts +into other public domain or commercial font collections or computer +applications, use of the outline data to create derivative fonts and/or +faces, etc. However, the AMS does require that the AMS copyright notice be +removed from any derivative versions of the fonts which have been altered in +any way. In addition, to ensure the fidelity of TeX documents using Computer +Modern fonts, Professor Donald Knuth, creator of the Computer Modern faces, +has requested that any alterations which yield different font metrics be +given a different name. + +$Id$ diff --git a/render_assets/abcjs-basic-min.js b/render_assets/abcjs-basic-min.js new file mode 100644 index 0000000000000000000000000000000000000000..a56bbfc0d004c9b14ea17ad4fd6b52a61b74d255 --- /dev/null +++ b/render_assets/abcjs-basic-min.js @@ -0,0 +1,3 @@ +/*! abcjs_basic v6.6.3 Copyright © 2009-2024 Paul Rosen and Gregory Dyke (https://abcjs.net) */ +/*! For license information please see abcjs_basic.LICENSE */ +!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.abcjs=t():e.ABCJS=t()}(this,(function(){return e={1045:function(e,t,r){var n=r(1185),a=r(6306),i=r(1592),s=r(1028),o=r(5633),c={};c.signature="abcjs-basic v"+n,Object.keys(a).forEach((function(e){c[e]=a[e]})),Object.keys(i).forEach((function(e){c[e]=i[e]})),c.renderAbc=r(6859),c.tuneMetrics=r(9989),c.TimingCallbacks=r(5681);var l=r(6020);c.setGlyph=l.setSymbol,c.strTranspose=o;var h=r(5594),u=r(8471),d=r(522),f=r(2029),p=r(6313),m=r(5281),g=r(8702),v=r(5049),b=r(4718),y=r(3450),x=r(562),k=r(9991);c.synth={CreateSynth:h,instrumentIndexToName:u,pitchToNoteName:d,SynthController:y,SynthSequence:f,CreateSynthControl:p,registerAudioContext:m,activeAudioContext:g,supportsAudio:v,playEvent:b,getMidiFile:x,sequence:s,midiRenderer:k},c.Editor=r(5294),c.EditArea=r(2945),e.exports=c},6306:function(e,t,r){var n=r(5681),a={};!function(){"use strict";var e,t;a.startAnimation=function(r,a,i){function s(e){for(var t=0;t0&&t.value[0].num.indexOf("+")>0&&(n=t.value[0].num),r.beatStarts=[],n){for(var a=r.noteTimings[r.noteTimings.length-1].millisecondsPerMeasure,i=r.lastMoment/a,s=n.split("+"),o=0;or.currentEvent&&r.noteTimings[r.currentEvent].millisecondsr.currentLine&&r.lineEndTimings[r.currentLine].milliseconds=r.lastMoment)if(r.eventCallback){var s=r.eventCallback(null);r.shouldStop(s).then((function(e){e&&r.stop()}))}else r.stop()}},r.shouldStop=function(e){return new Promise((function(t){return e?"continue"===e?t(!1):void(e.then&&e.then((function(e){t("continue"!==e)}))):t(!0)}))},r.doBeatCallback=function(e){if(r.beatCallback){for(var t,n,a=r.currentEvent;a=0&&null===r.noteTimings[a].left;)a--;n=r.noteTimings[a]}var i={},s={};if(n){i.top=n.top,i.height=n.height;var o=Math.max(0,e-r.startTime-n.milliseconds),c=t-n.milliseconds,l=n.endX-n.left,h=c?o*l/c:0;i.left=n.left+h,0===r.currentEvent&&n.milliseconds>e-r.startTime&&(i.left=void 0),s={timestamp:e,startTime:r.startTime,ev:n,endMs:t,offMs:o,offPx:h,gapMs:c,gapPx:l}}else s={timestamp:e,startTime:r.startTime};var u=r.startTime;if(r.beatCallback(r.beatStarts[r.currentBeat].b,r.totalBeats/r.beatSubdivisions,r.lastMoment,i,s),u!==r.startTime)return e-r.startTime}return null},r.animationJogger=function(){r.isRunning&&(r.doTiming(performance.now()),r.joggerTimer=setTimeout(r.animationJogger,60))},r.start=function(e,t){if(r.isRunning=!0,r.isPaused&&(r.isPaused=!1,void 0===e&&(r.justUnpaused=!0)),e)r.setProgress(e,t);else if(0===e)r.reset();else if(null!==r.pausedPercent){var n=performance.now();r.currentTime=r.lastMoment*r.pausedPercent,r.startTime=n-r.currentTime,r.pausedPercent=null,r.reportNext=!0}requestAnimationFrame(r.doTiming),r.joggerTimer=setTimeout(r.animationJogger,60)},r.pause=function(){r.isPaused=!0;var e=performance.now();r.pausedPercent=(e-r.startTime)/r.lastMoment,r.isRunning=!1,r.joggerTimer&&(clearTimeout(r.joggerTimer),r.joggerTimer=null)},r.currentMillisecond=function(){return r.currentTime},r.reset=function(){r.currentBeat=0,r.currentEvent=0,r.currentLine=0,r.startTime=null,r.pausedPercent=null},r.stop=function(){r.pause(),r.reset()},r.setProgress=function(e,t){var n;switch(t){case"seconds":r.currentTime=1e3*e,r.currentTime<0&&(r.currentTime=0),r.currentTime>r.lastMoment&&(r.currentTime=r.lastMoment),n=r.currentTime/r.lastMoment;break;case"beats":r.currentTime=e*r.millisecondsPerBeat*r.beatSubdivisions,r.currentTime<0&&(r.currentTime=0),r.currentTime>r.lastMoment&&(r.currentTime=r.lastMoment),n=r.currentTime/r.lastMoment;break;default:(n=e)<0&&(n=0),n>1&&(n=1),r.currentTime=r.lastMoment*n}r.isRunning||(r.pausedPercent=n);var a=performance.now();for(r.startTime=a-r.currentTime,r.currentEvent=0;r.noteTimings.length>r.currentEvent&&r.noteTimings[r.currentEvent].millisecondsr.currentLine&&r.lineEndTimings[r.currentLine].milliseconds+r.lineEndAnticipationr.currentTime);r.currentBeat++);r.currentBeat--,r.beatCallback&&i!==r.currentBeat&&(r.doBeatCallback(r.startTime+r.currentTime),r.currentBeat++),r.eventCallback&&r.currentEvent>=0&&"event"===r.noteTimings[r.currentEvent].type&&r.eventCallback(r.noteTimings[r.currentEvent]),r.lineEndCallback&&r.lineEndCallback(r.lineEndTimings[r.currentLine],r.noteTimings[r.currentEvent],{line:r.currentLine,endTimings:r.lineEndTimings}),r.joggerTimer=setTimeout(r.animationJogger,60)}}},1592:function(e,t,r){function n(e){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n(e)}var a=r(8905),i=r(9565),s=r(2426),o={};!function(){"use strict";o.numberOfTunes=function(e){var t=e.split("\nX:").length;return 0===t&&(t=1),t};var e=o.TuneBook=function(e){var t=i(e);this.header=t.header,this.tunes=t.tunes};e.prototype.getTuneById=function(e){for(var t=0;t=0&&h0,v=0;v=0&&(d=T.startChar,u=void 0===T.chord?h:null),T.chord&&(h=T),"bar"===T.el_type){if(p){var S={abc:i.abc.substring(d,T.endChar)};(h=u&&u.chord&&u.chord.length>0?u.chord[0].name:null)&&(S.lastChord=h),T.startEnding&&(S.startEnding=T.startEnding),T.endEnding&&(S.endEnding=T.endEnding),f.push(S),d=null,p=!1}}else"note"===T.el_type&&(p=!0)}}r.push({header:l,measures:f,hasPickup:g})}return r}}(),e.exports=o},6859:function(e,t,r){var n=r(1592),a=(r(6780),r(5253)),i=r(8905),s=r(1756),o={};function c(){var e=window.innerWidth;for(var t in o)if(o.hasOwnProperty(t)){var r=o[t];e-=2*r.offsetLeft,r.style.width=e+"px"}}try{window.addEventListener("resize",c),window.addEventListener("orientationChange",c)}catch(e){}function l(e,t,r,n,i){r.viewportHorizontal?(e.innerHTML='
',r.scrollHorizontal?(e.style.overflowX="auto",e.style.overflowY="hidden"):e.style.overflow="hidden",o[e.id]=e,e=e.children[0]):r.viewportVertical?(e.innerHTML='
',e.style.overflowX="hidden",e.style.overflowY="auto",e=e.children[0]):e.innerHTML="";var s=new a(e,r);s.engraveABC(t,n,i),t.engraver=s,(r.viewportVertical||r.viewportHorizontal)&&(e.parentNode.style.width=e.style.width)}e.exports=function(e,t,r,o,c){var h,u={};if(r){for(h in r)r.hasOwnProperty(h)&&(u[h]=r[h]);u.warnings_id&&u.tablature&&(u.tablature.warning_id=u.warnings_id)}if(o)for(h in o)o.hasOwnProperty(h)&&("listener"===h?o[h].highlight&&(u.clickListener=o[h].highlight):u[h]=o[h]);if(c)for(h in c)c.hasOwnProperty(h)&&(u[h]=c[h]);return n.renderEngine((function(e,t,r,n){var o=!1;return"*"===e&&(o=!0,(e=document.createElement("div")).setAttribute("style","visibility: hidden;"),document.body.appendChild(e)),!o&&u.wrap&&u.staffwidth?(t=function(e,t,r,n,o){var c=new a(e,o).getMeasureWidths(t),h=s.calcLineWraps(t,c,o);if(h.reParse){var u=new i;u.parse(n,h.revisedParams),t=u.getTune();var d=u.getWarnings();d&&(t.warnings=d)}return o.afterParsing&&o.afterParsing(t,r,n),l(e,t,h.revisedParams,r,0),t.explanation=h.explanation,t}(e,t,r,n,u),t):(u.afterParsing&&u.afterParsing(t,r,n),l(e,t,u,r,0),o&&e.parentNode.removeChild(e),null)}),e,t,u)}},9989:function(e,t,r){var n=r(1592),a=r(5253);e.exports=function(e,t){return n.renderEngine((function(e,r,n,i){(e=document.createElement("div")).setAttribute("style","visibility: hidden;"),document.body.appendChild(e);var s=new a(e,t).getMeasureWidths(r);return e.parentNode.removeChild(e),{sections:s}}),"*",e,t)}},9447:function(e,t,r){var n=r(4914).relativeMajor,a={acc:"sharp",note:"f"},i={acc:"sharp",note:"c"},s={acc:"sharp",note:"g"},o={acc:"sharp",note:"d"},c={acc:"sharp",note:"A"},l={acc:"sharp",note:"e"},h={acc:"flat",note:"B"},u={acc:"flat",note:"e"},d={acc:"flat",note:"A"},f={acc:"flat",note:"d"},p={acc:"flat",note:"G"},m={acc:"flat",note:"c"},g={"C#":[a,i,s,o,c,l,{acc:"sharp",note:"B"}],"F#":[a,i,s,o,c,l],B:[a,i,s,o,c],E:[a,i,s,o],A:[a,i,s],D:[a,i],G:[a],C:[],F:[h],Bb:[h,u],Eb:[h,u,d],Cm:[h,u,d],Ab:[h,u,d,f],Db:[h,u,d,f,p],Gb:[h,u,d,f,p,m],Cb:[h,u,d,f,p,m,{acc:"flat",note:"F"}],"A#":[h,u],"B#":[],"D#":[h,u,d],"E#":[h],"G#":[h,u,d,f],none:[]};e.exports=function(e){var t=g[n(e)];return t?JSON.parse(JSON.stringify(t)):null}},4914:function(e){var t={C:{modes:["CMaj","CIon","Amin","AAeo","Am","GMix","DDor","EPhr","FLyd","BLoc"],stepsFromC:0},Db:{modes:["DbMaj","DbIon","Bbmin","BbAeo","Bbm","AbMix","EbDor","FPhr","GbLyd","CLoc"],stepsFromC:1},D:{modes:["DMaj","DIon","Bmin","BAeo","Bm","AMix","EDor","F#Phr","GLyd","C#Loc"],stepsFromC:2},Eb:{modes:["EbMaj","EbIon","Cmin","CAeo","Cm","BbMix","FDor","GPhr","AbLyd","DLoc"],stepsFromC:3},E:{modes:["EMaj","EIon","C#min","C#Aeo","C#m","BMix","F#Dor","G#Phr","ALyd","D#Loc"],stepsFromC:4},F:{modes:["FMaj","FIon","Dmin","DAeo","Dm","CMix","GDor","APhr","BbLyd","ELoc"],stepsFromC:5},Gb:{modes:["GbMaj","GbIon","Ebmin","EbAeo","Ebm","DbMix","AbDor","BbPhr","CbLyd","FLoc"],stepsFromC:6},G:{modes:["GMaj","GIon","Emin","EAeo","Em","DMix","ADor","BPhr","CLyd","F#Loc"],stepsFromC:7},Ab:{modes:["AbMaj","AbIon","Fmin","FAeo","Fm","EbMix","BbDor","CPhr","DbLyd","GLoc"],stepsFromC:8},A:{modes:["AMaj","AIon","F#min","F#Aeo","F#m","EMix","BDor","C#Phr","DLyd","G#Loc"],stepsFromC:9},Bb:{modes:["BbMaj","BbIon","Gmin","GAeo","Gm","FMix","CDor","DPhr","EbLyd","ALoc"],stepsFromC:10},B:{modes:["BMaj","BIon","G#min","G#Aeo","G#m","F#Mix","C#Dor","D#Phr","ELyd","A#Loc"],stepsFromC:11},"C#":{modes:["C#Maj","C#Ion","A#min","A#Aeo","A#m","G#Mix","D#Dor","E#Phr","F#Lyd","B#Loc"],stepsFromC:1},"F#":{modes:["F#Maj","F#Ion","D#min","D#Aeo","D#m","C#Mix","G#Dor","A#Phr","BLyd","E#Loc"],stepsFromC:6},Cb:{modes:["CbMaj","CbIon","Abmin","AbAeo","Abm","GbMix","DbDor","EbPhr","FbLyd","BbLoc"],stepsFromC:11}},r=["maj","ion","min","aeo","m","mix","dor","phr","lyd","loc"],n=null;e.exports={relativeMajor:function(e){n||function(){n={};for(var e=Object.keys(t),r=0;r=0}}},6780:function(e,t,r){var n=r(5008),a=r(4331),i=r(1028),s=r(9716),o=r(351);e.exports=function(){function e(e,t,r,n){for(var a=0;a=t&&(r-=t),"bar"===s[c].el_type)return r}return r}(this.lines,e);return t<1e-8||e-t<1e-8?0:t},this.getBarLength=function(){var e=this.getMeterFraction();return e.num/e.den},this.getTotalTime=function(){return this.totalTime},this.getTotalBeats=function(){return this.totalBeats},this.millisecondsPerMeasure=function(e){var t;if(e)t=e;else{var r=this.metaText?this.metaText.tempo:null;t=this.getBpm(r)}return t<=0&&(t=1),this.getBeatsPerMeasure()/t*6e4},this.getBeatsPerMeasure=function(){var e=this.getBeatLength();return this.getBarLength()/e},this.getMeter=function(){for(var e=0;e0&&e.value[0].num.indexOf("+")>0){var n=e.value[0].num.split("+");t=0;for(var a=0;ae)return c}}return null},this.addElementToEvents=function(e,t,r,a,i,s,o,c,l,h){if(t.hint)return{isTiedState:void 0,duration:0};var u=t.durationClass?t.durationClass:t.duration;if(t.abcelem.rest&&"spacer"===t.abcelem.rest.type&&(u=0),u>0){for(var d=[],f=0;f0)for(var s=i.staffs[0],o=s.absoluteY,c=o-s.top*a.STEP,l=i.staffs[i.staffs.length-1],h=(o=l.absoluteY)-l.bottom*a.STEP-c,u=i.voices,d=0;d0&&o["event"+p]&&(w="event"+p),p=Math.round(1e3*f),"bar"===C.type){var S=C.abcelem.type,_="bar_right_repeat"===S||"bar_dbl_repeat"===S,E="1"===C.abcelem.startEnding,M="bar_left_repeat"===S||"bar_dbl_repeat"===S||"bar_right_repeat"===S;if(_){x>0&&(o[w].endX=C.x),-1===g&&(g=x);var A=0;y=-1;for(var N=m;N=0;i--){var s=e[i];"bar"===s.type?(s.top=n,s.nextTop=t,t=n,s.bottom=a,s.nextBottom=r,r=a):"event"===s.type&&(n=s.top,a=s.top+s.height)}}(s=function(e){var t=[];for(var r in e)e.hasOwnProperty(r)&&t.push(e[r]);return t.sort((function(e,t){var r=e.milliseconds-t.milliseconds;return 0!==r?r:"bar"===e.type?-1:1}))}(o)),function(e,r){if(!(r.length<1)){for(var n=0;na.left&&(a.endX=Math.min(a.endX,s)):a.endX=s}}var o=r[r.length-1];o.endX=e[o.line].staffGroup.w}}(this.lines,s),s.push({type:"end",milliseconds:u}),this.addUsefulCallbackInfo(s,b*a),s},this.addUsefulCallbackInfo=function(e,t){for(var r=this.millisecondsPerMeasure(t),n=0;n0?e.duration[0]:r)/r}if(!t){t=180;var n=this.getMeterFraction();n&&3!==n.num&&n.num%3==0&&(t=120)}return t},this.setTiming=function(e,t){if(t=t||0,!this.engraver||!this.engraver.staffgroups)return console.log("setTiming cannot be called before the tune is drawn."),this.noteTimings=[],this.noteTimings;var r=this.metaText?this.metaText.tempo:null,n=this.getBpm(r),a=1;e?r&&(a=e/n):e=n;var i=this.getBeatLength(),s=e/60,o=this.getBarLength()/i*t/s;o&&(o-=this.getPickupLength()/i/s);var c=i*s;return this.noteTimings=this.setupEvents(o,c,e,a),this.noteTimings.length>0?(this.totalTime=this.noteTimings[this.noteTimings.length-1].milliseconds/1e3,this.totalBeats=this.totalTime*s):(this.totalTime=void 0,this.totalBeats=void 0),this.noteTimings},this.setUpAudio=function(e){e||(e={});var t=i(this,e);return s(t,e,this.formatting.percmap,this.formatting.midi)},this.deline=function(e){return o(this.lines,e)},this.findSelectableElement=function(e){return this.engraver&&this.engraver.selectables?this.engraver.findSelectableElement(e):null},this.getSelectableArray=function(){return this.engraver&&this.engraver.selectables?this.engraver.selectables:[]}}},351:function(e){function t(e,t){return"abselem"===e?"abselem":t}function r(e,t){e.el_type="meter",e.startChar=-1,e.endChar=-1;for(var r=0;r0&&(r===t||new RegExp("(^|\\s)"+t+"(\\s|$)").test(r))}(e,t)||(e.className+=(e.className?" ":"")+t),e},this.removeClassName=function(e,t){return e.className=n.strip(e.className.replace(new RegExp("(^|\\s+)"+t+"(\\s+|$)")," ")),e},this.setReadOnly=function(e){var t="abc_textarea_readonly",r=this.editarea.getElem();e?(r.setAttribute("readonly","yes"),this.addClassName(r,t)):(r.removeAttribute("readonly"),this.removeClassName(r,t))}};c.prototype.redrawMidi=function(){if(this.generate_midi&&!this.midiPause){var e=new window.CustomEvent("generateMidi",{detail:{tunes:this.tunes,abcjsParams:this.abcjsParams,downloadMidiEl:this.downloadMidi,inlineMidiEl:this.inlineMidi,engravingEl:this.div}});window.dispatchEvent(e)}if(this.synth){var t=this.synth.synthControl;this.synth.synthControl||(this.synth.synthControl=new a,this.synth.synthControl.load(this.synth.el,this.synth.cursorControl,this.synth.options)),this.synth.synthControl.setTune(this.tunes[0],t,this.synth.options)}},c.prototype.modelChanged=function(){if(!this.bReentry){this.bReentry=!0;try{this.timerId=null,this.redrawCallback&&this.redrawCallback(!0),this.synth&&this.synth.synthControl&&this.synth.synthControl.disable(!0),this.tunes=s(this.div,this.currentAbc,this.abcjsParams),this.tunes.length>0&&(this.warnings=this.tunes[0].warnings),this.redrawMidi(),this.redrawCallback&&this.redrawCallback(!1)}catch(e){console.error("ABCJS error: ",e),this.warnings||(this.warnings=[]),this.warnings.push(e.message)}this.warningsdiv&&(this.warningsdiv.innerHTML=this.warnings?this.warnings.join("
"):"No errors"),this.updateSelection(),this.bReentry=!1}},c.prototype.paramChanged=function(e){if(e)for(var t in e)e.hasOwnProperty(t)&&(this.abcjsParams[t]=e[t]);this.currentAbc="",this.fireChanged()},c.prototype.getTunes=function(){return this.tunes},c.prototype.synthParamChanged=function(e){if(this.synth){if(this.synth.options={},e)for(var t in e)e.hasOwnProperty(t)&&(this.synth.options[t]=e[t]);this.currentAbc="",this.fireChanged()}},c.prototype.parseABC=function(){var e=this.editarea.getString();return e===this.currentAbc?(this.updateSelection(),!1):(this.currentAbc=e,!0)},c.prototype.updateSelection=function(){var e=this.editarea.getSelection();try{this.tunes.length>0&&this.tunes[0].engraver&&this.tunes[0].engraver.rangeHighlight(e.start,e.end)}catch(e){}this.selectionChangeCallback&&this.selectionChangeCallback(e.start,e.end)},c.prototype.fireSelectionChanged=function(){this.updateSelection()},c.prototype.setDirtyStyle=function(e){if(void 0!==this.indicate_changed){var t,r,a="abc_textarea_dirty",i=this.editarea.getElem();e?function(e,t){var r=e.className;return r.length>0&&(r===t||new RegExp("(^|\\s)"+t+"(\\s|$)").test(r))}(t=i,r=a)||(t.className+=(t.className?" ":"")+r):function(e,t){e.className=n.strip(e.className.replace(new RegExp("(^|\\s+)"+t+"(\\s+|$)")," "))}(i,a)}},c.prototype.fireChanged=function(){if(!this.bIsPaused&&this.parseABC()){var e=this;this.timerId&&clearTimeout(this.timerId),this.timerId=setTimeout((function(){e.modelChanged()}),300);var t=this.isDirty();this.wasDirty!==t&&(this.wasDirty=t,this.setDirtyStyle(t)),this.onchangeCallback&&this.onchangeCallback(this)}},c.prototype.setNotDirty=function(){this.editarea.initialText=this.editarea.getString(),this.wasDirty=!1,this.setDirtyStyle(!1)},c.prototype.isDirty=function(){return void 0!==this.indicate_changed&&this.editarea.initialText!==this.editarea.getString()},c.prototype.highlight=function(e,t,r,n,a,i){this.editarea.setSelection(e.startChar,e.endChar),this.selectionChangeCallback&&this.selectionChangeCallback(e.startChar,e.endChar),this.clientClickListener&&this.clientClickListener(e,t,r,n,a,i)},c.prototype.pause=function(e){this.bIsPaused=e,e||this.fireChanged()},c.prototype.millisecondsPerMeasure=function(){return this.synth&&this.synth.synthControl&&this.synth.synthControl.visualObj?this.synth.synthControl.visualObj.millisecondsPerMeasure():0},c.prototype.pauseMidi=function(e){this.midiPause=e,e||this.redrawMidi()},e.exports=c},3284:function(e,t,r){var n,a=r(9991);!function(){"use strict";function e(e,t,r){for(var n=Object.keys(t),a=0;ai){var c=(n[s]-i)*r;e.addRest(c),i=n[s]}for(var l=0;l128&&(s=s.substring(0,124)+"...");var o=t.getKeySignature(),c=t.getMeterFraction(),l=n.tempo,h=l/60;8===c.den&&5!==c.num&&7!==c.num&&(h=(l=6e4/(t.millisecondsPerMeasure()/c.num)/2)/60),i.setGlobalInfo(l,s,o,c);for(var u=0;uu&&(m=r.pan[u]),128===p.instrument?(i.setChannel(9,m),i.setInstrument(0)):(i.setChannel(p.channel,m),i.setInstrument(p.instrument));break;case"note":var g=p.gap*h,v=p.start,b=v+p.duration-g;d[v]||(d[v]=[]),d[v].push({pitch:p.pitch,volume:p.volume,cents:p.cents}),d[b]||(d[b]=[]),d[b].push({pitch:p.pitch,volume:0});break;default:console.log("MIDI create Unknown: "+p.cmd)}}e(i,d,1920),i.endTrack()}return i.getData()}}(),e.exports=n},5008:function(e){var t={cloneArray:function(e){for(var t=[],r=0;r=0&&e.lastIndexOf(t)===r},last:function(e){return 0===e.length?null:e[e.length-1]}};e.exports=t},8905:function(e,t,r){var n=r(5008),a=r(8360),i=r(9928),s=r(6476),o=r(1881),c=r(1756),l=r(6225),h=r(6780),u=r(575);e.exports=function(){"use strict";var e,t=new h,r=new u(t),d="",f="";function p(e,t,r){e.positioning||(e.positioning={}),e.positioning[t]=r}function m(e,t,r){e.fonts||(e.fonts={}),e.fonts[t]=r}this.getTune=function(){var e={formatting:t.formatting,lines:t.lines,media:t.media,metaText:t.metaText,metaTextInfo:t.metaTextInfo,version:t.version,addElementToEvents:t.addElementToEvents,addUsefulCallbackInfo:t.addUsefulCallbackInfo,getTotalTime:t.getTotalTime,getTotalBeats:t.getTotalBeats,getBarLength:t.getBarLength,getBeatLength:t.getBeatLength,getBeatsPerMeasure:t.getBeatsPerMeasure,getBpm:t.getBpm,getMeter:t.getMeter,getMeterFraction:t.getMeterFraction,getPickupLength:t.getPickupLength,getKeySignature:t.getKeySignature,getElementFromChar:t.getElementFromChar,makeVoicesArray:t.makeVoicesArray,millisecondsPerMeasure:t.millisecondsPerMeasure,setupEvents:t.setupEvents,setTiming:t.setTiming,setUpAudio:t.setUpAudio,deline:t.deline,findSelectableElement:t.findSelectableElement,getSelectableArray:t.getSelectableArray};return t.lineBreaks&&(e.lineBreaks=t.lineBreaks),t.visualTranspose&&(e.visualTranspose=t.visualTranspose),t.chordGrid&&(e.chordGrid=t.chordGrid),e};var g,v,b={reset:function(){for(var e in this)this.hasOwnProperty(e)&&"function"!=typeof this[e]&&delete this[e];this.iChar=0,this.key={accidentals:[],root:"none",acc:"",mode:""},this.meter=null,this.origMeter=null,this.hasMainTitle=!1,this.default_length=.125,this.clef={type:"treble",verticalPos:0},this.octave=0,this.next_note_duration=0,this.start_new_line=!0,this.is_in_header=!0,this.partForNextLine={},this.tempoForNextLine=[],this.havent_set_length=!0,this.voices={},this.staves=[],this.macros={},this.currBarNumber=1,this.barCounter={},this.ignoredDecorations=[],this.score_is_present=!1,this.inEnding=!1,this.inTie=[],this.inTieChord={},this.vocalPosition="auto",this.dynamicPosition="auto",this.chordPosition="auto",this.ornamentPosition="auto",this.volumePosition="auto",this.openSlurs=[],this.freegchord=!1,this.endingHoldOver={}},differentFont:function(e,t){return this[e].decoration!==t[e].decoration||this[e].face!==t[e].face||this[e].size!==t[e].size||this[e].style!==t[e].style||this[e].weight!==t[e].weight},addFormattingOptions:function(e,t,r){"note"===r?("auto"!==this.vocalPosition&&p(e,"vocalPosition",this.vocalPosition),"auto"!==this.dynamicPosition&&p(e,"dynamicPosition",this.dynamicPosition),"auto"!==this.chordPosition&&p(e,"chordPosition",this.chordPosition),"auto"!==this.ornamentPosition&&p(e,"ornamentPosition",this.ornamentPosition),"auto"!==this.volumePosition&&p(e,"volumePosition",this.volumePosition),this.differentFont("annotationfont",t)&&m(e,"annotationfont",this.annotationfont),this.differentFont("gchordfont",t)&&m(e,"gchordfont",this.gchordfont),this.differentFont("vocalfont",t)&&m(e,"vocalfont",this.vocalfont),this.differentFont("tripletfont",t)&&m(e,"tripletfont",this.tripletfont)):"bar"===r&&("auto"!==this.dynamicPosition&&p(e,"dynamicPosition",this.dynamicPosition),"auto"!==this.chordPosition&&p(e,"chordPosition",this.chordPosition),"auto"!==this.ornamentPosition&&p(e,"ornamentPosition",this.ornamentPosition),"auto"!==this.volumePosition&&p(e,"volumePosition",this.volumePosition),this.differentFont("measurefont",t)&&m(e,"measurefont",this.measurefont),this.differentFont("repeatfont",t)&&m(e,"repeatfont",this.repeatfont))},duplicateStartEndingHoldOvers:function(){this.endingHoldOver={inTie:[],inTieChord:{}};for(var e=0;e/g,">")},x=function(t,r,n){r||(r=" ");var a=r[n];" "!==a&&a||(a="SPACE");var i,s=y(r.substring(n-64,n))+''+a+""+y(r.substring(n+1).substring(0,64));!function(e){b.warnings||(b.warnings=[]),b.warnings.push(e)}("Music Line:"+e.lineIndex+":"+(n+1)+": "+t+": "+s),i={message:t,line:r,startChar:b.iChar+n,column:n},b.warningObjects||(b.warningObjects=[]),b.warningObjects.push(i)};this.getWarnings=function(){return b.warnings},this.getWarningObjects=function(){return b.warningObjects};var k=function(t,r){if(r.indexOf("")>=0)d+=r;else if(r=d+r,d="",t){"-"!==(r=n.strip(r))[r.length-1]&&(r+=" ");for(var a=[],i=0,s=!1,o=function(t){var o=n.strip(r.substring(i,t));if(o=o.replace(/\\([-_*|~])/g,"$1"),i=t+1,o.length>0){s&&(o=o.replace(/~/g," "));var c=r[t];return"_"!==c&&"-"!==c&&(c=" "),a.push({syllable:e.translateString(o),divider:c}),s=!1,!0}return!1},c=!1,l=0;l0&&(n.last(a).divider="-",a.push({skip:!0,to:"next"}));break;case"_":c||(o(l),a.push({skip:!0,to:"slur"}));break;case"*":c||(o(l),a.push({skip:!0,to:"next"}));break;case"|":c||(o(l),a.push({skip:!0,to:"bar"}));break;case"~":c||(s=!0)}c="\\"===r[l]}t.forEach((function(e){if(0!==a.length)if(a[0].skip){switch(a[0].to){case"next":case"slur":"note"===e.el_type&&null!==e.pitches&&a.shift();break;case"bar":"bar"===e.el_type&&a.shift()}"bar"!==e.el_type&&(void 0===e.lyric?e.lyric=[{syllable:"",divider:" "}]:e.lyric.push({syllable:"",divider:" "}))}else if("note"===e.el_type&&void 0===e.rest){var t=a.shift();t.syllable&&(t.syllable=t.syllable.replace(/ +/g," ")),void 0===e.lyric?e.lyric=[t]:e.lyric.push(t)}}))}else x("Can't add words before the first line of music",t,0)},w=function(t,r){if(r.indexOf("")>=0)f+=r;else if(r=f+r,f="",t){"-"!==(r=n.strip(r))[r.length-1]&&(r+=" ");for(var a=[],i=0,s=!1,o=function(t){var o=n.strip(r.substring(i,t));if(i=t+1,o.length>0){s&&(o=o.replace(/~/g," "));var c=r[t];return"_"!==c&&"-"!==c&&(c=" "),a.push({syllable:e.translateString(o),divider:c}),s=!1,!0}return!1},c=0;c0&&(n.last(a).divider="-",a.push({skip:!0,to:"next"}));break;case"_":o(c),a.push({skip:!0,to:"slur"});break;case"*":o(c),a.push({skip:!0,to:"next"});break;case"|":o(c),a.push({skip:!0,to:"bar"});break;case"~":s=!0}t.forEach((function(e){if(0!==a.length)if(a[0].skip)switch(a[0].to){case"next":case"slur":"note"===e.el_type&&null!==e.pitches&&a.shift();break;case"bar":"bar"===e.el_type&&a.shift()}else if("note"===e.el_type&&void 0===e.rest){var t=a.shift();void 0===e.lyric?e.lyric=[t]:e.lyric.push(t)}}))}else x("Can't add symbols before the first line of music",t,0)},C=function(e){if(n.startsWith(e,"%%")){var t=a.addDirective(e.substring(2));t&&x(t,e,2)}else{var i=e.indexOf("%");if(i>=0&&(e=e.substring(0,i)),0!==(e=e.replace(/\s+$/,"")).length)if(d)k(r.getCurrentVoice(),e.substring(2));else if(f)w(r.getCurrentVoice(),e.substring(2));else if(e.length<2||":"!==e[1]||v.lineContinuation)v.parseMusic(e);else{var s=g.parseHeader(e);s.regular&&v.parseMusic(e),s.newline&&v.startNewLine(),s.words&&k(r.getCurrentVoice(),e.substring(2)),s.symbols&&w(r.getCurrentVoice(),e.substring(2))}}};function T(e,t){e.push({el_type:"hint"});for(var r=0;r1){for(var y=1;y0&&"\n"!==m[y][0];)m[y]=m[y].substr(1),m[y-1]+=" ";h=m.join(" ")}var T=(h=h.replace(/\\([ \t]*)(%.*)*\n/g,(function(e,t,r){return t+""+(r?Array(r.length+1).join(" "):"")+"\n"}))).split("\n");0===n.last(T).length&&T.pop(),e=new o(T,b),g=new i(e,x,b,t,r),v=new s(e,x,b,t,r,g),u.print&&(t.media="print"),b.reset(),b.iChar=p,u.visualTranspose?(b.globalTranspose=parseInt(u.visualTranspose),0===b.globalTranspose?b.globalTranspose=void 0:r.setVisualTranspose(u.visualTranspose)):b.globalTranspose=void 0,u.lineBreaks&&(b.lineBreaks=u.lineBreaks),g.reset(e,x,b,t);try{u.format&&a.globalFormatting(u.format);for(var _=e.nextLine();_;){if(u.header_only&&!1===b.is_in_header)throw"normal_abort";if(u.stop_on_warning&&b.warnings)throw"normal_abort";var E=b.is_in_header;C(_),E&&!b.is_in_header&&(r.setRunningFont("annotationfont",b.annotationfont),r.setRunningFont("gchordfont",b.gchordfont),r.setRunningFont("tripletfont",b.tripletfont),r.setRunningFont("vocalfont",b.vocalfont)),_=e.nextLine()}d&&k(r.getCurrentVoice(),""),f&&w(r.getCurrentVoice(),""),b.openSlurs=r.cleanUp(b.barsperstaff,b.staffnonote,b.openSlurs)}catch(e){if("normal_abort"!==e)throw e}var M=792,A=612;switch(b.papersize){case"legal":M=1008,A=612;break;case"A4":M=842.4,A=597.6}if(b.landscape){var N=M;M=A,A=N}if(t.formatting.pagewidth||(t.formatting.pagewidth=A),t.formatting.pageheight||(t.formatting.pageheight=M),u.hint_measures&&function(){for(var e=0;e1&&!n.startsWith(o[0].abc,"X:")&&o.shift().abc.split("\n").forEach((function(e){n.startsWith(e,"%%")&&(t+=e+"\n")}));var c=t;return o.forEach((function(e){var r=e.abc.indexOf("\n\n");r>0&&(e.abc=e.abc.substring(0,r)),e.pure=e.abc,e.abc=t+e.abc,e.title="";var a=e.pure.split("T:");a.length>1&&(a=a[1].split("\n"),e.title=n.strip(a[0]));var i=e.pure.substring(2,e.pure.indexOf("\n"));e.id=n.strip(i)})),{header:c,tunes:o}}},8360:function(e,t,r){var n=r(5008),a={};!function(){"use strict";var e,t,r,i,s;a.initialize=function(n,a,o,c,l){e=n,t=a,i=c,s=l,(r=o).annotationfont={face:"Helvetica",size:12,weight:"normal",style:"normal",decoration:"none"},r.gchordfont={face:"Helvetica",size:12,weight:"normal",style:"normal",decoration:"none"},r.historyfont={face:'"Times New Roman"',size:16,weight:"normal",style:"normal",decoration:"none"},r.infofont={face:'"Times New Roman"',size:14,weight:"normal",style:"italic",decoration:"none"},r.measurefont={face:'"Times New Roman"',size:14,weight:"normal",style:"italic",decoration:"none"},r.partsfont={face:'"Times New Roman"',size:15,weight:"normal",style:"normal",decoration:"none"},r.repeatfont={face:'"Times New Roman"',size:13,weight:"normal",style:"normal",decoration:"none"},r.textfont={face:'"Times New Roman"',size:16,weight:"normal",style:"normal",decoration:"none"},r.tripletfont={face:"Times",size:11,weight:"normal",style:"italic",decoration:"none"},r.vocalfont={face:'"Times New Roman"',size:13,weight:"bold",style:"normal",decoration:"none"},r.wordsfont={face:'"Times New Roman"',size:16,weight:"normal",style:"normal",decoration:"none"},i.formatting.composerfont={face:'"Times New Roman"',size:14,weight:"normal",style:"italic",decoration:"none"},i.formatting.subtitlefont={face:'"Times New Roman"',size:16,weight:"normal",style:"normal",decoration:"none"},i.formatting.tempofont={face:'"Times New Roman"',size:15,weight:"bold",style:"normal",decoration:"none"},i.formatting.titlefont={face:'"Times New Roman"',size:20,weight:"normal",style:"normal",decoration:"none"},i.formatting.footerfont={face:'"Times New Roman"',size:12,weight:"normal",style:"normal",decoration:"none"},i.formatting.headerfont={face:'"Times New Roman"',size:12,weight:"normal",style:"normal",decoration:"none"},i.formatting.voicefont={face:'"Times New Roman"',size:13,weight:"bold",style:"normal",decoration:"none"},i.formatting.tablabelfont={face:'"Trebuchet MS"',size:16,weight:"normal",style:"normal",decoration:"none"},i.formatting.tabnumberfont={face:'"Arial"',size:11,weight:"normal",style:"normal",decoration:"none"},i.formatting.tabgracefont={face:'"Arial"',size:8,weight:"normal",style:"normal",decoration:"none"},i.formatting.annotationfont=r.annotationfont,i.formatting.gchordfont=r.gchordfont,i.formatting.historyfont=r.historyfont,i.formatting.infofont=r.infofont,i.formatting.measurefont=r.measurefont,i.formatting.partsfont=r.partsfont,i.formatting.repeatfont=r.repeatfont,i.formatting.textfont=r.textfont,i.formatting.tripletfont=r.tripletfont,i.formatting.vocalfont=r.vocalfont,i.formatting.wordsfont=r.wordsfont};var o={gchordfont:!0,measurefont:!0,partsfont:!0,annotationfont:!0,composerfont:!0,historyfont:!0,infofont:!0,subtitlefont:!0,textfont:!0,titlefont:!0,voicefont:!0},c=function(e,r,n,a,i){function s(){var s=parseInt(e[0].token);return e.shift(),r?0===e.length?{face:r.face,weight:r.weight,style:r.style,decoration:r.decoration,size:s}:1===e.length&&"box"===e[0].token&&o[i]?{face:r.face,weight:r.weight,style:r.style,decoration:r.decoration,size:s,box:!0}:(t("Extra parameters in font definition.",n,a),{face:r.face,weight:r.weight,style:r.style,decoration:r.decoration,size:s}):(t("Can't set just the size of the font since there is no default value.",n,a),{face:'"Times New Roman"',weight:"normal",style:"normal",decoration:"none",size:s})}if("*"===e[0].token){if(e.shift(),"number"===e[0].type)return s();t("Expected font size number after *.",n,a)}if("number"===e[0].type)return s();for(var c,l=[],h="normal",u="normal",d="none",f=!1,p="face",m=!1;e.length;){var g=e.shift(),v=g.token.toLowerCase();switch(p){case"face":m||"utf"!==v&&"number"!==g.type&&"bold"!==v&&"italic"!==v&&"underline"!==v&&"box"!==v?l.length>0&&"-"===g.token?(m=!0,l[l.length-1]=l[l.length-1]+g.token):m?(m=!1,l[l.length-1]=l[l.length-1]+g.token):l.push(g.token):"number"===g.type?(c?t("Font size specified twice in font definition.",n,a):c=g.token,p="modifier"):"bold"===v?h="bold":"italic"===v?u="italic":"underline"===v?d="underline":"box"===v?(o[i]?f=!0:t('This font style doesn\'t support "box"',n,a),p="finished"):"utf"===v?(g=e.shift(),p="size"):t("Unknown parameter "+g.token+" in font definition.",n,a);break;case"size":"number"===g.type?c?t("Font size specified twice in font definition.",n,a):c=g.token:t("Expected font size in font definition.",n,a),p="modifier";break;case"modifier":"bold"===v?h="bold":"italic"===v?u="italic":"underline"===v?d="underline":"box"===v?(o[i]?f=!0:t('This font style doesn\'t support "box"',n,a),p="finished"):t("Unknown parameter "+g.token+" in font definition.",n,a);break;case"finished":t('Extra characters found after "box" in font definition.',n,a)}}void 0===c?r?c=r.size:(t("Must specify the size of the font since there is no default value.",n,a),c=12):c=parseFloat(c),""===(l=l.join(" "))&&(r?l=r.face:(t("Must specify the name of the font since there is no default value.",n,a),l="sans-serif"));var b=function(e){switch(e){case"Arial-Italic":return{face:"Arial",weight:"normal",style:"italic",decoration:"none"};case"Arial-Bold":return{face:"Arial",weight:"bold",style:"normal",decoration:"none"};case"Bookman-Demi":return{face:"Bookman,serif",weight:"bold",style:"normal",decoration:"none"};case"Bookman-DemiItalic":return{face:"Bookman,serif",weight:"bold",style:"italic",decoration:"none"};case"Bookman-Light":return{face:"Bookman,serif",weight:"normal",style:"normal",decoration:"none"};case"Bookman-LightItalic":return{face:"Bookman,serif",weight:"normal",style:"italic",decoration:"none"};case"Courier":return{face:'"Courier New"',weight:"normal",style:"normal",decoration:"none"};case"Courier-Oblique":return{face:'"Courier New"',weight:"normal",style:"italic",decoration:"none"};case"Courier-Bold":return{face:'"Courier New"',weight:"bold",style:"normal",decoration:"none"};case"Courier-BoldOblique":return{face:'"Courier New"',weight:"bold",style:"italic",decoration:"none"};case"AvantGarde-Book":return{face:"AvantGarde,Arial",weight:"normal",style:"normal",decoration:"none"};case"AvantGarde-BookOblique":return{face:"AvantGarde,Arial",weight:"normal",style:"italic",decoration:"none"};case"AvantGarde-Demi":case"Avant-Garde-Demi":return{face:"AvantGarde,Arial",weight:"bold",style:"normal",decoration:"none"};case"AvantGarde-DemiOblique":return{face:"AvantGarde,Arial",weight:"bold",style:"italic",decoration:"none"};case"Helvetica-Oblique":return{face:"Helvetica",weight:"normal",style:"italic",decoration:"none"};case"Helvetica-Bold":return{face:"Helvetica",weight:"bold",style:"normal",decoration:"none"};case"Helvetica-BoldOblique":return{face:"Helvetica",weight:"bold",style:"italic",decoration:"none"};case"Helvetica-Narrow":return{face:'"Helvetica Narrow",Helvetica',weight:"normal",style:"normal",decoration:"none"};case"Helvetica-Narrow-Oblique":return{face:'"Helvetica Narrow",Helvetica',weight:"normal",style:"italic",decoration:"none"};case"Helvetica-Narrow-Bold":return{face:'"Helvetica Narrow",Helvetica',weight:"bold",style:"normal",decoration:"none"};case"Helvetica-Narrow-BoldOblique":return{face:'"Helvetica Narrow",Helvetica',weight:"bold",style:"italic",decoration:"none"};case"Palatino-Roman":return{face:"Palatino",weight:"normal",style:"normal",decoration:"none"};case"Palatino-Italic":return{face:"Palatino",weight:"normal",style:"italic",decoration:"none"};case"Palatino-Bold":return{face:"Palatino",weight:"bold",style:"normal",decoration:"none"};case"Palatino-BoldItalic":return{face:"Palatino",weight:"bold",style:"italic",decoration:"none"};case"NewCenturySchlbk-Roman":return{face:'"New Century",serif',weight:"normal",style:"normal",decoration:"none"};case"NewCenturySchlbk-Italic":return{face:'"New Century",serif',weight:"normal",style:"italic",decoration:"none"};case"NewCenturySchlbk-Bold":return{face:'"New Century",serif',weight:"bold",style:"normal",decoration:"none"};case"NewCenturySchlbk-BoldItalic":return{face:'"New Century",serif',weight:"bold",style:"italic",decoration:"none"};case"Times":case"Times-Roman":case"Times-Narrow":case"Times-Courier":case"Times-New-Roman":return{face:'"Times New Roman"',weight:"normal",style:"normal",decoration:"none"};case"Times-Italic":case"Times-Italics":return{face:'"Times New Roman"',weight:"normal",style:"italic",decoration:"none"};case"Times-Bold":return{face:'"Times New Roman"',weight:"bold",style:"normal",decoration:"none"};case"Times-BoldItalic":return{face:'"Times New Roman"',weight:"bold",style:"italic",decoration:"none"};case"ZapfChancery-MediumItalic":return{face:'"Zapf Chancery",cursive,serif',weight:"normal",style:"normal",decoration:"none"};default:return null}}(l),y={};return b?(y.face=b.face,y.weight=b.weight,y.style=b.style,y.decoration=b.decoration,y.size=c,f&&(y.box=!0),y):(y.face=l,y.weight=h,y.style=u,y.decoration=d,y.size=c,f&&(y.box=!0),y)},l=function(e,t,n){return 0===t.length?'Directive "'+e+'" requires a font as a parameter.':(r[e]=c(t,r[e],n,0,e),r.is_in_header&&(i.formatting[e]=r[e]),null)},h=function(e,t){var r="";t.forEach((function(e){r+=e.token}));var n=parseFloat(r);if(isNaN(n)||0===n)return'Directive "'+e+'" requires a number as a parameter.';i.formatting.scale=n},u=["acoustic-bass-drum","bass-drum-1","side-stick","acoustic-snare","hand-clap","electric-snare","low-floor-tom","closed-hi-hat","high-floor-tom","pedal-hi-hat","low-tom","open-hi-hat","low-mid-tom","hi-mid-tom","crash-cymbal-1","high-tom","ride-cymbal-1","chinese-cymbal","ride-bell","tambourine","splash-cymbal","cowbell","crash-cymbal-2","vibraslap","ride-cymbal-2","hi-bongo","low-bongo","mute-hi-conga","open-hi-conga","low-conga","high-timbale","low-timbale","high-agogo","low-agogo","cabasa","maracas","short-whistle","long-whistle","short-guiro","long-guiro","claves","hi-wood-block","low-wood-block","mute-cuica","open-cuica","mute-triangle","open-triangle"],d=function(e,t,n,a,i){if(1!==n.length||"number"!==n[0].type)return'Directive "'+t+'" requires a number as a parameter.';var s=n[0].intt;return void 0!==a&&si?'Directive "'+t+'" requires a number less than or equal to '+i+" as a parameter.":(r[e]=s,null)},f=function(e,t,n){if(1===n.length&&("true"===n[0].token||"false"===n[0].token))return r[e]="true"===n[0].token,null;var a=d(e,t,n,0,1);return null!==a?a:(r[e]=1===r[e],null)},p=function(e,t,n,a){if(1!==n.length)return'Directive "'+t+'" requires one of [ '+a.join(", ")+" ] as a parameter.";for(var i=n[0].token,s=!1,o=0;!s&&o1&&r.setfont){var n=[];""!==t[0]&&n.push({text:t[0]});for(var a=1;a=0||e[0].floatt<=1)return{value:e[0].floatt}}else{if("false"===e[0].token)return{value:0};if("true"===e[0].token)return{value:1}}return{error:"Directive stretchlast requires zero or one parameter: false, true, or number between 0 and 1 (received "+e[0].token+")"}}a.addDirective=function(o){var M=e.tokenize(o,0,o.length);if(0===M.length||"alpha"!==M[0].type)return null;var A=o.substring(o.indexOf(M[0].token)+M[0].token.length);A=e.stripComment(A);var N,B=M.shift().token.toLowerCase(),P="";switch(B){case"bagpipes":i.formatting.bagpipes=!0;break;case"flatbeams":i.formatting.flatbeams=!0;break;case"jazzchords":i.formatting.jazzchords=!0;break;case"accentAbove":i.formatting.accentAbove=!0;break;case"germanAlphabet":i.formatting.germanAlphabet=!0;break;case"landscape":r.landscape=!0;break;case"papersize":r.papersize=A;break;case"graceslurs":if(1!==M.length)return"Directive graceslurs requires one parameter: 0 or 1";if("0"===M[0].token||"false"===M[0].token)i.formatting.graceSlurs=!1;else{if("1"!==M[0].token&&"true"!==M[0].token)return"Directive graceslurs requires one parameter: 0 or 1 (received "+M[0].token+")";i.formatting.graceSlurs=!0}break;case"lineThickness":var L=E(M);if(void 0!==L.value&&(i.formatting.lineThickness=L.value),L.error)return L.error;break;case"stretchlast":var O=E(M);if(void 0!==O.value&&(i.formatting.stretchlast=O.value),O.error)return O.error;break;case"titlecaps":r.titlecaps=!0;break;case"titleleft":i.formatting.titleleft=!0;break;case"measurebox":i.formatting.measurebox=!0;break;case"vocal":return p("vocalPosition",B,M,_);case"dynamic":return p("dynamicPosition",B,M,_);case"gchord":return p("chordPosition",B,M,_);case"ornament":return p("ornamentPosition",B,M,_);case"volume":return p("volumePosition",B,M,_);case"botmargin":case"botspace":case"composerspace":case"indent":case"leftmargin":case"linesep":case"musicspace":case"partsspace":case"pageheight":case"pagewidth":case"rightmargin":case"stafftopmargin":case"staffsep":case"staffwidth":case"subtitlespace":case"sysstaffsep":case"systemsep":case"textspace":case"titlespace":case"topmargin":case"topspace":case"vocalspace":case"wordsspace":return function(t,r){var n=e.getMeasurement(r);return 0===n.used||0!==r.length?'Directive "'+t+'" requires a measurement as a parameter.':(i.formatting[t]=n.value,null)}(B,M);case"voicescale":if(1!==M.length||"number"!==M[0].type)return"voicescale requires one float as a parameter";var H=M.shift();return r.currentVoice&&(r.currentVoice.scale=H.floatt,s.changeVoiceScale(r.currentVoice.scale)),null;case"voicecolor":if(1!==M.length)return"voicecolor requires one string as a parameter";var D=M.shift();return r.currentVoice&&(r.currentVoice.color=D.token,s.changeVoiceColor(r.currentVoice.color)),null;case"vskip":var I=Math.round(function(t,r){var n=e.getMeasurement(r);return 0===n.used||0!==r.length?{error:'Directive "'+t+'" requires a measurement as a parameter.'}:n.value}(B,M));return I.error?I.error:(s.addSpacing(I),null);case"scale":h(B,M);break;case"sep":if(0===M.length)s.addSeparator(14,14,85,{startChar:r.iChar,endChar:r.iChar+5});else{var z=e.getMeasurement(M);if(0===z.used)return'Directive "'+B+'" requires 3 numbers: space above, space below, length of line';var F=z.value;if(0===(z=e.getMeasurement(M)).used)return'Directive "'+B+'" requires 3 numbers: space above, space below, length of line';var j=z.value;if(0===(z=e.getMeasurement(M)).used||0!==M.length)return'Directive "'+B+'" requires 3 numbers: space above, space below, length of line';var V=z.value;s.addSeparator(F,j,V,{startChar:r.iChar,endChar:r.iChar+A.length})}break;case"barsperstaff":if(null!==(P=d("barsperstaff",B,M)))return P;break;case"staffnonote":if(1!==M.length)return"Directive staffnonote requires one parameter: 0 or 1";if("0"===M[0].token)r.staffnonote=!0;else{if("1"!==M[0].token)return"Directive staffnonote requires one parameter: 0 or 1 (received "+M[0].token+")";r.staffnonote=!1}break;case"printtempo":if(null!==(P=f("printTempo",B,M)))return P;break;case"partsbox":if(null!==(P=f("partsBox",B,M)))return P;r.partsfont.box=r.partsBox;break;case"freegchord":if(null!==(P=f("freegchord",B,M)))return P;break;case"measurenb":case"barnumbers":if(null!==(P=d("barNumbers",B,M)))return P;break;case"setbarnb":if(1!==M.length||"number"!==M[0].type)return"Directive setbarnb requires a number as a parameter.";r.currBarNumber=s.setBarNumberImmediate(M[0].intt);break;case"keywarn":if(1!==M.length||"number"!==M[0].type||1!==M[0].intt&&0!==M[0].intt)return"Directive "+B+" requires 0 or 1 as a parameter.";r[B]=1===M[0].intt;break;case"begintext":var G="";for(N=e.nextLine();N&&0!==N.indexOf("%%endtext");){if(n.startsWith(N,"%%")){var Y=N.substring(2);G+=Y=Y.trim()+"\n"}else G+=N.trim()+"\n";N=e.nextLine()}s.addText(G,{startChar:r.iChar,endChar:r.iChar+G.length+7});break;case"continueall":r.continueall=!0;break;case"beginps":for(N=e.nextLine();N&&0!==N.indexOf("%%endps");)e.nextLine();t("Postscript ignored",o,0);break;case"deco":A.length>0&&r.ignoredDecorations.push(A.substring(0,A.indexOf(" "))),t("Decoration redefinition ignored",o,0);break;case"text":var q=e.translateString(A);s.addText(a.parseFontChangeLine(q),{startChar:r.iChar,endChar:r.iChar+A.length+7});break;case"center":var R=e.translateString(A);s.addCentered(a.parseFontChangeLine(R));break;case"font":break;case"setfont":var W=e.tokenize(A,0,A.length);if(W.length>=4&&"-"===W[0].token&&"number"===W[1].type){var X=parseInt(W[1].token);X>=1&&X<=9&&(r.setfont||(r.setfont=[]),W.shift(),W.shift(),r.setfont[X]=c(W,r.setfont[X],o,0,"setfont"))}break;case"gchordfont":case"partsfont":case"tripletfont":case"vocalfont":case"textfont":case"annotationfont":case"historyfont":case"infofont":case"measurefont":case"repeatfont":case"wordsfont":return l(B,M,o);case"composerfont":case"subtitlefont":case"tempofont":case"titlefont":case"voicefont":case"footerfont":case"headerfont":return function(e,t,r){return 0===t.length?'Directive "'+e+'" requires a font as a parameter.':(i.formatting[e]=c(t,i.formatting[e],r,0,e),null)}(B,M,o);case"barlabelfont":case"barnumberfont":case"barnumfont":return l("measurefont",M,o);case"staves":case"score":r.score_is_present=!0;for(var U,K=function(e,t,a,i,s){(t||0===r.staves.length)&&r.staves.push({index:r.staves.length,numVoices:0});var o=n.last(r.staves);void 0!==a&&void 0===o.bracket&&(o.bracket=a),void 0!==i&&void 0===o.brace&&(o.brace=i),s&&(o.connectBarLines="end"),void 0===r.voices[e]&&(r.voices[e]={staffNum:o.index,index:o.numVoices},o.numVoices++)},$=!1,Q=!1,J=!1,Z=!1,ee=!1,te=!1,re=!1,ne=function(){if(re=!0,U){var e="start";U.staffNum>0&&("start"!==r.staves[U.staffNum-1].connectBarLines&&"continue"!==r.staves[U.staffNum-1].connectBarLines||(e="continue")),r.staves[U.staffNum].connectBarLines=e}};M.length;){var ae=M.shift();switch(ae.token){case"(":$?t("Can't nest parenthesis in %%score",o,ae.start):($=!0,Z=!0);break;case")":!$||Z?t("Unexpected close parenthesis in %%score",o,ae.start):$=!1;break;case"[":Q?t("Can't nest brackets in %%score",o,ae.start):(Q=!0,ee=!0);break;case"]":!Q||ee?t("Unexpected close bracket in %%score",o,ae.start):(Q=!1,r.staves[U.staffNum].bracket="end");break;case"{":J?t("Can't nest braces in %%score",o,ae.start):(J=!0,te=!0);break;case"}":!J||te?t("Unexpected close brace in %%score",o,ae.start):(J=!1,r.staves[U.staffNum].brace="end");break;case"|":ne();break;default:for(var ie="";("alpha"===ae.type||"number"===ae.type)&&(ie+=ae.token,ae.continueId);)ae=M.shift();K(ie,!$||Z,ee?"start":Q?"continue":void 0,te?"start":J?"continue":void 0,re),Z=!1,ee=!1,te=!1,re=!1,U=r.voices[ie],"staves"===B&&ne()}}break;case"maxstaves":var se=e.getInt(A);0===se.digits?t("Expected number of staves in maxstaves"):se.value>0&&(i.formatting.maxStaves=se.value);break;case"newpage":var oe=e.getInt(A);s.addNewPage(0===oe.digits?-1:oe.value);break;case"abc":var ce=A.split(" ");switch(ce[0]){case"-copyright":case"-creator":case"-edited-by":case"-version":case"-charset":var le=ce.shift();s.addMetaText(B+le,ce.join(" "),{startChar:r.iChar,endChar:r.iChar+A.length+5});break;default:return"Unknown directive: "+B+ce[0]}break;case"header":case"footer":var he=e.getMeat(A,0,A.length);'"'===(he=A.substring(he.start,he.end))[0]&&'"'===he[he.length-1]&&(he=he.substring(1,he.length-1));var ue=he.split("\t"),de={};de=1===ue.length?{left:"",center:ue[0],right:""}:2===ue.length?{left:ue[0],center:ue[1],right:""}:{left:ue[0],center:ue[1],right:ue[2]},ue.length>3&&t("Too many tabs in "+B+": "+ue.length+" found.",A,0),s.addMetaTextObj(B,de,{startChar:r.iChar,endChar:r.iChar+o.length});break;case"midi":var fe=e.tokenize(A,0,A.length,!0);fe.length>0&&"="===fe[0].token&&fe.shift(),0===fe.length?t("Expected midi command",A,0):function(e,r,n){var a=e.shift().token,i=[];if(m.indexOf(a)>=0)0!==e.length&&t("Unexpected parameter in MIDI "+a,n,0);else if(g.indexOf(a)>=0)1!==e.length?t("Expected one parameter in MIDI "+a,n,0):i.push(e[0].token);else if(v.indexOf(a)>=0)1!==e.length?t("Expected one parameter in MIDI "+a,n,0):"number"!==e[0].type?t("Expected one integer parameter in MIDI "+a,n,0):i.push(e[0].intt);else if(b.indexOf(a)>=0)1!==e.length&&2!==e.length?t("Expected one or two parameters in MIDI "+a,n,0):"number"!==e[0].type||2===e.length&&"number"!==e[1].type?t("Expected integer parameter in MIDI "+a,n,0):(i.push(e[0].intt),2===e.length&&i.push(e[1].intt));else if(y.indexOf(a)>=0)2!==e.length?t("Expected two parameters in MIDI "+a,n,0):"number"!==e[0].type||"number"!==e[1].type?t("Expected two integer parameters in MIDI "+a,n,0):(i.push(e[0].intt),i.push(e[1].intt));else if(w.indexOf(a)>=0)2!==e.length?t("Expected two parameters in MIDI "+a,n,0):"alpha"!==e[0].type||"number"!==e[1].type?t("Expected one string and one integer parameters in MIDI "+a,n,0):(i.push(e[0].token),i.push(e[1].intt));else if("drummap"===a)2===e.length&&"alpha"===e[0].type&&"number"===e[1].type?(r.formatting||(r.formatting={}),r.formatting.midi||(r.formatting.midi={}),r.formatting.midi.drummap||(r.formatting.midi.drummap={}),r.formatting.midi.drummap[e[0].token]=e[1].intt,i=r.formatting.midi.drummap):3===e.length&&"punct"===e[0].type&&"alpha"===e[1].type&&"number"===e[2].type?(r.formatting||(r.formatting={}),r.formatting.midi||(r.formatting.midi={}),r.formatting.midi.drummap||(r.formatting.midi.drummap={}),r.formatting.midi.drummap[e[0].token+e[1].token]=e[2].intt,i=r.formatting.midi.drummap):t("Expected one note name and one integer parameter in MIDI "+a,n,0);else if(C.indexOf(a)>=0)3!==e.length||"number"!==e[0].type||"/"!==e[1].token||"number"!==e[2].type?t("Expected fraction parameter in MIDI "+a,n,0):(i.push(e[0].intt),i.push(e[2].intt));else if(x.indexOf(a)>=0)4!==e.length?t("Expected four parameters in MIDI "+a,n,0):"number"!==e[0].type||"number"!==e[1].type||"number"!==e[2].type||"number"!==e[3].type?t("Expected four integer parameters in MIDI "+a,n,0):(i.push(e[0].intt),i.push(e[1].intt),i.push(e[2].intt),i.push(e[3].intt));else if(k.indexOf(a)>=0)5!==e.length?t("Expected five parameters in MIDI "+a,n,0):"number"!==e[0].type||"number"!==e[1].type||"number"!==e[2].type||"number"!==e[3].type||"number"!==e[4].type?t("Expected five integer parameters in MIDI "+a,n,0):(i.push(e[0].intt),i.push(e[1].intt),i.push(e[2].intt),i.push(e[3].intt),i.push(e[4].intt));else if(b.indexOf(a)>=0)1!==e.length||4!==e.length?t("Expected one or two parameters in MIDI "+a,n,0):"number"!==e[0].type?t("Expected integer parameter in MIDI "+a,n,0):4===e.length?("octave"!==e[1].token&&t("Expected octave parameter in MIDI "+a,n,0),"="!==e[2].token&&t("Expected octave parameter in MIDI "+a,n,0),"number"!==e[3].type&&t("Expected integer parameter for octave in MIDI "+a,n,0)):(i.push(e[0].intt),4===e.length&&i.push(e[3].intt));else if(T.indexOf(a)>=0)if(e.length<2)t("Expected string parameter and at least one integer parameter in MIDI "+a,n,0);else if("alpha"!==e[0].type)t("Expected string parameter and at least one integer parameter in MIDI "+a,n,0);else{var o=e.shift();for(i.push(o.token);e.length>0;)"number"!==(o=e.shift()).type&&t("Expected integer parameter in MIDI "+a,n,0),i.push(o.intt)}else if(S.indexOf(a)>=0)if(1!==e.length&&2!==e.length)t("Expected one or two parameters in MIDI "+a,n,0);else if("number"!==e[0].type)t("Expected integer parameter in MIDI "+a,n,0);else if(2===e.length&&"alpha"!==e[1].type)t("Expected alpha parameter in MIDI "+a,n,0);else if(i.push(e[0].intt),2===e.length){var c=e[1].token;-1!=c.indexOf("octave=")?(c=c.replace("octave=",""),c=parseInt(c),isNaN(c)?t("Expected octave value in MIDI"+a):(c<-1&&(t("Expected octave= in MIDI "+a+" to be >= -1 (recv:"+c+")"),c=-1),c>3&&(t("Expected octave= in MIDI "+a+" to be <= 3 (recv:"+c+")"),c=3),i.push(c))):t("Expected octave= in MIDI"+a)}s.hasBeginMusic()?s.appendElement("midi",-1,-1,{cmd:a,params:i}):(void 0===r.formatting.midi&&(r.formatting.midi={}),r.formatting.midi[a]=i)}(fe,i,A);break;case"percmap":var pe=function(e){var t=e.split(/\s+/);if(2!==t.length&&3!==t.length)return{error:'Expected parameters "abc-note", "drum-sound", and optionally "note-head"'};var r=t[0],n=parseInt(t[1],10);if((isNaN(n)||n<35||n>81)&&t[1]&&(n=u.indexOf(t[1].toLowerCase())+35),isNaN(n)||n<35||n>81)return{error:'Expected drum name, received "'+t[1]+'"'};var a={sound:n};return 3===t.length&&(a.noteHead=t[2]),{key:r,value:a}}(A);pe.error?t(pe.error,o,8):(i.formatting.percmap||(i.formatting.percmap={}),i.formatting.percmap[pe.key]=pe.value);break;case"visualtranspose":var me=e.getInt(A);0===me.digits?t("Expected number of half steps in visualTranspose"):r.globalTranspose=me.value;break;case"map":case"playtempo":case"auquality":case"continuous":case"nobarcheck":i.formatting[B]=A;break;default:return"Unknown directive: "+B}return null},a.globalFormatting=function(n){for(var a in n)if(n.hasOwnProperty(a)){var s,o=""+n[a],c=e.tokenize(o,0,o.length);switch(a){case"titlefont":case"gchordfont":case"composerfont":case"footerfont":case"headerfont":case"historyfont":case"infofont":case"measurefont":case"partsfont":case"repeatfont":case"subtitlefont":case"tempofont":case"textfont":case"voicefont":case"tripletfont":case"vocalfont":case"wordsfont":case"annotationfont":case"tablabelfont":case"tabnumberfont":case"tabgracefont":l(a,c,o);break;case"scale":h(a,c);break;case"partsbox":null!==(s=f("partsBox",a,c))&&t(s),r.partsfont.box=r.partsBox;break;case"freegchord":null!==(s=f("freegchord",a,c))&&t(s);break;case"fontboxpadding":1===c.length&&"number"===c[0].type||t('Directive "'+a+'" requires a number as a parameter.'),i.formatting.fontboxpadding=c[0].floatt;break;case"stafftopmargin":1===c.length&&"number"===c[0].type||t('Directive "'+a+'" requires a number as a parameter.'),i.formatting.stafftopmargin=c[0].floatt;break;case"stretchlast":var u=E(c);if(void 0!==u.value&&(i.formatting.stretchlast=u.value),u.error)return u.error;break;default:t("Formatting directive unrecognized: ",a,0)}}}}(),e.exports=a},9928:function(e,t,r){var n=r(5008),a=r(8360),i=r(9708);e.exports=function(e,t,r,s,o){this.reset=function(e,t,r,n){i.initialize(e,t,r,n,o),a.initialize(e,t,r,n,o)},this.reset(e,t,r,s),this.setTitle=function(e,t){r.hasMainTitle?o.addSubtitle(e,{startChar:r.iChar,endChar:r.iChar+t+2}):(o.addMetaText("title",e,{startChar:r.iChar,endChar:r.iChar+t+2}),r.hasMainTitle=!0)},this.setMeter=function(n){if("C"===(n=e.stripComment(n)))return!0===r.havent_set_length&&(r.default_length=.125,r.havent_set_length=!1),{type:"common_time"};if("C|"===n)return!0===r.havent_set_length&&(r.default_length=.125,r.havent_set_length=!1),{type:"cut_time"};if("o"===n)return!0===r.havent_set_length&&(r.default_length=.125,r.havent_set_length=!1),{type:"tempus_perfectum"};if("c"===n)return!0===r.havent_set_length&&(r.default_length=.125,r.havent_set_length=!1),{type:"tempus_imperfectum"};if("o."===n)return!0===r.havent_set_length&&(r.default_length=.125,r.havent_set_length=!1),{type:"tempus_perfectum_prolatio"};if("c."===n)return!0===r.havent_set_length&&(r.default_length=.125,r.havent_set_length=!1),{type:"tempus_imperfectum_prolatio"};if(0===n.length||"none"===n.toLowerCase())return!0===r.havent_set_length&&(r.default_length=.125,r.havent_set_length=!1),null;var a=e.tokenize(n,0,n.length);try{var i=function(){var e=function(){var e={value:0,num:""},t=a.shift();for("("===t.token&&(t=a.shift());;){if("number"!==t.type)throw"Expected top number of meter";if(e.value+=parseInt(t.token),e.num+=t.token,0===a.length||"/"===a[0].token)return e;if(")"===(t=a.shift()).token){if(0===a.length||"/"===a[0].token)return e;throw"Unexpected paren in meter"}if("."!==t.token&&"+"!==t.token)throw"Expected top number of meter";if(e.num+=t.token,0===a.length)throw"Expected top number of meter";t=a.shift()}return e}();if(0===a.length)return e;var t=a.shift();if("/"!==t.token)throw"Expected slash in meter";if("number"!==(t=a.shift()).type)throw"Expected bottom number of meter";return e.den=t.token,e.value=e.value/parseInt(e.den),e};if(0===a.length)throw"Expected meter definition in M: line";for(var s={type:"specified",value:[]},o=0;;){var c=i();o+=c.value;var l={num:c.num};if(void 0!==c.den&&(l.den=c.den),s.value.push(l),0===a.length)break}return!0===r.havent_set_length&&(r.default_length=o<.75?.0625:.125,r.havent_set_length=!1),s}catch(e){t(e,n,0)}return null},this.calcTempo=function(e){var t=1/4;r.meter&&"specified"===r.meter.type?t=1/parseInt(r.meter.value[0].den):r.origMeter&&"specified"===r.origMeter.type&&(t=1/parseInt(r.origMeter.value[0].den));for(var n=0;n0&&(r.default_length=i/s,r.havent_set_length=!1)}else 1===a.length&&"1"===a[0]&&(r.default_length=1,r.havent_set_length=!1)};var c={larghissimo:20,adagissimo:24,sostenuto:28,grave:32,largo:40,lento:50,larghetto:60,adagio:68,adagietto:74,andante:80,andantino:88,"marcia moderato":84,"andante moderato":100,moderato:112,allegretto:116,"allegro moderato":120,allegro:126,animato:132,agitato:140,veloce:148,"mosso vivo":156,vivace:164,vivacissimo:172,allegrissimo:176,presto:184,prestissimo:210};this.setTempo=function(n,a,i,s){try{var o=e.tokenize(n,a,i);if(0===o.length)throw"Missing parameter in Q: field";var l={startChar:s+a-2,endChar:s+i},h=!0,u=o.shift();if("quote"===u.type&&(l.preString=u.token,u=o.shift(),0===o.length))return c[l.preString.toLowerCase()]&&(l.bpm=c[l.preString.toLowerCase()],l.suppressBpm=!0),{type:"immediate",tempo:l};if("alpha"===u.type&&"C"===u.token){if(0===o.length)throw"Missing tempo after C in Q: field";if("punct"===(u=o.shift()).type&&"="===u.token){if(0===o.length)throw"Missing tempo after = in Q: field";if("number"!==(u=o.shift()).type)throw"Expected number after = in Q: field";l.duration=[1],l.bpm=parseInt(u.token)}else{if("number"!==u.type)throw"Expected number or equal after C in Q: field";if(l.duration=[parseInt(u.token)],0===o.length)throw"Missing = after duration in Q: field";if("punct"!==(u=o.shift()).type||"="!==u.token)throw"Expected = after duration in Q: field";if(0===o.length)throw"Missing tempo after = in Q: field";if("number"!==(u=o.shift()).type)throw"Expected number after = in Q: field";l.bpm=parseInt(u.token)}}else{if("number"!==u.type)throw"Unknown value in Q: field";var d=parseInt(u.token);if(0===o.length||"quote"===o[0].type)l.duration=[1],l.bpm=d;else{if(h=!1,"punct"!==(u=o.shift()).type&&"/"!==u.token)throw"Expected fraction in Q: field";if("number"!==(u=o.shift()).type)throw"Expected fraction in Q: field";var f=parseInt(u.token);for(l.duration=[d/f];o.length>0&&"="!==o[0].token&&"quote"!==o[0].type;){if("number"!==(u=o.shift()).type)throw"Expected fraction in Q: field";if(d=parseInt(u.token),"punct"!==(u=o.shift()).type&&"/"!==u.token)throw"Expected fraction in Q: field";if("number"!==(u=o.shift()).type)throw"Expected fraction in Q: field";f=parseInt(u.token),l.duration.push(d/f)}if("punct"!==(u=o.shift()).type&&"="!==u.token)throw"Expected = in Q: field";if("number"!==(u=o.shift()).type)throw"Expected tempo in Q: field";l.bpm=parseInt(u.token)}}if(0!==o.length&&("quote"===(u=o.shift()).type&&(l.postString=u.token,u=o.shift()),0!==o.length))throw"Unexpected string at end of Q: field";return!1===r.printTempo&&(l.suppress=!0),{type:h?"delaySet":"immediate",tempo:l}}catch(e){return t(e,n,a),{type:"none"}}},this.letter_to_inline_header=function(n,c,l){var h=!1,u=e.eatWhiteSpace(n,c);if(c+=u,n.length>=c+5&&"["===n[c]&&":"===n[c+2]){var d=n.indexOf("]",c),f=r.iChar+c,p=r.iChar+d+1;switch(n.substring(c,c+3)){case"[I:":var m=a.addDirective(n.substring(c+3,d));return m&&t(m,n,c),[d-c+1+u];case"[M:":var g=this.setMeter(n.substring(c+3,d));return o.hasBeginMusic()&&g?o.appendStartingElement("meter",f,p,g):r.meter=g,[d-c+1+u];case"[K:":var v=i.parseKey(n.substring(c+3,d),!0);return v.foundClef&&o.hasBeginMusic()&&o.appendStartingElement("clef",f,p,r.clef),v.foundKey&&o.hasBeginMusic()&&o.appendStartingElement("key",f,p,i.fixKey(r.clef,r.key)),[d-c+1+u];case"[P:":var b=a.parseFontChangeLine(n.substring(c+3,d));return l||s.lines.length<=s.lineNum?r.partForNextLine={title:b,startChar:f,endChar:p}:o.appendElement("part",f,p,{title:b}),[d-c+1+u];case"[L:":return this.setDefaultLength(n,c+3,d),[d-c+1+u];case"[Q:":if(d>0){var y=this.setTempo(n,c+3,d,r.iChar);return"delaySet"===y.type?o.hasBeginMusic()?o.appendElement("tempo",f,p,this.calcTempo(y.tempo)):r.tempoForNextLine=["tempo",f,p,this.calcTempo(y.tempo)]:"immediate"===y.type&&(!l&&o.hasBeginMusic()?o.appendElement("tempo",f,p,y.tempo):r.tempoForNextLine=["tempo",f,p,y.tempo]),[d-c+1+u,n[c+1],n.substring(c+3,d)]}break;case"[V:":if(d>0)return h=i.parseVoice(n,c+3,d),[d-c+1+u,n[c+1],n.substring(c+3,d),h];break;case"[r:":return[d-c+1+u]}}return[0]},this.letter_to_body_header=function(e,s){var c=!1;if(e.length>=s+3)switch(e.substring(s,s+2)){case"I:":var l=a.addDirective(e.substring(s+2));return l&&t(l,e,s),[e.length];case"M:":var h=this.setMeter(e.substring(s+2));return o.hasBeginMusic()&&h&&o.appendStartingElement("meter",r.iChar+s,r.iChar+e.length,h),[e.length];case"K:":var u=i.parseKey(e.substring(s+2),o.hasBeginMusic());return u.foundClef&&o.hasBeginMusic()&&!1!==r.keywarn&&o.appendStartingElement("clef",r.iChar+s,r.iChar+e.length,r.clef),u.foundKey&&o.hasBeginMusic()&&!1!==r.keywarn&&o.appendStartingElement("key",r.iChar+s,r.iChar+e.length,i.fixKey(r.clef,r.key)),[e.length];case"P:":return o.hasBeginMusic()&&o.appendElement("part",r.iChar+s,r.iChar+e.length,{title:e.substring(s+2)}),[e.length];case"L:":return this.setDefaultLength(e,s+2,e.length),[e.length];case"Q:":var d=e.indexOf("",s+2);-1===d&&(d=e.length);var f=this.setTempo(e,s+2,d,r.iChar);return"delaySet"===f.type?o.appendElement("tempo",r.iChar+s,r.iChar+e.length,this.calcTempo(f.tempo)):"immediate"===f.type&&o.appendElement("tempo",r.iChar+s,r.iChar+e.length,f.tempo),[d,e[s],n.strip(e.substring(s+2))];case"V:":return c=i.parseVoice(e,s+2,e.length),[e.length,e[s],n.strip(e.substring(s+2)),c]}return[0]};var l={A:"author",B:"book",C:"composer",D:"discography",F:"url",G:"group",I:"instruction",N:"notes",O:"origin",R:"rhythm",S:"source",W:"unalignedWords",Z:"transcription"};this.parseHeader=function(n){var c=l[n[0]],h=n.length-2,u=e.translateString(e.stripComment(n.substring(2)));if("unalignedWords"===c||"notes"===c)o.addMetaTextArray(c,a.parseFontChangeLine(u),{startChar:r.iChar,endChar:r.iChar+n.length});else if(void 0!==c)o.addMetaText(c,a.parseFontChangeLine(u),{startChar:r.iChar,endChar:r.iChar+n.length});else{var d=r.iChar,f=d+n.length;switch(n[0]){case"H":for(o.addMetaTextArray("history",a.parseFontChangeLine(u),{startChar:r.iChar,endChar:r.iChar+n.length}),n=e.peekLine();n&&":"!==n[1];)e.nextLine(),o.addMetaTextArray("history",a.parseFontChangeLine(e.translateString(e.stripComment(n))),{startChar:r.iChar,endChar:r.iChar+n.length}),n=e.peekLine();break;case"K":this.resolveTempo();var p=i.parseKey(n.substring(2),!1);!r.is_in_header&&o.hasBeginMusic()&&!1!==r.keywarn&&(p.foundClef&&o.appendStartingElement("clef",d,f,r.clef),p.foundKey&&o.appendStartingElement("key",d,f,i.fixKey(r.clef,r.key))),r.is_in_header=!1;break;case"L":this.setDefaultLength(n,2,n.length);break;case"M":r.origMeter=r.meter=this.setMeter(n.substring(2));break;case"P":r.is_in_header?o.addMetaText("partOrder",a.parseFontChangeLine(u),{startChar:r.iChar,endChar:r.iChar+n.length}):r.partForNextLine={title:u,startChar:d,endChar:f};break;case"Q":var m=this.setTempo(n,2,n.length,r.iChar);"delaySet"===m.type?r.tempo=m.tempo:"immediate"===m.type&&(s.metaText.tempo?r.tempoForNextLine=["tempo",d,f,m.tempo]:s.metaText.tempo=m.tempo);break;case"T":r.titlecaps&&(u=u.toUpperCase()),this.setTitle(a.parseFontChangeLine(e.theReverser(u)),h);break;case"U":this.addUserDefinition(n,2,n.length);break;case"V":if(i.parseVoice(n,2,n.length),!r.is_in_header)return{newline:!0};break;case"s":return{symbols:!0};case"w":return{words:!0};case"X":break;case"E":case"m":t("Ignored header",n,0);break;default:return{regular:!0}}}return{}}}},9708:function(e,t,r){var n=r(8360),a=r(2821),i={};!function(){var e,t,r,s;i.initialize=function(n,a,i,o,c){e=n,t=a,r=i,s=c},i.standardKey=function(e,t,n,i){return a.keySignature(r,e,t,n,i)};var o={treble:{clef:"treble",pitch:4,mid:0},"treble+8":{clef:"treble+8",pitch:4,mid:0},"treble-8":{clef:"treble-8",pitch:4,mid:0},"treble^8":{clef:"treble+8",pitch:4,mid:0},treble_8:{clef:"treble-8",pitch:4,mid:0},treble1:{clef:"treble",pitch:2,mid:2},treble2:{clef:"treble",pitch:4,mid:0},treble3:{clef:"treble",pitch:6,mid:-2},treble4:{clef:"treble",pitch:8,mid:-4},treble5:{clef:"treble",pitch:10,mid:-6},perc:{clef:"perc",pitch:6,mid:0},none:{clef:"none",mid:0},bass:{clef:"bass",pitch:8,mid:-12},"bass+8":{clef:"bass+8",pitch:8,mid:-12},"bass-8":{clef:"bass-8",pitch:8,mid:-12},"bass^8":{clef:"bass+8",pitch:8,mid:-12},bass_8:{clef:"bass-8",pitch:8,mid:-12},"bass+16":{clef:"bass",pitch:8,mid:-12},"bass-16":{clef:"bass",pitch:8,mid:-12},"bass^16":{clef:"bass",pitch:8,mid:-12},bass_16:{clef:"bass",pitch:8,mid:-12},bass1:{clef:"bass",pitch:2,mid:-6},bass2:{clef:"bass",pitch:4,mid:-8},bass3:{clef:"bass",pitch:6,mid:-10},bass4:{clef:"bass",pitch:8,mid:-12},bass5:{clef:"bass",pitch:10,mid:-14},tenor:{clef:"alto",pitch:8,mid:-8},tenor1:{clef:"alto",pitch:2,mid:-2},tenor2:{clef:"alto",pitch:4,mid:-4},tenor3:{clef:"alto",pitch:6,mid:-6},tenor4:{clef:"alto",pitch:8,mid:-8},tenor5:{clef:"alto",pitch:10,mid:-10},alto:{clef:"alto",pitch:6,mid:-6},alto1:{clef:"alto",pitch:2,mid:-2},alto2:{clef:"alto",pitch:4,mid:-4},alto3:{clef:"alto",pitch:6,mid:-6},alto4:{clef:"alto",pitch:8,mid:-8},alto5:{clef:"alto",pitch:10,mid:-10},"alto+8":{clef:"alto+8",pitch:6,mid:-6},"alto-8":{clef:"alto-8",pitch:6,mid:-6},"alto^8":{clef:"alto+8",pitch:6,mid:-6},alto_8:{clef:"alto-8",pitch:6,mid:-6}},c=function(e,t){var r=o[e];return(r?r.mid:0)+t};i.fixClef=function(e){var t=o[e.type];t&&(e.clefPos=t.pitch,e.type=t.clef)},i.deepCopyKey=function(e){var t={accidentals:[],root:e.root,acc:e.acc,mode:e.mode};return e.accidentals.forEach((function(e){t.accidentals.push(Object.assign({},e))})),t};var l={A:5,B:6,C:0,D:1,E:2,F:3,G:4,a:12,b:13,c:7,d:8,e:9,f:10,g:11};i.addPosToKey=function(e,t){var r=e.verticalPos;t.accidentals.forEach((function(e){var t=l[e.note];t-=r,e.verticalPos=t})),t.impliedNaturals&&t.impliedNaturals.forEach((function(e){var t=l[e.note];t-=r,e.verticalPos=t})),r<-10?(t.accidentals.forEach((function(e){e.verticalPos-=7,(e.verticalPos>=11||10===e.verticalPos&&"flat"===e.acc)&&(e.verticalPos-=7),"A"===e.note&&"sharp"===e.acc&&(e.verticalPos-=7),"G"!==e.note&&"F"!==e.note||"flat"!==e.acc||(e.verticalPos-=7)})),t.impliedNaturals&&t.impliedNaturals.forEach((function(e){e.verticalPos-=7,(e.verticalPos>=11||10===e.verticalPos&&"flat"===e.acc)&&(e.verticalPos-=7),"A"===e.note&&"sharp"===e.acc&&(e.verticalPos-=7),"G"!==e.note&&"F"!==e.note||"flat"!==e.acc||(e.verticalPos-=7)}))):r<-4?(t.accidentals.forEach((function(e){e.verticalPos-=7,-8!==r||"f"!==e.note&&"g"!==e.note||"sharp"!==e.acc||(e.verticalPos-=7)})),t.impliedNaturals&&t.impliedNaturals.forEach((function(e){e.verticalPos-=7,-8!==r||"f"!==e.note&&"g"!==e.note||"sharp"!==e.acc||(e.verticalPos-=7)}))):r>=7&&(t.accidentals.forEach((function(e){e.verticalPos+=7})),t.impliedNaturals&&t.impliedNaturals.forEach((function(e){e.verticalPos+=7})))},i.fixKey=function(e,t){var r=Object.assign({},t);return i.addPosToKey(e,r),r};var h=function(e){var t=0,r=e[t++];"^"!==r&&"_"!==r||(r=e[t++]);var n=l[r];for(void 0===n&&(n=6);t0){l.foundKey=!0;var u="",d="";o[0].token.length>1?o[0].token=o[0].token.substring(1):o.shift();var f=h.token;if(o.length>0){var p=e.getSharpFlat(o[0].token);if(p.len>0&&(o[0].token.length>1?o[0].token=o[0].token.substring(1):o.shift(),f+=p.token,u=p.token),o.length>0){var m=e.getMode(o[0].token);m.len>0&&(o.shift(),f+=m.token,d=m.token)}if(void 0===i.standardKey(f,h.token,u,0))return t("Unsupported key signature: "+f,a,0),l}var g,v=i.deepCopyKey(r.key),b=!s&&r.globalTranspose?-r.globalTranspose:0;if(s&&(g=r.globalTransposeOrigKeySig),r.key=i.deepCopyKey(i.standardKey(f,h.token,u,b)),s&&(r.globalTransposeOrigKeySig=g),r.key.mode=d,v&&!1!==r.keywarn){for(var y,x=0;x0;)switch(o[0].token){case"m":case"middle":if(o.shift(),0===o.length)return t("Expected = after middle",a,0),l;if("="!==(k=o.shift()).token){t("Expected = after middle",a,k.start);break}if(0===o.length)return t("Expected parameter after middle=",a,0),l;var E=e.getPitchFromTokens(o);E.warn&&t(E.warn,a,0),E.position&&(r.clef.verticalPos=E.position-6);break;case"transpose":if(o.shift(),0===o.length)return t("Expected = after transpose",a,0),l;if("="!==(k=o.shift()).token){t("Expected = after transpose",a,k.start);break}if(0===o.length)return t("Expected parameter after transpose=",a,0),l;if("number"!==o[0].type){t("Expected number after transpose",a,o[0].start);break}r.clef.transpose=o[0].intt,o.shift();break;case"stafflines":if(o.shift(),0===o.length)return t("Expected = after stafflines",a,0),l;if("="!==(k=o.shift()).token){t("Expected = after stafflines",a,k.start);break}if(0===o.length)return t("Expected parameter after stafflines=",a,0),l;if("number"!==o[0].type){t("Expected number after stafflines",a,o[0].start);break}r.clef.stafflines=o[0].intt,o.shift();break;case"staffscale":if(o.shift(),0===o.length)return t("Expected = after staffscale",a,0),l;if("="!==(k=o.shift()).token){t("Expected = after staffscale",a,k.start);break}if(0===o.length)return t("Expected parameter after staffscale=",a,0),l;if("number"!==o[0].type){t("Expected number after staffscale",a,o[0].start);break}r.clef.staffscale=o[0].floatt,o.shift();break;case"octave":if(o.shift(),0===o.length)return t("Expected = after octave",a,0),l;if("="!==(k=o.shift()).token){t("Expected = after octave",a,k.start);break}if(0===o.length)return t("Expected parameter after octave=",a,0),l;if("number"!==o[0].type){t("Expected number after octave",a,o[0].start);break}r.octave=o[0].intt,o.shift();break;case"style":if(o.shift(),0===o.length)return t("Expected = after style",a,0),l;if("="!==(k=o.shift()).token){t("Expected = after style",a,k.start);break}if(0===o.length)return t("Expected parameter after style=",a,0),l;switch(o[0].token){case"normal":case"harmonic":case"rhythm":case"x":case"triangle":r.style=o[0].token,o.shift();break;default:t("error parsing style element: "+o[0].token,a,o[0].start)}break;case"clef":if(o.shift(),0===o.length)return t("Expected = after clef",a,0),l;if("="!==(k=o.shift()).token){t("Expected = after clef",a,k.start);break}if(0===o.length)return t("Expected parameter after clef=",a,0),l;case"treble":case"bass":case"alto":case"tenor":case"perc":case"none":var M=o.shift();switch(M.token){case"treble":case"tenor":case"alto":case"bass":case"perc":case"none":break;case"C":case"c":M.token="alto";break;case"F":case"f":M.token="bass";break;case"G":case"g":M.token="treble";break;default:t("Expected clef name. Found "+M.token,a,M.start)}o.length>0&&"number"===o[0].type&&(M.token+=o[0].token,o.shift()),o.length>1&&("-"===o[0].token||"+"===o[0].token||"^"===o[0].token||"_"===o[0].token)&&"8"===o[1].token&&(M.token+=o[0].token+o[1].token,o.shift(),o.shift()),r.clef={type:M.token,verticalPos:c(M.token,0)},r.currentVoice&&void 0!==r.currentVoice.transpose&&(r.clef.transpose=r.currentVoice.transpose),l.foundClef=!0;break;default:t("Unknown parameter: "+o[0].token,a,o[0].start),o.shift()}return l},i.parseVoice=function(n,a,i){var o=e.getMeat(n,a,i),l=o.start,u=o.end,d=e.getToken(n,l,u);if(0!==d.length){var f=!1;void 0===r.voices[d]&&(r.voices[d]={},f=!0,r.score_is_present&&t("Can't have an unknown V: id when the %score directive is present",n,l)),l+=d.length,l+=e.eatWhiteSpace(n,l);for(var p={startStaff:f},m=function(r){var a=e.getVoiceToken(n,l,u);void 0!==a.warn?t("Expected value for "+r+" in voice: "+a.warn,n,l):void 0!==a.err?t("Expected value for "+r+" in voice: "+a.err,n,l):0===a.token.length&&'"'!==n[l]?t("Expected value for "+r+" in voice",n,l):p[r]=a.token,l+=a.len},g=function(a,i,s){var o=e.getVoiceToken(n,l,u);void 0!==o.warn?t("Expected value for "+i+" in voice: "+o.warn,n,l):void 0!==o.err?t("Expected value for "+i+" in voice: "+o.err,n,l):0===o.token.length&&'"'!==n[l]?t("Expected value for "+i+" in voice",n,l):("number"===s&&(o.token=parseFloat(o.token)),r.voices[a][i]=o.token),l+=o.len},v=function(r,a){var i=e.getVoiceToken(n,l,u);if(void 0!==i.warn)t("Expected value for "+r+" in voice: "+i.warn,n,l);else if(void 0!==i.err)t("Expected value for "+r+" in voice: "+i.err,n,l);else{if(0!==i.token.length||'"'===n[l])return"number"===a&&(i.token=parseFloat(i.token)),i.token;t("Expected value for "+r+" in voice",n,l)}l+=i.len},b=function(a,i){var s=e.getVoiceToken(n,l,u);if(void 0!==s.warn)t("Expected one of (_B, _E, _b, _e) for "+i+" in voice: "+s.warn,n,l);else if(0===s.token.length&&'"'!==n[l])t("Expected one of (_B, _E, _b, _e) for "+i+" in voice",n,l);else{var o={_B:2,_E:9,_b:-10,_e:-3}[s.token];o?r.voices[a][i]=o:t("Expected one of (_B, _E, _b, _e) for "+i+" in voice",n,l)}l+=s.len};l0&&(t+=u[0],"V"===u[1]&&this.startNewLine());for(var d=0;t0)t+=p[0],"V"===p[1]&&(l=!0);else{var m;for((!o.hasBeginMusic()||l&&!this.lineContinuation)&&(this.startNewLine(),l=!1);;)if((m=n.eatWhiteSpace(e,t))>0&&(t+=m),t>0&&""===e[t-1]&&(m=c.letter_to_body_header(e,t))[0]>0&&("V"===m[1]&&this.startNewLine(),t=m[0],i.start_new_line=!1),(m=P(e,t))[0]>0&&(t+=m[0]),(m=E(e,t))[0]>0){S.chord||(S.chord=[]);var g=n.translateString(m[1]);g=g.replace(/;/g,"\n");for(var y=!1,x=0;x0&&(S.force_end_beam_last=!0),t+=k}else if((m=-1===v.indexOf(e[t])?B(e,t):[0])[0]>0)null===m[1]?t+10&&(0===m[1].indexOf("style=")?S.style=m[1].substr(6):(void 0===S.decoration&&(S.decoration=[]),"beambr1"===m[1]?S.beambr=1:"beambr2"===m[1]?S.beambr=2:S.decoration.push(m[1]))),t+=m[0];else{if(!((m=M(e,t))[0]>0))break;S.gracenotes=m[1],t+=m[0]}if((m=L(e,t))[0]>0){d=0,void 0!==S.gracenotes&&(S.rest={type:"spacer"},S.duration=.125,i.addFormattingOptions(S,s.formatting,"note"),o.appendElement("note",r+t,r+t+m[0],S),i.measureNotEmpty=!0,S={});var w={type:m[1]};0===w.type.length?a("Unknown bar type",e,t):(i.inEnding&&"bar_thin"!==w.type&&(w.endEnding=!0,i.inEnding=!1),m[2]&&(w.startEnding=m[2],i.inEnding&&(w.endEnding=!0),i.inEnding=!0,"bar_right_repeat"===m[1]?i.restoreStartEndingHoldOvers():i.duplicateStartEndingHoldOvers()),void 0!==S.decoration&&(w.decoration=S.decoration),void 0!==S.chord&&(w.chord=S.chord),w.startEnding&&void 0===i.barFirstEndingNum?i.barFirstEndingNum=i.currBarNumber:w.startEnding&&w.endEnding&&i.barFirstEndingNum?i.currBarNumber=i.barFirstEndingNum:w.endEnding&&(i.barFirstEndingNum=void 0),"bar_invisible"!==w.type&&i.measureNotEmpty&&z()&&(i.currBarNumber++,i.barNumbers&&i.currBarNumber%i.barNumbers==0&&(w.barNumber=i.currBarNumber)),i.addFormattingOptions(S,s.formatting,"bar"),o.appendElement("bar",r+f,r+t+m[0],w),i.measureNotEmpty=!1,S={}),t+=m[0]}else if("&"===e[t])(m=A(e,t))[0]>0&&(o.appendElement("overlay",r,r+1,{}),t+=1,d++);else{if((m=O(e,t)).consumed>0&&(void 0!==m.startSlur&&(S.startSlur=m.startSlur),m.dottedSlur&&(S.dottedSlur=!0),void 0!==m.triplet&&(h>0?a("Can't nest triplets",e,t):(S.startTriplet=m.triplet,S.tripletMultiplier=m.tripletQ/m.triplet,S.tripletR=m.num_notes,h=void 0===m.num_notes?m.triplet:m.num_notes)),t+=m.consumed),"["===e[t]){t++;for(var C=null,F=!1,j=!1;!j;){var V=B(e,t);V[0]>0&&(t+=V[0]);var G=D(e,t,{},!1);if(null!==G&&void 0!==G.pitch)V[0]>0&&0!==V[1].indexOf("style=")&&(void 0===S.decoration&&(S.decoration=[]),S.decoration.push(V[1])),G.end_beam&&(S.end_beam=!0,delete G.end_beam),void 0===S.pitches?(S.duration=G.duration,S.pitches=[G]):S.pitches.push(G),delete G.duration,V[0]>0&&0===V[1].indexOf("style=")&&(S.pitches[S.pitches.length-1].style=V[1].substr(6)),i.inTieChord[S.pitches.length]&&(G.endTie=!0,i.inTieChord[S.pitches.length]=void 0),G.startTie&&(i.inTieChord[S.pitches.length]=!0),t=G.endChar,delete G.endChar;else if(" "===e[t])a("Spaces are not allowed in chords",e,t),t++;else{if(t0&&(!S.rest||"spacer"!==S.rest.type)&&0==--h&&(S.endTriplet=!0);for(var Y=!1;t":case"<":var q=I(e,t);t+=q[0]-1,i.next_note_duration=q[2],C?C*=q[1]:C=q[1];break;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":case"/":var R=n.getFraction(e,t);C=R.value;var W=e[t=R.index];" "===W&&(F=!0),"-"===W||")"===W||" "===W||"<"===W||">"===W?t--:Y=!0;break;case"0":C=0;break;default:Y=!0}Y||t++}}else a("Expected ']' to end the chords",e,t);void 0!==S.pitches&&(null!==C&&(S.duration=S.duration*C,F&&H(S)),i.addFormattingOptions(S,s.formatting,"note"),o.appendElement("note",r+f,r+t,S),i.measureNotEmpty=!0,S={}),j=!0}}}else{var X={},U=D(e,t,X,!0);void 0!==X.endTie&&_(i,d,!0),null!==U&&(void 0!==U.pitch?(S.pitches=[{}],void 0!==U.accidental&&(S.pitches[0].accidental=U.accidental),S.pitches[0].pitch=U.pitch,S.pitches[0].name=U.name,(U.midipitch||0===U.midipitch)&&(S.pitches[0].midipitch=U.midipitch),void 0!==U.endSlur&&(S.pitches[0].endSlur=U.endSlur),void 0!==U.endTie&&(S.pitches[0].endTie=U.endTie),void 0!==U.startSlur&&(S.pitches[0].startSlur=U.startSlur),void 0!==S.startSlur&&(S.pitches[0].startSlur=S.startSlur),void 0!==S.dottedSlur&&(S.pitches[0].dottedSlur=!0),void 0!==U.startTie&&(S.pitches[0].startTie=U.startTie),void 0!==S.startTie&&(S.pitches[0].startTie=S.startTie)):(S.rest=U.rest,"multimeasure"===U.rest.type&&z()&&(i.currBarNumber+=U.rest.text-1),void 0!==U.endSlur&&(S.endSlur=U.endSlur),void 0!==U.endTie&&(S.rest.endTie=U.endTie),void 0!==U.startSlur&&(S.startSlur=U.startSlur),void 0!==U.startTie&&(S.rest.startTie=U.startTie),void 0!==S.startTie&&(S.rest.startTie=S.startTie)),void 0!==U.chord&&(S.chord=U.chord),void 0!==U.duration&&(S.duration=U.duration),void 0!==U.decoration&&(S.decoration=U.decoration),void 0!==U.graceNotes&&(S.graceNotes=U.graceNotes),delete S.startSlur,delete S.dottedSlur,T(i,d,S)&&(void 0!==S.pitches?S.pitches[0].endTie=!0:"spacer"!==S.rest.type&&(S.rest.endTie=!0),_(i,d,!1)),(U.startTie||S.startTie)&&_(i,d,!0),t=U.endChar,h>0&&(!U.rest||"spacer"!==U.rest.type)&&0==--h&&(S.endTriplet=!0),U.end_beam&&H(S),S.rest&&"rest"===S.rest.type&&1===S.duration&&N(i)<=1&&(S.rest.type="whole",S.duration=N(i)),S.duration<1&&-1===b.indexOf(S.duration)&&0!==S.duration&&(S.rest&&"spacer"===S.rest.type||a("Duration not representable: "+e.substring(f,t),e,t)),i.addFormattingOptions(S,s.formatting,"note"),o.appendElement("note",r+f,r+t,S)||(this.startNewLine(),o.appendElement("note",r+f,r+t,S)),i.measureNotEmpty=!0,S={})}t===f&&(" "!==e[t]&&"`"!==e[t]&&a("Unknown character ignored",e,t),t++)}}}this.lineContinuation=e.indexOf("")>=0||u[0]>0,this.lineContinuation||(S={})}};var _=function(e,t,r){var n=e.currentVoice?100*e.currentVoice.staffNum+e.currentVoice.index:0;void 0===e.inTie[t]&&(e.inTie[t]=[]),e.inTie[t][n]=r},E=function(e,t){if('"'===e[t]){var r=n.getBrackettedSubstring(e,t,5);if(r[2]||a("Missing the closing quote while parsing the chord symbol",e,t),r[0]>0&&r[1].length>0&&"^"===r[1][0])r[1]=r[1].substring(1),r[2]="above";else if(r[0]>0&&r[1].length>0&&"_"===r[1][0])r[1]=r[1].substring(1),r[2]="below";else if(r[0]>0&&r[1].length>0&&"<"===r[1][0])r[1]=r[1].substring(1),r[2]="left";else if(r[0]>0&&r[1].length>0&&">"===r[1][0])r[1]=r[1].substring(1),r[2]="right";else if(r[0]>0&&r[1].length>0&&"@"===r[1][0]){r[1]=r[1].substring(1);var s=n.getFloat(r[1]);if(0===s.digits)return a("Missing first position in absolutely positioned annotation.",e,t),r[1]=r[1].replace("@",""),r[2]="above",r;if(r[1]=r[1].substring(s.digits),","!==r[1][0])return a("Missing comma absolutely positioned annotation.",e,t),r[1]=r[1].replace("@",""),r[2]="above",r;r[1]=r[1].substring(1);var o=n.getFloat(r[1]);if(0===o.digits)return a("Missing second position in absolutely positioned annotation.",e,t),r[1]=r[1].replace("@",""),r[2]="above",r;r[1]=r[1].substring(o.digits);var c=n.skipWhiteSpace(r[1]);r[1]=r[1].substring(c),r[2]=null,r[3]={x:s.value,y:o.value}}else!0!==i.freegchord&&(r[1]=r[1].replace(/([ABCDEFG0-9])b/g,"$1♭"),r[1]=r[1].replace(/([ABCDEFG0-9])#/g,"$1♯"),r[1]=r[1].replace(/^([ABCDEFG])([♯♭]?)o([^A-Za-z])/g,"$1$2°$3"),r[1]=r[1].replace(/^([ABCDEFG])([♯♭]?)o$/g,"$1$2°"),r[1]=r[1].replace(/^([ABCDEFG])([♯♭]?)0([^A-Za-z])/g,"$1$2ø$3"),r[1]=r[1].replace(/^([ABCDEFG])([♯♭]?)\^([^A-Za-z])/g,"$1$2∆$3")),r[2]="default",r[1]=h.chordName(i,r[1]);return r}return[0,""]},M=function(e,t){if("{"===e[t]){var r=n.getBrackettedSubstring(e,t,1,"}");r[2]||a("Missing the closing '}' while parsing grace note",e,t),")"===e[t+r[0]]&&(r[0]++,r[1]+=")");for(var s=[],o=0,c=!1;o0&&(s[s.length-1].endBeam=!0):a("Unknown character '"+r[1][o]+"' while parsing grace note",e,t),o++)}if(s.length)return[r[0],s]}return[0]};function A(e,t){if("&"===e[t]){for(var r=t;e[t]&&":"!==e[t]&&"|"!==e[t];)t++;return[t-r,e.substring(r+1,t)]}return[0]}function N(e){var t=e.origMeter;return t&&"specified"===t.type&&t.value&&0!==t.value.length?parseInt(t.value[0].num,10)/parseInt(t.value[0].den,10):1}var B=function(e,t){var r=i.macros[e[t]];if(void 0!==r)return"!"!==r[0]&&"+"!==r[0]||(r=r.substring(1)),"!"!==r[r.length-1]&&"+"!==r[r.length-1]||(r=r.substring(0,r.length-1)),d.includes(r)?[1,r]:f.includes(r)?("hidden"===i.volumePosition&&(r=""),[1,r]):p.includes(r)?("hidden"===i.dynamicPosition&&(r=""),[1,r]):(i.ignoredDecorations.includes(r)||a("Unknown macro: "+r,e,t),[1,""]);switch(e[t]){case".":if("("===e[t+1]||"-"===e[t+1])break;return[1,"staccato"];case"u":return[1,"upbow"];case"v":return[1,"downbow"];case"~":return[1,"irishroll"];case"!":case"+":var s=n.getBrackettedSubstring(e,t,5);if(s[1].length>1&&("^"===s[1][0]||"_"===s[1][0])&&(s[1]=s[1].substring(1)),d.includes(s[1]))return s;if(f.includes(s[1]))return"hidden"===i.volumePosition&&(s[1]=""),s;if(p.includes(s[1]))return"hidden"===i.dynamicPosition&&(s[1]=""),s;var o=m.findIndex((function(e){return s[1]===e[0]}));return o>=0?(s[1]=m[o][1],s):(o=g.findIndex((function(e){return s[1]===e[0]})))>=0?(s[1]=g[o][1],"hidden"===i.dynamicPosition&&(s[1]=""),s):"!"!==e[t]||1!==s[0]&&"!"===e[t+s[0]-1]?(a("Unknown decoration: "+s[1],e,t),s[1]="",s):[1,null];case"H":return[1,"fermata"];case"J":return[1,"slide"];case"L":return[1,"accent"];case"M":return[1,"mordent"];case"O":return[1,"coda"];case"P":return[1,"pralltriller"];case"R":return[1,"roll"];case"S":return[1,"segno"];case"T":return[1,"trill"];case"t":return[1,"trillh"]}return[0,0]},P=function(e,t){for(var r=t;n.isWhiteSpace(e[t]);)t++;return[t-r]},L=function(e,t){var r=n.getBarLine(e,t);if(0===r.len)return[0,""];if(r.warn)return a(r.warn,e,t),[r.len,""];for(var i=0;i="2"&&e[t+1]<="9"?(void 0!==r.triplet?a("Can't nest triplets",e,t):(r.triplet=e[t+1]-"0",r.tripletQ=w[r.triplet],r.num_notes=r.triplet,t+2="1"&&e[t+4]<="9"?(r.num_notes=e[t+4]-"0",t+=3):a("expected number after the two colons after the triplet to mark the duration",e,t):t+3="1"&&e[t+3]<="9"?(r.tripletQ=e[t+3]-"0",t+4="1"&&e[t+5]<="9"&&(r.num_notes=e[t+5]-"0",t+=4):t+=2):a("expected number after the triplet to mark the duration",e,t))),t++):void 0===r.startSlur?r.startSlur=1:r.startSlur++),t++;return r.consumed=t-i,r};C.prototype.startNewLine=function(){var e={startChar:-1,endChar:-1};i.partForNextLine.title&&(e.part=i.partForNextLine),e.clef=i.currentVoice&&void 0!==i.staves[i.currentVoice.staffNum].clef?Object.assign({},i.staves[i.currentVoice.staffNum].clef):Object.assign({},i.clef);var t=i.currentVoice?i.currentVoice.scoreTranspose:0;if(e.key=l.standardKey(i.key.root+i.key.acc+i.key.mode,i.key.root,i.key.acc,t),e.key.mode=i.key.mode,i.key.impliedNaturals&&(e.key.impliedNaturals=i.key.impliedNaturals),i.key.explicitAccidentals)for(var r=0;r=0?(r.duration=s.getBarLength(),r.rest.text=1,u="Zduration"):(a&&0!==i.next_note_duration?(r.duration=i.default_length*i.next_note_duration,i.next_note_duration=0,d=!0):r.duration=i.default_length,u="duration");break;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":case"0":case"/":if("octave"===u||"duration"===u){var p=n.getFraction(e,t);for(r.duration=r.duration*p.value,r.endChar=p.index;p.index"!==e[t])return r;t--,u="broken_rhythm";break;case">":case"<":if(!l(u))return null;if(!a)return r.endChar=t,r;var g=I(e,t);t+=g[0]-1,i.next_note_duration=g[2],r.duration=g[1]*r.duration,u="end_slur";break;default:return l(u)?(r.endChar=t,r):null}if(++t===e.length)return l(u)?(r.endChar=t,r):null}return null},I=function(e,t){switch(e[t]){case">":return t"===e[t+1]&&">"===e[t+2]?[3,1.875,.125]:t"===e[t+1]?[2,1.75,.25]:[1,1.5,.5];case"<":return t","accent"],["tr","trill"],["plus","+"],["emphasis","accent"],["^","umarcato"],["marcato","umarcato"]],e.exports.accentDynamicPseudonyms=[["<(","crescendo("],["<)","crescendo)"],[">(","diminuendo("],[">)","diminuendo)"]],e.exports.nonDecorations="ABCDEFGabcdefgxyzZ[]|^_{",e.exports.durations=[.5,.75,.875,.9375,.96875,.984375,.25,.375,.4375,.46875,.484375,.4921875,.125,.1875,.21875,.234375,.2421875,.24609375,.0625,.09375,.109375,.1171875,.12109375,.123046875,.03125,.046875,.0546875,.05859375,.060546875,.0615234375,.015625,.0234375,.02734375,.029296875,.0302734375,.03076171875],e.exports.pitches={A:5,B:6,C:0,D:1,E:2,F:3,G:4,a:12,b:13,c:7,d:8,e:9,f:10,g:11},e.exports.rests={x:"invisible",X:"invisible-multimeasure",y:"spacer",z:"rest",Z:"multimeasure"},e.exports.accMap={dblflat:"__",flat:"_",natural:"=",sharp:"^",dblsharp:"^^",quarterflat:"_/",quartersharp:"^/"},e.exports.tripletQ={2:3,3:2,4:3,5:2,6:2,7:2,8:3,9:2}},1881:function(e,t,r){var n=r(5008),a=function(e,t){this.lineIndex=0,this.lines=e,this.multilineVars=t,this.skipWhiteSpace=function(e){for(var t=0;t=e.length};this.eatWhiteSpace=function(e,t){for(var r=t;r="a"&&e[t]<="z"||e[t]>="A"&&e[t]<="Z");)t++;return t},n=this.skipWhiteSpace(e);if(r(e,n))return{len:0};var a=e.substring(n,n+3).toLowerCase();switch((a.length>1&&" "===a[1]||"^"===a[1]||"_"===a[1]||"="===a[1])&&(a=a[0]),a){case"mix":return{len:t(e,n),token:"Mix"};case"dor":return{len:t(e,n),token:"Dor"};case"phr":return{len:t(e,n),token:"Phr"};case"lyd":return{len:t(e,n),token:"Lyd"};case"loc":return{len:t(e,n),token:"Loc"};case"aeo":case"min":case"m":return{len:t(e,n),token:"m"};case"maj":case"ion":return{len:t(e,n),token:""}}return{len:0}},this.getClef=function(e,t){var a=e,i=this.skipWhiteSpace(e);if(r(e,i))return{len:0};var s=!1,o=e.substring(i);if(n.startsWith(o,"clef=")&&(s=!0,o=o.substring(5),i+=5),0===o.length&&s)return{len:i+5,warn:"No clef specified: "+a};var c=this.skipWhiteSpace(o);if(r(o,c))return{len:0};c>0&&(i+=c,o=o.substring(c));var l=null;if(n.startsWith(o,"treble"))l="treble";else if(n.startsWith(o,"bass3"))l="bass3";else if(n.startsWith(o,"bass"))l="bass";else if(n.startsWith(o,"tenor"))l="tenor";else if(n.startsWith(o,"alto2"))l="alto2";else if(n.startsWith(o,"alto1"))l="alto1";else if(n.startsWith(o,"alto"))l="alto";else if(!t&&s&&n.startsWith(o,"none"))l="none";else if(n.startsWith(o,"perc"))l="perc";else if(!t&&s&&n.startsWith(o,"C"))l="tenor";else if(!t&&s&&n.startsWith(o,"F"))l="bass";else{if(t||!s||!n.startsWith(o,"G"))return{len:i+5,warn:"Unknown clef specified: "+a};l="treble"}return o=o.substring(l.length),(c=this.isMatch(o,"+8"))>0?l+="+8":(c=this.isMatch(o,"-8"))>0&&(l+="-8"),{len:i+l.length,token:l,explicit:s}},this.getBarLine=function(e,t){switch(e[t]){case"]":switch(e[++t]){case"|":return{len:2,token:"bar_thick_thin"};case"[":return e[++t]>="1"&&e[t]<="9"||'"'===e[t]?{len:2,token:"bar_invisible"}:{len:1,warn:"Unknown bar symbol"};default:return{len:1,token:"bar_invisible"}}break;case":":switch(e[++t]){case":":return{len:2,token:"bar_dbl_repeat"};case"|":switch(e[++t]){case"]":return"|"===e[++t]&&":"===e[++t]?{len:5,token:"bar_dbl_repeat"}:{len:3,token:"bar_right_repeat"};case"|":return":"===e[++t]?{len:4,token:"bar_dbl_repeat"}:{len:3,token:"bar_right_repeat"};default:return{len:2,token:"bar_right_repeat"}}break;default:return{len:1,warn:"Unknown bar symbol"}}break;case"[":if("|"!==e[++t])return e[t]>="1"&&e[t]<="9"||'"'===e[t]?{len:1,token:"bar_invisible"}:{len:0};switch(e[++t]){case":":return{len:3,token:"bar_left_repeat"};case"]":return{len:3,token:"bar_invisible"};default:return{len:2,token:"bar_thick_thin"}}break;case"|":switch(e[++t]){case"]":return{len:2,token:"bar_thin_thick"};case"|":return":"===e[++t]?{len:3,token:"bar_left_repeat"}:{len:2,token:"bar_thin_thin"};case":":for(var r=0;":"===e[t+r];)r++;return{len:1+r,token:"bar_left_repeat"};default:return{len:1,token:"bar_thin"}}}return{len:0}},this.getTokenOf=function(e,t){for(var r=0;r0;){var r;if("^"===e[0].token){if(r="sharp",e.shift(),0===e.length)return{accs:t,warn:"Expected note name after "+r};switch(e[0].token){case"^":r="dblsharp",e.shift();break;case"/":r="quartersharp",e.shift()}}else if("="===e[0].token)r="natural",e.shift();else{if("_"!==e[0].token)return{accs:t};if(r="flat",e.shift(),0===e.length)return{accs:t,warn:"Expected note name after "+r};switch(e[0].token){case"_":r="dblflat",e.shift();break;case"/":r="quarterflat",e.shift()}}if(0===e.length)return{accs:t,warn:"Expected note name after "+r};switch(e[0].token[0]){case"a":case"b":case"c":case"d":case"e":case"f":case"g":case"A":case"B":case"C":case"D":case"E":case"F":case"G":void 0===t&&(t=[]),t.push({acc:r,note:e[0].token[0]}),1===e[0].token.length?e.shift():e[0].token=e[0].token.substring(1);break;default:return{accs:t,warn:"Expected note name after "+r+" Found: "+e[0].token}}}return{accs:t}},this.getKeyAccidental=function(e){var t={"^":"sharp","^^":"dblsharp","=":"natural",_:"flat",__:"dblflat","_/":"quarterflat","^/":"quartersharp"},n=this.skipWhiteSpace(e);if(r(e,n))return{len:0};var a=null;switch(e[n]){case"^":case"_":case"=":a=e[n];break;default:return{len:0}}if(n++,r(e,n))return{len:1,warn:"Expected note name after accidental"};switch(e[n]){case"a":case"b":case"c":case"d":case"e":case"f":case"g":case"A":case"B":case"C":case"D":case"E":case"F":case"G":return{len:n+1,token:{acc:t[a],note:e[n]}};case"^":case"_":case"/":if(a+=e[n],n++,r(e,n))return{len:2,warn:"Expected note name after accidental"};switch(e[n]){case"a":case"b":case"c":case"d":case"e":case"f":case"g":case"A":case"B":case"C":case"D":case"E":case"F":case"G":return{len:n+1,token:{acc:t[a],note:e[n]}};default:return{len:2,warn:"Expected note name after accidental"}}break;default:return{len:1,warn:"Expected note name after accidental"}}},this.isWhiteSpace=function(e){return" "===e||"\t"===e||""===e},this.getMeat=function(e,t,r){var n=e.indexOf("%",t);for(n>=0&&n="A"&&e<="Z"||e>="a"&&e<="z"},i=function(e){return e>="0"&&e<="9"};this.tokenize=function(e,t,r,n){var s=this.getMeat(e,t,r);t=s.start,r=s.end;for(var o,c=[];t=r?{len:1,err:"Missing close quote"}:{len:a-t+1,token:this.translateString(e.substring(n+1,a))}}for(var i=n;i=0?n.strip(e.substring(0,t)):n.strip(e)},this.getInt=function(e){var t=parseInt(e);if(isNaN(t))return{digits:0};var r=""+t;return{value:t,digits:e.indexOf(r)+r.length}},this.getFloat=function(e){var t=parseFloat(e);if(isNaN(t))return{digits:0};var r=""+t;return{value:t,digits:e.indexOf(r)+r.length}},this.getMeasurement=function(e){if(0===e.length)return{used:0};var t=1,r="";if("-"===e[0].token)e.shift(),r="-",t++;else if("number"!==e[0].type)return{used:0};if(r+=e.shift().token,0===e.length)return{used:1,value:parseInt(r)};var n=e.shift();if("."===n.token){if(t++,0===e.length)return{used:t,value:parseInt(r)};if("number"===e[0].type&&(r=r+"."+(n=e.shift()).token,t++,0===e.length))return{used:t,value:parseFloat(r)};n=e.shift()}switch(n.token){case"pt":case"px":return{used:t+1,value:parseFloat(r)};case"cm":return{used:t+1,value:parseFloat(r)/2.54*72};case"in":return{used:t+1,value:72*parseFloat(r)};default:return e.unshift(n),{used:t,value:parseFloat(r)}}};var u=function(e){return e=(e=e.replace(/\\n/g,"\n")).replace(/\\"/g,'"')};this.getBrackettedSubstring=function(e,t,r,n){for(var a=n||e[t],i=t+1,s=!1;ie.length-1&&(i=e.length-1),[i-t+1,u(e.substring(t+1,i)),!1])}};a.prototype.peekLine=function(){return this.lines[this.lineIndex]},a.prototype.nextLine=function(){if(this.lineIndex>0&&(this.multilineVars.iChar+=this.lines[this.lineIndex-1].length+1),this.lineIndex11&&(f%=12);var p="m"===t[0]?l[f]:c[f],m=p+t,g=i(m);0!==g.length&&"flat"!==g[0].acc||(e.localTransposePreferFlats=!0);var v=m.charCodeAt(0)-h.charCodeAt(0);return e.localTranspose>0?v<0?v+=7:0===v&&("#"!==h[1]&&"b"!==m[1]||(v+=7)):e.localTranspose<0&&(v>0?v-=7:0===v&&("b"!==h[1]&&"#"!==m[1]||(v-=7))),e.localTranspose>0?e.localTransposeVerticalMovement=v+7*Math.floor(e.localTranspose/12):e.localTransposeVerticalMovement=v+7*Math.ceil(e.localTranspose/12),d?{accidentals:g,root:p[0],acc:p.length>1?p[1]:""}:{accidentals:[],root:r,acc:n}},s.chordName=function(e,t){return a(t,e.localTranspose,e.localTransposePreferFlats,e.freegchord)};var h=["c","d","e","f","g","a","b"],u={dblflat:-2,flat:-1,natural:0,sharp:1,dblsharp:2},d={"-2":"dblflat","-1":"flat",0:"natural",1:"sharp",2:"dblsharp"},f={"-2":"__","-1":"_",0:"=",1:"^",2:"^^"};s.note=function(e,t){if(e.localTranspose&&"perc"!==e.clef.type){var r=t.pitch;if(e.localTransposeVerticalMovement&&(t.pitch=t.pitch+e.localTransposeVerticalMovement,t.name)){var a=t.accidental?t.name.substring(1):t.name,i=t.accidental?t.name[0]:"",s=n.pitchIndex(a);t.name=i+n.noteName(s+e.localTransposeVerticalMovement)}if(t.accidental){var o=function(e,t,r,n,a){for(var i=h[(e+49)%7],s=0,o=0;o2&&(t++,p-="b"===l||"e"===l?1:2),[t,p]}(r,t.pitch,t.accidental,e.globalTransposeOrigKeySig,e.targetKey);t.pitch=o[0],t.accidental=d[o[1]],t.name&&(t.name=f[o[1]]+t.name.replace(/[_^=]/g,""))}}},e.exports=s},867:function(e){var t={},r=["C,,,","D,,,","E,,,","F,,,","G,,,","A,,,","B,,,","C,,","D,,","E,,","F,,","G,,","A,,","B,,","C,","D,","E,","F,","G,","A,","B,","C","D","E","F","G","A","B","c","d","e","f","g","a","b","c'","d'","e'","f'","g'","a'","b'","c''","d''","e''","f''","g''","a''","b''","c'''","d'''","e'''","f'''","g'''","a'''","b'''"];t.pitchIndex=function(e){return r.indexOf(e)},t.noteName=function(e){return r[e]},e.exports=t},6225:function(e){var t=["break","(break)","no chord","n.c.","tacet"];function r(e,t){if(e.decoration)for(var r=0;r0&&0===l&&0===h&&(n.push({type:"part",name:a,lines:[i]}),i=[]),a=e.title;else if("note"===e.el_type){r(e,s);var f=Math.floor(u);if(e.chord&&e.chord.length>0){var p=e.chord[0],m="default"===p.position||t.indexOf(p.name.toLowerCase())>=0?p.name:"";m&&(f>0&&!s.chord[0]&&(s.chord[0]=o),o=m,s.chord[f]?f<4&&!s.chord[f+1]&&(s.chord[f+1]=m):s.chord[f]=m),e.chord.forEach((function(e){"default"!==e.position&&t.indexOf(p.name.toLowerCase())<0&&(s.annotations||(s.annotations=[]),s.annotations.push(e.name))}))}if(!e.rest||"spacer"!==e.rest.type){var g=0!==e.duration||e.rest?e.duration:.25,v=Math.floor(4*g);if(v>4)d+=Math.floor(v/4),u=0;else{var b=4*g;e.tripletMultiplier&&(b*=e.tripletMultiplier),u+=b}}}else if("bar"===e.el_type){if(c&&(s.ending=c,c=""),r(e,s),e.chord&&e.chord.forEach((function(e){"default"!==e.position&&(s.annotations||(s.annotations=[]),s.annotations.push(e.name))})),"bar_dbl_repeat"!==e.type&&"bar_left_repeat"!==e.type||(s.hasStartRepeat=!0),"bar_dbl_repeat"!==e.type&&"bar_right_repeat"!==e.type||(s.hasEndRepeat=!0),e.startEnding&&(c=e.startEnding),u>=4){if(""===s.chord[0]&&(s.chord[1]||s.chord[2]||s.chord[3])&&(s.chord[0]=function(e){for(var t=e.length-1;t>=0;t--)for(var r=e[t].chord.length-1;r>=0;r--)if(e[t].chord[r])return e[t].chord[r]}(i)),0===l&&0===h)i.push(s);else{for(var y=d,x=0;y>=n[x].lines[0].length&&xr&&!!e.ending}));if(r>=0&&n>=0&&n-r==t.length-n){for(var a=!0,i=0;i=0?Math.min(a+1,r.length):r.length)&&(n=!0);for(var i=n?4:8,s=0;s=0&&c11&&(i%=12);var c=e.match(/^([A-G][b#♭♯]?)([^\/]+)?\/?([A-G][b#♭♯]?)?(.+)?/);if(!c)return e;var l=c[1],h=c[2],u=c[3],d=c[4];if((f=t.indexOf(l))<0&&(f=r.indexOf(l)),f<0&&(f=n.indexOf(l)),f<0&&(f=a.indexOf(l)),f<0)return e;f+=i,f%=12,e=s?o?a[f]:r[f]:o?n[f]:t[f];var f,p=h&&(h.indexOf("dim")>=0||h.indexOf("°")>=0);return p&&"A#"===e&&(e="Bb"),p&&"D#"===e&&(e="Eb"),p&&"A♯"===e&&(e="B♭"),p&&"D♯"===e&&(e="E♭"),h&&(e+=h),u&&((f=t.indexOf(u))<0&&(f=r.indexOf(u)),f<0&&(f=n.indexOf(u)),f<0&&(f=a.indexOf(u)),e+="/",f>=0?(f+=i,f%=12,e+=s?o?a[f]:r[f]:o?n[f]:t[f]):e+=u),d&&(e+=d),e}},575:function(e,t,r){var n=r(9708);function a(e){if(!e)return!1;if("string"==typeof e)return!1;for(var t=0;t0&&o[c].voice.push({el_type:"note",duration:h,rest:{type:"invisible"},startChar:p.startChar,endChar:p.endChar}),o[c].voice.push(p)),h=0):"note"===p.el_type?u?o[c].voice.push(p):p.rest&&"spacer"===p.rest.type||(h+=p.duration):"scale"!==p.el_type&&"stem"!==p.el_type&&"overlay"!==p.el_type&&"style"!==p.el_type&&"transpose"!==p.el_type&&"color"!==p.el_type||o[c].voice.push(p);else{t=!0,u=!0,d=f,o[c].hasOverlay=!0;for(var m=0;m=e.voices.length&&e.voices.forEach((function(t){var r=[];t.forEach((function(e){"bar"===e.el_type?r.push(e):"note"===e.el_type&&r.push({el_type:"note",duration:e.duration,rest:{type:"invisible"},startChar:e.startChar,endChar:e.endChar})})),e.voices.push(r)}))}))}}o[c].hasOverlay&&0===o[c].snip.length&&o[c].snip.push({start:d,len:l.length-d})}for(c=0;c=0;v--){var b=g.snip[v];i.voices[c].splice(b.start,b.len),i.voices[c].splice(b.start+1,0,{el_type:"stem",direction:"auto"});var y=s(i.voices[c],b.start);i.voices[c].splice(y,0,{el_type:"stem",direction:"up"})}for(v=0;v0&&"bar"!==e[r].el_type;r--);return r}function o(e,t,r,n){var a;n[t]||(n[t]=[]),n[t][r]||(n[t][r]=[]);for(var i=function(e,i,s){if(void 0===n[t][r][s]){for(a=0;a=t&&ct;){if(e[t].staff)return e[t];t++}return null}function h(e){e.potentialStartBeam&&e.potentialEndBeam&&(e.potentialStartBeam.startBeam=!0,e.potentialEndBeam.endBeam=!0),delete e.potentialStartBeam,delete e.potentialEndBeam}function u(e){for(var t=0;t0){if(void 0!==n.voices[0]){for(var a=!1,i=0;i0&&S[S.length-1].barNumber){var E=l(e.lines,C);E&&(E.staff[0].barNumber=S[S.length-1].barNumber),delete S[S.length-1].barNumber}}}return delete e.staffNum,delete e.voiceNum,delete e.lineNum,delete e.potentialStartBeam,delete e.potentialEndBeam,delete e.vskipPending,s},this.addTieToLastNote=function(t){var r=function(e){if(!e.lines[e.lineNum])return null;if(!e.lines[e.lineNum].staff)return null;if(!e.lines[e.lineNum].staff[e.staffNum])return null;var t=e.lines[e.lineNum].staff[e.staffNum].voices[e.voiceNum];if(!t)return null;for(var r=t.length-1;r>=0;r--){var n=t[r];if("note"===n.el_type)return n}return null}(e);return!!(r&&r.pitches&&r.pitches.length>0)&&(r.pitches[0].startTie={},t&&(r.pitches[0].startTie.style="dotted"),!0)},this.appendElement=function(n,a,i,o){var c;return o.el_type=n,null!==a&&(o.startChar=a),null!==i&&(o.endChar=i),"note"===n?((c=o).duration?c.duration:0)>=.25||o.force_end_beam_last&&void 0!==e.potentialStartBeam?p(e):o.end_beam&&void 0!==e.potentialStartBeam?void 0===o.rest?function(e,t){t.potentialStartBeam.startBeam=!0,e.endBeam=!0,delete t.potentialStartBeam,delete t.potentialEndBeam}(o,e):p(e):void 0===o.rest&&(void 0===e.potentialStartBeam?o.end_beam||(e.potentialStartBeam=o,delete e.potentialEndBeam):e.potentialEndBeam=o):p(e),delete o.end_beam,delete o.force_end_beam_last,o.rest&&"invisible"===o.rest.type&&delete o.decoration,!(e.lines.length<=e.lineNum||e.lines[e.lineNum].staff.length<=e.staffNum||(function(e,t,r,n,a){var i=t.lines[t.lineNum].staff[t.staffNum];if(void 0!==r.pitches){var s=i.workingClef.verticalPos;r.pitches.forEach((function(e){e.verticalPos=e.pitch-s}))}if(void 0!==r.gracenotes){var o=i.workingClef.verticalPos;r.gracenotes.forEach((function(e){e.verticalPos=e.pitch-o}))}i.voices.length<=t.voiceNum&&(n[a]||(n[a]={}),g(e,t,n[a])),i.voices[t.voiceNum].push(r)}(t,e,o,r,s),0))},this.appendStartingElement=function(t,r,n,a){var i;h(e),"key"===t&&(i=a.impliedNaturals,delete a.impliedNaturals,delete a.explicitAccidentals);var s=Object.assign({},a);if(e.lines[e.lineNum]){var o=e.lines[e.lineNum].staff;if(o){o.length<=e.staffNum&&(o[e.staffNum]={},o[e.staffNum].clef=Object.assign({},o[0].clef),o[e.staffNum].key=Object.assign({},o[0].key),o[0].meter&&(o[e.staffNum].meter=Object.assign({},o[0].meter)),o[e.staffNum].workingClef=Object.assign({},o[0].workingClef),o[e.staffNum].voices=[[]]),"clef"===t&&(o[e.staffNum].workingClef=s);for(var c=o[e.staffNum].voices[e.voiceNum],l=0;l0){var r=t[t.length-1];if("bar"!==r.el_type)return e-1;void 0!==r.barNumber&&(r.barNumber=e)}return e},this.hasBeginMusic=function(){for(var t=0;t=0;r--)if(void 0!==e.lines[r].staff)return!1;return!0},this.getCurrentVoice=function(){var t=function(e,t){if(e.length<=t)return null;for(;t>=0;){if(e[t].staff)return e[t];t--}return null}(e.lines,e.lineNum);if(!t)return null;var r=t.staff[e.staffNum];return r&&void 0!==r.voices[e.voiceNum]?r.voices[e.voiceNum]:null},this.setCurrentVoice=function(t,r,n){e.staffNum=t,e.voiceNum=r,s=n;for(var a=0;a0?(r.push(i-1),n.push(Math.round(a-s)),a=s):is&&ds?(l.push(d-1),c++,o=Math.max(o,s),s=Math.abs(n-t[c]),i.push(a-f),a=f):s=p}i.push(a)}function a(e,t,r,a){for(var i=Math.ceil(e.total/t),s=Math.floor(e.total/i),o=[],c=0;ct&&(s=!0),o%r==r-1&&(o!==e.length-1&&n.push(o),a.push(Math.round(i)),i=0);return{failed:s,totals:a,lineBreaks:n}}e.exports={wrapLines:function(e,t,r){if(t&&0!==e.lines.length){var n=e.deline({lineBreaks:!1}),a=function(e,t){for(var r=[],n=0,a=0,i=0,s=0;s0&&(n[c.line].staff[c.staff].barNumber=s);for(var h=Object.keys(l),u=0;u=0;p--)if("key"===f[p].el_type){a[c.staff]={root:f[p].root,acc:f[p].acc,mode:f[p].mode,accidentals:f[p].accidentals.filter((function(e){return"natural"!==e.acc}))};break}for(p=f.length-1;p>=0;p--)if("stem"===f[p].el_type){i[10*c.staff+c.voice]={direction:f[p].direction};break}if(void 0!==r&&0===c.staff&&0===c.voice)for(p=0;p0&&p.measureWidths.length<25&&(k=a(p,g,0,b),b.attempts.push({type:"Optimize",failed:k.failed,reason:k.reason,lineBreaks:k.lineBreaks,totals:k.totals}),k.failed||(y=k.lineBreaks))}u.push(y),d.push(b)}var w=function(e,t,r){var n={lineBreaks:e,staffwidth:t};for(var a in r)r.hasOwnProperty(a)&&"wrap"!==a&&"staffwidth"!==a&&(n[a]=r[a]);return{revisedParams:n}}(u,n.staffwidth,n);return w.explanation=d,w.reParse=!0,w}}},5633:function(e,t,r){var n,a=r(9447),i=r(4914),s=i.relativeMajor,o=i.transposeKey,c=i.relativeMode,l=i.isLegalMode,h=r(4208);!function(){"use strict";function e(e,r,n){var a=[],i=r.getKeySignature();if("Hp"===i.root||"HP"===i.root)return a;a=a.concat(function(e,t){for(var r=[],n=e.split("K:"),a=n[0].length,i=1;i2?n+=7:-12===r&&(n-=7):r>0&&n<0?n+=7:r<0&&n>0&&(n-=7),r>12?n+=7:r<-12&&(n-=7),n}function u(e,t,n,a,s,o){for(var c=[],l=i(s,n,o),u={},d={},f=0;f1?i[1]:"",accidentals:l}}function m(e,t,r,n){for(var a=e.pitch,i=d.indexOf(e.name),s=(d.indexOf(t.root)+a)%7,o=i+r,c=e.oct;o>6;)c++,o-=7;for(;o<0;)c--,o+=7;for(var l,h=d[s],u="",f=e.adj,p="=",g=0;g4&&(h=h.toLowerCase()),{acc:u,name:h,upper:h.toUpperCase()}}var g=/([_^=]*)([A-Ga-g])([,']*)/,v=/([_^=]*[A-Ga-g][,']*)?(\d*\/*\d*)?([\>\<\-\)]*)?/;function b(e,t,r,n){var a="none"===t?0:d.indexOf(t),i=e.match(g),s=i[2].toUpperCase(),o=d.indexOf(s)-a;o<0&&(o+=7);var c=f.indexOf(i[3]);s===i[2]&&c--;var l=n[s]||r[s]||"=";return{acc:i[1],name:s,pitch:o,oct:c,adj:w(i[1],r[s],n[s]),courtesy:i[1]===l}}function y(e,t,r){for(var n,a=e.substring(t,r),i=[],s=/("[^"]+")+/g;null!==(n=s.exec(a));)i.push({start:s.lastIndex-n[0].length,end:s.lastIndex});for(var o=/(![^!]+!)+/g;null!==(n=o.exec(a));)i.push({start:o.lastIndex-n[0].length,end:o.lastIndex});for(var c=[],l=/([_^=]*)([A-Ga-g])([,']*)/g;null!==(n=l.exec(a));){for(var h=!1,u=0;u=i[u].start&&l.lastIndex<=i[u].end&&(h=!0);h||c.push({note:n[0],index:t+l.lastIndex-n[0].length})}return c}function x(e,t,r,n,a){var i=/(\/*)/,s=e.substring(t,r).match(new RegExp(/([^\{]*)/.source+/\{/.source+i.source+v.source+i.source+v.source+i.source+v.source+i.source+v.source+i.source+v.source+i.source+v.source+i.source+v.source+i.source+v.source+/\}/.source));if(s){for(var o=1+s[1].length,c=0;c=0;t--)if("program"===u[t].cmd)return void(u[t].channel=e)}function O(e){return e/1e6}function H(e){return Math.round(e*k*1e6)/1e6}function D(e){switch(parseInt(e.den,10)){case 2:return.5;case 4:return.25;case 8:return e.num%3==0?.375:.125;case 16:return.125}return.25}function I(e,t,r){if(t)return 0;var n,a,i,s=S,o=_,c=E;if(void 0!==r&&M.length>=r+1&&(s=M[r][0],o=M[r][1],c=M[r][2]),void 0!==g)n=g,g=void 0;else if(T)if(P>e)n=c;else{var l=(a=m,i=D(w),(e-a)/i);n=0===l?s:parseInt(l,10)===l?o:c}else n=o;return v&&(n+=v,v=void 0),n<0&&(n=0),n>127&&(n=127),t?0:n}function z(e,t){var r=t.start,n=t.duration,a=H(1/32);switch(e){case"trill":for(var i=2;n>0;)u.push({cmd:"note",pitch:t.pitch+i,volume:t.volume,start:r,duration:a,gap:0,instrument:h,style:"decoration"}),i=2===i?0:2,n-=a,r+=a;break;case"trillh":for(i=1;n>0;)u.push({cmd:"note",pitch:t.pitch+i,volume:t.volume,start:r,duration:a,gap:0,instrument:h,style:"decoration"}),i=1===i?0:1,n-=a,r+=a;break;case"pralltriller":u.push({cmd:"note",pitch:t.pitch,volume:t.volume,start:r,duration:a,gap:0,instrument:h,style:"decoration"}),n-=a,r+=a,u.push({cmd:"note",pitch:t.pitch+2,volume:t.volume,start:r,duration:a,gap:0,instrument:h,style:"decoration"}),n-=a,r+=a,u.push({cmd:"note",pitch:t.pitch,volume:t.volume,start:r,duration:n,gap:0,instrument:h});break;case"mordent":case"lowermordent":u.push({cmd:"note",pitch:t.pitch,volume:t.volume,start:r,duration:a,gap:0,instrument:h,style:"decoration"}),n-=a,r+=a,u.push({cmd:"note",pitch:t.pitch-2,volume:t.volume,start:r,duration:a,gap:0,instrument:h,style:"decoration"}),n-=a,r+=a,u.push({cmd:"note",pitch:t.pitch,volume:t.volume,start:r,duration:n,gap:0,instrument:h});break;case"turn":a=t.duration/4,u.push({cmd:"note",pitch:t.pitch+2,volume:t.volume,start:r,duration:a,gap:0,instrument:h,style:"decoration"}),u.push({cmd:"note",pitch:t.pitch,volume:t.volume,start:r+a,duration:a,gap:0,instrument:h,style:"decoration"}),u.push({cmd:"note",pitch:t.pitch-1,volume:t.volume,start:r+2*a,duration:a,gap:0,instrument:h,style:"decoration"}),u.push({cmd:"note",pitch:t.pitch,volume:t.volume,start:r+3*a,duration:a,gap:0,instrument:h,style:"decoration"});break;case"roll":for(;n>0;)u.push({cmd:"note",pitch:t.pitch,volume:t.volume,start:r,duration:a,gap:0,instrument:h,style:"decoration"}),n-=2*a,r+=2*a}}function F(e,t){var r,n=I(O(e.time),t);if(p.processChord(e),e.gracenotes&&e.pitches&&e.pitches.length>0&&e.pitches[0]&&(r=function(e,t){for(var r,n=0,a=[],s=0;sv&&(b=I(O(e.time),t,v));var y=g[v];if(y){y.startSlur&&(N+=y.startSlur.length),y.endSlur&&(N-=y.endSlur.length);var k=y.actualPitch?y.actualPitch:V(y);if(h===C&&x){var w=i(y);w&&x[w]&&(k=x[w].sound)}var T={cmd:"note",pitch:k,volume:b,start:O(e.time),duration:H(y.duration),instrument:h,startChar:e.elem.startChar,endChar:e.elem.endChar};if(T=Y(T),e.gracenotes&&(T.duration=T.duration/2,T.start=T.start+T.duration),e.elem&&e.elem.midiPitches.push(T),m.noteModification)z(m.noteModification,T);else{switch(N>0?T.endType="tenuto":d&&(T.endType=d),T.endType){case"tenuto":T.gap=-.001;break;case"staccato":var S=.4*T.duration;T.gap=o/60*S;break;default:T.gap=0}u.push(T)}}}u.length}var _=function(e){return e.pitches&&e.pitches.length>0&&e.pitches[0]?e.pitches[0].duration:e.elem?e.elem.duration:e.duration}(e);f=Math.max(f,O(e.time)+H(_))}n=function(n,i,C,H){i||(i={}),H||(H={}),e=[],t=[0,0,0,0,0,0,0],s=[],o=i.qpm,c=void 0,k=1,l=void 0,h=void 0,u=void 0,d=void 0,f=0,x=C,w={num:4,den:4},T=!0,S=105,_=95,E=85,M=[],A=.25,g=void 0,v=void 0,N=0,b=[],B={},y=1,n.length>0&&n[0].length>0&&(P=n[0][0].pickupLength),void 0===i.bassprog||H.bassprog||(H.bassprog=[i.bassprog]),void 0===i.bassvol||H.bassvol||(H.bassvol=[i.bassvol]),void 0===i.chordprog||H.chordprog||(H.chordprog=[i.chordprog]),void 0===i.chordvol||H.chordvol||(H.chordvol=[i.chordvol]),void 0===i.gchord||H.gchord||(H.gchord=[i.gchord]),p=new a(n.length,i.chordsOff,H,w),function(e,t){for(var r=0;r=0)&&(j=!0);for(var V=0;V0&&"program"===u[u.length-1].cmd)u[u.length-1].instrument=Y.program;else{var q;for(q=u.length-1;q>=0&&"program"!==u[q].cmd;q--);(q<0||u[q].instrument!==Y.program)&&u.push({cmd:"program",channel:0,instrument:Y.program})}break;case"channel":L(Y.channel);break;case"drum":B=R(Y.params),W();break;case"gchordOn":p.gChordOn(Y);break;case"beat":S=Y.beats[0],_=Y.beats[1],E=Y.beats[2],M=Y.volumesPerNotePitch?Y.volumesPerNotePitch:[];break;case"vol":g=Y.volume;break;case"volinc":v=Y.volume;break;case"beataccents":T=Y.value;break;case"gchord":case"bassprog":case"chordprog":case"bassvol":case"chordvol":case"gchordbars":p.paramChange(Y);break;default:console.log("MIDI creation. Unknown el_type: "+Y.el_type+"\n")}}void 0===u[0].instrument&&(u[0].instrument=l||0),d&&u.unshift(d),s.push(u),p.finish(),b.length}return i.detuneOctave&&function(e,t){for(var r={},n=0;n1){var c=(o=o.sort((function(e,t){return e.pitch-t.pitch})))[o.length-1],l=c.pitch%12,h=!1;for(a=0;!h&&a0&&s.push(b),{tempo:o,instrument:l,tracks:s,totalDuration:f}};var j=[0,2,4,5,7,9,11];function V(n){if(void 0!==n.midipitch)return n.midipitch;var a=n.pitch;if(n.accidental)switch(n.accidental){case"sharp":e[a]=1;break;case"flat":e[a]=-1;break;case"natural":e[a]=0;break;case"dblsharp":e[a]=2;break;case"dblflat":e[a]=-2;break;case"quartersharp":e[a]=.25;break;case"quarterflat":e[a]=-.25}var i=12*function(e){return Math.floor(e/7)}(a)+j[q(a)]+60;return void 0!==e[a]?i+=e[a]:i+=t[q(a)],i+=r}function G(e){var t=[0,0,0,0,0,0,0];if(!e.accidentals)return t;for(var r=0;r=0?(e.pitch=Math.round(e.pitch),e.cents=-50):t.indexOf(".25")>=0&&(e.pitch=Math.round(e.pitch),e.cents=50),e}function q(e){return(e%=7)<0&&(e+=7),e}function R(e){if(0===e.pattern.length||!1===e.on)return{on:!1};for(var t=e.pattern[0],r=[],n="",a=0,i=0;it&&(r=r.substring(0,t)),function(e){for(var t="",r=0;r>=7;for(var n=r.length-1;n>=0;n--){t<<=8;var a=r[n];0!==n&&(a|=128),t|=a}var s=t.toString(16).length;return i(t,s+=s%2)}t.prototype.setTempo=function(e){0===this.trackcount&&(this.startTrack(),this.track+="%00%FF%51%03"+i(Math.round(6e7/e),6),this.endTrack())},t.prototype.setGlobalInfo=function(e,t,n,a){if(0===this.trackcount){this.startTrack();var s=Math.round(6e7/e);this.track+="%00%FF%51%03"+i(s,6),n&&(this.track+=function(e){if(!e||!e.accidentals)return"";for(var t="%00%FF%59%02",r=0,n=256,a=0;a=0)return n;return n}function s(e,t,r){for(var n=Math.min(e.length,t+3),a=t;a=0)return e[a].decoration[i];return null}function o(e){for(var t=0;t=0&&"bar"!==r[n].el_type;)r[n].noChordVoice=!0,n--}function c(e,t){if(e&&!(e.length<=t)&&e[t].title)return e[t].title.join(" ")}function l(e,t){var r=1/4;e.duration&&(r=e.duration[0]);var n=60;return e.bpm&&(n=e.bpm),r*n/t}function h(t){var r;switch(t.type){case"common_time":r={el_type:"meter",num:4,den:4},e=1;break;case"cut_time":r={el_type:"meter",num:2,den:2},e=1;break;case"specified":var n=0;if(t.value&&t.value.length>0&&t.value[0].num.indexOf("+")>0)for(var a=t.value[0].num.split("+"),i=0;i=0;r--)if(e[r].el_type===t.el_type)return void(JSON.stringify(e[r])!==JSON.stringify(t)&&e.push(t));e.push(t)}n=function(n,u){var m,g=(u=u||{}).program||0,v=u.midiTranspose||0;n.visualTranspose&&(v-=n.visualTranspose);var b=u.channel||0,y=!1,x=u.drum||"",k=u.drumBars||1,w=u.drumIntro||0,C=""!==x,T=!!u.drumOff,S=[];g=parseInt(g,10),v=parseInt(v,10),10===(b=parseInt(b,10))&&(g=t),x=x.split(" "),k=parseInt(k,10),w=parseInt(w,10);var _=n.formatting.bagpipes;_&&(g=71);var E=[];if(n.formatting.midi){var M=n.formatting.midi;M.program&&M.program.length>0&&(g=M.program[0],M.program.length>1&&(g=M.program[1],b=M.program[0]),y=!0),M.transpose&&(v=M.transpose[0]),M.channel&&(b=M.channel[0],y=!0),M.drum&&(x=M.drum),M.drumbars&&(k=M.drumbars[0]),M.drumon&&(C=!0),10===b&&(g=t),M.beat&&E.push({el_type:"beat",beats:M.beat}),M.nobeataccents&&E.push({el_type:"beataccents",value:!1})}m=u.qpm?parseInt(u.qpm,10):n.metaText.tempo?l(n.metaText.tempo,n.getBeatLength()):u.defaultQpm?u.defaultQpm:180;var A=[];_&&A.push({el_type:"bagpipes"}),A.push({el_type:"instrument",program:g}),b&&A.push({el_type:"channel",channel:b}),v&&A.push({el_type:"transpose",transpose:v}),A.push({el_type:"tempo",qpm:m});for(var N=0;N=0?t="pppp":e.decoration.indexOf("ppp")>=0?t="ppp":e.decoration.indexOf("pp")>=0?t="pp":e.decoration.indexOf("p")>=0?t="p":e.decoration.indexOf("mp")>=0?t="mp":e.decoration.indexOf("mf")>=0?t="mf":e.decoration.indexOf("f")>=0?t="f":e.decoration.indexOf("ff")>=0?t="ff":e.decoration.indexOf("fff")>=0?t="fff":e.decoration.indexOf("ffff")>=0&&(t="ffff"),t){var a=[B=n[t].slice(0)];Array.isArray(e.decoration)&&(a=[],e.decoration.forEach((function(e){e in n&&a.push(n[e].slice(0))}))),P[R].push({el_type:"beat",beats:B.slice(0),volumesPerNotePitch:a}),O[U]=!1,H[U]=!1}if(e.decoration.indexOf("crescendo(")>=0){var i=r(K,re,"crescendo)"),o=Math.min(127,B[0]+50),c=s(K,re+i+1,Object.keys(n));c&&(o=n[c][0]),O[U]=i>0&&Math.floor((o-B[0])/i),H[U]=!1}else if(e.decoration.indexOf("crescendo)")>=0)O[U]=!1;else if(e.decoration.indexOf("diminuendo(")>=0){var l=r(K,re,"diminuendo)"),h=Math.max(15,B[0]-50),u=s(K,re+l+1,Object.keys(n));u&&(h=n[u][0]),O[U]=!1,H[U]=l>0&&Math.floor((h-B[0])/l)}else e.decoration.indexOf("diminuendo)")>=0&&(H[U]=!1)}},q=G.staff,R=0,W=0;W=0?(P[R].push({el_type:"transpose",transpose:-12}),L[R]=!0):X.clef.type.indexOf("+8")>=0?(P[R].push({el_type:"transpose",transpose:12}),L[R]=!0):L[R]&&(P[R].push({el_type:"transpose",transpose:0}),L[R]=!1)),n.formatting.midi&&n.formatting.midi.drumoff&&(P[R].push({el_type:"bar"}),P[R].push({el_type:"drum",params:{pattern:"",on:!1}}));var J=0,Z=0,ee=0,te=0;B=[105,95,85,1];for(var re=0;re=0?P[R].push({el_type:"transpose",transpose:-12}):ne.type.indexOf("+8")>=0&&P[R].push({el_type:"transpose",transpose:12}));break;case"tempo":m=l(ne,n.getBeatLength()),P[R].push({el_type:"tempo",qpm:m,timing:D[R]}),I[""+D[R]]={el_type:"tempo",qpm:m,timing:D[R]};break;case"bar":J>0&&P[R].push({el_type:"bar"}),Y(ne),J=0,z[R].addBar(ne,R);break;case"style":S[R]=ne.head;break;case"timeSignature":P[R].push(h(ne));break;case"part":case"stem":case"scale":case"break":case"font":break;case"midi":var oe=!1;switch(ne.cmd){case"drumon":C=!0,oe=!0;break;case"drumoff":C=!1,oe=!0;break;case"drum":x=ne.params,oe=!0;break;case"drumbars":k=ne.params[0],oe=!0;break;case"drummap":break;case"channel":10===ne.params[0]&&P[R].push({el_type:"instrument",program:t});break;case"program":p(P[R],{el_type:"instrument",program:ne.params[0]}),y=!0;break;case"transpose":P[R].push({el_type:"transpose",transpose:ne.params[0]});break;case"gchordoff":P[R].push({el_type:"gchordOn",tacet:!0});break;case"gchordon":P[R].push({el_type:"gchordOn",tacet:!1});break;case"beat":P[R].push({el_type:"beat",beats:ne.params});break;case"nobeataccents":P[R].push({el_type:"beataccents",value:!1});break;case"beataccents":P[R].push({el_type:"beataccents",value:!0});break;case"vol":case"volinc":P[R].push({el_type:ne.cmd,volume:ne.params[0]});break;case"swing":case"gchord":case"bassvol":case"chordvol":case"gchordbars":P[R].push({el_type:ne.cmd,param:ne.params[0]});break;case"bassprog":case"chordprog":P[R].push({el_type:ne.cmd,value:ne.params[0],octaveShift:ne.params[1]});break;default:console.log("MIDI seq: midi cmd not handled: ",ne.cmd,ne)}oe&&(P[0].push({el_type:"drum",params:{pattern:x,bars:k,intro:w,on:C}}),F=!0);break;default:console.log("MIDI: element type "+ne.el_type+" not handled.")}}D[++R]||(D[R]=0)}}}for(var ce=0;ce=0&&i!==t[""+o.timing].qpm&&(i=t[""+o.timing].qpm,"tempo"===o.el_type?(o.qpm=t[""+o.timing].qpm,s++):(e[n].splice(s,0,{el_type:"tempo",qpm:t[""+o.timing].qpm,timing:o.timing}),s+=2))}}(P,I),w)for(var le=n.getPickupLength(),he=0;heue;)ue++;if(P[he].length>ue){for(se=0;se0&&P[0].length>0&&(P[0][0].pickupLength=n.getPickupLength()),P}}(),e.exports=n},8702:function(e,t,r){var n=r(5281);e.exports=function(){return window.abcjsAudioContext||n(),window.abcjsAudioContext}},2710:function(e){e.exports=function(e){return Math.pow(2,e/1200)}},7207:function(e){var t=function(e,t,r,n){this.chordTrack=[],this.chordTrackFinished=!1,this.chordChannel=e,this.currentChords=[],this.lastChord,this.chordLastBar,this.chordsOff=!!t,this.gChordTacet=this.chordsOff,this.hasRhythmHead=!1,this.transpose=0,this.lastBarTime=0,this.meter=n,this.tempoChangeFactor=1,this.bassInstrument=r.bassprog&&r.bassprog.length>=1?r.bassprog[0]:0,this.chordInstrument=r.chordprog&&r.chordprog.length>=1?r.chordprog[0]:0,this.bassOctaveShift=r.bassprog&&2===r.bassprog.length?r.bassprog[1]:0,this.chordOctaveShift=r.chordprog&&2===r.chordprog.length?r.chordprog[1]:0,this.boomVolume=r.bassvol&&1===r.bassvol.length?r.bassvol[0]:64,this.chickVolume=r.chordvol&&1===r.chordvol.length?r.chordvol[0]:48,r.gchord&&r.gchord.length>0?this.overridePattern=a(r.gchord[0]):this.overridePattern=void 0};function r(e,t,r,a){var i=[];if(!e)return i;t.indexOf("boom")>=0?i.push(r?e.boom:e.boom2):a&&i.push(e.boom);var s=e.chick.length;if(t.indexOf("chick")>=0)for(var o=0;o0&&!this.chordTrackFinished&&(this.resolveChords(this.lastBarTime,i(e.time)),this.currentChords=[]),this.chordLastBar=this.lastChord},t.prototype.gChordOn=function(e){this.chordsOff||(this.gChordTacet=e.tacet)},t.prototype.paramChange=function(e){switch(e.el_type){case"gchord":e.param&&e.param.length>0?this.overridePattern=a(e.param):this.overridePattern=void 0;break;case"bassprog":this.bassInstrument=e.value,null!=e.octaveShift&&null!=e.octaveShift?this.bassOctaveShift=e.octaveShift:this.bassOctaveShift=0;break;case"chordprog":this.chordInstrument=e.value,null!=e.octaveShift&&null!=e.octaveShift?this.chordOctaveShift=e.octaveShift:this.chordOctaveShift=0;break;case"bassvol":this.boomVolume=e.param;break;case"chordvol":this.chickVolume=e.param;break;default:console.log("unhandled midi param",e)}},t.prototype.finish=function(){this.chordTrackEmpty()||(this.chordTrackFinished=!0)},t.prototype.addTrack=function(e){this.chordTrackEmpty()||e.push(this.chordTrack)},t.prototype.findChord=function(e){if(this.gChordTacet)return"break";if(this.chordTrackFinished||!e.chord||0===e.chord.length)return null;for(var t=0;t=0)return"break"}return null},t.prototype.interpretChord=function(e){if(0!==e.length){if("break"===e)return{chick:[]};var t=e.substring(0,1);if("("===t){if(0===(e=e.substring(1,e.length-1)).length)return;t=e.substring(0,1)}var r=this.basses[t];if(r){for(var n=this.transpose;n<-8;)n+=12;for(;n>8;)n-=12;(r+=n)<33?r+=12:r>44&&(r-=12);var a,i=r,s=(r+=12*this.bassOctaveShift)-5;1===e.length&&(a=this.chordNotes(r,""));var o=e.substring(1),c=o.substring(0,1);"b"===c||"♭"===c?(i--,r--,s--,o=o.substring(1)):"#"!==c&&"♯"!==c||(i++,r++,s++,o=o.substring(1));var l=o.split("/");if((a=this.chordNotes(i,l[0])).length>=3&&(s=s+(a[2]-a[0])-7),2===l.length&&this.basses[l[1].substring(0,1)]){var h={"#":1,"♯":1,b:-1,"♭":-1}[l[1].substring(1)]||0;r=this.basses[l[1].substring(0,1)]+h+n,s=r+=12*this.bassOctaveShift}return{boom:r,boom2:s,chick:a}}}},t.prototype.chordNotes=function(e,t){var r=this.chordIntervals[t];r||(r="ma"===t.slice(0,2).toLowerCase()||"M"===t[0]?this.chordIntervals.M:"m"===t[0]||"-"===t[0]?this.chordIntervals.m:this.chordIntervals.M),e+=12,e+=12*this.chordOctaveShift;for(var n=[],a=0;a0&&c[u-1]&&c[u]&&c[u-1].boom!==c[u].boom&&(d=!0);var p=l[u],m=p.indexOf("boom")>=0,g=!m&&0!==u&&l[0].indexOf("boom")>=0&&(!c[u-1]||c[u-1].boom!==c[u].boom),v=r(c[u],p,d,g);m&&(d=!1);for(var b=0;b0){var s=e.gap?e.gap:0,o=e.duration;s=Math.min(s,2*o/3);var c={pitch:e.pitch,instrument:i,start:Math.round(1e6*e.start)/1e6,end:Math.round(1e6*(e.start+o-s))/1e6,volume:e.volume};e.startChar&&(c.startChar=e.startChar),e.endChar&&(c.endChar=e.endChar),e.style&&(c.style=e.style),e.cents&&(c.cents=e.cents),t[r].push(c)}break;case"program":a=n[e.instrument];break;case"text":break;default:console.log("Unhandled midi event",e)}}))})),t}},6313:function(e,t,r){var n=r(5049),a=r(5281),i=r(8702),s=r(1225),o=r(9733),c=r(5075),l=r(5343),h=r(6987);function u(e,t,r,s,o){var c=!0;if(i()?c="suspended"===i().state:a(),!n())throw{status:"NotSupported",message:"This browser does not support audio."};(c||o)&&r&&r.classList.add("abcjs-loading"),c?i().resume().then((function(){s?s().then((function(n){d(e,t,r,o)})):d(e,t,r,o)})):d(e,t,r,o)}function d(e,t,r,n){n?e(t).then((function(){r&&r.classList.remove("abcjs-loading")})):(e(t),r&&r.classList.remove("abcjs-loading"))}e.exports=function(e,t){var r=this;if("string"==typeof e){var n=e;if(!(e=document.querySelector(n)))throw new Error('Cannot find element "'+n+'" in the DOM.')}else if(!(e instanceof HTMLElement))throw new Error("The first parameter must be a valid element or selector in the DOM.");if(r.parent=e,r.options={},t&&(r.options=Object.assign({},t)),r.options.ac&&a(r.options.ac),function(e,t){var r=!!t.loopHandler,n=!!t.restartHandler,a=!!t.playHandler||!!t.playPromiseHandler,i=!!t.progressHandler,u=!!t.warpHandler,d=!1!==t.hasClock,f='
\n';if(r){var p=t.repeatTitle?t.repeatTitle:"Click to toggle play once/repeat.";f+='\n"}if(n){var m=t.restartTitle?t.restartTitle:"Click to go to beginning.";f+='\n"}if(a){var g=t.playTitle?t.playTitle:"Click to play/pause.";f+='\n"}if(i){var v=t.randomTitle?t.randomTitle:"Click to change the playback position.";f+='\n'}if(d&&(f+='\n'),u){var b=t.warpTitle?t.warpTitle:"Change the playback speed.";f+=' ( '+(t.bpm?t.bpm:"BPM")+")\n"}f+='
CSS required: load abcjs-audio.css
',f+="
\n",e.innerHTML=f}(r.parent,r.options),function(e){var t=!!e.options.loopHandler,r=!!e.options.restartHandler,n=!!e.options.playHandler||!!e.options.playPromiseHandler,a=!!e.options.progressHandler,i=!!e.options.warpHandler,s=e.parent.querySelector(".abcjs-midi-start");t&&e.parent.querySelector(".abcjs-midi-loop").addEventListener("click",(function(t){u(e.options.loopHandler,t,s,e.options.afterResume)})),r&&e.parent.querySelector(".abcjs-midi-reset").addEventListener("click",(function(t){u(e.options.restartHandler,t,s,e.options.afterResume)})),n&&s.addEventListener("click",(function(t){u(e.options.playPromiseHandler||e.options.playHandler,t,s,e.options.afterResume,!!e.options.playPromiseHandler)})),a&&e.parent.querySelector(".abcjs-midi-progress-background").addEventListener("click",(function(t){u(e.options.progressHandler,t,s,e.options.afterResume)})),i&&e.parent.querySelector(".abcjs-midi-tempo").addEventListener("change",(function(t){u(e.options.warpHandler,t,s,e.options.afterResume)}))}(r),r.disable=function(e){var t=r.parent.querySelector(".abcjs-inline-audio");e?t.classList.add("abcjs-disabled"):t.classList.remove("abcjs-disabled")},r.setWarp=function(e,t){r.parent.querySelector(".abcjs-midi-tempo").value=Math.round(t),r.setTempo(e)},r.setTempo=function(e){var t=r.parent.querySelector(".abcjs-midi-current-tempo");t&&(t.innerHTML=Math.round(e))},r.resetAll=function(){for(var e=r.parent.querySelectorAll(".abcjs-pushed"),t=0;t0){if(e.debugCallback&&e.debugCallback("pending "+JSON.stringify(l)),i?i*=2:i=50,i<9e4)return new Promise((function(t,n){setTimeout((function(){var s=[];for(u=0;u0?e.audioBuffers[0].duration:0;return{status:s().state,duration:t}},o=s().currentTime,c=e.millisecondsPerMeasure/1e3/e.meterSize;if(e.duration=e.flattened.totalDuration*c,e.duration<=0)return e.audioBuffers=[],r({status:"empty",seconds:0});e.duration+=t;var l=Math.floor(s().sampleRate*e.duration);e.stop();var h=a(e.flattened);e.options.swing&&function(e,t,r,n){if(!(4!=r.den&&8!=r.den||(t=parseFloat(t),isNaN(t)||t<=50))){t>75&&(t=75),t=t/50-1;var a=0,i=.25;8===r.den&&(i/=2);for(var s=i/2,o=s*t,c=0;c=l[h].start+s)){var d=u.start;u.start+=o,u.volume*=1+a,h>0&&l[h-1].end==d&&(l[h-1].end=u.start,l[h-1].volume*=1-a)}}}}(h,e.options.swing,e.meterFraction,e.pickupLength),e.sequenceCallback&&e.sequenceCallback(h,e.callbackContext);var d=function(e,t){if(null==t)return null;var r=[];if(t.length){for(var n=0;n1&&(a=1),r.push(a)}else r.push(0);return r}var i=parseFloat(t);if(i*(e-1)>2)return null;for(var s=e%2==0,o=s?0-i/2:0,c=o+i,l=0;lr?d[r]:0;t.forEach((function(t){var r=t.instrument+":"+t.pitch+":"+t.volume+":"+Math.round(1e3*(t.end-t.start))/1e3+":"+n+":"+c+":"+(t.cents?t.cents:0);e.debugCallback&&e.debugCallback("noteMapTrack "+r),f[r]||(f[r]=[]),f[r].push(t.start)}))}));for(var p=[],m=s().createBuffer(2,l,s().sampleRate),g=0;g';t.preTextDownload&&(i+=t.preTextDownload);var s,o,c=e.metaText&&e.metaText.title?e.metaText.title:"Untitled";return s=t.downloadLabel&&(o=t.downloadLabel)&&"[object Function]"==={}.toString.call(o)?t.downloadLabel(e,n):t.downloadLabel?t.downloadLabel.replace(/%T/,c):'Download MIDI for "'+c+'"',c=c.toLowerCase().replace(/'/g,"").replace(/\W/g,"_").replace(/__/g,"_"),i+=''+s+"",t.postTextDownload&&(i+=t.postTextDownload),i+""};e.exports=function(e,t){var r={};if(t)for(var s in t)t.hasOwnProperty(s)&&(r[s]=t[s]);function o(e,t,n){var s=a(t,r);switch(r.midiOutputType){case"encoded":return s;case"binary":var o=s.replace("data:audio/midi,","");o=(o=o.replace(/MThd/g,"%4d%54%68%64")).replace(/MTrk/g,"%4d%54%72%6b");for(var c=new ArrayBuffer(o.length/3),l=new Uint8Array(c),h=0;h4)for(a=a.toLowerCase(),t-=5;t>0;)a+="'",t--;else for(;t<4;)a+=",",t++;return a}}},522:function(e){e.exports={21:"A0",22:"Bb0",23:"B0",24:"C1",25:"Db1",26:"D1",27:"Eb1",28:"E1",29:"F1",30:"Gb1",31:"G1",32:"Ab1",33:"A1",34:"Bb1",35:"B1",36:"C2",37:"Db2",38:"D2",39:"Eb2",40:"E2",41:"F2",42:"Gb2",43:"G2",44:"Ab2",45:"A2",46:"Bb2",47:"B2",48:"C3",49:"Db3",50:"D3",51:"Eb3",52:"E3",53:"F3",54:"Gb3",55:"G3",56:"Ab3",57:"A3",58:"Bb3",59:"B3",60:"C4",61:"Db4",62:"D4",63:"Eb4",64:"E4",65:"F4",66:"Gb4",67:"G4",68:"Ab4",69:"A4",70:"Bb4",71:"B4",72:"C5",73:"Db5",74:"D5",75:"Eb5",76:"E5",77:"F5",78:"Gb5",79:"G5",80:"Ab5",81:"A5",82:"Bb5",83:"B5",84:"C6",85:"Db6",86:"D6",87:"Eb6",88:"E6",89:"F6",90:"Gb6",91:"G6",92:"Ab6",93:"A6",94:"Bb6",95:"B6",96:"C7",97:"Db7",98:"D7",99:"Eb7",100:"E7",101:"F7",102:"Gb7",103:"G7",104:"Ab7",105:"A7",106:"Bb7",107:"B7",108:"C8",109:"Db8",110:"D8",111:"Eb8",112:"E8",113:"F8",114:"Gb8",115:"G8",116:"Ab8",117:"A8",118:"Bb8",119:"B8",120:"C9",121:"Db9"}},5058:function(e){var t={f0:"_C",n0:"=C",s0:"^C",x0:"C",f1:"_D",n1:"=D",s1:"^D",x1:"D",f2:"_E",n2:"=E",s2:"^E",x2:"E",f3:"_F",n3:"=F",s3:"^F",x3:"F",f4:"_G",n4:"=G",s4:"^G",x4:"G",f5:"_A",n5:"=A",s5:"^A",x5:"A",f6:"_B",n6:"=B",s6:"^B",x6:"B",f7:"_c",n7:"=c",s7:"^c",x7:"c",f8:"_d",n8:"=d",s8:"^d",x8:"d",f9:"_e",n9:"=e",s9:"^e",x9:"e",f10:"_f",n10:"=f",s10:"^f",x10:"f",f11:"_g",n11:"=g",s11:"^g",x11:"g",f12:"_a",n12:"=a",s12:"^a",x12:"a",f13:"_b",n13:"=b",s13:"^b",x13:"b",f14:"_c'",n14:"=c'",s14:"^c'",x14:"c'",f15:"_d'",n15:"=d'",s15:"^d'",x15:"d'",f16:"_e'",n16:"=e'",s16:"^e'",x16:"e'"};e.exports=function(e){var r=(e.accidental?e.accidental[0]:"x")+e.verticalPos;return t[r]}},4586:function(e,t,r){var n=r(4771),a=r(522),i=r(2710),s=function(e,t,r){for(var n=0;n<2;n++)for(var a=t.getChannelData(n),i=e.getChannelData(n),s=0;s0&&"bar"===e[r].el_type&&"bar"===t[t.length-1].el_type&&r++;for(var i=r;i<=a;i++){var s,o=!1;if("key"===e[i].el_type||"meter"===e[i].el_type||"tempo"===e[i].el_type||"instrument"===e[i].el_type){for(s=t.length-1;s>=0&&t[s].el_type!==e[i].el_type;)s--;s>=0&&("key"===e[i].el_type&&(h=e[i],u=t[s],h.accidentals&&u.accidentals&&JSON.stringify(h.accidentals)===JSON.stringify(u.accidentals))||"meter"===e[i].el_type&&e[i].num===t[s].num&&e[i].den===t[s].den||"instrument"===e[i].el_type&&e[i].program===t[s].program||"tempo"===e[i].el_type&&e[i].qpm===t[s].qpm)&&(o=!0)}o||t.push((c=e[i],l=void 0,(l=Object.assign({},c)).pitches&&(l.pitches=n.cloneArray(l.pitches)),l))}var c,l,h,u}e.exports=function(e){this.sections=[{type:"startRepeat",index:-1}],this.addBar=function(t){var r=e.length-1,n="bar_left_repeat"===t.type||"bar_dbl_repeat"===t.type,a="bar_right_repeat"===t.type||"bar_dbl_repeat"===t.type,i=t.startEnding?function(e){var t,r,n,a=[];if(e.indexOf(",")>0)for(r=e.split(","),n=0;n0&&a.push(t);else if(e.indexOf("-")>0){r=e.split("-");var i=parseInt(r[0],10),s=parseInt(r[1],10);for(n=i;n<=s;n++)a.push(n)}else(t=parseInt(e,10))>0&&a.push(t);return a}(t.startEnding):void 0;a&&(this.sections.length>0&&"endRepeat"===this.sections[this.sections.length-1].type&&this.sections.push({type:"startRepeat",index:this.sections[this.sections.length-1].index}),this.sections.push({type:"endRepeat",index:r})),n&&this.sections.push({type:"startRepeat",index:r}),i&&this.sections.push({type:"startEnding",index:r,endings:i})},this.resolveRepeats=function(){var t,r=this.sections[this.sections.length-1],n=e.length-1;if("startRepeat"===r.type?r.end=n:r.index+10)for(t=0;t0&&a(e,h,p.start,p.end),u=Math.max(u,p.end))}else a(e,h,f.common.start,f.common.end)}return h}}},4771:function(e){e.exports={}},5049:function(e,t,r){var n=r(8702);e.exports=function(){if(!window.Promise)return!1;if(!(window.AudioContext||window.webkitAudioContext||navigator.mozAudioContext||navigator.msAudioContext))return!1;var e=n();return e?void 0!==e.resume:void 0}},3450:function(e,t,r){var n=r(6313),a=r(5594),i=r(5681),s=r(8702);e.exports=function(){var e=this;e.warp=100,e.cursorControl=null,e.visualObj=null,e.timer=null,e.midiBuffer=null,e.options=null,e.currentTempo=null,e.control=null,e.isLooping=!1,e.isStarted=!1,e.isLoaded=!1,e.isLoading=!1,e.load=function(t,r,a){a||(a={}),void 0===a.displayPlay&&(a.displayPlay=!0),void 0===a.displayProgress&&(a.displayProgress=!0),e.control=new n(t,{loopHandler:a.displayLoop?e.toggleLoop:void 0,restartHandler:a.displayRestart?e.restart:void 0,playPromiseHandler:a.displayPlay?e.play:void 0,progressHandler:a.displayProgress?e.randomAccess:void 0,warpHandler:a.displayWarp?e.onWarp:void 0,afterResume:e.init}),e.cursorControl=r,e.disable(!0)},e.disable=function(t){e.control&&e.control.disable(t)},e.setTune=function(t,r,n){return e.visualObj=t,e.disable(!1),e.options=n||{},e.control&&(e.pause(),e.setProgress(0,1),e.control.resetAll(),e.restart(),e.isStarted=!1),e.isLooping=!1,r?e.go():Promise.resolve({status:"no-audio-context"})},e.go=function(){e.isLoading=!0;var t,r=100*e.visualObj.millisecondsPerMeasure()/e.warp;return e.currentTempo=Math.round(e.visualObj.getBeatsPerMeasure()/r*6e4),e.control&&e.control.setTempo(e.currentTempo),e.percent=0,e.midiBuffer||(e.midiBuffer=new a),s().resume().then((function(t){return e.midiBuffer.init({visualObj:e.visualObj,options:e.options,millisecondsPerMeasure:r})})).then((function(r){return t=r,e.midiBuffer.prime()})).then((function(){var r=16;return e.cursorControl&&void 0!==e.cursorControl.beatSubdivisions&&parseInt(e.cursorControl.beatSubdivisions,10)>=1&&parseInt(e.cursorControl.beatSubdivisions,10)<=64&&(r=parseInt(e.cursorControl.beatSubdivisions,10)),e.timer=new i(e.visualObj,{beatCallback:e.beatCallback,eventCallback:e.eventCallback,lineEndCallback:e.lineEndCallback,qpm:e.currentTempo,extraMeasuresAtBeginning:e.cursorControl?e.cursorControl.extraMeasuresAtBeginning:void 0,lineEndAnticipation:e.cursorControl?e.cursorControl.lineEndAnticipation:0,beatSubdivisions:r}),e.cursorControl&&e.cursorControl.onReady&&"function"==typeof e.cursorControl.onReady&&e.cursorControl.onReady(e),e.isLoaded=!0,e.isLoading=!1,Promise.resolve({status:"created",notesStatus:t})}))},e.destroy=function(){e.timer&&(e.timer.reset(),e.timer.stop(),e.timer=null),e.midiBuffer&&(e.midiBuffer.stop(),e.midiBuffer=null),e.setProgress(0,1),e.control&&e.control.resetAll()},e.play=function(){return e.runWhenReady(e._play,void 0)},e.runWhenReady=function(t,r){return e.visualObj?e.isLoading?(n=500,new Promise((function(e){setTimeout(e,n)}))).then((function(){return e.isLoading?e.runWhenReady(t,r):t(r)})):e.isLoaded?t(r):e.go().then((function(){return t(r)})):Promise.resolve({status:"loading"});var n},e._play=function(){return s().resume().then((function(){return e.isStarted=!e.isStarted,e.isStarted?(e.cursorControl&&e.cursorControl.onStart&&"function"==typeof e.cursorControl.onStart&&e.cursorControl.onStart(),e.midiBuffer.start(),e.timer.start(e.percent),e.control&&e.control.pushPlay(!0)):e.pause(),Promise.resolve({status:"ok"})}))},e.pause=function(){e.timer&&(e.timer.pause(),e.midiBuffer.pause(),e.control&&e.control.pushPlay(!1))},e.toggleLoop=function(){e.isLooping=!e.isLooping,e.control&&e.control.pushLoop(e.isLooping)},e.restart=function(){e.timer&&(e.timer.setProgress(0),e.midiBuffer.seek(0))},e.randomAccess=function(t){return e.runWhenReady(e._randomAccess,t)},e._randomAccess=function(t){var r=t.target.classList.contains("abcjs-midi-progress-indicator")?t.target.parentNode:t.target,n=(t.x-r.getBoundingClientRect().left)/r.offsetWidth;return n<0&&(n=0),n>1&&(n=1),e.seek(n),Promise.resolve({status:"ok"})},e.seek=function(t,r){e.timer&&e.midiBuffer&&(e.timer.setProgress(t,r),e.midiBuffer.seek(t,r))},e.setWarp=function(t){if(parseInt(t,10)>0){e.warp=parseInt(t,10);var r=e.isStarted,n=e.percent;return e.destroy(),e.isStarted=!1,e.go().then((function(){return e.setProgress(n,1e3*e.midiBuffer.duration),e.control&&e.control.setWarp(e.currentTempo,e.warp),r?e.play().then((function(){return e.seek(n),Promise.resolve()})):(e.seek(n),Promise.resolve())}))}return Promise.resolve()},e.onWarp=function(t){var r=t.target.value;return e.setWarp(r)},e.setProgress=function(t,r){e.percent=t,e.control&&e.control.setProgress(t,r)},e.finished=function(){if(e.timer.reset(),e.isLooping)return e.timer.start(0),e.midiBuffer.finished(),e.midiBuffer.start(),"continue";e.timer.stop(),e.isStarted&&(e.control&&e.control.pushPlay(!1),e.isStarted=!1,e.midiBuffer.finished(),e.cursorControl&&e.cursorControl.onFinished&&"function"==typeof e.cursorControl.onFinished&&e.cursorControl.onFinished(),e.setProgress(0,1))},e.beatCallback=function(t,r,n,a){var i=t/r;e.setProgress(i,n),e.cursorControl&&e.cursorControl.onBeat&&"function"==typeof e.cursorControl.onBeat&&e.cursorControl.onBeat(t,r,n,a)},e.eventCallback=function(t){if(!t)return e.finished();e.cursorControl&&e.cursorControl.onEvent&&"function"==typeof e.cursorControl.onEvent&&e.cursorControl.onEvent(t)},e.lineEndCallback=function(t,r){e.cursorControl&&e.cursorControl.onLineEnd&&"function"==typeof e.cursorControl.onLineEnd&&e.cursorControl.onLineEnd(t,r)},e.getUrl=function(){return e.midiBuffer.download()},e.download=function(t){var r=e.getUrl(),n=document.createElement("a");document.body.appendChild(n),n.setAttribute("style","display: none;"),n.href=r,n.download=t||"output.wav",n.click(),window.URL.revokeObjectURL(r),document.body.removeChild(n)}}},2029:function(e){e.exports=function(){var e=this;e.tracks=[],e.totalDuration=0,e.currentInstrument=[],e.starts=[],e.addTrack=function(){return e.tracks.push([]),e.currentInstrument.push(0),e.starts.push(0),e.tracks.length-1},e.setInstrument=function(t,r){e.tracks[t].push({channel:0,cmd:"program",instrument:r}),e.currentInstrument[t]=r},e.appendNote=function(t,r,n,a,i){var s={cmd:"note",duration:n,gap:0,instrument:e.currentInstrument[t],pitch:r,start:e.starts[t],volume:a};i&&(s.cents=i),e.tracks[t].push(s),e.starts[t]+=n,e.totalDuration=Math.max(e.totalDuration,e.starts[t])}}},2426:function(e,t,r){var n=r(6074),a={violin:{name:"StringTab",defaultTuning:["G,","D","A","e"],isTabBig:!1,tabSymbolOffset:0},fiddle:{name:"StringTab",defaultTuning:["G,","D","A","e"],isTabBig:!1,tabSymbolOffset:0},mandolin:{name:"StringTab",defaultTuning:["G,","D","A","e"],isTabBig:!1,tabSymbolOffset:0},guitar:{name:"StringTab",defaultTuning:["E,","A,","D","G","B","e"],isTabBig:!0,tabSymbolOffset:0},fiveString:{name:"StringTab",defaultTuning:["C,","G,","D","A","e"],isTabBig:!1,tabSymbolOffset:-.95}},i={inited:!1,plugins:{},register:function(e){var t=e.name,r=e.tablature;this.plugins[t]=r},setError:function(e,t){e.warnings?e.warning.push(t):e.warnings=[t]},preparePlugins:function(e,t,r){this.inited||(this.register(new n),this.inited=!0);var i=null;if(r.tablature){var s=r.tablature;i=[];for(var o=0;o0)for(var a=r.length,i=0;i1&&r&&r.length>0)for(a=r.length,i=0;i=0;n--)if(t.pitch+t.pitchAltered>=e.stringPitches[n]){var a=t.pitch+t.pitchAltered-e.stringPitches[n];return"^"===t.quarter?a-=.5:"v"===t.quarter&&(a+=.5),{num:Math.round(a),str:e.stringPitches.length-1-n,note:t}}return{num:"?",str:e.stringPitches.length-1,note:t}}function l(e,t){var r={num:"?",str:0,note:t};e.push(r),e.error=t.emit()+": unexpected note for instrument"}function h(e){var t=e.tuning,r=e.capo,s=e.params.highestNote;this.linePitch=e.linePitch,this.highestNote="a'",s&&(this.highestNote=s),this.measureAccidentals={},this.capo=0,r&&(this.capo=parseInt(r,10)),this.transpose=e.transpose?e.transpose:0,this.tuning=t,this.stringPitches=[];for(var o=0;o0&&(this.capoTuning=function(e){var t=null,r=e.tuning;if(e.capo>0){t=[];for(var n=0;n0&&(r=e.capoTuning);for(var n=r.length-1,a=0;a1?(o=s(this,e)).error&&(i=o.error):e[0].endTie||((r=new a(e[0].name,this.clefTranspose)).checkKeyAccidentals(this.accidentals,this.measureAccidentals),(n=c(this,r))?o.push(n):(l(o,r),i=o.error))),i)return o;var h=null;if(t){h=[];for(var u=0;u0&&(r+=" capo:"+e.capo),t=t.replace("%T",r)),t}return""},h.prototype.suppress=function(e){return!!e.params.suppress},e.exports=h},8918:function(e){function t(e,t){this.numLines=e,this.lineSpace=t,this.verticalSize=this.numLines*this.lineSpace,this.bar={pitch:3,pitch2:t*e,height:5}}t.prototype.bypass=function(e){var t=e.staffGroup.voices;return!!(t.length>0&&t[0].isPercussion)},t.prototype.setRelative=function(e,t,r){switch(e.type){case"bar":t.pitch=this.bar.pitch,t.pitch2=this.bar.pitch2,t.height=this.height;break;case"symbol":var n=this.bar.pitch2/2;if("dots.dot"==e.name)return r?(t.pitch=n,!1):(t.pitch=n+this.lineSpace,!0)}return r},e.exports=t},6776:function(e,t,r){var n=r(2842),a=n.noteToMidi,i=n.midiToNote;function s(e,t){var r=a(e);t&&(r+=t);var n,s=i(r),o=!1,c=!1,l=null,h=null,u=!1,d=0;e.startsWith("_")?(o=!0,d=-1,"/"==e[1]?(o=!1,h="v",d=0):"_"==e[1]&&(u=!0,d-=1)):e.startsWith("^")?(c=!0,d=1,"/"==e[1]?(c=!1,h="^",d=0):"^"==e[1]&&(u=!0,d+=1)):e.startsWith("=")&&(l=!0,d=0),((n=o||c||null!=h)||l)&&(s=null!=h||u?e.slice(2):e.slice(1));var f=(s.match(/,/g)||[]).length,p=(s.match(/'/g)||[]).length;this.pitch=r,this.pitchAltered=0,this.name=s,this.acc=d,this.isSharp=c,this.isKeySharp=!1,this.isDouble=u,this.isAltered=n,this.isFlat=o,this.isKeyFlat=!1,this.natural=l,this.quarter=h,this.isLower=this.name==this.name.toLowerCase(),this.name=this.name[0].toUpperCase(),this.hasComma=f,this.isQuoted=p}s.prototype.sameNoteAs=function(e){return e.pitch===this.pitch},s.prototype.isLowerThan=function(e){return e.pitch>this.pitch},s.prototype.checkKeyAccidentals=function(e,t){if(!this.isAltered&&!this.natural)if(t[this.name.toUpperCase()])switch(t[this.name.toUpperCase()]){case"__":return this.acc=-2,void(this.pitchAltered=-2);case"_":return this.acc=-1,void(this.pitchAltered=-1);case"=":return this.acc=0,void(this.pitchAltered=0);case"^":return this.acc=1,void(this.pitchAltered=1);case"^^":return this.acc=2,void(this.pitchAltered=2)}else if(e)for(var r=this.name,n=0;n=0){if(r===t)return e.extra[n].x+e.extra[n].w/2;r++}return-1}function f(e){if(e.abcelem){var t=e.abcelem;if(t.rest)return t.gracenotes}return null}function p(e,t,r){var n=e.semantics.notesToNumber(t,r);if(n.error)return e.setError(n.error),n;if(n.graces&&n.notes){var a=n.notes.length-1;n.notes[a].graces=n.graces}return n}function m(e,t,r,n,a){for(var i=0;i=0&&(e.semantics.clefTranspose=-12),k.abcelem.type.indexOf("+8")>=0&&(e.semantics.clefTranspose=12)),k.type){case"staff-extra key-signature":this.accidentals=k.abcelem.accidentals,e.semantics.accidentals=this.accidentals;break;case"bar":e.semantics.measureAccidentals={};var T=!1;x===g.children.length-1&&(T=!0);var S=o(k,e);if(S.abcelem.barNumber){delete S.abcelem.barNumber;for(var _=0;_0&&(y.abselem=M,r.push(y),v.children.push(M))}}},e.exports=h},4785:function(e,t,r){var n=r(3197),a=r(4240),i=r(4331);function s(e,t,r){var n=e.semantics,a=t.controller.getTextSize,i=n.tabInfos(e),s=!0;if(n.suppress(e)&&(s=!1),s){var o=a.calc(i,"tablabelfont","text instrumentname");return r.tabNameInfos={textSize:{height:o.height,width:o.width},name:i},o.height}return 0}function o(e,t){return!(!t[e].isTabStaff||e!==t.length-1&&t[e+1].isTabStaff)}function c(e,t){for(var r=t;r>=0;r--)if(!e[r].isTabStaff)return r;return-1}function l(e,t){return"clef"===e[t].children[0].abcelem.el_type?null:0==t?"none":e[t-1].children[0]}e.exports=function(e,t,r,h){var u=new a,d={clef:{type:"TAB"}},f=e.linePitch*e.nbLines,p=r.staff;if(p){var m=p[0];if(m&&m.clef&&0==m.clef.stafflines)return void e.setError("No tablatures when stafflines=0");p.splice(p.length,0,d)}var g=r.staffGroup,v=g.voices,b=function(e){for(var t=0,r=0;rt&&(t=n.specialY.lyricHeightBelow)}return t}(v[0]),y=h,x=g.staffs[y],k=f+3-x.bottom-b;x.isTabStaff&&(k=x.top);var w={bottom:-1,isTabStaff:!0,specialY:{tempoHeightAbove:0,partHeightAbove:0,volumeHeightAbove:0,dynamicHeightAbove:0,endingHeightAbove:0,chordHeightAbove:0,lyricHeightAbove:0,lyricHeightBelow:0,chordHeightBelow:0,volumeHeightBelow:0,dynamicHeightBelow:0},lines:e.nbLines,linePitch:e.linePitch,dy:.15,top:k},C=function(e,t){for(var r=0,n=0,a=0;;){if(!t[r])return-1;if(t[r].isTabStaff||(a=t[r].voices.length),t[r].isTabStaff){if(n++,o(r,t)&&n=e){if(r+1==t.length)return r+1;if(!t[r+1].isTabStaff)return r+1}if(++r>t.length)return-1}}(h,g.staffs);if(-1!==C){w.parentIndex=C-1,g.staffs.splice(C,0,w),g.height+=f+3;var T=function(e,t){for(var r=t;r>=0;r--)if(!e[r].isTabStaff)return e[r];return null}(g.staffs,C),S=1;(function(e,t){return 1===function(e){for(var t=0,r=0;r1})(g.staffs,T)&&(S=T.voices.length),d.voices=[];for(var _=0;_0&&(E.duplicate=!0);var M=s(e,t,E)/i.STEP;M=Math.max(M,1),g.staffs[h].top+=1,g.height+=M,E.staff=w;var A=v.length;v.splice(v.length,0,E);var N=l(v,_+h);d.voices[_]=[],u.build(e,v,d.voices[_],_,h,N,A)}!function(e){for(var t=0;t0&&(i[0].invisible=!0);break;case"meter":i[0]=l(a,this.tuneNumber),this.startlimitelem=i[0],r.duplicate&&i.length>0&&(i[0].invisible=!0);break;case"clef":if(i[0]=s(a,this.tuneNumber),!i[0])return null;r.duplicate&&i.length>0&&(i[0].invisible=!0);break;case"key":var h=o(a,this.tuneNumber);h&&(i[0]=h,this.startlimitelem=i[0]),r.duplicate&&i.length>0&&(i[0].invisible=!0);break;case"stem":this.stemdir="auto"===a.direction?void 0:a.direction;break;case"part":var u=new n(a,0,0,"part",this.tuneNumber),d=this.getTextSize.calc(a.title,"partsfont","part");u.addFixedX(new f(a.title,0,0,void 0,{type:"part",height:d.height/p.STEP})),i[0]=u;break;case"tempo":var m=new n(a,0,0,"tempo",this.tuneNumber);a.suppress||m.addFixedX(new g(a,this.tuneNumber,c)),i[0]=m;break;case"style":"normal"===a.head?delete this.style:this.style=a.head;break;case"hint":T=!0,this.saveState();break;case"midi":break;case"scale":this.voiceScale=a.size;break;case"color":this.voiceColor=a.color,r.color=this.voiceColor;break;default:var v=new n(a,0,0,"unsupported",this.tuneNumber);v.addFixed(new f("element type "+a.el_type,0,0,void 0,{type:"debug"})),i[0]=v}return i},_.prototype.createBeam=function(e,t,r){var n=[],i=new a(this.stemHeight*this.voiceScale,this.stemdir,this.flatBeams,r[0]);T&&i.setHint();for(var s=0;se.pitches[r+1].pitch){t=!1;var n=e.pitches[r];e.pitches[r]=e.pitches[r+1],e.pitches[r+1]=n}}while(!t)},N=function(e,t,r,n,a,i,s,o,c){for(var l=r;l>11;l--)l%2!=0||n||e.addFixed(new f(null,o,(a+4)*c,l,{type:"ledger"}));for(l=t;l<1;l++)l%2!=0||n||e.addFixed(new f(null,o,(a+4)*c,l,{type:"ledger"}));for(l=0;l1&&(p=new a(i,"grace",s),T&&p.setHint(),p.mainNote=r);var m=[];for(u=e.gracenotes.length-1;u>=0;u--)o+=10,m[u]=o,e.gracenotes[u].accidental&&(o+=7);for(u=0;u=6?"down":"up";for(n&&(_=n),(a=t.style?t.style:a)&&"normal"!==a||(a="note"),(m=i?S[a].nostem:S[a][-s])||console.log("noteSymbol:",a,s,i),g="down"===_?t.pitches.length-2:1;"down"===_?g>=0:g11||M.verticalPos<1)&&x.push(M.verticalPos-M.verticalPos%2),"down"===_?b=d.getSymbolWidth(m)+2:v=d.getSymbolWidth(m)+2)}var N=t.pitches.length;for(g=0;g1?g+1:null,I=c(e,L,t.pitches[g],{dir:_,extrax:-b,flag:P,dot:r,dotshiftx:v,scale:this.voiceScale,accidentalSlot:w,shouldExtendStem:!n,printAccidentals:!l.isPercussion,chordPos:D});T=Math.max(d.getSymbolWidth(L),T),e.extraw-=I.extraLeft,(h=I.notehead)&&(this.addSlursAndTies(e,t.pitches[g],h,l,H?_:null,!1),t.gracenotes&&t.gracenotes.length>0&&(h.bottom=h.bottom-1),e.addHead(h)),b+=I.accidentalshiftx,y=Math.max(y,I.dotshiftx)}if(H){var z=Math.round(70*this.voiceScale)/10,F="down"===_?t.minpitch-z:t.minpitch+1/3;F>6&&!n&&(F=6);var j="down"===_?t.maxpitch-1/3:t.maxpitch+z;j<6&&!n&&(j=6);var V="down"===_||0===e.heads.length?0:e.heads[0].w,G="down"===_?1:-1;h&&"noteheads.slash.quarter"===h.c&&("down"===_?j-=1:F+=1),h&&"noteheads.triangle.quarter"===h.c&&("down"===_?j-=.7:F-=1.2),e.addRight(new f(null,V,0,F,{type:"stem",pitch2:j,linewidth:G,bottom:F-1})),u=Math.min(F,j)}return{noteHead:h,roomTaken:b,roomTakenRight:y,min:u,additionalLedgers:x,dir:_,symbolWidth:T}},_.prototype.addLyric=function(e,t,r){var n="";t.lyric.forEach((function(e){var t=" "===e.divider?"":e.divider;n+=e.syllable+t+"\n"}));var a=this.getTextSize.calc(n,"vocalfont","lyric"),i=t.positioning?t.positioning.vocalPosition:"below";e.addCentered(new f(n,0,a.width,void 0,{type:"lyric",position:i,height:a.height/p.STEP,dim:this.getTextSize.attr("vocalfont","lyric"),voiceNumber:r}))},_.prototype.createNote=function(e,t,r,a){var i,s=null,o=0,l=0,h=0,u=[],p=C(e),m=!1;0===p&&(m=!0,p=.25,t=!0);for(var g=Math.floor(Math.log(p)/Math.log(2)),v=0,y=Math.pow(2,g),k=y/2;y1,this.stemdir,r,g,this.voiceScale);s=M.noteHead,o=M.roomTaken,l=M.roomTakenRight}else{var A=this.addNoteToAbcElement(E,e,v,this.stemdir,this.style,m,g,t,a);void 0!==A.min&&(this.minY=Math.min(A.min,this.minY)),s=A.noteHead,o=A.roomTaken,l=A.roomTakenRight,u=A.additionalLedgers,i=A.dir,h=A.symbolWidth}if(void 0!==e.lyric&&this.addLyric(E,e,a.voicenumber),void 0!==e.gracenotes&&(o+=this.addGraceNotes(e,a,E,s,this.stemHeight*this.voiceScale,this.isBagpipes,o)),e.decoration){var B=t&&"up"!==i?Math.min(-3,E.bottom-6):E.bottom;this.decoration.createDecoration(a,e.decoration,E.top,s?s.w:0,E,o,i,B,e.positioning,this.hasVocals,this.accentAbove)}if(e.barNumber&&E.addFixed(new f(e.barNumber,-10,0,0,{type:"barNumber"})),N(E,e.minpitch,e.maxpitch,e.rest,h,u,i,-2,1),void 0!==e.chord){var P=x(this.getTextSize,E,e,o,l,h,this.jazzchords,this.germanAlphabet);o=P.roomTaken,l=P.roomTakenRight}return e.startTriplet&&(this.triplet=new b(e.startTriplet,s,{flatBeams:this.flatBeams})),e.endTriplet&&this.triplet&&this.triplet.setCloseAnchor(s),!this.triplet||e.startTriplet||e.endTriplet||e.rest&&"spacer"===e.rest.type||this.triplet.middleNote(s),E},_.prototype.addSlursAndTies=function(e,t,r,n,a,i){if(t.endTie&&this.ties.length>0){for(var s=!1,o=0;o10&&"treble"===t.abcelem.type?13.5:11;t.addFixed(new f(e,n,r.width,a+r.height/p.STEP,{type:"barNumber",dim:this.getTextSize.attr("measurefont","bar-number")}))},_.prototype.createBarLine=function(e,t,r){var a=new n(t,0,10,"bar",this.tuneNumber),i=null,s=0;t.barNumber&&this.addMeasureNumber(t.barNumber,a);var o="bar_right_repeat"===t.type||"bar_dbl_repeat"===t.type,c="bar_left_repeat"!==t.type&&"bar_thick_thin"!==t.type&&"bar_invisible"!==t.type,l="bar_right_repeat"===t.type||"bar_dbl_repeat"===t.type||"bar_left_repeat"===t.type||"bar_thin_thick"===t.type||"bar_thick_thin"===t.type,h="bar_left_repeat"===t.type||"bar_thick_thin"===t.type||"bar_thin_thin"===t.type||"bar_dbl_repeat"===t.type,d="bar_left_repeat"===t.type||"bar_dbl_repeat"===t.type;if(o||d){for(var p in this.slurs)this.slurs.hasOwnProperty(p)&&this.slurs[p].setEndX(a);this.startlimitelem=a}if(o&&(a.addRight(new f("dots.dot",s,1,7)),a.addRight(new f("dots.dot",s,1,5)),s+=6),c&&(i=new f(null,s,1,2,{type:"bar",pitch2:10,linewidth:.6}),a.addRight(i)),"bar_invisible"===t.type&&(i=new f(null,s,1,2,{type:"none",pitch2:10,linewidth:.6}),a.addRight(i)),t.decoration&&this.decoration.createDecoration(e,t.decoration,12,l?3:1,a,0,"down",2,t.positioning,this.hasVocals,this.accentAbove),l&&(i=new f(null,s+=4,4,2,{type:"bar",pitch2:10,linewidth:4}),a.addRight(i),s+=5),this.partstartelem&&t.endEnding&&(this.partstartelem.anchor2=i,this.partstartelem=null),h&&(i=new f(null,s+=3,1,2,{type:"bar",pitch2:10,linewidth:.6}),a.addRight(i)),d&&(s+=3,a.addRight(new f("dots.dot",s,1,7)),a.addRight(new f("dots.dot",s,1,5))),t.startEnding&&r&&0===e.voicenumber){var m=this.getTextSize.calc(t.startEnding,"repeatfont","").width;a.minspacing+=m+10,this.partstartelem=new u(t.startEnding,i,null),e.addOther(this.partstartelem)}return a.extraw-=5,void 0!==t.chord&&x(this.getTextSize,a,t,0,0,0,!1,this.germanAlphabet),a},e.exports=_},2652:function(e,t,r){var n=r(6658),a=r(4331),i=r(5810);function s(e,t,r,s,o,c,l,h,u,d,f,p,m,g,v){for(var b=e.split("\n"),y=b.length-1;y>=0;y--){var x,k=b[y],w=0;s||(k=i(k,g,v));var C=h.calc(k,o,c),T=C.width,S=C.height/a.STEP;switch(t){case"left":w=-(f+=T+7),x=d.averagepitch,u.addExtra(new n(k,w,T+4,x,{type:"text",height:S,dim:l,position:"left"}));break;case"right":w=p+=4,x=d.averagepitch,u.addRight(new n(k,w,T+4,x,{type:"text",height:S,dim:l,position:"right"}));break;case"below":u.addRight(new n(k,0,0,void 0,{type:"text",position:"below",height:S,dim:l,realWidth:T}));break;case"above":u.addRight(new n(k,0,0,void 0,{type:"text",position:"above",height:S,dim:l,realWidth:T}));break;default:if(r){var _=r.y+3*a.STEP;u.addRight(new n(k,w+r.x,0,d.minpitch+_/a.STEP,{position:"relative",type:"text",height:S,dim:l}))}else{var E="above";d.positioning&&d.positioning.chordPosition&&(E=d.positioning.chordPosition),"hidden"!==E&&u.addCentered(new n(k,m/2,T,void 0,{type:"chord",position:E,height:S,dim:l,realWidth:T}))}}}return{roomTaken:f,roomTakenRight:p}}e.exports=function(e,t,r,n,a,i,o,c){for(var l=0;l0?o.top+3:o.bottom-1,f=s>0?o.top+3:o.bottom-3,p=f-2;"bass-8"===e.type&&(d=3,u=0),o.addRight(new i("8",5+u,a.getSymbolWidth("8")*h,d,{scalex:h,scaley:h,top:f,bottom:p}))}}return o}},3923:function(e,t,r){var n=r(1409),a=r(6020),i=r(6658);e.exports=function(e,t){if(e.el_type="keySignature",!e.accidentals||0===e.accidentals.length)return null;var r=new n(e,0,10,"staff-extra key-signature",t);r.isKeySig=!0;var s=0;return e.accidentals.forEach((function(e){var t,n=0;switch(e.acc){case"sharp":t="accidentals.sharp",n=-3;break;case"natural":t="accidentals.nat";break;case"flat":t="accidentals.flat",n=-1.2;break;case"quartersharp":t="accidentals.halfsharp",n=-2.5;break;case"quarterflat":t="accidentals.halfflat",n=-1.2;break;default:t="accidentals.flat"}r.addRight(new i(t,s,a.getSymbolWidth(t),e.verticalPos,{thickness:a.symbolHeightInPitches(t),top:e.verticalPos+a.symbolHeightInPitches(t)+n,bottom:e.verticalPos+n})),s+=a.getSymbolWidth(t)+2}),this),r}},2143:function(e,t,r){var n=r(6020),a=r(6658);e.exports=function(e,t,r,i){i||(i={});var s,o=void 0!==i.dir?i.dir:null,c=void 0!==i.headx?i.headx:0,l=void 0!==i.extrax?i.extrax:0,h=void 0!==i.flag?i.flag:null,u=void 0!==i.dot?i.dot:0,d=void 0!==i.dotshiftx?i.dotshiftx:0,f=void 0!==i.scale?i.scale:1,p=void 0!==i.accidentalSlot?i.accidentalSlot:[],m=void 0!==i.shouldExtendStem&&i.shouldExtendStem,g=void 0===i.printAccidentals||i.printAccidentals,v=i.chordPos,b=r.verticalPos,y=0,x=0,k=0;if(void 0===t)e.addFixed(new a("pitch is undefined",0,0,0,{type:"debug"}));else if(""===t)s=new a(null,0,0,b,{chordPos:v});else{var w=c;if(r.printer_shift){var C="same"===r.printer_shift?1:0;w="down"===o?-n.getSymbolWidth(t)*f+C:n.getSymbolWidth(t)*f-C}var T={scalex:f,scaley:f,thickness:n.symbolHeightInPitches(t)*f,name:r.name,chordPos:v};if((s=new a(t,w,n.getSymbolWidth(t)*f,b,T)).stemDir=o,h){var S=b+("down"===o?-7:7)*f;m&&("down"===o&&S>6&&(S=6),"up"===o&&S<6&&(S=6));var _="down"===o?c:c+s.w-.6;e.addRight(new a(h,_,n.getSymbolWidth(h)*f,S,{scalex:f,scaley:f,chordPos:v}))}for(x=s.w+d-2+5*u;u>0;u--){var E=1-Math.abs(b)%2;e.addRight(new a("dots.dot",s.w+d-2+5*u,n.getSymbolWidth("dots.dot"),b+E,{chordPos:v}))}}if(s&&(s.highestVert=r.highestVert),g&&r.accidental){var M;switch(r.accidental){case"quartersharp":M="accidentals.halfsharp";break;case"dblsharp":M="accidentals.dblsharp";break;case"sharp":M="accidentals.sharp";break;case"quarterflat":M="accidentals.halfflat";break;case"flat":M="accidentals.flat";break;case"dblflat":M="accidentals.dblflat";break;case"natural":M="accidentals.nat"}for(var A=!1,N=l,B=0;B=6){p[B][0]=b,N=p[B][1],A=!0;break}!1===A&&(N-=n.getSymbolWidth(M)*f+2,p.push([b,N]),y=n.getSymbolWidth(M)*f+2);var P=n.symbolHeightInPitches(M);e.addExtra(new a(M,N,n.getSymbolWidth(M),b,{scalex:f,scaley:f,top:b+P/2,bottom:b-P/2,chordPos:v})),k=n.getSymbolWidth(M)/2}return{notehead:s,accidentalshiftx:y,dotshiftx:x,extraLeft:k}}},2525:function(e,t,r){var n=r(1409),a=r(6020),i=r(6658);e.exports=function(e,t){e.el_type="timeSignature";var r=new n(e,0,10,"staff-extra time-signature",t);if("specified"===e.type)for(var s=0,o=0;o",this.dynamicPositioning)),this.startDiminuendoX=void 0),this.startCrescendoX&&(e.addOther(new a(this.startCrescendoX,d(e.children),"<",this.dynamicPositioning)),this.startCrescendoX=void 0)},l.prototype.dynamicDecoration=function(e,t,r,n){for(var s,o,c,l=0;l",n)),o&&e.addOther(new a(o.start,o.stop,"<",n)),c&&e.addOther(new i(c.start,c.stop))},l.prototype.createDecoration=function(e,t,r,a,i,l,u,d,f,p,m){f||(f={ornamentPosition:"above",volumePosition:p?"above":"below",dynamicPosition:p?"above":"below"}),function(e,t,r,a){for(var i=0;i9&&d++;var m=n/2;"center"!==s.getSymbolAlign(p)&&(m-=s.getSymbolWidth(p)/2),a.addFixedX(new o(p,m,s.getSymbolWidth(p),d))}if("slide"===t[f]&&a.heads[0]){var g=a.heads[0].pitch,v=new o("",-i-15,0,(g-=2)-1),b=new o("",-i-5,0,g+1);a.addFixedX(v),a.addFixedX(b),e.addOther(new c({anchor1:v,anchor2:b,fixedY:!0}))}}return void 0===d&&(d=r),{above:d,below:a.bottom}}(e,t,r,a,i,l,u,d,m);g.above=Math.max(g.above,this.minTop),g.below=Math.min(g.below,d),function(e,t,r,n,a,i,c,l){function h(e,t){"above"===e?n.above+=t:n.below-=t}function u(e){var t;return"above"===e?(t=n.above)c&&(t=c),t}function d(e,n,a){var i=u(n);r.addFixedX(new o(e,t/2,0,i+2,{type:"decoration",klass:"ornament",thickness:3,anchor:a})),h(n,5)}function f(e,n){var a=t/2;"center"!==s.getSymbolAlign(e)&&(a-=s.getSymbolWidth(e)/2);var i=s.symbolHeightInPitches(e)+1,c=u(n);c="above"===n?c+i/2:c-i/2,r.addFixedX(new o(e,a,s.getSymbolWidth(e),c,{klass:"ornament",thickness:s.symbolHeightInPitches(e),position:n})),h(n,i)}for(var p={"+":"scripts.stopped",open:"scripts.open",snap:"scripts.snap",wedge:"scripts.wedge",thumb:"scripts.thumb",shortphrase:"scripts.shortphrase",mediumphrase:"scripts.mediumphrase",longphrase:"scripts.longphrase",trill:"scripts.trill",trillh:"scripts.trill",roll:"scripts.roll",irishroll:"scripts.roll",marcato:"scripts.umarcato",dmarcato:"scripts.dmarcato",umarcato:"scripts.umarcato",turn:"scripts.turn",uppermordent:"scripts.prall",pralltriller:"scripts.prall",mordent:"scripts.mordent",lowermordent:"scripts.mordent",downbow:"scripts.downbow",upbow:"scripts.upbow",fermata:"scripts.ufermata",invertedfermata:"scripts.dfermata",breath:",",coda:"scripts.coda",segno:"scripts.segno"},m=0;mthis.w&&(this.w=e.dx+e.w),this.right[this.right.length]=e,this._addChild(e)},i.prototype.addFixed=function(e){this._addChild(e)},i.prototype.addFixedX=function(e){this._addChild(e)},i.prototype.addCentered=function(e){var t=e.w/2;-tthis.w&&(this.w=e.dx+t),this.right[this.right.length]=e,this._addChild(e)},i.prototype.setLimit=function(e,t){t[e]&&(this.specialY[e]?this.specialY[e]=Math.max(this.specialY[e],t[e]):this.specialY[e]=t[e])},i.prototype._addChild=function(e){var t=!0;"clef"==this.abcelem.el_type&&"barNumber"==e.type&&(t=!1),e.parent=this,this.children[this.children.length]=e,t&&this.pushTop(e.top),this.pushBottom(e.bottom),this.setLimit("tempoHeightAbove",e),this.setLimit("partHeightAbove",e),this.setLimit("volumeHeightAbove",e),this.setLimit("dynamicHeightAbove",e),this.setLimit("endingHeightAbove",e),this.setLimit("chordHeightAbove",e),this.setLimit("lyricHeightAbove",e),this.setLimit("lyricHeightBelow",e),this.setLimit("chordHeightBelow",e),this.setLimit("volumeHeightBelow",e),this.setLimit("dynamicHeightBelow",e)},i.prototype.pushTop=function(e){void 0!==e&&(void 0===this.top?this.top=e:this.top=Math.max(e,this.top))},i.prototype.pushBottom=function(e){void 0!==e&&(void 0===this.bottom?this.bottom=e:this.bottom=Math.min(e,this.bottom))},i.prototype.setX=function(e){this.x=e;for(var t=0;tthis.max)&&(this.max=e.abcelem.maxpitch))},t.prototype.addBeam=function(e){this.beams.push(e)},t.prototype.setStemDirection=function(){this.average=r(this.total,this.count),this.forceup?this.stemsUp=!0:this.forcedown?this.stemsUp=!1:this.stemsUp=this.average<6,delete this.count,this.total=0},t.prototype.calcDir=function(){this.average=r(this.total,this.elems.length),this.forceup?this.stemsUp=!0:this.forcedown?this.stemsUp=!1:this.stemsUp=this.average<6;for(var e=this.stemsUp?"up":"down",t=0;t0&&this.unalignedWords(e.unalignedWords,n,a,i,s),this.extraText(e,n,a,i,s),e.footer&&r&&this.footer(e.footer,t,n,s)}function s(e,t,r,n,i,s,o){r&&(t&&(r="string"==typeof r?t+r:[{text:t}].concat(r)),a(e,r,"historyfont",i=s?"abcjs-extra-text "+i:"","description",n,{absElemType:"extraText",anchor:"start"},o))}function o(e,t,r,i,s,o,c,l,h,u,d,f){if(r){l=d?"abcjs-extra-text "+l:"";var p=f.calc("A",s,l);if("string"==typeof r)t&&(r=t+"\n"+r),n(e,{marginLeft:i,text:r,font:s,absElemType:"extraText",name:h,"dominant-baseline":"middle",klass:l},f);else{e.push({startGroup:c,klass:l,name:h}),e.push({move:u.info}),t&&(n(e,{marginLeft:i,text:t,font:s,absElemType:"extraText",name:h,"dominant-baseline":"middle"},f),e.push({move:3*p.height/4}));for(var m=0;m0&&this.startVoice.staff.voices[0]===e)},e.exports=t},6891:function(e){e.exports=function(e,t,r,n){this.type="CrescendoElem",this.anchor1=e,this.anchor2=t,this.dir=r,"above"===n?this.dynamicHeightAbove=6:this.dynamicHeightBelow=6,this.pitch=void 0}},3185:function(e){e.exports=function(e,t,r){this.type="DynamicDecoration",this.anchor=e,this.dec=t,"below"===r?this.volumeHeightBelow=6:this.volumeHeightAbove=6,this.pitch=void 0}},8256:function(e){e.exports=function(e,t,r){this.type="EndingElem",this.text=e,this.anchor1=t,this.anchor2=r,this.endingHeightAbove=5,this.pitch=void 0}},3736:function(e){e.exports=function(e,t,r,n,a,i){var s,o=e.text;this.rows=[],t&&this.rows.push({move:t});var c=r.calc("textfont","defined-text");if(""===o)this.rows.push({move:2*c.attr["font-size"]});else if("string"==typeof o){this.rows.push({move:c.attr["font-size"]/2}),this.rows.push({left:n,text:o,font:"textfont",klass:"defined-text",anchor:"start",startChar:e.startChar,endChar:e.endChar,absElemType:"freeText",name:"free-text"});var l=o.replace(/^[ \t]*\n/gm,"X\n");s=i.calc(l,"textfont","defined-text"),this.rows.push({move:s.height})}else if(o){for(var h=0,u=n,d="textfont",f=0;fthis.top&&(this.top=this.pitch2),this.bottom=n,void 0!==this.pitch2&&this.pitch20?this.top+=a.stemHeight:this.bottom+=a.stemHeight),a.dim&&(this.dim=a.dim),a.position&&(this.position=a.position),void 0!==a.voiceNumber&&(this.voiceNumber=a.voiceNumber),this.height=a.height?a.height:4,a.top&&(this.top=a.top),a.bottom&&(this.bottom=a.bottom),a.name?this.name=a.name:this.c?this.name=this.c:this.name=this.type,a.realWidth?this.realWidth=a.realWidth:this.realWidth=this.w,this.centerVertically=!1,this.type){case"debug":this.chordHeightAbove=this.height;break;case"lyric":a.position&&"below"===a.position?this.lyricHeightBelow=this.height:this.lyricHeightAbove=this.height;break;case"chord":a.position&&"below"===a.position?this.chordHeightBelow=this.height:this.chordHeightAbove=this.height;break;case"text":void 0===this.pitch?a.position&&"below"===a.position?this.chordHeightBelow=this.height:this.chordHeightAbove=this.height:this.centerVertically=!0;break;case"part":this.partHeightAbove=this.height}};t.prototype.getChordDim=function(){if("debug"===this.type)return null;if(!this.chordHeightAbove&&!this.chordHeightBelow)return null;var e="chord"===this.type?this.realWidth/2:0,t=this.x-e-0;return{left:t,right:t+this.realWidth+0}},t.prototype.invertLane=function(e){void 0===this.lane&&(this.lane=0),this.lane=e-this.lane-1},t.prototype.putChordInLane=function(e){this.lane=e,this.chordHeightAbove?this.chordHeightAbove=1.25*this.height*this.lane:this.chordHeightBelow=1.25*this.height*this.lane},t.prototype.getLane=function(){return void 0===this.lane?0:this.lane},t.prototype.setX=function(e){this.x=e+this.dx},e.exports=t},6994:function(e,t,r){var n=r(1716);e.exports=function(e,t,r,a,i,s,o,c){var l=c.calc("i",r,a);if(""===t)e.push({move:l.height});else{if("string"==typeof t)return void n(e,{marginLeft:s,text:t,font:r,klass:a,marginTop:o.marginTop,anchor:o.anchor,absElemType:o.absElemType,info:o.info,name:i},c);o.marginTop&&e.push({move:o.marginTop});var h=0,u={left:s,anchor:o.anchor,phrases:[]};a&&(u.klass=a),e.push(u);for(var d=0;d0)this.above=!1;else{var e;e=this.anchor1?this.anchor1.pitch:this.anchor2?this.anchor2.pitch:14,this.anchor1&&"down"===this.anchor1.stemDir&&this.anchor2&&"down"===this.anchor2.stemDir?this.above=!0:this.anchor1&&"up"===this.anchor1.stemDir&&this.anchor2&&"up"===this.anchor2.stemDir?this.above=!1:this.anchor1&&this.anchor2?this.above=e>=6:this.anchor1?this.above="down"===this.anchor1.stemDir:this.anchor2?this.above="down"===this.anchor2.stemDir:this.above=e>=6}},t.prototype.calcSlurDirection=function(){if(this.isGrace)this.above=!1;else if(0===this.voiceNumber)this.above=!0;else if(this.voiceNumber>0)this.above=!1;else{var e=!1;this.anchor1&&"down"===this.anchor1.stemDir&&(e=!0),this.anchor2&&"down"===this.anchor2.stemDir&&(e=!0);for(var t=0;te&&(e=this.internalNotes[t].highestVert);e>this.startY&&e>this.endY&&(this.startY=this.endY=e-1)}},t.prototype.getYBounds=function(){var e,t;return this.isTie?(this.calcTieDirection(),this.calcX(10,1e3),this.calcTieY()):(this.calcSlurDirection(),this.calcX(10,1e3),this.calcSlurY()),this.above?e=(t=Math.min(this.startY,this.endY))+3:t=(e=Math.min(this.startY,this.endY))-3,[e,t]},e.exports=t},1134:function(e,t,r){var n=r(1716),a=r(6994);e.exports=function(e,t,r,i,s,o,c,l,h,u){if(this.rows=[],e.header&&o){var d=u.calc("X","headerfont","abcjs-header abcjs-meta-top").height;n(this.rows,{marginLeft:c,text:e.header.left,font:"headerfont",klass:"header meta-top",marginTop:-d,info:t.header,name:"header"},u),n(this.rows,{marginLeft:c+s/2,text:e.header.center,font:"headerfont",klass:"header meta-top",marginTop:-d,anchor:"middle",info:t.header,name:"header"},u),n(this.rows,{marginLeft:c+s,text:e.header.right,font:"headerfont",klass:"header meta-top",marginTop:-d,anchor:"end",info:t.header,name:"header"},u)}o&&this.rows.push({move:l.top});var f=r.titleleft?"start":"middle",p=r.titleleft?c:c+s/2;if(e.title){var m=h?"abcjs-title":"";a(this.rows,e.title,"titlefont",m,"title",p,{marginTop:l.title,anchor:f,absElemType:"title",info:t.title},u)}if(i.length)for(var g=0;g0){var v=!(!e.composer&&!e.origin);m=h?"abcjs-rhythm":"",n(this.rows,{marginLeft:c,text:e.rhythm,font:"infofont",klass:m,absElemType:"rhythm",noMove:v,info:t.rhythm,name:"rhythm"},u)}e.composer&&e.composer,e.origin&&e.origin;var b=e.composer?e.composer:"";e.origin&&("string"==typeof b&&"string"==typeof e.origin?b+=" ("+e.origin+")":"string"==typeof b&&"string"!=typeof e.origin?((b=[{text:b}]).push({text:" ("}),(b=b.concat(e.origin)).push({text:")"})):(b.push({text:" ("}),(b=b.concat(e.origin)).push({text:")"}))),b&&(m=h?"abcjs-composer":"",a(this.rows,b,"composerfont",m,"composer",c+s,{anchor:"end",absElemType:"composer",info:t.composer,ingroup:!0},u))}e.author&&e.author.length>0&&(m=h?"abcjs-author":"",a(this.rows,e.author,"composerfont",m,"author",c+s,{anchor:"end",absElemType:"author",info:t.author},u)),e.partOrder&&e.partOrder.length>0&&(m=h?"abcjs-part-order":"",a(this.rows,e.partOrder,"partsfont",m,"part-order",c,{absElemType:"partOrder",info:t.partOrder,anchor:"start"},u))}},2096:function(e){var t=function(e,t,r){this.type="TripletElem",this.anchor1=t,this.number=e,this.durationClass=("d"+Math.round(1e3*t.parent.durationClass)/1e3).replace(/\./,"-"),this.middleElems=[],this.flatBeams=r.flatBeams};t.prototype.isClosed=function(){return!!this.anchor2},t.prototype.middleNote=function(e){this.middleElems.push(e)},t.prototype.setCloseAnchor=function(e){this.anchor2=e,this.anchor1.parent.beam&&"up"!==this.anchor1.stemDir||(this.endingHeightAbove=4)},e.exports=t},3197:function(e){var t=function(e,t){this.children=[],this.beams=[],this.otherchildren=[],this.w=0,this.duplicate=!1,this.voicenumber=e,this.voicetotal=t,this.bottom=7,this.top=7,this.specialY={tempoHeightAbove:0,partHeightAbove:0,volumeHeightAbove:0,dynamicHeightAbove:0,endingHeightAbove:0,chordHeightAbove:0,lyricHeightAbove:0,lyricHeightBelow:0,chordHeightBelow:0,volumeHeightBelow:0,dynamicHeightBelow:0}};t.prototype.addChild=function(e){if("bar"===e.type){for(var t=!0,r=0;t&&r0&&"TempoElement"===t.children[0].type;t.elemset=[],o.beginGroup(e.paper,e.controller);for(var u=0;u=0&&f.setAttribute("class","abcjs-notehead"),f&&d.chordPos&&0!==d.name.indexOf("flags.")&&(p=(p=f.getAttribute("class"))?p+" abcjs-chord-pos-"+d.chordPos:"abcjs-chord-pos-"+d.chordPos,f.setAttribute("class",p))}}var p=t.type;if(("note"===t.type||"rest"===t.type)&&(t.counters=e.controller.classes.getCurrent(),p=(p+=" d"+Math.round(1e3*t.durationClass)/1e3).replace(/\./g,"-"),t.abcelem.pitches))for(var m=0;m0?g.classList[0]+" ":"";g.setAttribute("class",v+t.overrideClasses)}if(h)t.startChar=t.abcelem.startChar,t.endChar=t.abcelem.endChar,c.add(t,g,!1,l);else{t.elemset.push(g);var b=!1;"note"!==t.type&&"tabNumber"!==t.type||(b=!0),c.add(t,g,b,l)}}else t.elemset.length>0&&c.add(t,t.elemset[0],"note"===t.type,l);if(t.klass&&s(t.elemset,"mark","","#00ff00"),t.hint&&s(t.elemset,"abcjs-hint","",null),t.abcelem.abselem=t,t.heads&&t.heads.length>0){t.notePositions=[];for(var y=0;ys&&l>=14;)l-=2,o.setAttribute("font-size",l),c=o.getBBox()}var c=20,l=-3;function h(e){return"No Chord"===e?"N.C.":e}function u(e,t,r,n,a,i,s,o,c){var l={x:r,y:n,stroke:"none","font-size":a,"font-style":i.style,"font-family":i.face,"font-weight":i.weight,"text-decoration":i.decoration};return s&&(l["data-name"]=s),o&&(l.class=o),l["text-anchor"]=c?"middle":"start",e.paper.text(t,l,null,{"alignment-baseline":"middle"})}e.exports=function(e,t,r,a,d){var f=d.gchordfont,p=(d.partsfont,d.annotationfont),m=d.repeatfont,g=d.textfont,v=d.subtitlefont,b=50;e.paper.openGroup({klass:"abcjs-chord-grid"}),t.forEach((function(t){switch(t.type){case"text":u(e,t.text,r,e.y,16,g,null,null,!1),e.moveY(16);break;case"subtitle":u(e,t.subtitle,r,e.y+10,20,v,null,"abcjs-subtitle",!1),e.moveY(20);break;case"part":if(t.lines.length>0){u(e,t.name,r,e.y+10,20,v,t.name,"abcjs-part",!1),e.moveY(20);var d=t.lines[0].length,y=a/d;t.lines.forEach((function(t,a){var d=!1,g=!1;t.forEach((function(e){e.ending&&(d=!0),e.annotations&&e.annotations.length>0&&(g=!0)}));var v=g?14:d?10:0;t.forEach((function(t,a){if(!t.noBorder){e.paper.rect({x:r+a*y,y:e.y,width:y,height:v+b}),e.paper.rect({x:r+a*y+1,y:e.y+1,width:y-2,height:v+b-2});var d=0,g=0,x=e.y,k=r+y*a;t.hasStartRepeat&&(i(e,k,x,x+b+v,!0,v),d=12),t.hasEndRepeat&&(i(e,k+y,x,x+b+v,!1,v),g=12);var w=0;t.ending&&(w=u(e,t.ending,r+a*y+4,x+10,12,m,null,null,!1).getBBox().width+4),!function(e,t,r,a,i,s,u,d,f,p,m){var g=r+a*s;u[1]||u[2]||u[3]?u[1]||u[3]?function(e,t,r,n,a,i,s,u){var d=3;e.paper.lineToBack({x1:t+d,x2:t+n-d,y1:r+a/2+u,y2:r+a/2+u}),e.paper.lineToBack({x1:t+n/2,x2:t+n/2,y1:r+d+u,y2:r+a-d+u}),i[0]&&o(e,t+n/4,r+a/4+2+u+l,c,h(i[0]),s,n/2),i[1]&&o(e,t+3*n/4,r+a/4+2+u+l,c,h(i[1]),s,n/2),i[2]&&o(e,t+n/4,r+3*a/4+u+l,c,h(i[2]),s,n/2),i[3]&&o(e,t+3*n/4,r+3*a/4+u+l,c,h(i[3]),s,n/2)}(e,g,t,a-f,p,u,d,m):function(e,t,r,n,a,i,s,c,h){e.paper.lineToBack({x1:t,x2:t+n,y1:r+a+h,y2:r+2}),o(e,t+n/4,r+a/4+5+h+l,26,i,c,n/2),o(e,t+3*n/4,r+3*a/4+h+l,26,s,c,n/2)}(e,g,t,a-f,p,u[0],u[2],d,m):function(e,t,r,a,i,s,c,h){"%"===s?function(e,t,r,a){var i=t-10,s=t+10,o=r+10,c=r-10,l=t-10,h=2-e.yToPitch(a),u=t+6.5,d=-e.yToPitch(a)-2.3;e.paper.lineToBack({x1:i,x2:s,y1:o,y2:c,"stroke-width":"3px","stroke-linecap":"round"}),n(e,l,h,"dots.dot",{scalex:1,scaley:1,klass:"",name:"dot"}),n(e,u,d,"dots.dot",{scalex:1,scaley:1,klass:"",name:"dot"})}(e,t+a/2,r+i/2,h+i/2):o(e,t+a/2,r+i/2+l,34,s,c,a)}(e,g,t+m,a-f,p,u[0],d,m)}(e,x,r+d,y,0,a,t.chord,f,d+g,b,v),t.annotations&&t.annotations.length>0&&function(e,t,r,a,i){r+=3;for(var o=0;or.formatting.maxStaves)break;t.shouldAddClasses&&(b.klass="abcjs-staff-wrapper abcjs-l"+t.lineNumber),e.paper.openGroup(b),C.vskip&&e.moveY(C.vskip),x.length>=1&&h(e,e.spacing.staffSeparation,x[x.length-1],C.staffGroup);var T=l(e,C.staffGroup,v,w);T.line=m+w,x.push(T),e.paper.closeGroup()}else C.nonMusic&&(t.shouldAddClasses&&(b.klass="abcjs-non-music"),e.paper.openGroup(b),i(e,C.nonMusic,v),e.paper.closeGroup())}return t.reset(),y||r.bottomText&&r.bottomText.rows&&r.bottomText.rows.length>0&&(t.shouldAddClasses&&(b.klass="abcjs-meta-bottom"),e.paper.openGroup(b),e.moveY(24),i(e,r.bottomText,v),e.paper.closeGroup()),a(e,s,d,u),{staffgroups:x,selectables:v.getElements()}}},9879:function(e,t,r){var n=r(4777);e.exports=function(e,t,r){void 0===t.pitch&&window.console.error("Dynamic Element y-coordinate not set.");var a=n(e,t.anchor.x,t.pitch,t.dec,{scalex:1,scaley:1,klass:e.controller.classes.generate("decoration dynamics"),fill:e.foregroundColor,stroke:"none",name:"dynamics"});return r.wrapSvgEl({el_type:"dynamicDecoration",startChar:-1,endChar:-1,decoration:t.dec},a),[a]}},5947:function(e,t,r){var n=r(6764),a=r(5759),i=r(6454),s=r(7199);e.exports=function(e,t,r,o,c){void 0===t.pitch&&window.console.error("Ending Element y-coordinate not set.");var l=s(e.calcY(t.pitch)),h="";t.anchor1&&(r=s(t.anchor1.x+t.anchor1.w),h+=n("M %f %f L %f %f ",r,l,r,s(l+20))),t.anchor2&&(o=s(t.anchor2.x),h+=n("M %f %f L %f %f ",o,l,o,s(l+20))),h+=n("M %f %f L %f %f ",r,l,o,l),e.paper.openGroup({klass:e.controller.classes.generate("ending"),fill:e.foregroundColor,"data-name":"ending"}),i(e,{path:h,stroke:e.foregroundColor,fill:e.foregroundColor,"data-name":"line"}),t.anchor1&&a(e,{x:s(r+5),y:s(e.calcY(t.pitch-.5)),text:t.text,type:"repeatfont",klass:"ending",anchor:"start",noClass:!0,name:t.text});var u=e.paper.closeGroup();return c.wrapSvgEl({el_type:"ending",startChar:-1,endChar:-1},u),[u]}},9045:function(e,t,r){var n=r(6764),a=r(6454),i=r(7199);function s(e,t,r){return i(e+r*t)}var o=[[3.5,-4.8]],c=[[1.5,-1],[.3,-.3],[-3.5,3.8]],l=[[-1.5,2]],h=[[3,4],[3,-4]],u=[[-3,4],[-3,-4]];function d(e,t){for(var r="",n=0;n1&&s.indexOf(".")<0){var p=i.isInGroup()?"":o.klass;e.paper.openGroup({"data-name":o.name,klass:p});for(var m=0,g=0;g0?t.linewidth+e.lineThickness:t.linewidth-e.lineThickness;t.graphelem=a(e,t.x,u,o,e.calcY(t.pitch2),"abcjs-stem","stem");break;case"ledger":t.graphelem=i(e,t.x,t.x+t.w,t.pitch,"abcjs-ledger","ledger",.35+e.lineThickness)}return 1!==t.scalex&&t.graphelem&&function(e,t,r,n,a,i){e.setAttributeOnElement(t,{style:"transform:scale("+r+","+n+");transform-origin:"+a+"px "+i+"px;"})}(e.paper,t.graphelem,t.scalex,t.scaley,t.x,o),t.graphelem}},7199:function(e){e.exports=function(e){return parseFloat(e.toFixed(2))}},3524:function(e,t,r){var n=r(5741),a=r(5829);function i(e,t,r){this.elements=[],this.paper=e,this.tuneNumber=r,this.selectTypes=t}i.prototype.getElements=function(){return this.elements},i.prototype.add=function(e,t,r,n){if(this.canSelect(e)){var a;a=void 0===this.selectTypes?{selectable:!1,"data-index":this.elements.length}:{selectable:!0,tabindex:0,"data-index":this.elements.length},this.paper.setAttributeOnElement(t,a);var i={absEl:e,svgEl:t,isDraggable:r};void 0!==n&&(i.staffPos=n),this.elements.push(i)}},i.prototype.canSelect=function(e){return!(!1===this.selectTypes||!e||!e.abcelem||!0!==this.selectTypes&&!(void 0===this.selectTypes?"note"===e.abcelem.el_type||"tabNumber"===e.abcelem.el_type:this.selectTypes.indexOf(e.abcelem.el_type)>=0))},i.prototype.wrapSvgEl=function(e,t){var r={tuneNumber:this.tuneNumber,abcelem:e,elemset:[t],highlight:n,unhighlight:a};this.add(r,t,!1)},e.exports=i},4169:function(e){e.exports=function(e,t){var r=Math.round(e.y),n=(e.controller.width-t)/2,a=n+t,i="M "+n+" "+r+" L "+a+" "+r+" L "+a+" "+(r+1)+" L "+n+" "+(r+1)+" L "+n+" "+r+" z";e.paper.pathToBack({path:i,stroke:"rgba(0,0,0,0)",fill:"rgba(0,0,0,255)",class:e.controller.classes.generate("defined-text")})}},7611:function(e){e.exports=function(e,t,r,n){var a=(t+e.padding.left+e.padding.right)*r,i=(e.y+e.padding.bottom)*r;if(e.isPrint&&(i=Math.max(i,1056)),""!==e.ariaLabel){var s="Sheet Music";e.abctune&&e.abctune.metaText&&e.abctune.metaText.title&&(s+=' for "'+e.abctune.metaText.title+'"'),e.paper.setTitle(s);var o=e.ariaLabel?e.ariaLabel:s;e.paper.setAttribute("aria-label",o)}e.paper.insertStyles(".abcjs-dragging-in-progress text, .abcjs-dragging-in-progress tspan {"+["-webkit-touch-callout: none;","-webkit-user-select: none;","-khtml-user-select: none;","-moz-user-select: none;","-ms-user-select: none;","user-select: none;"].join(" ")+"}");var c={overflow:"hidden"};"resize"===n?e.paper.setResponsiveWidth(a,i):(c.width="",c.height=i+"px",r<1?(c.width=a+"px",e.paper.setSize(a/r,i/r)):e.paper.setSize(a,i)),e.paper.setScale(r),e.paper.setParentStyles(c)}},6764:function(e){function t(e){return t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},t(e)}e.exports=function(){for(var e,r,n,a,i,s=0,o=arguments[s++],c=[];o;){if(r=/^[^\x25]+/.exec(o))c.push(r[0]);else if(r=/^\x25{2}/.exec(o))c.push("%");else{if(!(r=/^\x25(?:(\d+)\$)?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-fosuxX])/.exec(o)))throw"Huh ?!";if(null==(e=arguments[r[1]||s++])||null==e)throw"Too few arguments.";if(/[^s]/.test(r[7])&&"number"!=typeof e)throw"Expecting number but found "+t(e);switch(r[7]){case"b":e=e.toString(2);break;case"c":e=String.fromCharCode(e);break;case"d":e=parseInt(e);break;case"e":e=r[6]?e.toExponential(r[6]):e.toExponential();break;case"f":e=r[6]?parseFloat(e).toFixed(r[6]):parseFloat(e);break;case"o":e=e.toString(8);break;case"s":e=(e=String(e))&&r[6]?e.substring(0,r[6]):e;break;case"u":e=Math.abs(e);break;case"x":e=e.toString(16);break;case"X":e=e.toString(16).toUpperCase()}e=/[def]/.test(r[7])&&r[2]&&e>0?"+"+e:e,a=r[3]?"0"==r[3]?"0":r[3][1]:" ",i=r[5]-String(e).length,n=r[5]?str_repeat(a,i):"",c.push(r[4]?e+n:n+e)}o=o.substring(r[0].length)}return c.join("")}},5537:function(e,t,r){var n=r(4331),a=r(129),i=r(3145),s=r(7641),o=r(1547),c=r(3624),l=r(5668);function h(e,t,r,i,s){if(r)for(var o=0;o=0&&v.voices&&u(e,t.voices,v.voices),e.showDebug.indexOf("grid")>=0&&(e.paper.dottedLine({x1:e.padding.left,x2:e.padding.left+e.controller.width,y1:m,y2:m,stroke:"#0000ff"}),o(e,{x:e.padding.left,y:e.calcY(v.originalTop),width:e.controller.width,height:e.calcY(v.originalBottom)-e.calcY(v.originalTop),fill:e.foregroundColor,stroke:e.foregroundColor,"fill-opacity":.1,"stroke-opacity":.1}),d=0,E(v,"chordHeightAbove"),E(v,"chordHeightBelow"),E(v,"dynamicHeightAbove"),E(v,"dynamicHeightBelow"),E(v,"endingHeightAbove"),E(v,"lyricHeightAbove"),E(v,"lyricHeightBelow"),E(v,"partHeightAbove"),E(v,"tempoHeightAbove"),E(v,"volumeHeightAbove"),E(v,"volumeHeightBelow"))),e.moveY(n.STEP,-v.bottom),e.showDebug&&e.showDebug.indexOf("grid")>=0&&e.paper.dottedLine({x1:e.padding.left,x2:e.padding.left+e.controller.width,y1:e.y,y2:e.y,stroke:"#0000aa"})}for(var b=2,y=0,x=0;x6&&(d=0)}}_>1&&(f=t.staffs[0].topLine,p=t.staffs[_-1].bottomLine,c(e,t.startx,.6,f,p,null)),e.y=m}},7865:function(e,t,r){var n=r(6637);e.exports=function(e,t,r,a,i,s,o){var c=e.calcY(a);return n(e,t,r,c,i,s,o)}},7641:function(e,t,r){var n=r(7865);e.exports=function(e,t,r,a,i,s){var o="abcjs-top-line",c=2;i&&(c=i),e.paper.openGroup({prepend:!0,klass:e.controller.classes.generate("abcjs-staff")});var l=0,h=0;if(1===a)n(e,t,r,6,o,null,s+e.lineThickness),l=e.calcY(10),h=e.calcY(2);else for(var u=a-1;u>=0;u--){var d=(u+1)*c;h=e.calcY(d),0===l&&(l=h),n(e,t,r,d,o,null,s+e.lineThickness),o=void 0}return e.paper.closeGroup(),[l,h]}},3987:function(e,t,r){var n=r(2435),a=r(5759);e.exports=function(e,t){var r=t.x;void 0===t.pitch&&window.console.error("Tempo Element y-coordinate not set."),t.tempo.el_type="tempo";var i,s=e.calcY(t.pitch)+2;if(t.tempo.preString){i=a(e,{x:r,y:s,text:t.tempo.preString,type:"tempofont",klass:"abcjs-tempo",anchor:"start",noClass:!0,name:"pre"},!0);var o=e.controller.getTextSize.calc(t.tempo.preString,"tempofont","tempo",i).width;r+=o+o/t.tempo.preString.length}if(t.note){t.note.setX(r);for(var c=0;c.1||(this.scale=void 0),t.staffwidth?(this.staffwidthScreen=t.staffwidth,this.staffwidthPrint=t.staffwidth):(this.staffwidthScreen=740,this.staffwidthPrint=680),this.listeners=[],t.clickListener&&this.addSelectListener(t.clickListener),this.renderer=new i(e),this.renderer.setPaddingOverride(t),t.showDebug&&(this.renderer.showDebug=t.showDebug),t.jazzchords&&(this.jazzchords=t.jazzchords),t.accentAbove&&(this.accentAbove=t.accentAbove),t.germanAlphabet&&(this.germanAlphabet=t.germanAlphabet),t.lineThickness&&(this.lineThickness=t.lineThickness),t.chordGrid&&(this.chordGrid=t.chordGrid),this.renderer.controller=this,this.renderer.foregroundColor=t.foregroundColor?t.foregroundColor:"currentColor",void 0!==t.ariaLabel&&(this.renderer.ariaLabel=t.ariaLabel),this.renderer.minPadding=t.minPadding?t.minPadding:0,this.reset()};function x(e){for(var t=document.createElementNS("http://www.w3.org/2000/svg","svg"),r=0;r0)for(var o=s.staffGroup.voices[0],c=!1,l=0,h=0;hthis.width+1&&(e.topText=new l(e.metaText,e.metaTextInfo,e.formatting,e.lines,i,this.renderer.isPrint,this.renderer.padding.left,this.renderer.spacing,this.classes.shouldAddClasses,this.getTextSize),e.lines&&e.lines.length>0))for(var s=e.lines.length,o=0;o0)for(var h=c.nonMusic.rows.length,f=0;f0&&c.text[0].center)&&(p.left=i/2+this.renderer.padding.left)}}e.tablatures&&v.layoutTablatures(this.renderer,e);var m=g(this.renderer,this.classes,e,this.width,i,this.responsive,a,this.selectTypes,t,r,this.chordGrid);if(this.staffgroups=m.staffgroups,this.selectables=m.selectables,this.oneSvgPerLine){var b=this.renderer.paper.svg.parentNode;this.svgs=function(e,t,r,n,a){r||(r="Untitled");var i=t.querySelector("svg");"resize"===n&&(t.style.paddingBottom="");for(var s=i.querySelector("style"),o="resize"===n?i.viewBox.baseVal.width:i.getAttribute("width"),c=t.querySelectorAll("svg > g"),l=0,h=[],u=0;u0&&t.push(e),"abcjs-tab-number"===e)return t.join(" ");if("text instrument-name"===e)return"abcjs-text abcjs-instrument-name";if(null!==this.lineNumber&&t.push("l"+this.lineNumber),null!==this.measureNumber&&t.push("m"+this.measureNumber),null!==this.measureNumber&&t.push("mm"+this.measureTotal()),null!==this.voiceNumber&&t.push("v"+this.voiceNumber),e&&(e.indexOf("note")>=0||e.indexOf("rest")>=0||e.indexOf("lyric")>=0)&&null!==this.noteNumber&&t.push("n"+this.noteNumber),t.length>0){t=(t=t.join(" ")).split(" ");for(var r=0;r0&&(t[r]="abcjs-"+t[r])}return t.join(" ")},e.exports=t},1328:function(e){var t=function(e,t){this.formatting=e,this.classes=t};t.prototype.updateFonts=function(e){e.gchordfont&&(this.formatting.gchordfont=e.gchordfont),e.tripletfont&&(this.formatting.tripletfont=e.tripletfont),e.annotationfont&&(this.formatting.annotationfont=e.annotationfont),e.vocalfont&&(this.formatting.vocalfont=e.vocalfont)},t.prototype.getFamily=function(e){return'"'===e[0]&&'"'===e[e.length-1]?e.substring(1,e.length-1):e},t.prototype.calc=function(e,t){var r;r="string"==typeof e?(r=this.formatting[e])?{face:r.face,size:Math.round(4*r.size/3),decoration:r.decoration,style:r.style,weight:r.weight,box:r.box}:{face:"Arial",size:Math.round(16),decoration:"underline",style:"normal",weight:"normal"}:{face:e.face,size:Math.round(4*e.size/3),decoration:e.decoration,style:e.style,weight:e.weight,box:e.box};var n=this.formatting.fontboxpadding?this.formatting.fontboxpadding:.1;return r.padding=r.size*n,{font:r,attr:{"font-size":r.size,"font-style":r.style,"font-family":this.getFamily(r.face),"font-weight":r.weight,"text-decoration":r.decoration,class:this.classes.generate(t)}}},e.exports=t},9799:function(e){var t=function(e,t){this.getFontAndAttr=e,this.svg=t};t.prototype.updateFonts=function(e){this.getFontAndAttr.updateFonts(e)},t.prototype.attr=function(e,t){return this.getFontAndAttr.calc(e,t)},t.prototype.getFamily=function(e){return'"'===e[0]&&'"'===e[e.length-1]?e.substring(1,e.length-1):e},t.prototype.calc=function(e,t,r,n){var a;a="string"==typeof t?this.attr(t,r):{font:{face:t.face,size:t.size,decoration:t.decoration,style:t.style,weight:t.weight},attr:{"font-size":t.size,"font-style":t.style,"font-family":this.getFamily(t.face),"font-weight":t.weight,"text-decoration":t.decoration,class:this.getFontAndAttr.classes.generate(r)}};var i=this.svg.getTextSize(e,a.attr,n);return a.font.box?{height:i.height+4*a.font.padding,width:i.width+4*a.font.padding}:i},t.prototype.baselineToCenter=function(e,t,r,n,a){return.5*this.calc(e,t,r).height+(a-n-2)*this.attr(t,r).font.size},e.exports=t},2187:function(e){e.exports=function(e,t,r,n){if(e)for(var a=0;a0&&(o.length>0&&" "!==o[o.length-1]&&(o+=" "),o+=t),i.setAttribute("class",o)}}},4331:function(e){var t={FONTEM:360,FONTSIZE:30};t.STEP=93*t.FONTSIZE/720,t.SPACE=10,t.TOPNOTE=15,t.STAVEHEIGHT=100,t.INDENT=50,e.exports=t},8123:function(e){function t(e,t,r,n){if(0===e.indexOf(t)){var a=e.replace(t,""),i=parseInt(a,10);""+i===a&&(r[n]=i)}}e.exports=function(e,r){var n=[];if(e.absEl.elemset){for(var a={},i=0;i=0&&r=0?(a=function(e,t,r){return e.x<=t.offsetX&&e.x+e.width>=t.offsetX&&e.y<=t.offsetY&&e.y+e.height>=t.offsetY||Math.abs(t.layerY/r-t.offsetY)<3?[t.offsetX,t.offsetY]:[t.layerX,t.layerY]}(e.selectables[i].svgEl.getBBox(),t,e.scale),r=a[0],n=a[1]):(a=function(e){var t,r,n=1,a=1,i=e.target.closest("svg"),s=0;return i&&i.viewBox&&i.viewBox.baseVal&&(0!==i.viewBox.baseVal.width&&(n=i.viewBox.baseVal.width/i.clientWidth),0!==i.viewBox.baseVal.height&&(a=i.viewBox.baseVal.height/i.clientHeight),s=i.viewBox.baseVal.y),e.target&&"svg"===e.target.tagName?(t=e.offsetX,r=e.offsetY):(t=e.layerX,r=e.layerY),[t*=n,(r*=a)+s]}(t),i=function(e,t,r){for(var n=9999999,a=-1,i=0;i0;i++){var s=e.selectables[i];if(e.getDim(s),s.dim.leftt&&s.dim.topr)a=i,n=0;else if(s.dim.topr){var o=Math.min(Math.abs(s.dim.left-t),Math.abs(s.dim.right-t));ot){var c=Math.min(Math.abs(s.dim.top-r),Math.abs(s.dim.bottom-r));cMath.abs(t-s.dim.right)?Math.abs(t-s.dim.right):Math.abs(t-s.dim.left),h=Math.abs(r-s.dim.top)>Math.abs(r-s.dim.bottom)?Math.abs(r-s.dim.bottom):Math.abs(r-s.dim.top),u=Math.sqrt(l*l+h*h);u=0&&n<=12?a:-1}(e,r=a[0],n=a[1])),{x:r,y:n,clickedOn:i}}function l(e){if(e&&e.target&&e.touches&&!(e.touches.length<1)){var t=e.target.getBoundingClientRect(),r=e.touches[0].pageX-t.left,n=e.touches[0].pageY-t.top;e.touches[0].offsetX=r,e.touches[0].offsetY=n,e.touches[0].layerX=e.touches[0].pageX,e.touches[0].layerY=e.touches[0].pageY}}function h(e){var t=e;"touchstart"===e.type&&(l(e),e.touches.length>0&&(t=e.touches[0]));var r=c(this,t);r.clickedOn>=0&&("touchstart"===e.type||0===e.button)&&this.selectables[r.clickedOn]&&(this.dragTarget=this.selectables[r.clickedOn],this.dragIndex=r.clickedOn,this.dragMechanism="mouse",this.dragMouseStart={x:r.x,y:r.y},this.dragging&&this.dragTarget.isDraggable&&(function(e,t){if(e){var r=v(e.svg);r[t]=!0,b(e.svg,r)}}(this.renderer.paper,"abcjs-dragging-in-progress"),this.dragTarget.absEl.highlight(void 0,this.dragColor)))}function u(e){var t=e;if("touchmove"===e.type&&(l(e),e.touches.length>0&&(t=e.touches[0])),this.lastTouchMove=e,this.dragTarget&&this.dragging&&this.dragTarget.isDraggable&&"mouse"===this.dragMechanism&&this.dragMouseStart){var r=c(this,t),a=Math.round((r.y-this.dragMouseStart.y)/n.STEP);a!==this.dragYStep&&(this.dragYStep=a,this.dragTarget.svgEl.setAttribute("transform","translate(0,"+a*n.STEP+")"))}}function d(e){var t=e;"touchend"===e.type&&this.lastTouchMove&&(l(this.lastTouchMove),this.lastTouchMove&&this.lastTouchMove.touches&&this.lastTouchMove.touches.length>0&&(t=this.lastTouchMove.touches[0])),this.dragTarget&&(m.bind(this)(),this.dragTarget.absEl&&this.dragTarget.absEl.highlight&&(this.selected=[this.dragTarget.absEl],this.dragTarget.absEl.highlight(void 0,this.selectionColor)),p.bind(this)(this.dragTarget,this.dragYStep,this.selectables.length,this.dragIndex,t),this.dragTarget.svgEl&&this.dragTarget.svgEl.focus&&(this.dragTarget.svgEl.focus(),this.dragTarget=null,this.dragIndex=-1),function(e,t){if(e){var r=v(e.svg);delete r[t],b(e.svg,r)}}(this.renderer.svg,"abcjs-dragging-in-progress"))}function f(e){e>=0&&eo&&e=0;r--)if(!e[r].abcelem.rest)return r;return-1}e.exports=function(e){if(0!==e.elems.length&&!e.allrests){var t=function(e,t){var r=e?a.STEP:-a.STEP;return t&&(r*=.4),r}(e.stemsUp,e.isgrace),r=e.elems[0],u=e.elems[e.elems.length-1],d=0,f=e.stemsUp?r.abcelem.maxpitch:r.abcelem.minpitch;d=o(r,e.stemsUp,f,d),d=o(u,e.stemsUp,f,d),d=Math.max(e.stemHeight,d+3);var p=(b=e.average,y=e.elems.length,x=d,k=e.stemsUp,w=r.abcelem.averagepitch,C=u.abcelem.averagepitch,T=e.isflat,S=e.min,_=e.max,E=e.isgrace,M=x-2,A=x-2,N=Math.round(k?Math.max(b+M,_+A):Math.min(b-M,S-A)),B=function(e,t,r,n){if(n)return 0;var a=e-t,i=r/2;return a>i&&(a=i),a<-i&&(a=-i),a}(w,C,y,T),P=N+Math.floor(B/2),L=N+Math.floor(-B/2),E||(k&&N<6||!k&&N>6)&&(P=6,L=6),[P,L]),m=c(e.stemsUp,r,u);e.addBeam({startX:m[0],endX:m[1],startY:p[0],endY:p[1],dy:t});for(var g=function(e,t,r,n,a){for(var o=[],u=[],d=0;d0&&f.abcelem.beambr&&f.abcelem.beambr<=x+1){u[x].split||(u[x].split=[u[x].x]);var k=c(t,e[d-1],f);u[x].split[u[x].split.length-1]>=k[0]&&(k[0]+=f.w),u[x].split.push(k[0]),u[x].split.push(k[1])}}for(var w=u.length-1;w>=0;w--){var C=l(e,d);if(-1===C||C-w-4){var T=m,S=g+v*(w+1);if(u[w].single){var _=h(e,d);if(-1===_)T=m+5;else if(-1===C)T=m-5;else{var E=e[_].abcelem.duration,M=e[C].abcelem.duration;T=E===M?d%2==0?m+5:m-5:E0?((a=(r-(n-i*a))/i)*s>50&&(a=50/s),a):null}function u(e){for(var t=0;t1){var o=i[0].abcelem.rest&&"rest"===i[0].abcelem.rest.type,c=i[s].abcelem.rest&&"rest"===i[s].abcelem.rest.type;if(o&&!i[s].abcelem.rest){var l=i[0].children.find((function(e){return e.name.includes("rest")})),h=d(i[s]);if(l){var u=l.bottom-h;(u-=2)<0&&i[0].children.length>0&&(i[0].bottom-=u,i[0].top-=u,i[0].children[0].bottom-=u,i[0].children[0].top-=u,i[0].children[0].pitch-=u)}}else if(c&&!i[0].abcelem.rest){var p=i[s].children.find((function(e){return e.name.includes("rest")}));if(p){var m=p.top-f(i[0]);(m+=2)>0&&i[s].children.length>0&&(i[s].bottom-=m,i[s].top-=m,i[s].children[0].bottom-=m,i[s].children[0].top-=m,i[s].children[0].pitch-=m)}}}}}function d(e){if(e.children){for(var t=-90,r=0;r-90)return t}return e.top}function f(e){if(e.children){for(var t=90,r=0;rMath.round(p)&&(p=m,s&&(d=-1)))}for(d=0;d=0&&(c.originalTop=c.top,c.originalBottom=c.bottom),i(c,l,"lyricHeightAbove"),i(c,l,"chordHeightAbove",c.specialY.chordLines.above),c.specialY.endingHeightAbove&&(c.specialY.chordHeightAbove?c.top+=2:c.top+=c.specialY.endingHeightAbove+a,l.endingHeightAbove=c.top),c.specialY.dynamicHeightAbove&&c.specialY.volumeHeightAbove?(c.top+=Math.max(c.specialY.dynamicHeightAbove,c.specialY.volumeHeightAbove)+a,l.dynamicHeightAbove=c.top,l.volumeHeightAbove=c.top):(i(c,l,"dynamicHeightAbove"),i(c,l,"volumeHeightAbove")),i(c,l,"partHeightAbove"),i(c,l,"tempoHeightAbove"),c.specialY.lyricHeightBelow&&(c.specialY.lyricHeightBelow+=e.spacing.vocal/n.STEP,l.lyricHeightBelow=c.bottom,c.bottom-=c.specialY.lyricHeightBelow+a),c.specialY.chordHeightBelow){l.chordHeightBelow=c.bottom;var h=c.specialY.chordHeightBelow;c.specialY.chordLines.below&&(h*=c.specialY.chordLines.below),c.bottom-=h+a}c.specialY.volumeHeightBelow&&c.specialY.dynamicHeightBelow?(l.volumeHeightBelow=c.bottom,l.dynamicHeightBelow=c.bottom,c.bottom-=Math.max(c.specialY.volumeHeightBelow,c.specialY.dynamicHeightBelow)+a):c.specialY.volumeHeightBelow?(l.volumeHeightBelow=c.bottom,c.bottom-=c.specialY.volumeHeightBelow+a):c.specialY.dynamicHeightBelow&&(l.dynamicHeightBelow=c.bottom,c.bottom-=c.specialY.dynamicHeightBelow+a),e.showDebug&&e.showDebug.indexOf("box")>=0&&(c.positionY=l);for(var u=0;u0&&(c.top+=p)}c.top+=e.spacing.staffTopMargin/n.STEP,r=2-c.bottom}}},735:function(e,t,r){var n=r(937);function a(e){for(var t=0;t0?0:5e-7)}e.exports=function(e,t,r,s,o){var c,l=0,h=1e3,u=o;s.startx=u;var d,f,p=0;for(r&&console.log("init layout",e),c=0;c1e-7?v.push(s.voices[c]):g.push(s.voices[c]);m=0;var b=0;for(c=0;cu&&(u=n.getNextX(g[c]),m=n.getSpacingUnits(g[c]),b=g[c].spacingduration);l+=m,h=Math.min(h,m),r&&console.log("currentduration: ",p,l,h);var y=void 0;for(c=0;c0){u=w;for(var T=0;Tu&&(u=n.getNextX(s.voices[c]),m=n.getSpacingUnits(s.voices[c]));return function(e){for(var t=0,r=0;r0){var a=n.children.length-1,i=n.children[a];if("bar"===i.abcelem.el_type){var s=i.children[0].x;s>t?t=s:i.children[0].x=t}}}}(s.voices),l+=m,s.setWidth(u),{spacingUnits:l,minSpace:h}}},1277:function(e){e.exports=function(e){for(var t=[],r=0;r=r}(e);if(e.up=i,e.startNote=i?Math.max(e.anchor1.parent.top,9)+4:Math.min(e.anchor1.parent.bottom,0)-2,e.endNote=i?Math.max(e.anchor2.parent.top,9)+4:Math.min(e.anchor2.parent.bottom,0)-2,"rest"===e.anchor1.parent.type&&"rest"!==e.anchor2.parent.type?e.startNote=e.endNote:"rest"===e.anchor2.parent.type&&"rest"!==e.anchor1.parent.type&&(e.endNote=e.startNote),i){for(var s=0,o=0;oe.startNote||s>e.endNote)&&(e.startNote=s+3,e.endNote=s+3)}else{var c=0;for(o=0;o=e.children.length},t.getNextX=function(e){return Math.max(e.minx,e.nextx)},t.getSpacingUnits=function(e){return Math.sqrt(8*e.spacingduration)},t.layoutOneItem=function(e,t,r,n,a){var i=r.children[r.i];if(!i)return 0;var s=e-r.minx,o=r.durationindex+i.duration>0?n:0;if("note"===i.abcelem.el_type&&!i.abcelem.rest&&0!==r.voicenumber&&a){var c=a.children[a.i],l=c&&(i.abcelem.maxpitch<=c.abcelem.maxpitch+1&&i.abcelem.maxpitch>=c.abcelem.minpitch-1||i.abcelem.minpitch<=c.abcelem.maxpitch+1&&i.abcelem.minpitch>=c.abcelem.minpitch-1);if(l&&i.abcelem.minpitch===c.abcelem.minpitch&&i.abcelem.maxpitch===c.abcelem.maxpitch&&c.heads&&c.heads.length>0&&i.heads&&i.heads.length>0&&c.heads[0].c===i.heads[0].c&&(l=!1),l){var h=c.heads&&c.heads.length>0?c.heads[0].realWidth:c.fixed.w;i.adjustedWidth||(i.adjustedWidth=h+i.w),i.w=i.adjustedWidth;for(var u=0;u0&&t.putChordInLane(n),void(e[n]=r.right);e.push(r.right),t.putChordInLane(e.length-1)}}function c(e){for(var t=0,r=0;r=0;r--)(n=e[t].children[r]).chordHeightBelow&&o(i,n)}return(a.length>1||i.length>1)&&function(e,t,r){for(var n=0;n=0};i.prototype.reset=function(){this.paper.clear(),this.y=0,this.abctune=null,this.path=null,this.isPrint=!1,this.lineThickness=0,this.initVerticalSpace()},i.prototype.newTune=function(e){this.abctune=e,this.setVerticalSpace(e.formatting),this.isPrint="print"===e.media,this.setPadding(e)},i.prototype.setLineThickness=function(e){this.lineThickness=e},i.prototype.setPaddingOverride=function(e){this.paddingOverride={top:e.paddingtop,bottom:e.paddingbottom,right:e.paddingright,left:e.paddingleft}},i.prototype.setPadding=function(e){function t(t,r,n,a,i){void 0!==e.formatting[n]?t.padding[r]=e.formatting[n]:void 0!==t.paddingOverride[r]?t.padding[r]=t.paddingOverride[r]:t.isPrint?t.padding[r]=a:t.padding[r]=i}t(this,"top","topmargin",38,15),t(this,"bottom","botmargin",38,15),t(this,"left","leftmargin",68,15),t(this,"right","rightmargin",68,15)},i.prototype.adjustNonScaledItems=function(e){this.padding.top/=e,this.padding.bottom/=e,this.padding.left/=e,this.padding.right/=e,this.abctune.formatting.headerfont.size/=e,this.abctune.formatting.footerfont.size/=e},i.prototype.initVerticalSpace=function(){this.spacing={composer:7.56,graceBefore:8.67,graceInside:10.67,graceAfter:16,info:0,lineSkipFactor:1.1,music:7.56,paragraphSkipFactor:.4,parts:11.33,slurHeight:1,staffSeparation:61.33,staffTopMargin:0,stemHeight:36.67,subtitle:3.78,systemStaffSeparation:48,text:18.9,title:7.56,top:30.24,vocal:0,words:0}},i.prototype.setVerticalSpace=function(e){void 0!==e.staffsep&&(this.spacing.staffSeparation=4*e.staffsep/3),void 0!==e.composerspace&&(this.spacing.composer=4*e.composerspace/3),void 0!==e.partsspace&&(this.spacing.parts=4*e.partsspace/3),void 0!==e.textspace&&(this.spacing.text=4*e.textspace/3),void 0!==e.musicspace&&(this.spacing.music=4*e.musicspace/3),void 0!==e.titlespace&&(this.spacing.title=4*e.titlespace/3),void 0!==e.sysstaffsep&&(this.spacing.systemStaffSeparation=4*e.sysstaffsep/3),void 0!==e.stafftopmargin&&(this.spacing.staffTopMargin=4*e.stafftopmargin/3),void 0!==e.subtitlespace&&(this.spacing.subtitle=4*e.subtitlespace/3),void 0!==e.topspace&&(this.spacing.top=4*e.topspace/3),void 0!==e.vocalspace&&(this.spacing.vocal=4*e.vocalspace/3),void 0!==e.wordsspace&&(this.spacing.words=4*e.wordsspace/3)},i.prototype.calcY=function(e){return this.y-e*n.STEP},i.prototype.yToPitch=function(e){return e/n.STEP},i.prototype.moveY=function(e,t){void 0===t&&(t=1),this.y+=e*t},i.prototype.absolutemoveY=function(e){this.y=e},e.exports=i},4101:function(e){var t="http://www.w3.org/2000/svg";function r(e){this.svg=s(),this.currentGroup=[],e.appendChild(this.svg)}function n(e,t,r){var n=r-e;return"M "+e+" "+t+" l "+n+" 0 l 0 1 l "+-n+" 0 z "}function a(e,t,r){var n=r-t;return"M "+e+" "+t+" l 0 "+n+" l 1 0 l 0 "+-n+" z "}r.prototype.clear=function(){if(this.svg){var e=this.svg.parentNode;this.svg=s(),this.currentGroup=[],e&&(e.innerHTML="",e.appendChild(this.svg))}},r.prototype.setTitle=function(e){var t=document.createElement("title"),r=document.createTextNode(e);t.appendChild(r),this.svg.insertBefore(t,this.svg.firstChild)},r.prototype.setResponsiveWidth=function(e,t){if(this.svg.setAttribute("viewBox","0 0 "+e+" "+t),this.svg.setAttribute("preserveAspectRatio","xMinYMin meet"),this.svg.removeAttribute("height"),this.svg.removeAttribute("width"),this.svg.style.display="inline-block",this.svg.style.position="absolute",this.svg.style.top="0",this.svg.style.left="0",this.svg.parentNode){var r=this.svg.parentNode.getAttribute("class");r?r.indexOf("abcjs-container")<0&&this.svg.parentNode.setAttribute("class",r+" abcjs-container"):this.svg.parentNode.setAttribute("class","abcjs-container"),this.svg.parentNode.style.display="inline-block",this.svg.parentNode.style.position="relative",this.svg.parentNode.style.width="100%";var n=t/e*100;this.svg.parentNode.style["padding-bottom"]=n+"%",this.svg.parentNode.style["vertical-align"]="middle",this.svg.parentNode.style.overflow="hidden"}},r.prototype.setSize=function(e,t){this.svg.setAttribute("width",e),this.svg.setAttribute("height",t)},r.prototype.setAttribute=function(e,t){this.svg.setAttribute(e,t)},r.prototype.setScale=function(e){1!==e?(this.svg.style.transform="scale("+e+","+e+")",this.svg.style["-ms-transform"]="scale("+e+","+e+")",this.svg.style["-webkit-transform"]="scale("+e+","+e+")",this.svg.style["transform-origin"]="0 0",this.svg.style["-ms-transform-origin-x"]="0",this.svg.style["-ms-transform-origin-y"]="0",this.svg.style["-webkit-transform-origin-x"]="0",this.svg.style["-webkit-transform-origin-y"]="0"):(this.svg.style.transform="",this.svg.style["-ms-transform"]="",this.svg.style["-webkit-transform"]="")},r.prototype.insertStyles=function(e){var r=document.createElementNS(t,"style");r.textContent=e,this.svg.insertBefore(r,this.svg.firstChild)},r.prototype.setParentStyles=function(e){for(var t in e)e.hasOwnProperty(t)&&this.svg.parentNode&&(this.svg.parentNode.style[t]=e[t]);this.dummySvg&&(document.querySelector("body").removeChild(this.dummySvg),this.dummySvg=null)},r.prototype.rect=function(e){var t=[],r=e.x,i=e.y,s=e.x+e.width,o=e.y+e.height;return t.push(n(r,i,s)),t.push(n(r,o,s)),t.push(a(s,i,o)),t.push(a(r,o,i)),this.path({path:t.join(" "),stroke:"none","data-name":e["data-name"]})},r.prototype.dottedLine=function(e){var r=document.createElementNS(t,"line");r.setAttribute("x1",e.x1),r.setAttribute("x2",e.x2),r.setAttribute("y1",e.y1),r.setAttribute("y2",e.y2),r.setAttribute("stroke",e.stroke),r.setAttribute("stroke-dasharray","5,5"),this.svg.insertBefore(r,this.svg.firstChild)},r.prototype.rectBeneath=function(e){var r=document.createElementNS(t,"rect");r.setAttribute("x",e.x),r.setAttribute("width",e.width),r.setAttribute("y",e.y),r.setAttribute("height",e.height),e.stroke&&r.setAttribute("stroke",e.stroke),e["stroke-opacity"]&&r.setAttribute("stroke-opacity",e["stroke-opacity"]),e.fill&&r.setAttribute("fill",e.fill),e["fill-opacity"]&&r.setAttribute("fill-opacity",e["fill-opacity"]),this.svg.insertBefore(r,this.svg.firstChild)},r.prototype.text=function(e,r,n,a){var i=document.createElementNS(t,"text");for(var s in i.setAttribute("stroke","none"),r)r.hasOwnProperty(s)&&i.setAttribute(s,r[s]);for(var o="free-text"==r["data-name"],c=(""+e).split("\n"),l=0;l0?this.currentGroup[0].removeChild(r):this.svg.removeChild(r)),n&&(i[n]=a),a},r.prototype.openGroup=function(e){e=e||{};var r=document.createElementNS(t,"g");return e.klass&&r.setAttribute("class",e.klass),e.fill&&r.setAttribute("fill",e.fill),e.stroke&&r.setAttribute("stroke",e.stroke),e["data-name"]&&r.setAttribute("data-name",e["data-name"]),e.prepend?this.prepend(r):this.append(r),this.currentGroup.unshift(r),r},r.prototype.closeGroup=function(){var e=this.currentGroup.shift();return e&&0===e.children.length?(e.parentElement.removeChild(e),null):e},r.prototype.path=function(e){var r=document.createElementNS(t,"path");for(var n in e)e.hasOwnProperty(n)&&("path"===n?r.setAttributeNS(null,"d",e.path):"klass"===n?r.setAttributeNS(null,"class",e[n]):void 0!==e[n]&&r.setAttributeNS(null,n,e[n]));return this.append(r),r},r.prototype.pathToBack=function(e){var r=document.createElementNS(t,"path");for(var n in e)e.hasOwnProperty(n)&&("path"===n?r.setAttributeNS(null,"d",e.path):"klass"===n?r.setAttributeNS(null,"class",e[n]):r.setAttributeNS(null,n,e[n]));return this.prepend(r),r},r.prototype.lineToBack=function(e){for(var r=document.createElementNS(t,"line"),n=Object.keys(e),a=0;a0?this.currentGroup[0].appendChild(e):this.svg.appendChild(e)},r.prototype.prepend=function(e){this.currentGroup.length>0?this.currentGroup[0].appendChild(e):this.svg.insertBefore(e,this.svg.firstChild)},r.prototype.setAttributeOnElement=function(e,t){for(var r in t)t.hasOwnProperty(r)&&e.setAttributeNS(null,r,t[r])},r.prototype.moveElementToChild=function(e,t){e.appendChild(t)},e.exports=r},1185:function(e){e.exports="6.6.3"}},t={},r=function r(n){var a=t[n];if(void 0!==a)return a.exports;var i=t[n]={exports:{}};return e[n](i,i.exports,r),i.exports}(1045),r;var e,t,r})); \ No newline at end of file diff --git a/render_assets/manifest.json b/render_assets/manifest.json new file mode 100644 index 0000000000000000000000000000000000000000..ff9402148875916335176c1c3d1bdb3b07a66353 --- /dev/null +++ b/render_assets/manifest.json @@ -0,0 +1,106 @@ +{ + "abcjs_version": "6.6.3", + "abcjs_revision": "5dc285c5a4a918d33f2ab4b3c381499847e88426", + "piano_revision": "cbd6b6f6d1af89ebfb69402860741288f08ff8b7", + "piano_source": "https://github.com/paulrosen/midi-js-soundfonts/tree/cbd6b6f6d1af89ebfb69402860741288f08ff8b7/FluidR3_GM/acoustic_grand_piano-mp3", + "files": { + "DejaVuSans.ttf": "7da195a74c55bef988d0d48f9508bd5d849425c1770dba5d7bfc6ce9ed848954", + "LICENSE.abcjs": "ab1072f859916529e284a8f43643146de9935041bb347a35559a96c87ce5566f", + "LICENSE.font": "7a083b136e64d064794c3419751e5c7dd10d2f64c108fe5ba161eae5e5958a93", + "abcjs-basic-min.js": "abdab74cf95c39fb9ff4ae0c96735b9c35222851f0844ce471ddd4354739bc75", + "renderer.js": "0756398dfe69fe1c54c8779252885fbf573d02eecbe3f2389a0b81e0f43fcd09", + "soundfonts/ATTRIBUTION.md": "87237050093c1d4f47f5c459f1e18b57ea6710f92d1a57b4462f8f5aa31e11be", + "soundfonts/acoustic_grand_piano-mp3/A0.mp3": "5c47e8142b04505c888b8edd7246a8881b4b30c4340682f0264191599df232fc", + "soundfonts/acoustic_grand_piano-mp3/A1.mp3": "abab379d4d0557abb93856f816b7bb395872e656533c3fe7f02048fc993834b7", + "soundfonts/acoustic_grand_piano-mp3/A2.mp3": "e21d9ab9b30c73c0aea921c2cd0dd59fece4cc021619927c9ff3dee71f0a9679", + "soundfonts/acoustic_grand_piano-mp3/A3.mp3": "02dee2fa184b9b94a5f72886c2370bd076103ebb76fc179982fa503e549dcc10", + "soundfonts/acoustic_grand_piano-mp3/A4.mp3": "4f1671ac831bc41c845e67b18e6c9ea200fc9b753bdffe124703b7141aa928c3", + "soundfonts/acoustic_grand_piano-mp3/A5.mp3": "2cccfe0aa8077bfd20bcbba470012faa0328ae97d5bd2297147c01f2b255e574", + "soundfonts/acoustic_grand_piano-mp3/A6.mp3": "87dab2b5bfdd8bafa575fc24b99591e87e5a0c991a8bbdc8aeb8a1e517b576d2", + "soundfonts/acoustic_grand_piano-mp3/A7.mp3": "ace76663dac4610a93259655f069835e6eb397b76aedf85c1f48a5036cf25687", + "soundfonts/acoustic_grand_piano-mp3/Ab1.mp3": "a9889722caea82aa67a8b7f600f1def8e51e095f1f423949c3a8e9dbf5c14abd", + "soundfonts/acoustic_grand_piano-mp3/Ab2.mp3": "b45bb57e125cdbbc3bb521ae643e67a90c0ff646d37e5b5284e5c70bfeff6c75", + "soundfonts/acoustic_grand_piano-mp3/Ab3.mp3": "843d633061631861c943266b4836573fe8ba8b8a10df9bd94adc380376cdb8ce", + "soundfonts/acoustic_grand_piano-mp3/Ab4.mp3": "e8612f8602d1c146f9b7f69a441ee518876ccdfa469457366c8064c25d9d3116", + "soundfonts/acoustic_grand_piano-mp3/Ab5.mp3": "31c86a311eb68761b8008359b34addfeec249d1c7d6795a52f8f2e172e3e8a05", + "soundfonts/acoustic_grand_piano-mp3/Ab6.mp3": "7775c09d08d344af9528edbf7abb6f59ac600e4d15efd6f139845bb107a822ed", + "soundfonts/acoustic_grand_piano-mp3/Ab7.mp3": "66932305995ff04e9e0244c5a408ec87c9131ab3915eac15c72c7659132ab0f2", + "soundfonts/acoustic_grand_piano-mp3/B0.mp3": "4422d1d2f0498aec427165415f5d665d78699e8623475215ce9b27c18b3d331f", + "soundfonts/acoustic_grand_piano-mp3/B1.mp3": "048003df58298d2659bff084885ad69d9531fdc03837c7ee39c8bcf68334b5b9", + "soundfonts/acoustic_grand_piano-mp3/B2.mp3": "be2df872b00b68adead4ca24ef68bd4a93bf0c4864d455d742171e5df91e86b7", + "soundfonts/acoustic_grand_piano-mp3/B3.mp3": "82c0463af9c9fe51d44aa59b71d2dccefab11c1ea98e2748ee93244f8af9169e", + "soundfonts/acoustic_grand_piano-mp3/B4.mp3": "5f09187820410b0f78575f232c3509f367478b7755b6eb5aa46ce6cf4c16a0e8", + "soundfonts/acoustic_grand_piano-mp3/B5.mp3": "4e0932827d3e9390080c4a9acd420e9b83871a5f73723feaf61d2d7f6b628b01", + "soundfonts/acoustic_grand_piano-mp3/B6.mp3": "d31aa62152acd598d55fb02cc024e59e0176a7dc13d27813882f299cae7baf7a", + "soundfonts/acoustic_grand_piano-mp3/B7.mp3": "6e1aad1cc92f17ebf6fe6161766cce279250e67a30569649481c77ab80db1677", + "soundfonts/acoustic_grand_piano-mp3/Bb0.mp3": "e4734f8d0285f0e5a39db7f61023510b46fb1570743b20d287479dcaa5536adb", + "soundfonts/acoustic_grand_piano-mp3/Bb1.mp3": "6d4face1b6559a08af3f9a49fcbc472b43e974e072156b31850ab9a230713aa3", + "soundfonts/acoustic_grand_piano-mp3/Bb2.mp3": "78cc11431a2a2d52294f0c714c59107a886f637806ae2cba63d50ff53585b93e", + "soundfonts/acoustic_grand_piano-mp3/Bb3.mp3": "6ac0f67f18e15db35553d4fcd83ceec4473ebe639e31659ce93cf8466cb06644", + "soundfonts/acoustic_grand_piano-mp3/Bb4.mp3": "d8f729899595116cb62ca9b7b801b4dfb9322bdf50d1bbfa847010e43a39f8f5", + "soundfonts/acoustic_grand_piano-mp3/Bb5.mp3": "51224d4c26f1c89b08e43865ef55d3638367f7f40fbc92e4ab88610b54d4301d", + "soundfonts/acoustic_grand_piano-mp3/Bb6.mp3": "394488d6cbd2c58b40f202e5acc238abdb73f261bcebd7105fb81d091113c4aa", + "soundfonts/acoustic_grand_piano-mp3/Bb7.mp3": "fe72a195f6036722e587e1597e54d66ec70e0ce11768e74e39bb2319bf256f80", + "soundfonts/acoustic_grand_piano-mp3/C1.mp3": "eb3b985e3b692cfe0c48550a26843fc3da44c7630c0b7bcfd820e87c5122cccc", + "soundfonts/acoustic_grand_piano-mp3/C2.mp3": "e02c5a80c03871e1889a3bb371d853f92294c1e8538ac06f70df0fd045540207", + "soundfonts/acoustic_grand_piano-mp3/C3.mp3": "7d0409ea3c40af25c6d3d606f12890f88f896d93c381b6eb8c58497f308b30d3", + "soundfonts/acoustic_grand_piano-mp3/C4.mp3": "b6d32e0d9d0c2e4b88165a2ec27b8787a970f131a03d96d065f28f158640af96", + "soundfonts/acoustic_grand_piano-mp3/C5.mp3": "7a4be6dae323ac5564ad1a617b554fd595e5e0a63f19c3581e3ee94c33ae2e4b", + "soundfonts/acoustic_grand_piano-mp3/C6.mp3": "6a0030c071ccd6c9a722455851d65b18cb86cbfe515772a6ded4c747eda339a0", + "soundfonts/acoustic_grand_piano-mp3/C7.mp3": "5e4cadc06eb25e2302dcc5bf1af76fe85ed258759d02c46e9169376ade83845e", + "soundfonts/acoustic_grand_piano-mp3/C8.mp3": "4ec066cab9362f6706b90fedc3249fa3c221769ee95ff52d7e46aaaf0a01fd16", + "soundfonts/acoustic_grand_piano-mp3/D1.mp3": "2389562397c7bdf2a856965b8b371eb6311be3cad2875c71d8ff4a607a242cea", + "soundfonts/acoustic_grand_piano-mp3/D2.mp3": "6233cc6f3670a287e33c7b8ece3b03a787ee1e169c8355432ce0b5e194bee612", + "soundfonts/acoustic_grand_piano-mp3/D3.mp3": "b8a5ed9cf147e10f484f3ad39930130d487b12045a35cef73f48dab401e6583b", + "soundfonts/acoustic_grand_piano-mp3/D4.mp3": "90539782bdbbbe714de579bfbbe6f478e07e112c6f78d03e8ee82462fbf2a569", + "soundfonts/acoustic_grand_piano-mp3/D5.mp3": "b25b5e541807af700f4e2272ac4c55a2f9b5cc8f176fcd9961d4456803af2b87", + "soundfonts/acoustic_grand_piano-mp3/D6.mp3": "46317b9dca22a75986ecfeba93ef34c8f7bc6d4e2e0223dc64b13c9a1984110b", + "soundfonts/acoustic_grand_piano-mp3/D7.mp3": "d7db5e63d7caa2fc62e00f55366f9a5236b3a13f7eb0d141a9823e10c7cc4209", + "soundfonts/acoustic_grand_piano-mp3/Db1.mp3": "84f2ba7505c515c39797eafe36295b15ee9da8adbafcfbfbfc7685532b4bdce4", + "soundfonts/acoustic_grand_piano-mp3/Db2.mp3": "c5d76b97326a189786aba25685c8789f59d4dc41d5fbd4d6a6aa97986b2b7d1d", + "soundfonts/acoustic_grand_piano-mp3/Db3.mp3": "c5bd77b92ad8411c47e509643a7d6fc9c74f3aaba2290e2f4aed6a2ba1446e88", + "soundfonts/acoustic_grand_piano-mp3/Db4.mp3": "f49892c4e935296db1cb785000818e6a04bf0756c4443bffa6245144fdaf3e47", + "soundfonts/acoustic_grand_piano-mp3/Db5.mp3": "924a70321fe728ff7a69c941029e060f529e6ada507f20357ee74039e270e588", + "soundfonts/acoustic_grand_piano-mp3/Db6.mp3": "5e4b55cc27db80e899ea817c546f4c0cf15b43267f426f8de53baac770f90be7", + "soundfonts/acoustic_grand_piano-mp3/Db7.mp3": "56c93ba30fa46db98590fd4c218fec88e87b02eaa0b177bcc0ad621fd9a506da", + "soundfonts/acoustic_grand_piano-mp3/Db8.mp3": "1be0e2193b729fc32a4fbb82f9f46bb4c0b2cbb67027c0f07c8eeff6460b64cf", + "soundfonts/acoustic_grand_piano-mp3/E1.mp3": "740bf03f7ac2a9bbd41ae10f7daf876bc8bde6fe6d355f2f2781ae70d95c762a", + "soundfonts/acoustic_grand_piano-mp3/E2.mp3": "316b392d51d9c27334976511643112b088a9812a8e37e598957e8acc6725aad0", + "soundfonts/acoustic_grand_piano-mp3/E3.mp3": "5e556a4850b93b1adba6655372c9e58913169864c52a8e6f232f4b1e901ca2dc", + "soundfonts/acoustic_grand_piano-mp3/E4.mp3": "48bcecf53832988af83f74aa65efd7daa34f1e3ebf10de4679363b89d54f3852", + "soundfonts/acoustic_grand_piano-mp3/E5.mp3": "c48cee1a11528da53e1f780a1ed36558530f053b5ed8c7033709b2002b452513", + "soundfonts/acoustic_grand_piano-mp3/E6.mp3": "e4de8378854d6b39b40d4cf7b022f60bda097993b492639c8a0a005f02a010e0", + "soundfonts/acoustic_grand_piano-mp3/E7.mp3": "e757f51d2fb54dca2c0adb4ee6a2b86459a52e2f7dfa227529558a6a0f28fd07", + "soundfonts/acoustic_grand_piano-mp3/Eb1.mp3": "694e89cd30008f47411336ea1b76675503bbc5383c3849df676b2cf6b51eee67", + "soundfonts/acoustic_grand_piano-mp3/Eb2.mp3": "708ff787e5ae2bfa45fe386e5fadc90a9339817dd245ed6e6f62532e42fad8d2", + "soundfonts/acoustic_grand_piano-mp3/Eb3.mp3": "bec9944789ef9e7ec3dd7f9fcdf63ed1e5e82e29447c81be3578df9b1269b4b6", + "soundfonts/acoustic_grand_piano-mp3/Eb4.mp3": "96586e2865651cfa0469e762f3bd40821f6e45eecf4761a86a37bc59cfebfb2c", + "soundfonts/acoustic_grand_piano-mp3/Eb5.mp3": "aad99b852c20c2aee66143dd103513523566716cb2f4c6ef6ac478ef84f282b0", + "soundfonts/acoustic_grand_piano-mp3/Eb6.mp3": "c0f4c45d7930ed90edebfd93321807cdb7346e364ba1933867c4b49ba18d5368", + "soundfonts/acoustic_grand_piano-mp3/Eb7.mp3": "c23b9b43ca8ece152e59ef04832b2290e96db54f9539af3162df4054c23271c7", + "soundfonts/acoustic_grand_piano-mp3/F1.mp3": "6b83be26ca990ee91e4d404afd5756e5d63b7a6f9ac46da068c80b2692945dba", + "soundfonts/acoustic_grand_piano-mp3/F2.mp3": "7bb9c26ec86e1d32194ab5ced3805e1026e638a4a5481d556a7e3f2860141c46", + "soundfonts/acoustic_grand_piano-mp3/F3.mp3": "ff912c3211f80dc0c4f541ebd39c1db11f21cfda684d54999f9bce87aaf0cf20", + "soundfonts/acoustic_grand_piano-mp3/F4.mp3": "a7426425ed95ea8652a888d850c34c4b766c7c7a11c168ed6899c38a6836be0c", + "soundfonts/acoustic_grand_piano-mp3/F5.mp3": "d7f046daec924ce8607ec92360e0d0e42e29e4b3a108839179e04aba4adadc51", + "soundfonts/acoustic_grand_piano-mp3/F6.mp3": "6f7794d298d1036ebbd514ad1b3605ffbd280556925fba05e29b83052cbf3dfd", + "soundfonts/acoustic_grand_piano-mp3/F7.mp3": "f49b2b54f0b913f636b5822eae373a85dbb30ec5e9a6ebc18e498fdfe0547011", + "soundfonts/acoustic_grand_piano-mp3/G1.mp3": "d187e74ca3a23d08248ea4073abc0893a758c8b15c4b6af16c3ba1d2394830db", + "soundfonts/acoustic_grand_piano-mp3/G2.mp3": "034f90b9f81e5aca0012f1ff73d731308653578a7eb4bee30efca37af5afce77", + "soundfonts/acoustic_grand_piano-mp3/G3.mp3": "3b75e4dfd657723b3c7a30bca0409dce8013b4083d54e703c8ec513b535cee99", + "soundfonts/acoustic_grand_piano-mp3/G4.mp3": "37d21e13d5cecc8c0f1645c83bfe82f6032407a3b7de3dde14021c196526664e", + "soundfonts/acoustic_grand_piano-mp3/G5.mp3": "2eb949282bc676f3dc96bf5008459b5fff02696e63b70ff799ff08c36bb97058", + "soundfonts/acoustic_grand_piano-mp3/G6.mp3": "c24ccf8d6f0c6c9818fe244d150a42c42585629db413e6b245088fdb589e9f3d", + "soundfonts/acoustic_grand_piano-mp3/G7.mp3": "7cc4630a06cbc11438fac85c00b640cc7677be8332105204632b687d7127ebc4", + "soundfonts/acoustic_grand_piano-mp3/Gb1.mp3": "6ff97bc16a3020037f46ebe4196ce2602eed8af243b567768d4cb5d47a8ba0bc", + "soundfonts/acoustic_grand_piano-mp3/Gb2.mp3": "95ab26a90d088fdc938673005ba2b2a4b166ee188ffbad0c7f75fb746334b043", + "soundfonts/acoustic_grand_piano-mp3/Gb3.mp3": "91605f55bf0265c1e526b966a3901f9c2813473ac890f4b7330ee08874c5d30f", + "soundfonts/acoustic_grand_piano-mp3/Gb4.mp3": "f0db7ee32b9175907ca60cf53e6c7a129ea8e7c8f6562dc7ebe6e5c81dcbdf99", + "soundfonts/acoustic_grand_piano-mp3/Gb5.mp3": "bd1d81203f5338ab62372f88c0b4eb5b4a3133ef58518a8770f3dfdf34f74124", + "soundfonts/acoustic_grand_piano-mp3/Gb6.mp3": "c5f87e3bf666919bd1e230f6945ee4af752761faa54dc1814f854e8e9d8a7920", + "soundfonts/acoustic_grand_piano-mp3/Gb7.mp3": "8615b92d93fa16b4051bdc8800a6430642bdcff17e26d020ec5fd83bf89db759" + }, + "font_version": "DejaVu Sans 2.37", + "font_license_source": "https://raw.githubusercontent.com/dejavu-fonts/dejavu-fonts/version_2_37/LICENSE", + "abcjs_git_blob": "a56bbfc0d004c9b14ea17ad4fd6b52a61b74d255" +} diff --git a/render_assets/renderer.js b/render_assets/renderer.js new file mode 100644 index 0000000000000000000000000000000000000000..2e7afb9e86af1717af03a93eb9542356b0aef489 --- /dev/null +++ b/render_assets/renderer.js @@ -0,0 +1,165 @@ +"use strict"; + +// These display adaptations leave the saved ABC unchanged. +function expandRests(abc) { + let header = true, voice = null, meter = [4, 4], unit = [1, 8]; + const meters = new Map(); + return abc.split(/\r?\n/).map(line => { + const field = line.match(/^([A-Za-z]):\s*(.*)$/); + if (field) { + const [, key, value] = field; + if (key === "V") { + voice = value.split(/\s/)[0]; + if (!meters.has(voice)) meters.set(voice, meter); + } + if (key === "M") { + const match = value.match(/^(\d+)\/(\d+)$/); + if (match) { + const next = match.slice(1).map(Number); + if (header || !voice) meter = next; + else meters.set(voice, next); + } + } + if (key === "L") unit = value.split("/").map(Number); + if (key === "K") header = false; + return line; + } + if (header || line.startsWith("%")) return line; + return line.replace(/"[^"\n]*"|\[[^\]\n]*\]|Z(\d*)\|/g, (token, count) => { + if (count === undefined) return token; + const [n, d] = meters.get(voice) || meter; + return (`z${n * unit[1] / (d * unit[0])}|`).repeat(Number(count || 1)); + }); + }).join("\n"); +} + +function fixSystemKeys(tune) { + for (const line of tune.lines) for (const staff of line.staff || []) { + for (const voice of staff.voices) { + for (let i = 0; i < voice.length && voice[i].el_type !== "note";) { + const event = voice[i]; + if (event.el_type === "key" || event.el_type === "keySignature") { + staff.key = {...event, accidentals: event.accidentals.map(a => ({...a}))}; + delete staff.key.impliedNaturals; + voice.splice(i, 1); + } else i++; + } + } + } +} + +window.renderScore = async abc => { + document.body.innerHTML = '
'; + const fontStyle = document.createElement("style"); + fontStyle.textContent = '#source text, #source span, #pages text {font-family:SheetSageSans !important}'; + document.head.append(fontStyle); + const source = document.getElementById("source"); + source.style.cssText = "position:absolute;left:-2000px;width:714px"; + const tunes = ABCJS.renderAbc(source, expandRests(abc), { + staffwidth: 674, paddingtop: 12, paddingbottom: 12, paddingleft: 20, paddingright: 20, + oneSvgPerLine: true, print: true, add_classes: true, + wrap: {minSpacing: 1.8, maxSpacing: 2.7, preferredMeasuresPerLine: 4}, + afterParsing: fixSystemKeys, + }); + if (!tunes.length || !tunes.some(t => t.lines.some(l => l.staff?.length))) + throw new Error("ABC contains no music to render."); + const warnings = tunes.flatMap(t => t.warnings || []); + if (warnings.length) throw new Error("Invalid ABC: " + warnings.join("; ")); + await document.fonts.ready; + const ns = "http://www.w3.org/2000/svg"; + const pages = []; + let page, content, used = 0, systems = 0; + function addPage() { + page = document.createElementNS(ns, "svg"); + for (const [k, v] of Object.entries({xmlns:ns, width:794, height:1123, viewBox:"0 0 794 1123"})) + page.setAttribute(k,v); + page.setAttribute("class", "score-page"); + const fontStyle = document.createElementNS(ns, "style"); + fontStyle.textContent = '@font-face{font-family:SheetSageSans;src:url(data:font/ttf;base64,' + window.renderFontData + ')}text{font-family:SheetSageSans !important}'; + page.append(fontStyle); + const license = document.createElementNS(ns, "metadata"); + license.textContent = window.renderFontLicense; + page.append(license); + const background = document.createElementNS(ns, "rect"); + for (const [k,v] of Object.entries({width:794,height:1123,fill:"white"})) background.setAttribute(k,v); + page.append(background); + content = document.createElementNS(ns, "g"); + content.setAttribute("transform", "translate(40 40)"); + page.append(content); + document.getElementById("pages").append(page); + pages.push(page); + used = 0; + } + for (const svg of source.querySelectorAll("svg")) { + const box = svg.getBoundingClientRect(); + if (!(box.width > 0 && box.height > 0)) continue; + const scale = Math.min(1, 714 / box.width); + const height = box.height * scale; + if (height > 1043) throw new Error("A staff system is taller than one page."); + if (!page || used + height > 1043) addPage(); + const group = document.createElementNS(ns, "g"); + group.setAttribute("transform", `translate(0 ${used}) scale(${scale})`); + const clone = svg.cloneNode(true); + clone.setAttribute("width",box.width); + clone.setAttribute("height",box.height); + clone.style.overflow = "visible"; + group.append(clone); + content.append(group); + used += height; + systems++; + } + source.remove(); + if (!pages.length) throw new Error("No score pages were produced."); + return {pages:pages.map(p => new XMLSerializer().serializeToString(p)), systems, warnings}; +}; + +window.renderAudio = async ({tracks, duration}) => { + const context = new AudioContext({sampleRate:44100}); + await context.resume(); + const sequence = new ABCJS.synth.SynthSequence(); + for (const track of tracks) { + const id = sequence.addTrack(); + sequence.setInstrument(id, 0); + for (const note of track.notes) sequence.tracks[id].push({ + cmd:"note", instrument:0, pitch:note.pitch, volume:note.velocity, + start:note.start, duration:note.end-note.start, gap:0, + }); + } + sequence.totalDuration = duration; + const synth = new ABCJS.synth.CreateSynth(); + const loaded = await synth.init({audioContext:context, sequence, millisecondsPerMeasure:1000, + options:{soundFontUrl:"https://render.invalid/soundfonts/", fadeLength:35, + programOffsets:{acoustic_grand_piano:0}, soundFontVolumeMultiplier:1}}); + if (loaded.error?.length) throw new Error("Could not load piano samples: " + loaded.error.join(", ")); + await synth.prime(); + const buffer = synth.getAudioBuffer(); + if (!buffer) throw new Error("The renderer returned no audio."); + // Simultaneous voices retain their balance; a peak guard avoids PCM clipping. + let peak = 0; + for (let c=0; c 0 ? 0.98 / peak : 0.7); + window.renderedAudio = {buffer, gain}; + await context.close(); + return {frames:buffer.length, sample_rate:buffer.sampleRate, channels:buffer.numberOfChannels, gain}; +}; + +window.audioBlock = ({start, count}) => { + const {buffer, gain} = window.renderedAudio; + const frames = Math.min(count, buffer.length-start); + const bytes = new Uint8Array(frames*buffer.numberOfChannels*2); + const view = new DataView(bytes.buffer); + for (let c=0; c { + window.renderFontData = font; + window.renderFontLicense = license; + const face = new FontFace('SheetSageSans', 'url(data:font/ttf;base64,' + font + ')'); + document.fonts.add(await face.load()); + }""", {"font": base64.b64encode((assets / "DejaVuSans.ttf").read_bytes()).decode("ascii"), + "license": (assets / "LICENSE.font").read_text(encoding="utf-8")}) + info = page.evaluate("renderScore", abc_text) + for kind in formats: + output["score"][kind] = [] + if "pdf" in formats: + if destination is None: + output["score"]["pdf"] = [page.pdf(format="A4", print_background=True, prefer_css_page_size=True)] + else: + target = destination / "score.pdf" + temporary = target.with_suffix(".pdf.partial") + page.pdf(path=str(temporary), format="A4", print_background=True, prefer_css_page_size=True) + temporary.replace(target) + output["score"]["pdf"] = [str(target)] + for index, svg in enumerate(info["pages"], 1): + if "svg" in formats: + if destination is None: + output["score"]["svg"].append(svg) + else: + target = destination / f"score_{index:03}.svg" + target.write_text(svg, encoding="utf-8") + output["score"]["svg"].append(str(target)) + if "png" in formats: + element = page.locator(".score-page").nth(index-1) + if destination is None: + output["score"]["png"].append(element.screenshot(type="png")) + else: + target = destination / f"score_{index:03}.png" + element.screenshot(path=str(target)) + output["score"]["png"].append(str(target)) + output["warnings"].extend(info["warnings"]) + if blocked: + raise RuntimeError(f"Rendering attempted to load unavailable assets: {', '.join(blocked)}") + except BrowserError as exc: + raise RuntimeError(str(exc).split("Call log:", 1)[0].strip()) from exc + finally: + browser.close() + # A failed render leaves existing pages intact. Only remove obsolete pages + # in the requested formats, within this renderer's numbered-file namespace. + if formats: + for number, path in previous_pages: + if number > len(info["pages"]): + path.unlink(missing_ok=True) + return output diff --git a/requirements-render.txt b/requirements-render.txt new file mode 100644 index 0000000000000000000000000000000000000000..62924031791cb03af9f3dc115d216f8a64a07dc1 --- /dev/null +++ b/requirements-render.txt @@ -0,0 +1,3 @@ +playwright==1.58.0 +pretty_midi==0.2.10 +setuptools==78.1.1 diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000000000000000000000000000000000000..641a1f9495a5be42a9afe699c89deec5e0508e47 --- /dev/null +++ b/requirements.txt @@ -0,0 +1,11 @@ +torch==2.8.0 +torchaudio==2.8.0 +transformers==4.45.2 +huggingface-hub==0.36.0 +safetensors==0.5.3 +numpy==1.24.3 +scipy==1.13.1 +mir_eval==0.8.2 +pretty_midi==0.2.10 +mido==1.3.3 +setuptools==78.1.1 diff --git a/schema_sheetsage2.py b/schema_sheetsage2.py new file mode 100644 index 0000000000000000000000000000000000000000..a8b21fcd28098af1bee0894f6de4f81ab32ec007 --- /dev/null +++ b/schema_sheetsage2.py @@ -0,0 +1,122 @@ +from __future__ import annotations + +from dataclasses import dataclass + + +@dataclass(frozen=True) +class PromptTaskSpec: + name: str + sampling_group: str + output_field: str + + +@dataclass(frozen=True) +class TokenBlockSpec: + name: str + labels: tuple[str, ...] + output_field: str | None = None + + +@dataclass(frozen=True) +class PromptMultitaskSchema: + version: str + tasks: tuple[PromptTaskSpec, ...] + event_field_order: tuple[str, ...] + appended_token_blocks: tuple[TokenBlockSpec, ...] = () + + +V1_TASKS = ( + PromptTaskSpec("timestamp", "timestamp", "timestamp"), + PromptTaskSpec("downbeat_meter", "rhythm", "rhythm"), + PromptTaskSpec("structure", "structure", "structure"), + PromptTaskSpec("key", "key", "key"), + PromptTaskSpec("chord_majmin", "chord", "chord"), + PromptTaskSpec("chord_full", "chord", "chord"), + PromptTaskSpec("melody_vocal", "melody", "melody"), + PromptTaskSpec("melody_full", "melody", "melody"), +) + + +PROMPT_MULTITASK_SCHEMAS = { + "v1": PromptMultitaskSchema( + version="v1", + tasks=V1_TASKS, + event_field_order=( + "timestamp", + "rhythm", + "structure", + "key", + "chord", + "melody", + ), + ), +} + + +def _validate_schema(schema): + task_names = tuple(task.name for task in schema.tasks) + if len(task_names) != len(set(task_names)): + raise ValueError(f"Duplicate task name in schema {schema.version!r}") + field_names = tuple(schema.event_field_order) + if len(field_names) != len(set(field_names)): + raise ValueError(f"Duplicate output field in schema {schema.version!r}") + missing_fields = { + task.output_field for task in schema.tasks if task.output_field not in field_names + } + if missing_fields: + raise ValueError( + f"Tasks in schema {schema.version!r} use unknown output fields: " + f"{tuple(sorted(missing_fields))}" + ) + block_names = tuple(block.name for block in schema.appended_token_blocks) + if len(block_names) != len(set(block_names)): + raise ValueError(f"Duplicate token block in schema {schema.version!r}") + for block in schema.appended_token_blocks: + if not block.labels or len(block.labels) != len(set(block.labels)): + raise ValueError( + f"Token block {block.name!r} must contain unique labels" + ) + + +def register_prompt_multitask_schema(schema): + """Register a frozen schema version without permitting redefinition.""" + if not isinstance(schema, PromptMultitaskSchema): + raise TypeError("schema must be a PromptMultitaskSchema") + _validate_schema(schema) + existing = PROMPT_MULTITASK_SCHEMAS.get(schema.version) + if existing is not None and existing != schema: + raise ValueError(f"Schema {schema.version!r} is already registered") + PROMPT_MULTITASK_SCHEMAS[schema.version] = schema + return schema + + +def extend_prompt_multitask_schema( + base_version, + version, + tasks=(), + event_fields=(), + token_blocks=(), +): + """Append tasks and vocabulary blocks while preserving every base token id.""" + base = get_prompt_multitask_schema(base_version) + schema = PromptMultitaskSchema( + version=str(version), + tasks=base.tasks + tuple(tasks), + event_field_order=base.event_field_order + tuple(event_fields), + appended_token_blocks=base.appended_token_blocks + tuple(token_blocks), + ) + return register_prompt_multitask_schema(schema) + + +def get_prompt_multitask_schema(version): + version = str(version) + try: + return PROMPT_MULTITASK_SCHEMAS[version] + except KeyError as exc: + raise ValueError( + f"Unknown prompt multitask schema {version!r}; " + f"available={tuple(PROMPT_MULTITASK_SCHEMAS)}" + ) from exc + + +_validate_schema(PROMPT_MULTITASK_SCHEMAS["v1"]) diff --git a/setup_render.py b/setup_render.py new file mode 100644 index 0000000000000000000000000000000000000000..fc0d2cd683a94fd1e434f2ece1277a88f66156bf --- /dev/null +++ b/setup_render.py @@ -0,0 +1,37 @@ +"""Install the optional renderer and its matching headless browser.""" +from pathlib import Path +import argparse +import subprocess +import sys + +SCRIPT_DIR = Path(__file__).absolute().parent +sys.path.insert(0, str(SCRIPT_DIR)) + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument("--with-deps", action="store_true", help="Also install Chromium OS libraries (may require sudo).") + args = parser.parse_args() + subprocess.run([sys.executable, "-m", "pip", "install", "-r", str(SCRIPT_DIR / "requirements-render.txt")], check=True) + command = [sys.executable, "-m", "playwright", "install", "--only-shell", "chromium"] + if args.with_deps: + command.append("--with-deps") + subprocess.run(command, check=True) + check = """from playwright.sync_api import sync_playwright +with sync_playwright() as p: + browser = p.chromium.launch(headless=True, args=['--disable-gpu']) + context = browser.new_context(offline=True) + page = context.new_page() + assert page.evaluate('typeof OfflineAudioContext') == 'function' + browser.close() +""" + result = subprocess.run([sys.executable, "-c", check], capture_output=True, text=True) + if result.returncode: + print("Chromium could not start. On Linux, run python setup_render.py --with-deps to install its system libraries.", file=sys.stderr) + return 1 + print("Rendering is ready. Example: python render.py --input output --audio --score pdf") + return 0 + + +if __name__ == "__main__": + raise SystemExit(main()) diff --git a/tensors_sheetsage2.py b/tensors_sheetsage2.py new file mode 100644 index 0000000000000000000000000000000000000000..aff5b3dff79c21fd26e7674cf7421d65aad764c4 --- /dev/null +++ b/tensors_sheetsage2.py @@ -0,0 +1,99 @@ +"""Aligned audio features and token predictions, in memory or on disk.""" +import json +from pathlib import Path + +import torch +from safetensors.torch import save_file + +from .generation_sheetsage2 import inference_autocast + + +class WindowTensorWriter: + def __init__(self, output_dir, index, window, logits, scores): + self.directory = Path(output_dir) / "tensors" / f"window-{index:04d}" if output_dir is not None else None + if self.directory is not None: + self.directory.mkdir(parents=True, exist_ok=True) + self.window = window + self.logits, self.scores = logits, scores + self.pending, self.files = [], [] + self.data = {"window_index": index, "token_batches": [], "decoder_batches": []} if self.directory is None else None + + def _store(self, name, payload, group): + if self.directory is not None: + save_file(payload, str(self.directory / name)) + self.files.append(name) + elif group == "audio": + self.data["audio"] = payload + else: + self.data[group].append(payload) + + def audio_features(self, model, audio, dtype, hidden_states): + with inference_autocast(audio.device, dtype): + features = model.get_audio_features(audio, output_hidden_states=hidden_states) + payload = {} + for name, value in features.items(): + if torch.is_tensor(value): + payload[name] = value.detach().cpu().contiguous().clone() + elif isinstance(value, tuple): + for index, layer in enumerate(value): + if torch.is_tensor(layer): + payload[f"{name}.{index}"] = layer.detach().cpu().contiguous().clone() + memory = features.encoder_last_hidden_state + frames = memory.shape[1] + valid_seconds = self.window["end"] - self.window["start"] + payload["frame_times"] = torch.arange(frames, dtype=torch.float64) / 25 + self.window["start"] + payload["feature_attention_mask"] = (torch.arange(frames) / 25 < valid_seconds)[None] + self._store("audio.safetensors", payload, "audio") + return memory + + def capture(self, position, ids, logits, masked): + # Transcription processes one window at a time; keep at most 32 rows. + row = {"token_position": torch.tensor(position, dtype=torch.long)} + if self.logits: + row["logits"] = logits[0].detach().cpu().contiguous() + if self.scores: + row["scores"] = masked[0].detach().cpu().contiguous() + self.pending.append(row) + if len(self.pending) == 32: + self.flush() + + def flush(self): + if not self.pending: + return + first = int(self.pending[0]["token_position"]) + name = f"tokens-{first:04d}.safetensors" + self._store(name, {key: torch.stack([row[key] for row in self.pending]) for key in self.pending[0]}, + "token_batches") + self.pending.clear() + + def decoder_features(self, model, audio, tokens, dtype, memory=None): + with inference_autocast(audio.device, dtype): + if memory is None: + memory = model.encode(audio) + cache = None + for start in range(0, len(tokens) - 1, 64): + ids = tokens[start:min(start + 64, len(tokens) - 1)][None].to(audio.device) + output = model.decoder( + input_ids=ids, + attention_mask=ids.ne(model.tokenizer.pad_token) if cache is None else None, + encoder_hidden_states=memory, encoder_attention_mask=None, + past_key_values=cache, use_cache=True, return_dict=True, + ) + cache = output.past_key_values + name = f"decoder-{start:04d}.safetensors" + self._store(name, {"decoder_hidden_state": output.last_hidden_state.detach().cpu().contiguous(), + "input_token_ids": ids.cpu(), + "token_positions": torch.arange(start, start + ids.shape[1])}, + "decoder_batches") + + def finish(self): + self.flush() + metadata = dict(self.window, frame_rate=25) + if self.directory is not None: + metadata["files"] = self.files + metadata["token_position_convention"] = "logits predict the token at token_position; decoder embeddings represent input_token_ids" + if self.directory is not None: + (self.directory / "index.json").write_text(json.dumps(metadata, indent=2) + "\n") + else: + self.data["metadata"] = metadata + return self.data diff --git a/tests/test_spelling.py b/tests/test_spelling.py new file mode 100644 index 0000000000000000000000000000000000000000..f685747e36a3843df1f67cf558169fec194741b1 --- /dev/null +++ b/tests/test_spelling.py @@ -0,0 +1,147 @@ +import copy +import json +from pathlib import Path +from tempfile import TemporaryDirectory +import unittest + +import mir_eval.chord +import numpy as np + +from ..chord_spelling_sheetsage2 import (QUALITIES, correct_chord_rows, correct_chord_spelling, + normalize_key_name, spell_chord_tones) +from ..tokenization_sheetsage2 import SheetSage2Tokenizer as Tokenizer, FULL_CHORD_VOCABULARY +from ..exports_sheetsage2 import export_result +from ..notation_sheetsage2 import get_key_accidentals, note_to_abc + + +def example(): + events = [] + for i in range(16): + values = {'rhythm': {'meter': [4, 4], 'eighth_position': i % 4 * 2}, + 'melody': [{'pitch': [63, 68, 70, 67][i % 4], 'track': 1, + 'end_time': (i + 1) * .5, 'duration_bin': 2, 'duration_steps': 4}]} + if i == 0: + values.update(key='D#:major', chord='D#:maj/3', structure='verse') + if i == 4: + values['chord'] = 'G#:maj' + if i == 8: + values.update(key='G#:minor', chord='D#:min') + events.append({'time': i * .5, 'global_subbeat': i * 4, 'values': values}) + return {'events': events} + + +class SpellingTests(unittest.TestCase): + def test_cm_chords_and_inversions(self): + for raw, expected in [('D#:maj', 'Eb:maj'), ('G#:maj', 'Ab:maj'), + ('A#:7/3', 'Bb:7/3'), ('D#:min7/b7', 'Eb:min7/b7'), + ('C:min', 'C:min'), ('N', 'N'), ('X', 'X')]: + self.assertEqual(correct_chord_spelling(raw, 'C:minor'), expected) + + def test_chord_tones_keep_pitch_classes(self): + naturals = [0, 2, 4, 5, 7, 9, 11] + for quality, chroma in QUALITIES.items(): + offsets = [i for i, value in enumerate(chroma) if value > 0] + for root_pc in range(12): + for letter in range(7): + acc = (root_pc - naturals[letter] + 6) % 12 - 6 + tones = spell_chord_tones(np.array([letter, acc]), quality) + self.assertEqual([(naturals[l] + a) % 12 for l, a in tones], + [(root_pc + o) % 12 for o in offsets]) + + def test_chromatic_chords_use_key_side_spelling(self): + for raw, key, expected in [('C:maj', 'E:major', 'C:maj'), ('A#:maj', 'G:major', 'Bb:maj'), + ('D#:maj', 'G:major', 'Eb:maj'), ('G#:7', 'C:major', 'Ab:7'), + ('A#:min', 'C:major', 'Bb:min'), ('C#:hdim7', 'G:major', 'C#:hdim7'), + ('F:hdim7', 'G#:minor', 'E#:hdim7')]: + self.assertEqual(correct_chord_spelling(raw, key), expected) + + def test_local_midpoint_including_boundary_and_missing_keys(self): + rows = [[0, 2, 'G#:maj'], [2, 6, 'G#:maj'], [6, 8, 'G#:maj']] + keys = [[0, 4, 'C:minor'], [4, 8, 'E:major']] + original = copy.deepcopy((rows, keys)) + self.assertEqual([r[2] for r in correct_chord_rows(rows, keys)], ['Ab:maj', 'Ab:maj', 'G#:maj']) + self.assertEqual((rows, keys), original) + self.assertEqual(correct_chord_rows(rows, []), rows) + self.assertEqual(correct_chord_rows([], keys), []) + + def test_key_labels_keep_ids_and_checkpoint_fingerprint(self): + tokenizer = Tokenizer(300, 100) + self.assertEqual(tokenizer.vocab_fingerprint, '5ba3325af0344c7f') + major = ['C', 'Db', 'D', 'Eb', 'E', 'F', 'F#', 'G', 'Ab', 'A', 'Bb', 'B'] + minor = ['C', 'C#', 'D', 'D#', 'E', 'F', 'F#', 'G', 'G#', 'A', 'Bb', 'B'] + for offset, roots, mode in [(0, major, 'major'), (12, minor, 'minor')]: + for i, root in enumerate(roots): + label = f'{root}:{mode}' + token = tokenizer.key_token_start + offset + i + self.assertEqual(tokenizer._decode_field('key', [token], ()), label) + self.assertEqual(tokenizer.describe(token), f'') + self.assertEqual(tokenizer.key_to_token(label), token) + self.assertEqual(normalize_key_name(label), label) + self.assertEqual(tokenizer.key_to_token('D#:major'), tokenizer.key_to_token('Eb:major')) + + def test_entire_chord_vocabulary_preserves_sounding_pitches(self): + for key in ('C:minor', 'E:major', 'A#:minor', 'C#:major', 'F#:major'): + for chord in FULL_CHORD_VOCABULARY: + spelled = correct_chord_spelling(chord, key) + before = mir_eval.chord.encode(chord) + after = mir_eval.chord.encode(spelled) + self.assertEqual(before[0], after[0]) + np.testing.assert_array_equal(before[1], after[1]) + self.assertEqual(before[2], after[2]) + if chord != 'N': + self.assertEqual(chord.split(':', 1)[1], spelled.split(':', 1)[1]) + + def test_nolm_key_relative_pitch_examples(self): + state = {} + self.assertEqual([note_to_abc(n, get_key_accidentals('Cm'), state) for n in (63, 68, 70, 75)], + ['E', 'A', 'B', 'e']) + self.assertEqual(note_to_abc(67, get_key_accidentals('G#m'), {}), '^^F') + self.assertEqual(note_to_abc(59, get_key_accidentals('Db'), {}), '_C') + self.assertEqual(note_to_abc(60, get_key_accidentals('C#m'), {}), '^B,') + state = {} + self.assertEqual([note_to_abc(n, get_key_accidentals('Cm'), state) for n in (64, 76, 63)], + ['=E', 'e', '_E']) + self.assertEqual(note_to_abc(63, get_key_accidentals('Cm'), {}), 'E') + + def test_export_uses_corrected_labels_without_mutating_events(self): + decoded = example() + original = copy.deepcopy(decoded) + with TemporaryDirectory() as td: + root = Path(td) + result = export_result(decoded, Tokenizer(300, 100), root, 8) + self.assertIsNone(result['abc_error']) + self.assertEqual(decoded, original) + self.assertEqual(json.loads((root/'events.json').read_text()), original) + self.assertIn('Eb:major', (root/'key.lab').read_text()) + self.assertNotIn('D#:major', (root/'notation/song_keys.txt').read_text()) + for path in ['chord.lab', 'notation/song_chords.txt']: + text = (root/path).read_text() + self.assertIn('Eb:maj/3', text) + self.assertIn('Ab:maj', text) + self.assertIn('D#:min', text) + abc = (root/'score.abc').read_text() + self.assertIn('K:Eb', abc) + self.assertIn('"Eb/G"', abc) + self.assertIn('"Ab"', abc) + self.assertIn('K:G#m', abc) + + def test_in_memory_paper_and_melody_only_exports(self): + for paper in (False, True): + for melody_only in (False, True): + decoded = example() + original = copy.deepcopy(decoded) + result = export_result(decoded, Tokenizer(300, 100), duration=8, + paper=paper, melody_only=melody_only) + self.assertIsNone(result['abc_error']) + payload = result['payload'] + self.assertEqual(decoded, original) + self.assertEqual(payload['events'], original['events']) + self.assertIn('Eb:major', payload['labs']['key']) + self.assertIn('Eb:maj/3', payload['labs']['chord']) + self.assertIn('K:Eb', payload['abc']) + self.assertIn('K:G#m', payload['abc']) + self.assertEqual('"Eb/G"' in payload['abc'], not melody_only) + + +if __name__ == '__main__': + unittest.main() diff --git a/tokenization_sheetsage2.py b/tokenization_sheetsage2.py new file mode 100644 index 0000000000000000000000000000000000000000..65c3d2cc13163b69794b6a1c46aa6934aeced47f --- /dev/null +++ b/tokenization_sheetsage2.py @@ -0,0 +1,735 @@ +import re +import hashlib +import json + +import mir_eval.chord +import numpy as np + +from .chord_spelling_sheetsage2 import normalize_key_name + +from .durations_sheetsage2 import DURATION_TEMPLATES, duration_boundaries +from .labels_sheetsage2 import STRUCTURE_LABELS +from .schema_sheetsage2 import get_prompt_multitask_schema + + +PROMPT_ORDER = tuple(task.name for task in get_prompt_multitask_schema("v1").tasks) + + +CHROMATIC_SHARPS = ( + "C", + "C#", + "D", + "D#", + "E", + "F", + "F#", + "G", + "G#", + "A", + "A#", + "B", +) + +FULL_CHORD_QUALITIES = ( + "maj", + "min", + "dim", + "aug", + "maj7", + "min7", + "7", + "hdim7", + "dim7", + "minmaj7", + "sus2", + "sus4", + "sus4(b7)", + "maj6", + "min6", +) + +FULL_CHORD_INVERSIONS = { + "maj": ("/2", "/3", "/5"), + "min": ("/2", "/b3", "/5"), + "maj7": ("/3", "/5", "/7"), + "min7": ("/b3", "/5", "/b7"), + "7": ("/3", "/5", "/b7"), +} + + +def build_full_chord_vocabulary(): + labels = ["N"] + for quality in FULL_CHORD_QUALITIES: + inversions = FULL_CHORD_INVERSIONS.get(quality, ()) + for root in CHROMATIC_SHARPS: + for inversion in (*inversions, ""): + labels.append(f"{root}:{quality}{inversion}") + return tuple(labels) + + +FULL_CHORD_VOCABULARY = build_full_chord_vocabulary() + + +class SheetSage2Tokenizer: + """Typed prompt and event vocabulary for prompt-conditioned transcription.""" + + meter_numerators = tuple(range(1, 33)) + meter_denominators = (1, 2, 4, 8, 16, 32) + n_eighth_positions = 256 + max_subbeat_shift = 256 + prompt_capacity = 256 + + def __init__( + self, + audio_length_seconds=300.0, + time_hz=100, + schema_version="v1", + expected_fingerprint=None, + ): + self.audio_length_seconds = float(audio_length_seconds) + self.time_hz = int(time_hz) + self.schema = get_prompt_multitask_schema(schema_version) + self.schema_version = self.schema.version + self.task_specs = self.schema.tasks + self.event_field_order = self.schema.event_field_order + self.n_time_tokens = int(round(self.audio_length_seconds * self.time_hz)) + if self.n_time_tokens <= 0: + raise ValueError("audio_length_seconds must produce at least one time token") + + self.pad_token = 0 + self.sos_token = 1 + self.bos_token = self.sos_token + self.eos_token = 2 + self.out_token = 3 + + self.prompt_token_start = 4 + self.prompt_names = tuple(task.name for task in self.task_specs) + if len(self.prompt_names) > self.prompt_capacity: + raise ValueError( + f"Schema {self.schema_version} has {len(self.prompt_names)} prompts, " + f"exceeding immutable capacity {self.prompt_capacity}" + ) + self.prompt_to_id = { + name: self.prompt_token_start + index + for index, name in enumerate(self.prompt_names) + } + self.prompt_token_end = self.prompt_token_start + self.prompt_capacity + + self.subbeat_shift_token_start = self.prompt_token_end + self.n_subbeat_shift_tokens = self.max_subbeat_shift + 1 + self.subbeat_shift_token_end = ( + self.subbeat_shift_token_start + self.n_subbeat_shift_tokens + ) + + self.time_token_start = self.subbeat_shift_token_end + self.time_token_end = self.time_token_start + self.n_time_tokens + + self.meter_pairs = tuple( + (numerator, denominator) + for numerator in self.meter_numerators + for denominator in self.meter_denominators + ) + self.meter_to_id = {meter: index for index, meter in enumerate(self.meter_pairs)} + self.meter_token_start = self.time_token_end + self.meter_token_end = self.meter_token_start + len(self.meter_pairs) + + self.eighth_position_token_start = self.meter_token_end + self.eighth_position_token_end = ( + self.eighth_position_token_start + self.n_eighth_positions + ) + + self.structure_labels = tuple(STRUCTURE_LABELS) + self.structure_token_start = self.eighth_position_token_end + self.structure_token_end = self.structure_token_start + len(self.structure_labels) + + self.key_token_start = self.structure_token_end + self.n_key_tokens = 24 + self.key_token_end = self.key_token_start + self.n_key_tokens + + self.majmin_chord_labels = ( + "N", + *(f"{root}:maj" for root in CHROMATIC_SHARPS), + *(f"{root}:min" for root in CHROMATIC_SHARPS), + ) + self.majmin_chord_token_start = self.key_token_end + self.majmin_chord_token_end = ( + self.majmin_chord_token_start + len(self.majmin_chord_labels) + ) + + self.full_chord_labels = FULL_CHORD_VOCABULARY + self.full_chord_to_id = { + label: index for index, label in enumerate(self.full_chord_labels) + } + self.full_chord_token_start = self.majmin_chord_token_end + self.full_chord_token_end = ( + self.full_chord_token_start + len(self.full_chord_labels) + ) + + self.pitch_token_start = self.full_chord_token_end + self.n_pitch_tokens = 256 + self.pitch_token_end = self.pitch_token_start + self.n_pitch_tokens + + self.duration_templates = DURATION_TEMPLATES + self.duration_boundaries = duration_boundaries + self.duration_token_start = self.pitch_token_end + self.n_duration_tokens = len(self.duration_templates) + self.duration_token_end = self.duration_token_start + self.n_duration_tokens + self.appended_token_blocks = {} + next_token = self.duration_token_end + for block in self.schema.appended_token_blocks: + start = next_token + end = start + len(block.labels) + self.appended_token_blocks[block.name] = { + "start": start, + "end": end, + "labels": tuple(block.labels), + "output_field": block.output_field or block.name, + } + next_token = end + self.n_tokens = next_token + + self._full_chord_templates = self._build_full_chord_templates() + self.vocab_fingerprint = self._compute_fingerprint() + if ( + expected_fingerprint is not None + and str(expected_fingerprint) != self.vocab_fingerprint + ): + raise ValueError( + f"Tokenizer fingerprint mismatch for schema {self.schema_version}: " + f"expected {expected_fingerprint}, got {self.vocab_fingerprint}" + ) + + def _compute_fingerprint(self): + payload = { + "schema_version": self.schema_version, + "audio_length_seconds": self.audio_length_seconds, + "time_hz": self.time_hz, + "prompt_capacity": self.prompt_capacity, + "prompt_names": self.prompt_names, + "event_field_order": self.event_field_order, + "meter_pairs": self.meter_pairs, + "structure_labels": self.structure_labels, + "majmin_chord_labels": self.majmin_chord_labels, + "full_chord_labels": self.full_chord_labels, + "duration_templates": tuple(int(value) for value in self.duration_templates), + "appended_token_blocks": tuple( + (name, block["labels"], block["output_field"]) + for name, block in self.appended_token_blocks.items() + ), + "n_tokens": self.n_tokens, + } + encoded = json.dumps(payload, sort_keys=True, separators=(",", ":")).encode( + "utf-8" + ) + return hashlib.sha256(encoded).hexdigest()[:16] + + def get_config(self): + return { + "schema_version": self.schema_version, + "audio_length_seconds": self.audio_length_seconds, + "time_hz": self.time_hz, + "vocab_fingerprint": self.vocab_fingerprint, + "n_tokens": self.n_tokens, + } + + def normalize_prompts(self, prompts): + names = [] + seen = set() + for prompt in prompts: + name = str(prompt).strip() + if name.startswith("<|") and name.endswith("|>"): + name = name[2:-2] + if name not in self.prompt_to_id: + raise ValueError(f"Unknown prompt: {prompt!r}") + if name not in seen: + names.append(name) + seen.add(name) + names.sort(key=self.prompt_names.index) + selected_groups = {} + task_by_name = {task.name: task for task in self.task_specs} + for name in names: + group = task_by_name[name].sampling_group + previous = selected_groups.get(group) + if previous is not None: + raise ValueError( + f"Prompts {previous!r} and {name!r} are mutually exclusive " + f"within sampling group {group!r}" + ) + selected_groups[group] = name + if not names: + raise ValueError("At least one task prompt is required") + return tuple(names) + + def prompt_to_token(self, prompt): + return self.prompt_to_id[self.normalize_prompts((prompt,))[0]] + + def token_to_prompt(self, token): + token = int(token) + for prompt, prompt_token in self.prompt_to_id.items(): + if token == prompt_token: + return prompt + raise ValueError(f"token {token} is not a prompt token") + + def prompt_prefix(self, prompts): + prompts = self.normalize_prompts(prompts) + return [ + self.sos_token, + *(self.prompt_to_id[prompt] for prompt in prompts), + self.out_token, + ] + + def subbeat_shift_to_tokens(self, shift): + shift = int(shift) + if shift < 0: + raise ValueError("subbeat shift must be non-negative") + tokens = [] + while shift > self.max_subbeat_shift: + tokens.append(self.subbeat_shift_token_start + self.max_subbeat_shift) + shift -= self.max_subbeat_shift + tokens.append(self.subbeat_shift_token_start + shift) + return tokens + + def token_to_subbeat_shift(self, token): + token = int(token) + if not self.subbeat_shift_token_start <= token < self.subbeat_shift_token_end: + raise ValueError(f"token {token} is not a subbeat shift token") + return token - self.subbeat_shift_token_start + + def time_id_to_token(self, time_id): + time_id = int(time_id) + if not 0 <= time_id < self.n_time_tokens: + raise ValueError(f"time id {time_id} is outside [0, {self.n_time_tokens})") + return self.time_token_start + time_id + + def token_to_time_id(self, token): + token = int(token) + if not self.time_token_start <= token < self.time_token_end: + raise ValueError(f"token {token} is not a time token") + return token - self.time_token_start + + def meter_to_token(self, numerator, denominator): + meter = (int(numerator), int(denominator)) + if meter not in self.meter_to_id: + raise ValueError(f"Unsupported meter {meter[0]}/{meter[1]}") + return self.meter_token_start + self.meter_to_id[meter] + + def eighth_position_to_token(self, position): + position = int(position) + if not 0 <= position < self.n_eighth_positions: + raise ValueError( + f"eighth-note position {position} is outside [0, {self.n_eighth_positions})" + ) + return self.eighth_position_token_start + position + + def structure_to_token(self, label): + label = str(label) + if label not in self.structure_labels: + raise ValueError(f"Unknown structure label: {label!r}") + return self.structure_token_start + self.structure_labels.index(label) + + def key_to_token(self, key_label, pitch_shift=0): + tonic, mode = str(key_label).split(":", 1) + tonic_id = mir_eval.chord.pitch_class_to_semitone(tonic) + if tonic_id < 0: + raise ValueError(f"Invalid key tonic: {key_label!r}") + tonic_id = (int(tonic_id) + int(pitch_shift)) % 12 + minor_modes = {"minor", "dorian", "phrygian", "locrian"} + mode_id = 1 if mode.lower() in minor_modes else 0 + return self.key_token_start + mode_id * 12 + tonic_id + + @staticmethod + def _canonical_chord_parts(chord_label, pitch_shift=0): + chord_label = str(chord_label).strip() + if chord_label in {"N", "X", ""}: + return "N", None, None + root, suffix = chord_label.split(":", 1) + root_id = mir_eval.chord.pitch_class_to_semitone(root) + if root_id < 0: + return "N", None, None + root_id = (int(root_id) + int(pitch_shift)) % 12 + canonical = f"{CHROMATIC_SHARPS[root_id]}:{suffix}" + quality = re.split(r"/", suffix, maxsplit=1)[0] + return canonical, root_id, quality + + def chord_majmin_to_token(self, chord_label, pitch_shift=0): + canonical, root_id, quality = self._canonical_chord_parts( + chord_label, + pitch_shift, + ) + if canonical == "N": + return self.majmin_chord_token_start + + try: + original_root, chroma, _ = mir_eval.chord.encode(str(chord_label)) + relative = mir_eval.chord.rotate_bitmap_to_root(chroma, original_root) + has_minor_third = bool(relative[3] > 0) + has_major_third = bool(relative[4] > 0) + except Exception: + has_minor_third = quality.startswith(("min", "dim", "hdim")) + has_major_third = not has_minor_third + + if has_major_third and not has_minor_third: + quality_id = 0 + elif has_minor_third and not has_major_third: + quality_id = 1 + elif quality.startswith(("min", "dim", "hdim")): + quality_id = 1 + elif has_major_third: + quality_id = 0 + else: + return self.majmin_chord_token_start + return self.majmin_chord_token_start + 1 + quality_id * 12 + root_id + + @staticmethod + def _chord_template(chord_label): + root, chroma, bass = mir_eval.chord.encode(chord_label) + root_chroma = np.zeros(12, dtype=np.float32) + root_chroma[root] = 1.0 + relative_chroma = mir_eval.chord.rotate_bitmap_to_root(chroma, root).astype( + np.float32 + ) + bass_chroma = np.zeros(12, dtype=np.float32) + bass_chroma[(bass + root) % 12] = 1.0 + return np.concatenate([root_chroma, relative_chroma, bass_chroma]) + + def _build_full_chord_templates(self): + templates = [np.zeros(36, dtype=np.float32)] + templates.extend( + self._chord_template(label) for label in self.full_chord_labels[1:] + ) + return np.stack(templates) + + def chord_full_to_token(self, chord_label, pitch_shift=0): + canonical, _root_id, _quality = self._canonical_chord_parts( + chord_label, + pitch_shift, + ) + chord_id = self.full_chord_to_id.get(canonical) + if chord_id is None: + if canonical == "N": + chord_id = 0 + else: + try: + target = self._chord_template(canonical) + distances = np.abs(self._full_chord_templates - target[None]).sum( + axis=1 + ) + chord_id = int(np.argmin(distances)) + except Exception: + chord_id = 0 + return self.full_chord_token_start + chord_id + + def pitch_to_token(self, pitch, track=0, full_melody=False): + pitch = int(pitch) + track = int(track) + if not 0 <= pitch < 128: + raise ValueError(f"MIDI pitch {pitch} is outside [0, 128)") + if track not in (0, 1): + raise ValueError(f"melody track {track} is outside [0, 2)") + pitch_id = pitch + (128 if full_melody and track == 1 else 0) + return self.pitch_token_start + pitch_id + + def duration_bin_to_token(self, duration_bin): + duration_bin = int(duration_bin) + if not 0 <= duration_bin < self.n_duration_tokens: + raise ValueError( + f"duration bin {duration_bin} is outside [0, {self.n_duration_tokens})" + ) + return self.duration_token_start + duration_bin + + def token_to_duration_bin(self, token): + token = int(token) + if not self.duration_token_start <= token < self.duration_token_end: + raise ValueError(f"token {token} is not a duration token") + return token - self.duration_token_start + + def appended_label_to_token(self, block_name, label): + block = self.appended_token_blocks.get(str(block_name)) + if block is None: + raise ValueError(f"unknown appended token block: {block_name!r}") + try: + index = block["labels"].index(str(label)) + except ValueError as exc: + raise ValueError( + f"unknown label {label!r} for appended block {block_name!r}" + ) from exc + return block["start"] + index + + def token_to_appended_label(self, token): + token = int(token) + token_type = self.token_type(token) + block = self.appended_token_blocks.get(token_type) + if block is None: + raise ValueError(f"token {token} is not from an appended token block") + return token_type, block["labels"][token - block["start"]] + + def _token_output_field(self, token_type): + built_in = { + "time": "timestamp", + "meter": "rhythm", + "eighth_position": "rhythm", + "structure": "structure", + "key": "key", + "chord_majmin": "chord", + "chord_full": "chord", + "pitch": "melody", + "duration": "melody", + } + if token_type in built_in: + return built_in[token_type] + block = self.appended_token_blocks.get(token_type) + return None if block is None else block["output_field"] + + def _decode_field(self, field, field_tokens, prompts): + token_types = [self.token_type(token) for token in field_tokens] + if field == "timestamp": + return self.token_to_time_id(field_tokens[0]) / self.time_hz + if field == "rhythm": + rhythm = {} + for token, token_type in zip(field_tokens, token_types): + if token_type == "meter": + rhythm["meter"] = self.meter_pairs[token - self.meter_token_start] + elif token_type == "eighth_position": + rhythm["eighth_position"] = token - self.eighth_position_token_start + return rhythm + if field == "structure": + return self.structure_labels[field_tokens[0] - self.structure_token_start] + if field == "key": + key_id = field_tokens[0] - self.key_token_start + mode = "minor" if key_id >= 12 else "major" + return normalize_key_name(f"{CHROMATIC_SHARPS[key_id % 12]}:{mode}") + if field == "chord": + if token_types[0] == "chord_majmin": + return self.majmin_chord_labels[ + field_tokens[0] - self.majmin_chord_token_start + ] + return self.full_chord_labels[ + field_tokens[0] - self.full_chord_token_start + ] + if field == "melody": + notes = [] + index = 0 + while index < len(field_tokens): + pitch_id = field_tokens[index] - self.pitch_token_start + duration_bin = 0 + if ( + index + 1 < len(field_tokens) + and self.token_type(field_tokens[index + 1]) == "duration" + ): + duration_bin = self.token_to_duration_bin(field_tokens[index + 1]) + index += 2 + else: + index += 1 + notes.append( + { + "pitch": pitch_id % 128, + "track": int(pitch_id >= 128), + "duration_bin": duration_bin, + "duration_steps": int(self.duration_templates[duration_bin]), + } + ) + return notes + values = [] + for token in field_tokens: + block_name, label = self.token_to_appended_label(token) + values.append({"block": block_name, "label": label}) + return values[0] if len(values) == 1 else values + + def decode_sequence(self, tokens, strict=True): + """Parse one prompt-conditioned sequence into timed, typed events.""" + if hasattr(tokens, "detach"): + tokens = tokens.detach().cpu().tolist() + tokens = [int(token) for token in tokens] + while tokens and tokens[-1] == self.pad_token: + tokens.pop() + if not tokens or tokens[0] != self.sos_token: + raise ValueError("sequence must begin with <|sos|>") + + try: + out_index = tokens.index(self.out_token, 1) + except ValueError as exc: + raise ValueError("sequence is missing <|out|>") from exc + prompts = tuple(self.token_to_prompt(token) for token in tokens[1:out_index]) + if strict and self.normalize_prompts(prompts) != prompts: + raise ValueError("prompt tokens are not in canonical schema order") + active_fields = { + task.output_field for task in self.task_specs if task.name in prompts + } + + events = [] + position = out_index + 1 + current_step = 0 + saw_eos = False + while position < len(tokens): + token = tokens[position] + if token == self.eos_token: + saw_eos = True + position += 1 + break + if self.token_type(token) != "subbeat_shift": + raise ValueError(f"event at token index {position} has no subbeat shift") + shift = 0 + while ( + position < len(tokens) + and self.token_type(tokens[position]) == "subbeat_shift" + ): + shift += self.token_to_subbeat_shift(tokens[position]) + position += 1 + current_step += shift + + tokens_by_field = {field: [] for field in self.event_field_order} + while position < len(tokens): + token = tokens[position] + token_type = self.token_type(token) + if token_type == "subbeat_shift" or token == self.eos_token: + break + field = self._token_output_field(token_type) + if field is None or field not in tokens_by_field: + raise ValueError( + f"token {token} ({token_type}) has no field in schema " + f"{self.schema_version}" + ) + if strict and field not in active_fields: + raise ValueError( + f"token {token} belongs to inactive output field {field!r}" + ) + tokens_by_field[field].append(token) + position += 1 + + tokens_by_field = { + field: values for field, values in tokens_by_field.items() if values + } + if not tokens_by_field: + if strict: + raise ValueError(f"empty event at subbeat {current_step}") + continue + if strict: + for field, values in tokens_by_field.items(): + types = [self.token_type(value) for value in values] + if field == "timestamp" and types != ["time"]: + raise ValueError("timestamp event must contain exactly one time token") + if field == "rhythm": + if types not in (["eighth_position"], ["meter", "eighth_position"]): + raise ValueError(f"invalid rhythm payload: {types}") + if field in {"structure", "key", "chord"} and len(values) != 1: + raise ValueError(f"field {field!r} must contain exactly one token") + if field == "melody": + index = 0 + while index < len(types): + if types[index] != "pitch": + raise ValueError( + "melody payload must contain pitch tokens with optional duration" + ) + if index + 1 < len(types) and types[index + 1] == "duration": + index += 2 + else: + index += 1 + events.append( + { + "subbeat": current_step, + "tokens_by_field": tokens_by_field, + "values": { + field: self._decode_field(field, values, prompts) + for field, values in tokens_by_field.items() + }, + } + ) + + if strict and not saw_eos: + raise ValueError("sequence is missing <|eos|>") + if strict and position != len(tokens): + raise ValueError("non-padding tokens follow <|eos|>") + return { + "schema_version": self.schema_version, + "prompts": prompts, + "events": events, + "has_eos": saw_eos, + } + + def encode_decoded_sequence(self, decoded): + """Re-encode the lossless representation returned by decode_sequence.""" + prompts = self.normalize_prompts(decoded["prompts"]) + output = self.prompt_prefix(prompts) + previous_step = 0 + for event in decoded["events"]: + step = int(event["subbeat"]) + if step < previous_step: + raise ValueError("events must be sorted by non-decreasing subbeat") + output.extend(self.subbeat_shift_to_tokens(step - previous_step)) + previous_step = step + tokens_by_field = event["tokens_by_field"] + for field in self.event_field_order: + output.extend(int(token) for token in tokens_by_field.get(field, ())) + if decoded.get("has_eos", True): + output.append(self.eos_token) + return output + + def token_type(self, token): + token = int(token) + for name, start, end in ( + ("subbeat_shift", self.subbeat_shift_token_start, self.subbeat_shift_token_end), + ("time", self.time_token_start, self.time_token_end), + ("meter", self.meter_token_start, self.meter_token_end), + ("eighth_position", self.eighth_position_token_start, self.eighth_position_token_end), + ("structure", self.structure_token_start, self.structure_token_end), + ("key", self.key_token_start, self.key_token_end), + ("chord_majmin", self.majmin_chord_token_start, self.majmin_chord_token_end), + ("chord_full", self.full_chord_token_start, self.full_chord_token_end), + ("pitch", self.pitch_token_start, self.pitch_token_end), + ("duration", self.duration_token_start, self.duration_token_end), + ): + if start <= token < end: + return name + if token in self.prompt_to_id.values(): + return "prompt" + for name, block in self.appended_token_blocks.items(): + if block["start"] <= token < block["end"]: + return name + if token == self.pad_token: + return "pad" + if token == self.sos_token: + return "sos" + if token == self.eos_token: + return "eos" + if token == self.out_token: + return "out" + raise ValueError(f"token {token} is outside vocabulary size {self.n_tokens}") + + def describe(self, token): + token = int(token) + token_type = self.token_type(token) + if token_type == "prompt": + prompt_by_id = {value: key for key, value in self.prompt_to_id.items()} + return f"<|{prompt_by_id[token]}|>" + if token_type == "subbeat_shift": + return f"" + if token_type == "time": + time_id = token - self.time_token_start + return f"" + if token_type == "meter": + numerator, denominator = self.meter_pairs[token - self.meter_token_start] + return f"" + if token_type == "eighth_position": + return f"" + if token_type == "structure": + return f"" + if token_type == "key": + key_id = token - self.key_token_start + mode = "minor" if key_id >= 12 else "major" + label = normalize_key_name(f"{CHROMATIC_SHARPS[key_id % 12]}:{mode}") + return f"" + if token_type == "chord_majmin": + return f"" + if token_type == "chord_full": + return f"" + if token_type == "pitch": + pitch = token - self.pitch_token_start + track = 1 if pitch >= 128 else 0 + return f"" + if token_type == "duration": + return f"" + if token_type in self.appended_token_blocks: + block = self.appended_token_blocks[token_type] + label = block["labels"][token - block["start"]] + return f"<{token_type}_{label}>" + return f"<|{token_type}|>"