48 MIDI files for the violinist experiment: 32 movements of Bach’s Sonatas and Partitas for solo violin (BWV 1001–1006, complete), 6 sonata movements with keyboard, 6 concerto movements and 4 showpieces. index.json lists them for a web page.
All files come from the Mutopia Project, whose pieces are engraved in LilyPond from public-domain editions and released under public domain or Creative Commons licences. The files are copied unchanged from Mutopia’s downloads (the multi-movement zips were unpacked and one movement taken).
violinTrack in index.json is the track index in the SMF (track 0 is LilyPond’s tempo track); violinChannel is 0-based.violinProgram: null in index.json). The BWV 1017 keyboard tracks also lack one (piano by default, which is fine).bpm (the file’s first tempo) and, for those files, suggestedBpm: an approximate quarter-note tempo of typical recordings. Playback rate = suggestedBpm / bpm. BWV 1002 (Partita 1), BWV 1004 Giga and all the ensemble pieces have engraved tempos.The MIDI files carry no articulation: every note touches the next, and nothing says which notes share a bow. Mutopia’s LilyPond sources do, so violinist/scores/ holds the source of every piece, only the files each score reads (243 files, 1.2 MB; the same licences as the MIDI files). index.json gives each entry a score: its main file, the files it reads, the staff (part, partName) that is the MIDI’s violin, and how well they agree (matched: the share of the MIDI’s violin notes found in the score at the same pitch and place, 95.3–100 %, 99.5 % overall). #034, #037 and #038 read it with strings/lilypond.js and put its slurs, marks and bowings on the MIDI’s notes (violinist/score-art.js), so the MIDI keeps its timing and the bow follows the score.
What the sources have:
Printed editions with bowings (IMSLP). For Bach’s Sonatas and Partitas, two performing editions add the bowings the urtext leaves out: Eduard Herrmann (G. Schirmer, 1900, IMSLP #335779) and Leopold Auer (Carl Fischer, 1917, IMSLP #921334), both public domain. Their scans are read by optical music recognition with ScoreShift (../random-sketches/vibes/scoreshift). It reads the notes, slurs, staccato / tenuto / accent marks and ⊓ / V bow signs on each page. The pitches are then aligned onto the MIDI’s violin notes (5-note fingerprints to find the movement, then an edit-distance alignment), and the marks are stored per note in violinist/editions/<edition>.json (node violinist/tools/build_editions.js; the scans stay in the git-ignored strings/data/IMSLP). The results per edition, over the 32 movements:
| Herrmann 1900 | Auer 1917 | |
|---|---|---|
| Notes found | 91.5 % | 85.1 % |
| Slurred note pairs (Mutopia’s BGA source on the same notes) | 5,540 (4,161) | 5,401 (3,708) |
| Mutopia’s slurred pairs also slurred in the edition | 80.5 % (was 76.7, first 62.5) | 73.7 % (was 69.0, first 55.5) |
| Slur agreement with Mutopia, all pairs | 86.5 % | 81.4 % |
| Bow signs | 157 ⊓, 58 V | 275 ⊓, 226 V |
These figures are after ScoreShift learned to read slurs merged into note ink and bowing marks above beams (checked by eye on a few systems, see its README: Auer 22 → 25 of 36 slurs, Herrmann 12 of 12 with 1 false where it had 4, bowing marks 9 → 12 of about 14 on an Auer page). A slur running over a page turn is joined: a slur still open at the end of a page continues into the notes before the next page’s first slur end. Steep slurs that join two voices (a bass note up to the melody, or the top note down to the next voice) are now read too: 188 more slurs on the Herrmann pages, 310 on the Auer pages, which raised the share of Mutopia’s slurs the editions also have from 76.7 to 80.5 % (Herrmann) and 69.0 to 73.7 % (Auer). Preparing a listening comparison of the editions turned up slurs that never ended, running on for 50 to 450 notes (a Presto excerpt played as one long bow): ScoreShift’s MusicXML gave nested slurs and slurs to chords its bar check removed the same number or no stop, and our reader lost slurs that end on a grace note or stop in voice 1 before starting in voice 2. With those fixed no slur in either edition is longer than 26 notes, and the edition files have about 300–500 fewer slurred pairs, the ones those runaway slurs had added. node strings/test/ab_editions.js --all renders Mutopia, Herrmann and Auer bowings of five movements for listening (strings/data/compare/editions, on the comparison page). OMR still misses bowing marks fused with a beam, and steep slurs whose ends merge into a stem. Herrmann mostly keeps Bach’s slurs and marks bow strokes in the fugues and chords. Auer re-slurs more freely and marks bows throughout. In #037, Bowing: Herrmann / Auer appears for these movements. The bow signs set the stroke direction (strings/motion.js), which until now ignored them, the Tchaikovsky score’s included.
node violinist/tools/build_scores.js rebuilds violinist/scores and the score entries from the sources (node strings/test/fetch_mutopia_ly.js fetches them into the git-ignored strings/data/MutopiaLy).
For the Sonatas and Partitas, violinist/performances holds how four violinists of the Bach Violin Dataset played these same MIDI notes (timing, dynamics, pitch curves; 47 recordings, public domain or CC BY), measured from their recordings and matched to the MIDI notes by pitch sequence (98 % found). #034 plays them under Performer, with the bowing from the score or an edition.
Duration is as stored (at the file’s tempo). Violin track: index, track name, 0-based channel, GM program.
| file | composer | piece | duration | solo violin track | other parts | source | licence | sequenced by | notes |
|---|---|---|---|---|---|---|---|---|---|
| bach_1001_1_adagio.mid | J. S. Bach | Sonata No. 1 in G minor, BWV 1001: I. Adagio | 1:28 | 1 “” · ch 1 · none (→ set 40) | — | Mutopia #1429 | CC BY-SA 3.0 | Hajo Dezelski (Mutopia) | Mechanical (LilyPond), flat velocity. 518 violin notes D#3–A#5, chords up to 4. No tempo in file (♩=60); typical ≈ ♩=24. One note below the violin’s G3 (D#3 at 50 s), an engraving octave slip: raise it an octave or drop it. |
| bach_1001_2_fuga.mid | J. S. Bach | Sonata No. 1 in G minor, BWV 1001: II. Fuga (Allegro) | 6:16 | 1 “” · ch 1 · none (→ set 40) | — | Mutopia #1438 | CC BY-SA 3.0 | Hajo Dezelski (Mutopia) | Mechanical (LilyPond), flat velocity. 1620 violin notes D#3–F6, chords up to 4. No tempo in file (♩=60); typical ≈ ♩=72. One note below G3 (D#3 at 310 s), an engraving slip: raise it an octave or drop it. |
| bach_1001_3_siciliana.mid | J. S. Bach | Sonata No. 1 in G minor, BWV 1001: III. Siciliana | 1:55 | 1 “” · ch 1 · none (→ set 40) | — | Mutopia #1448 | CC BY-SA 3.0 | Hajo Dezelski (Mutopia) | Mechanical (LilyPond), flat velocity. 508 violin notes F3–D6, chords up to 4. No tempo in file (♩=60); typical ≈ ♩=38. One note below G3 (F3 at 114 s, the final chord), an engraving slip. |
| bach_1001_4_presto.mid | J. S. Bach | Sonata No. 1 in G minor, BWV 1001: IV. Presto | 3:24 | 1 “” · ch 1 · none (→ set 40) | — | Mutopia #1439 | CC BY-SA 3.0 | Hajo Dezelski (Mutopia) | Mechanical (LilyPond), flat velocity. 811 violin notes G3–D6, chords up to 4. No tempo in file (♩=60); typical ≈ ♩=125. |
| bach_1002_1_allemanda.mid | J. S. Bach | Partita No. 1 in B minor, BWV 1002: I. Allemanda | 3:15 | 1 “:B” · ch 0 · none (→ set 40) | — | Mutopia #180 | Public domain | Erik Sandberg (Mutopia) | Mechanical (LilyPond), flat velocity. 536 violin notes G3–D6, chords up to 4. ♩=32. Tempos set per movement by the engraver (♩=32 here). |
| bach_1002_2_double.mid | J. S. Bach | Partita No. 1 in B minor, BWV 1002: II. Double | 1:16 | 1 “:A” · ch 0 · none (→ set 40) | — | Mutopia #180 | Public domain | Erik Sandberg (Mutopia) | Mechanical (LilyPond), flat velocity. 380 violin notes G3–D6, single line. ♩=76. |
| bach_1002_3_corrente.mid | J. S. Bach | Partita No. 1 in B minor, BWV 1002: III. Corrente | 1:51 | 1 “:A” · ch 0 · none (→ set 40) | — | Mutopia #180 | Public domain | Erik Sandberg (Mutopia) | Mechanical (LilyPond), flat velocity. 476 violin notes G3–D6, chords up to 3. ♩=130. |
| bach_1002_4_double_presto.mid | J. S. Bach | Partita No. 1 in B minor, BWV 1002: IV. Double (Presto) | 2:12 | 1 “:A” · ch 0 · none (→ set 40) | — | Mutopia #180 | Public domain | Erik Sandberg (Mutopia) | Mechanical (LilyPond), flat velocity. 955 violin notes G#3–E6, single line. ♩=109. |
| bach_1002_5_sarabande.mid | J. S. Bach | Partita No. 1 in B minor, BWV 1002: V. Sarabande | 1:48 | 1 “:A” · ch 0 · none (→ set 40) | — | Mutopia #180 | Public domain | Erik Sandberg (Mutopia) | Mechanical (LilyPond), flat velocity. 268 violin notes G3–C6, chords up to 4. ♩=55. |
| bach_1002_6_double.mid | J. S. Bach | Partita No. 1 in B minor, BWV 1002: VI. Double | 1:06 | 1 “:A” · ch 0 · none (→ set 40) | — | Mutopia #180 | Public domain | Erik Sandberg (Mutopia) | Mechanical (LilyPond), flat velocity. 299 violin notes G3–C#6, single line. ♩=140. |
| bach_1002_7_borea.mid | J. S. Bach | Partita No. 1 in B minor, BWV 1002: VII. Tempo di Borea | 1:57 | 1 “:A” · ch 0 · none (→ set 40) | — | Mutopia #180 | Public domain | Erik Sandberg (Mutopia) | Mechanical (LilyPond), flat velocity. 533 violin notes G3–E6, chords up to 4. ♩=140. |
| bach_1002_8_double.mid | J. S. Bach | Partita No. 1 in B minor, BWV 1002: VIII. Double | 1:42 | 1 “:A” · ch 0 · none (→ set 40) | — | Mutopia #180 | Public domain | Erik Sandberg (Mutopia) | Mechanical (LilyPond), flat velocity. 554 violin notes G3–E6, chords up to 3. ♩=160. |
| bach_1003_1_grave.mid | J. S. Bach | Sonata No. 2 in A minor, BWV 1003: I. Grave | 1:32 | 1 “” · ch 1 · 40 | — | Mutopia #1449 | CC BY-SA 3.0 | Hajo Dezelski (Mutopia) | Mechanical (LilyPond), flat velocity. 543 violin notes G3–D6, chords up to 4. No tempo in file (♩=60); typical ≈ ♩=24. |
| bach_1003_2_fuga.mid | J. S. Bach | Sonata No. 2 in A minor, BWV 1003: II. Fuga | 9:38 | 1 “” · ch 1 · 40 | — | Mutopia #1455 | CC BY-SA 3.0 | Hajo Dezelski (Mutopia) | Mechanical (LilyPond), flat velocity. 2365 violin notes G3–D6, chords up to 4. No tempo in file (♩=60); typical ≈ ♩=75. |
| bach_1003_3_andante.mid | J. S. Bach | Sonata No. 2 in A minor, BWV 1003: III. Andante | 1:27 | 1 “” · ch 1 · 40 | — | Mutopia #1456 | CC BY-SA 3.0 | Hajo Dezelski (Mutopia) | Mechanical (LilyPond), flat velocity. 422 violin notes G3–C6, chords up to 4. No tempo in file (♩=60); typical ≈ ♩=36. |
| bach_1003_4_allegro.mid | J. S. Bach | Sonata No. 2 in A minor, BWV 1003: IV. Allegro | 3:52 | 1 “” · ch 1 · 40 | — | Mutopia #1457 | CC BY-SA 3.0 | Hajo Dezelski (Mutopia) | Mechanical (LilyPond), flat velocity. 1021 violin notes G3–E6, chords up to 2. No tempo in file (♩=60); typical ≈ ♩=88. |
| bach_1004_1_allemanda.mid | J. S. Bach | Partita No. 2 in D minor, BWV 1004: I. Allemanda | 2:08 | 1 “” · ch 1 · none (→ set 40) | — | Mutopia #1423 | CC BY-SA 3.0 | Hajo Dezelski (Mutopia) | Mechanical (LilyPond), flat velocity. 545 violin notes G#3–D6, chords up to 4. No tempo in file (♩=60); typical ≈ ♩=56. |
| bach_1004_2_corrente.mid | J. S. Bach | Partita No. 2 in D minor, BWV 1004: II. Corrente | 2:42 | 1 “” · ch 1 · none (→ set 40) | — | Mutopia #1424 | CC BY-SA 3.0 | Hajo Dezelski (Mutopia) | Mechanical (LilyPond), flat velocity. 429 violin notes G3–D6, chords up to 3. No tempo in file (♩=60); typical ≈ ♩=130. Dotted / triplet rhythms, so fewer onsets on a 1/32 grid; still notation-exact. |
| bach_1004_3_sarabanda.mid | J. S. Bach | Partita No. 2 in D minor, BWV 1004: III. Sarabanda | 1:30 | 1 “” · ch 1 · none (→ set 40) | — | Mutopia #1427 | CC BY-SA 3.0 | Benjamin D. Esham (Mutopia) | Mechanical (LilyPond), flat velocity. 307 violin notes G3–A#5, chords up to 4. No tempo in file (♩=60); typical ≈ ♩=45. |
| bach_1004_4_giga.mid | J. S. Bach | Partita No. 2 in D minor, BWV 1004: IV. Giga | 2:13 | 1 “” · ch 1 · none (→ set 40) | — | Mutopia #1428 | CC BY-SA 3.0 | Benjamin D. Esham (Mutopia) | Mechanical (LilyPond), flat velocity. 908 violin notes G3–D6, single line. ♩=108. |
| bach_1004_5_ciaccona.mid | J. S. Bach | Partita No. 2 in D minor, BWV 1004: V. Ciaccona (Chaconne) | 12:50 | 1 “” · ch 0 · none (→ set 40) | — | Mutopia #1426 | CC BY-SA 3.0 | Hajo Dezelski (Mutopia) | Mechanical (LilyPond), flat velocity. 3085 violin notes G3–G6, chords up to 4. No tempo in file (♩=60); typical ≈ ♩=55. Whole Chaconne (257 bars) in one file. |
| bach_1005_1_adagio.mid | J. S. Bach | Sonata No. 3 in C major, BWV 1005: I. Adagio | 2:21 | 1 “” · ch 1 · 40 | — | Mutopia #1458 | CC BY-SA 3.0 | Hajo Dezelski (Mutopia) | Mechanical (LilyPond), flat velocity. 554 violin notes G3–C6, chords up to 4. No tempo in file (♩=60); typical ≈ ♩=31. |
| bach_1005_2_fuga.mid | J. S. Bach | Sonata No. 3 in C major, BWV 1005: II. Fuga (Alla breve) | 23:38 | 1 “” · ch 1 · 40 | — | Mutopia #1466 | CC BY-SA 3.0 | Hajo Dezelski (Mutopia) | Mechanical (LilyPond), flat velocity. 3039 violin notes G3–G6, chords up to 4. No tempo in file (♩=60); typical ≈ ♩=135. Alla breve written as 4/4 at ♩=60: about 23.6 min as stored, ~10.5 min at the suggested tempo. |
| bach_1005_3_largo.mid | J. S. Bach | Sonata No. 3 in C major, BWV 1005: III. Largo | 1:24 | 1 “” · ch 1 · 40 | — | Mutopia #1467 | CC BY-SA 3.0 | Hajo Dezelski (Mutopia) | Mechanical (LilyPond), flat velocity. 416 violin notes G3–D6, chords up to 4. No tempo in file (♩=60); typical ≈ ♩=28. |
| bach_1005_4_allegro_assai.mid | J. S. Bach | Sonata No. 3 in C major, BWV 1005: IV. Allegro assai | 5:06 | 1 “” · ch 1 · 40 | — | Mutopia #1468 | CC BY-SA 3.0 | Hajo Dezelski (Mutopia) | Mechanical (LilyPond), flat velocity. 1196 violin notes G3–G6, single line. No tempo in file (♩=60); typical ≈ ♩=125. |
| bach_1006_1_preludio.mid | J. S. Bach | Partita No. 3 in E major, BWV 1006: I. Preludio | 6:54 | 1 “” · ch 1 · 40 | — | Mutopia #1469 | CC BY-SA 3.0 | Hajo Dezelski (Mutopia) | Mechanical (LilyPond), flat velocity. 1635 violin notes G#3–E6, chords up to 4. No tempo in file (♩=60); typical ≈ ♩=112. |
| bach_1006_2_loure.mid | J. S. Bach | Partita No. 3 in E major, BWV 1006: II. Loure | 2:26 | 1 “” · ch 1 · 40 | — | Mutopia #1470 | CC BY-SA 3.0 | Hajo Dezelski (Mutopia) | Mechanical (LilyPond), flat velocity. 289 violin notes A#3–C#6, chords up to 3. No tempo in file (♩=60); typical ≈ ♩=70. |
| bach_1006_3_gavotte.mid | J. S. Bach | Partita No. 3 in E major, BWV 1006: III. Gavotte en Rondeau | 6:44 | 1 “” · ch 1 · 40 | — | Mutopia #1471 | CC BY-SA 3.0 | Hajo Dezelski (Mutopia) | Mechanical (LilyPond), flat velocity. 763 violin notes B3–D6, chords up to 4. No tempo in file (♩=60); typical ≈ ♩=128. Cut time stored as 4/4 at ♩=60: plays at half speed. |
| bach_1006_4_menuet_1.mid | J. S. Bach | Partita No. 3 in E major, BWV 1006: IV. Menuet I | 1:42 | 1 “” · ch 1 · 40 | — | Mutopia #1472 | CC BY-SA 3.0 | Hajo Dezelski (Mutopia) | Mechanical (LilyPond), flat velocity. 214 violin notes G#3–B5, chords up to 4. No tempo in file (♩=60); typical ≈ ♩=120. |
| bach_1006_5_menuet_2.mid | J. S. Bach | Partita No. 3 in E major, BWV 1006: V. Menuet II | 1:36 | 1 “” · ch 1 · 40 | — | Mutopia #1473 | CC BY-SA 3.0 | Hajo Dezelski (Mutopia) | Mechanical (LilyPond), flat velocity. 180 violin notes B3–B5, chords up to 3. No tempo in file (♩=60); typical ≈ ♩=110. |
| bach_1006_6_bourree.mid | J. S. Bach | Partita No. 3 in E major, BWV 1006: VI. Bourrée | 2:25 | 1 “” · ch 1 · 40 | — | Mutopia #1474 | CC BY-SA 3.0 | Hajo Dezelski (Mutopia) | Mechanical (LilyPond), flat velocity. 275 violin notes B3–B5, chords up to 2. No tempo in file (♩=60); typical ≈ ♩=160. |
| bach_1006_7_gigue.mid | J. S. Bach | Partita No. 3 in E major, BWV 1006: VII. Gigue | 1:37 | 1 “” · ch 1 · 40 | — | Mutopia #1475 | CC BY-SA 3.0 | Hajo Dezelski (Mutopia) | Mechanical (LilyPond), flat velocity. 333 violin notes A3–B5, single line. No tempo in file (♩=60); typical ≈ ♩=115. |
| bach_1017_1_siciliano.mid | J. S. Bach | Sonata for Violin and Harpsichord No. 4 in C minor, BWV 1017: I. Siciliano (Largo) | 1:51 | 1 “Violino.” · ch 1 · 40 | 2 RHOne (no prog), 3 LHOne (no prog) | Mutopia #1733 | Public domain | Ryan Prince (Mutopia) | Mechanical (LilyPond), flat velocity. 164 violin notes D4–C#6, single line. ♩=60. Harpsichord right / left hand on tracks 2–3 with no program change (GM piano by default). |
| handel_hwv361_1_andante.mid | G. F. Handel | Violin Sonata in A major, HWV 361 (Op. 1 No. 3): I. Andante | 1:28 | 1 “\new” · ch 0 · 40 | 2 upper (Piano), 3 lower (Piano) | Mutopia #652 | CC BY-SA 2.5 | Felix Hammer (Mutopia) | Mechanical (LilyPond), flat velocity. 154 violin notes C#4–B5, single line. ♩=60. Piano realisation of the continuo (Sitt edition). |
| mozart_k379_1_adagio.mid | W. A. Mozart | Violin Sonata in G major, K. 379: I. Adagio | 2:29 | 2 “\new” · ch 1 · 40 | 3 upper (Piano), 4 lower (Piano) | Mutopia #571 | Public domain | Maurizio Tomasi (Mutopia) | Mechanical (LilyPond), flat velocity. 124 violin notes G3–D6, chords up to 3. ♩=40. Track 1 is empty (LilyPond staff group), the violin is track 2. Ornaments / grace notes make many onsets fall off the grid. |
| beethoven_op30_2_1_allegro.mid | L. van Beethoven | Violin Sonata No. 7 in C minor, Op. 30 No. 2: I. Allegro con brio | 7:20 | 1 “one” · ch 1 · 40 | 2 two (Piano), 3 three (Piano) | Mutopia #945 | Public domain | Stelios Samelis (Mutopia) | Mechanical (LilyPond), flat velocity. 1417 violin notes F3–G6, chords up to 3. ♩=138. One note below G3 (F3 at 353 s), an engraving slip. |
| beethoven_kreutzer_1.mid | L. van Beethoven | Violin Sonata No. 9 in A, Op. 47 “Kreutzer”: I. Adagio sostenuto – Presto | 12:21 | 1 “one” · ch 1 · 40 | 2 two (Piano), 3 three (Piano) | Mutopia #922 | Public domain | Stelios Samelis (Mutopia) | Mechanical (LilyPond), flat velocity, 2 tempo marks. 2894 violin notes G3–C7, chords up to 4. ♩=32. Adagio sostenuto introduction (♩=32) then Presto; 12.3 min. |
| beethoven_kreutzer_3_presto.mid | L. van Beethoven | Violin Sonata No. 9 in A, Op. 47 “Kreutzer”: III. Presto | 8:16 | 1 “one” · ch 1 · 40 | 2 two (Piano), 3 three (Piano) | Mutopia #923 | Public domain | Stelios Samelis (Mutopia) | Mechanical (LilyPond), flat velocity. 2208 violin notes G3–G6, chords up to 3. ♩=252. |
| bach_1042_1_allegro.mid | J. S. Bach | Violin Concerto in E major, BWV 1042: I. Allegro | 6:19 | 1 “:SoloViolin” · ch 0 · 40 | 2 :ViolinI (Harpsichord), 3 :ViolinII (Harpsichord), 4 :Viola (Harpsichord), 5 :Continuo (Harpsichord) | Mutopia #29 | Public domain | David Chan (Mutopia) | Mechanical (LilyPond), 4 velocity levels. 2455 violin notes G#3–E6, chords up to 3. ♩=110. Ripieno strings and continuo use program 6 (Harpsichord) as engraved; remap to strings (48 / 40–42) for a natural sound. |
| bach_1043_1_vivace.mid | J. S. Bach | Concerto for Two Violins in D minor, BWV 1043: I. Vivace | 3:31 | 1 “” · ch 0 · 40 | 2 :SoloViolinII (Violin), 3 – (Harpsichord), 4 :ViolinII (Harpsichord), 5 :Viola (Harpsichord), 6 :Continuo (Harpsichord) | Mutopia #3 | Public domain | David Chan (Mutopia) | Mechanical (LilyPond), flat velocity. 860 violin notes G3–D6, single line. ♩=100. Two solo violins: Solo I = track 1 (ch 0), Solo II = track 2 (ch 1, program 40). Ripieno strings and continuo use program 6 (Harpsichord). |
| vivaldi_spring_1.mid | A. Vivaldi | The Four Seasons, Op. 8 No. 1 “La Primavera” (Spring), RV 269: I. Allegro | 2:51 | 1 “solo” · ch 1 · 40 | 2 violinone (Violin), 3 violintwo (Violin), 4 viola (Viola), 5 cello (Cello) | Mutopia #301 | CC BY-SA 3.0 | smailliw (at) gmail.com (Mutopia) | Mechanical (LilyPond), flat velocity. 820 violin notes A3–G#6, single line. ♩=115. Ripieno violins are also program 40: pick the solo by track name “solo”, not by program. |
| vivaldi_winter_1.mid | A. Vivaldi | The Four Seasons, Op. 8 No. 4 “L’Inverno” (Winter), RV 297: I. Allegro non molto | 1:48 | 1 “solo” · ch 1 · 40 | 2 violinone (Violin), 3 violintwo (Violin), 4 viola (Viola), 5 cello (Cello) | Mutopia #351 | CC BY-SA 3.0 | smailliw (at) gmail.com (Mutopia) | Mechanical (LilyPond), flat velocity. 1027 violin notes A#3–G6, chords up to 2. ♩=140. Ripieno violins are also program 40: pick the solo by track name “solo”. |
| beethoven_concerto_3.mid | L. van Beethoven | Violin Concerto in D major, Op. 61: III. Rondo (Allegro) | 8:27 | 8 “eight” · ch 8 · 40 | 1 one (Flute), 2 two (Oboe), 3 three (Clarinet), 4 four (Bassoon), 5 five (English horn), 6 six (English horn), 7 seven (Timpani), 9 nine (Violin), 10 ten (Violin), 11 eleven (Viola), 12 twelve (Cello), 13 thirteen (Contrabass) | Mutopia #1165 | Public domain | Stelios Samelis (Mutopia) | Mechanical (LilyPond), flat velocity. 2018 violin notes G3–D7, chords up to 3. ♩=128. Tracks are named “one”…”thirteen”; solo identified by range (G3–D7) and density. Orchestra violins (tracks 9–10) are also program 40. Horns / trumpets use program 69 (English horn). |
| tchaikovsky_concerto_3.mid | P. I. Tchaikovsky | Violin Concerto in D major, Op. 35: III. Finale (Allegro vivacissimo) | 9:26 | 10 “solo:” · ch 10 · 40 | 1 flauti: (Flute), 2 flauti2: (Flute), 3 oboi: (Oboe), 4 clarinetti: (Clarinet), 5 fagotti: (Bassoon), 6 corni_first: (French horn), 7 corni_second: (French horn), 8 trumpet: (Trumpet), 9 timpani: (Timpani), 11 violin_one: (Strings), 12 violin_two: (Strings), 13 viola: (Strings), 14 violincello: (Strings), 15 contrabass: (Strings) | Mutopia #466 | Public domain | Will Oram (Mutopia) | Mechanical (LilyPond), 53 velocity levels, 20 tempo marks. 3313 violin notes G3–E7, chords up to 4. ♩=155. 20 tempo changes; real dynamics (53 velocity levels); orchestral strings on program 48 with pizzicato switches. |
| paganini_caprice_24.mid | N. Paganini | 24 Caprices, Op. 1: No. 24 in A minor (Tema con variazioni) | 2:12 | 1 “” · ch 0 · 40 | — | Mutopia #2000 | CC BY-SA 4.0 | Samuel Rummel (Mutopia) | Mechanical (LilyPond), 6 velocity levels. 1593 violin notes G3–F7, chords up to 4. ♩=186. Switches to program 45 (Pizzicato Strings) for the left-hand pizzicato variation and back to 40. |
| paganini_caprice_1.mid | N. Paganini | 24 Caprices, Op. 1: No. 1 in E major (Andante) | 2:33 | 1 “” · ch 0 · 40 | — | Mutopia #995 | CC BY-SA 3.0 | Andrew Buck (Mutopia) | Mechanical (LilyPond), 17 velocity levels. 1242 violin notes G3–G7, chords up to 3. No tempo in file (♩=60); typical ≈ ♩=80. Ricochet arpeggios across all four strings. |
| gounod_ave_maria.mid | C. Gounod | Ave Maria (Méditation sur le 1er Prélude de J. S. Bach), violin and piano | 4:26 | 1 “violin:” · ch 0 · 40 | 2 up: (Piano), 3 down: (Piano) | Mutopia #2167 | Public domain | Yann Leprince (Mutopia) | Mechanical (LilyPond), 13 velocity levels. 211 violin notes G3–E6, single line. ♩=66. Piano plays the Bach C major prelude (BWV 846) underneath. |
| beethoven_romance_2.mid | L. van Beethoven | Romance No. 2 in F major, Op. 50, violin and orchestra | 8:33 | 5 “five” · ch 5 · 40 | 1 one (Flute), 2 two (Oboe), 3 three (Bassoon), 4 four (English horn), 6 six (Violin), 7 seven (Violin), 8 eight (Viola), 9 nine (Cello) | Mutopia #911 | Public domain | Stelios Samelis (Mutopia) | Mechanical (LilyPond), flat velocity. 847 violin notes G3–C7, chords up to 2. ♩=48. Tracks named “one”…”nine”; solo = track 5 by range (G3–C7). Orchestra violins (tracks 6–7) are also program 40; horns on program 69 (English horn). |
Free under the same terms, left out to keep the set near 40 files:
Searched and not found under a free licence (as of 18 Oct 2026): Mendelssohn E minor concerto, Bruch G minor, Brahms concerto and sonatas, Sibelius, Mozart concertos, Beethoven “Spring” Op. 24, Franck sonata, Tartini “Devil’s Trill”, Corelli Op. 5, Massenet Méditation (violin version), Elgar Salut d’amour, Kreisler, Sarasate Zigeunerweisen, Saint-Saëns Introduction et Rondo capriccioso, Monti Csárdás. Kreisler (d. 1962) and Sibelius (d. 1957, public domain in the EU only from 2028) are still under copyright in many countries, so their scores and any MIDI made from them are not free anyway. Mutopia has none of them. The IMSLP work pages checked (Mendelssohn, Bruch, Brahms and Sibelius concertos, Beethoven Op. 24, Franck, Tartini, Elgar, Sarasate, Saint-Saëns, Monti, Massenet’s Thaïs) list no MIDI with a violin part; Mendelssohn has only an MP3 accompaniment track (the Thaïs page’s one MIDI, CC BY-SA 4.0 by Pierre Gouin, is an organ arrangement with no violin part); Wikimedia Commons only has short excerpts (a few bars of the Franck sonata opening, Berg’s concerto melody, a Mozart cadenza).
Good but restricted sources, not included because their terms forbid redistribution in a public repo:
| source | what it has | why not |
|---|---|---|
| kunstderfuge.com | Large classical MIDI archive incl. Bach violin works, many concertos and showpieces, some performance-sequenced | Personal use only |
| piano-midi.de | Expressive human-sequenced MIDI | Piano only; licence restricts redistribution |
| Classical Archives | Many sequenced violin concertos / sonatas | Subscription; files copyrighted by their sequencers |
| Dave’s J.S. Bach Page | All of BWV 1001–1006, sequenced by David J. Grossman, plus the violin / harpsichord sonatas and concertos | Marked “©1997” with no licence, so no permission to redistribute |
| MuseScore.com community scores | Most of the missing repertoire | MIDI download requires login; user arrangements, licences vary |
Each file was parsed twice in Node 26: with a small SMF parser (tracks, channels, program changes, note counts, ranges, polyphony, tempo map) and with ../../tonejs-midi.js (new Midi(buf)); note counts and durations agree for all 48 files.