A curated collection of classical, modern, and video game piano pieces in MIDI format.
| File | Composer | Piece |
|---|---|---|
bach_846.mid |
J.S. Bach | Prelude in C Major, BWV 846 |
bach_847.mid |
J.S. Bach | Prelude & Fugue in C minor, BWV 847 |
elise.mid |
Beethoven | Für Elise |
mond_1.mid |
Beethoven | Moonlight Sonata, 1st Movement |
pathetique_1.mid |
Beethoven | Pathétique Sonata, 1st Movement |
chpn_op66.mid |
Chopin | Fantaisie-Impromptu, Op. 66 |
chpn-p15.mid |
Chopin | Prelude No. 15 “Raindrop” |
chpn_op27_2.mid |
Chopin | Nocturne Op. 27 No. 2 |
chpn_op10_e12.mid |
Chopin | Etude Op. 10 No. 12 “Revolutionary” |
chp_op18.mid |
Chopin | Grande Valse Brillante, Op. 18 |
deb_clai.mid |
Debussy | Clair de Lune |
deb_pass.mid |
Debussy | Passepied |
liz_et2.mid |
Liszt | Etude No. 2 |
mz_331_1.mid |
Mozart | Piano Sonata No. 11, K. 331 |
mz_545_1.mid |
Mozart | Piano Sonata No. 16, K. 545 |
schuim-3.mid |
Schubert | Impromptu No. 3 |
scn15_7.mid |
Schumann | Träumerei |
grieg_halling.mid |
Grieg | Halling |
pachelbel_canon.mid |
Pachelbel | Canon in D |
bach_toccata.mid |
J.S. Bach | Toccata & Fugue in D minor |
bach_850.mid |
J.S. Bach | Prelude & Fugue in D major BWV 850 (WTC I No.5) |
bach_goldberg_aria.mid |
J.S. Bach | Goldberg Variations - Aria * |
bach_goldberg.mid |
J.S. Bach | Goldberg Variations BWV 988 (complete, without repeats, 37 min) * |
bach_goldberg_repeats.mid |
J.S. Bach | Goldberg Variations BWV 988 (complete, with repeats, 72 min) * |
bach_wtc1_03.mid |
J.S. Bach | WTC I No.3 in C-sharp major BWV 848 * |
bach_wtc1_04.mid |
J.S. Bach | WTC I No.4 in C-sharp minor BWV 849 * |
bach_wtc1_06.mid |
J.S. Bach | WTC I No.6 in D minor BWV 851 * |
bach_wtc1_08.mid |
J.S. Bach | WTC I No.8 in E-flat minor BWV 853 * |
bach_wtc1_10.mid |
J.S. Bach | WTC I No.10 in E minor BWV 855 * |
bach_wtc1_11.mid |
J.S. Bach | WTC I No.11 in F major BWV 856 * |
bach_wtc1_12.mid |
J.S. Bach | WTC I No.12 in F minor BWV 857 * |
bach_wtc1_15.mid |
J.S. Bach | WTC I No.15 in G major BWV 860 * |
bach_wtc1_16.mid |
J.S. Bach | WTC I No.16 in G minor BWV 861 * |
bach_wtc1_17.mid |
J.S. Bach | WTC I No.17 in A-flat major BWV 862 * |
bach_wtc1_20.mid |
J.S. Bach | WTC I No.20 in A minor BWV 865 * |
bach_wtc1_24.mid |
J.S. Bach | WTC I No.24 in B minor BWV 869 * |
bach_wtc2_01.mid |
J.S. Bach | WTC II No.1 in C major BWV 870 * |
bach_wtc2_02.mid |
J.S. Bach | WTC II No.2 in C minor BWV 871 * |
bach_wtc2_06p.mid |
J.S. Bach | WTC II No.6 in D minor BWV 875 (Prelude) * |
maestro_bach_wtc1_03.mid |
J.S. Bach | WTC I No.3 in C-sharp major BWV 848, a 2011 performance ‡ |
maestro_bach_wtc1_04.mid |
J.S. Bach | WTC I No.4 in C-sharp minor BWV 849, a 2014 performance ‡ |
maestro_bach_850.mid |
J.S. Bach | Prelude & Fugue in D major BWV 850 (WTC I No.5), a 2017 performance ‡ |
maestro_bach_wtc1_06.mid |
J.S. Bach | WTC I No.6 in D minor BWV 851, a 2011 performance ‡ |
maestro_bach_wtc1_08.mid |
J.S. Bach | WTC I No.8 in E-flat minor BWV 853, a 2017 performance ‡ |
maestro_bach_wtc1_10.mid |
J.S. Bach | WTC I No.10 in E minor BWV 855, a 2015 performance ‡ |
maestro_bach_wtc1_11.mid |
J.S. Bach | WTC I No.11 in F major BWV 856, a 2015 performance ‡ |
maestro_bach_wtc1_12.mid |
J.S. Bach | WTC I No.12 in F minor BWV 857, a 2017 performance ‡ |
maestro_bach_wtc1_15.mid |
J.S. Bach | WTC I No.15 in G major BWV 860, a 2008 performance ‡ |
maestro_bach_wtc1_17.mid |
J.S. Bach | WTC I No.17 in A-flat major BWV 862, a 2013 performance ‡ |
maestro_bach_wtc1_20.mid |
J.S. Bach | WTC I No.20 in A minor BWV 865, a 2017 performance ‡ |
maestro_bach_wtc2_01.mid |
J.S. Bach | WTC II No.1 in C major BWV 870, a 2015 performance ‡ |
maestro_bach_wtc2_02.mid |
J.S. Bach | WTC II No.2 in C minor BWV 871, a 2011 performance ‡ |
maestro_bach_wtc2_06.mid |
J.S. Bach | WTC II No.6 in D minor BWV 875, a 2013 performance ‡ |
schuim-1.mid |
Schubert | Impromptu Op.90 No.1 (D.899) |
schuim-2.mid |
Schubert | Impromptu Op.90 No.2 |
schuim-4.mid |
Schubert | Impromptu Op.90 No.4 |
schumm-3.mid |
Schubert | Moment Musical No.3 |
schubert_d935_2.mid |
Schubert | Impromptu Op.142 No.2 (D.935) |
schubert_d935_3.mid |
Schubert | Impromptu Op.142 No.3 (Rosamunde variations) |
schub_d760_1.mid |
Schubert | Wanderer Fantasy (1st mvt) |
schu_143_1.mid |
Schubert | Piano Sonata D.784 (1st mvt) |
schub_d960_1.mid |
Schubert | Piano Sonata D.960 (1st mvt) |
scn15_1.mid |
Schumann | Of Foreign Lands and Peoples (Kinderszenen) |
scn15_6.mid |
Schumann | An Important Event (Kinderszenen) |
scn15_12.mid |
Schumann | Child Falling Asleep (Kinderszenen) |
scn16_1.mid |
Schumann | Kreisleriana No.1 |
scn16_2.mid |
Schumann | Kreisleriana No.2 |
scn68_10.mid |
Schumann | The Happy Farmer (Album for the Young) |
schum_abegg.mid |
Schumann | Abegg Variations Op.1 |
rac_op3_2.mid |
Rachmaninoff | Prelude in C-sharp minor Op.3 No.2 |
rac_op23_2.mid |
Rachmaninoff | Prelude in B-flat major Op.23 No.2 |
rac_op23_3.mid |
Rachmaninoff | Prelude in D minor Op.23 No.3 |
rac_op23_5.mid |
Rachmaninoff | Prelude in G minor Op.23 No.5 |
rac_op23_7.mid |
Rachmaninoff | Prelude in C minor Op.23 No.7 |
rac_op32_1.mid |
Rachmaninoff | Prelude in C major Op.32 No.1 |
rac_op32_13.mid |
Rachmaninoff | Prelude in D-flat major Op.32 No.13 |
rac_op33_5.mid |
Rachmaninoff | Etude-Tableau Op.33 No.5 |
rac_op33_6.mid |
Rachmaninoff | Etude-Tableau Op.33 No.6 |
rac_op33_8.mid |
Rachmaninoff | Etude-Tableau Op.33 No.8 |
tchai_pletnev_nutcracker_andante.mid |
Tchaikovsky / Pletnev | Andante maestoso (Pas de deux), Concert Suite from The Nutcracker † |
grieg_elves_dance.mid |
Grieg | Elves’ Dance, Op. 12 No. 4 § |
grieg_op12_1_arietta.mid |
Grieg | Arietta, Op. 12 No. 1 ‖ |
amy_beach_op25_5_secrets.mid |
Amy Beach | Secrets, Op. 25 No. 5 ‖ |
ravel_m65_prelude.mid |
Ravel | Prelude in A minor, M. 65 ‖ |
chaminade_op126_1_idylle.mid |
Chaminade | Idylle, Op. 126 No. 1 ‖ |
lyadov_op11_1_prelude.mid |
Lyadov | Prelude in B minor, Op. 11 No. 1 ‖ |
scriabin_op11_14.mid |
Scriabin | Prelude in E-flat minor, Op. 11 No. 14 ¶ |
scriabin_op11_15.mid |
Scriabin | Prelude in D-flat major, Op. 11 No. 15 ¶ |
tchai_op39_9_new_doll.mid |
Tchaikovsky | The New Doll, Op. 39 No. 9 ‖ |
tchai_op39_16_old_french_song.mid |
Tchaikovsky | Old French Song, Op. 39 No. 16 ¤ |
tchai_op39_20_baba_yaga.mid |
Tchaikovsky | Baba Yaga, Op. 39 No. 20 ‖ |
bach_wtc1_11p.mid |
J.S. Bach | Prelude in F major, BWV 856 (WTC I No. 11, prelude only) * |
liszt_s164g_berlin_preludio.mid |
Liszt | Album-Leaf “Berlin Preludio,” S. 164g ‖ |
alkan_op75_toccatina.mid |
Alkan | Toccatina, Op. 75 ¶ |
liszt_s172_1_consolation.mid |
Liszt | Consolation No. 1, S. 172 ¶ |
liz_rhap02.mid |
Liszt | Hungarian Rhapsody No.2 (lassan and friska) |
liz_et3.mid |
Liszt | La Campanella (Paganini Etude No.3) |
liz_et6.mid |
Liszt | Paganini Etude No.6 (Theme and variations) |
liz_et_trans4.mid |
Liszt | Transcendental Etude No.4 (Mazeppa) |
liz_et_trans5.mid |
Liszt | Transcendental Etude No.5 (Feux follets) |
liz_rhap10.mid |
Liszt | Hungarian Rhapsody No.10 |
liz_rhap12.mid |
Liszt | Hungarian Rhapsody No.12 |
liz_rhap15.mid |
Liszt | Hungarian Rhapsody No.15 (Rakoczy March) |
deb_prel.mid |
Debussy | Suite bergamasque - Prelude |
deb_menu.mid |
Debussy | Suite bergamasque - Menuet |
debussy_cc_1.mid |
Debussy | Doctor Gradus ad Parnassum (Children’s Corner) |
debussy_cc_2.mid |
Debussy | Jimbo’s Lullaby (Children’s Corner) |
debussy_cc_3.mid |
Debussy | Serenade for the Doll (Children’s Corner) |
debussy_cc_4.mid |
Debussy | The Snow is Dancing (Children’s Corner) |
debussy_cc_5.mid |
Debussy | The Little Shepherd (Children’s Corner) |
debussy_cc_6.mid |
Debussy | Golliwogg’s Cakewalk (Children’s Corner) |
mond_2.mid |
Beethoven | Moonlight Sonata (2nd mvt) |
mond_3.mid |
Beethoven | Moonlight Sonata (3rd mvt) |
pathetique_2.mid |
Beethoven | Pathetique Sonata (2nd mvt, Adagio) |
pathetique_3.mid |
Beethoven | Pathetique Sonata (3rd mvt) |
appass_1.mid |
Beethoven | Appassionata Sonata (1st mvt) |
appass_3.mid |
Beethoven | Appassionata Sonata (3rd mvt) |
waldstein_1.mid |
Beethoven | Waldstein Sonata (1st mvt) |
chpn_op10_e01.mid |
Chopin | Etude Op.10 No.1 |
chpn_op10_e05.mid |
Chopin | Black Key Etude Op.10 No.5 |
chpn_op25_e1.mid |
Chopin | Aeolian Harp Etude Op.25 No.1 |
chpn_op25_e11.mid |
Chopin | Winter Wind Etude Op.25 No.11 |
chpn_op23.mid |
Chopin | Ballade No.1 Op.23 |
chp_op31.mid |
Chopin | Scherzo No.2 Op.31 |
chpn_op53.mid |
Chopin | Heroic Polonaise Op.53 |
chpn_op35_3.mid |
Chopin | Funeral March (Sonata No.2) |
chpn-p4.mid |
Chopin | Prelude in E minor Op.28 No.4 |
chpn-p7.mid |
Chopin | Prelude in A major Op.28 No.7 |
chpn_op7_1.mid |
Chopin | Mazurka Op.7 No.1 |
mz_331_3.mid |
Mozart | Rondo alla Turca (K.331, 3rd mvt) |
mz_545_2.mid |
Mozart | Piano Sonata K.545 (2nd mvt) |
mz_545_3.mid |
Mozart | Piano Sonata K.545 (3rd mvt) |
mz_330_1.mid |
Mozart | Piano Sonata K.330 (1st mvt) |
mz_332_1.mid |
Mozart | Piano Sonata K.332 (1st mvt) |
mz_333_1.mid |
Mozart | Piano Sonata K.333 (1st mvt) |
mz_570_1.mid |
Mozart | Piano Sonata K.570 (1st mvt) |
| File | Composer | Piece |
|---|---|---|
beethoven_sym5_1.mid |
Beethoven | Symphony No.5, 1st Movement |
beethoven_sym7_2.mid |
Beethoven | Symphony No.7, 2nd Movement |
mozart_sym40_1.mid |
Mozart | Symphony No.40, 1st Movement |
mozart_eine_kleine.mid |
Mozart | Eine Kleine Nachtmusik |
dvorak_newworld_2.mid |
Dvorak | New World Symphony (Largo) |
vivaldi_winter.mid |
Vivaldi | Winter (Four Seasons) |
grieg_morning.mid |
Grieg | Morning Mood (Peer Gynt) |
handel_hornpipe.mid |
Handel | Water Music Hornpipe |
| File | Composer | Piece |
|---|---|---|
river_flows_in_you.mid |
Yiruma | River Flows in You |
kiss_the_rain.mid |
Yiruma | Kiss the Rain |
nuvole_bianche.mid |
Ludovico Einaudi | Nuvole Bianche |
una_mattina.mid |
Ludovico Einaudi | Una Mattina |
fly_einaudi.mid |
Ludovico Einaudi | Fly |
comptine.mid |
Yann Tiersen | Comptine d’un autre été (Amélie) |
time_zimmer.mid |
Hans Zimmer | Time (Inception) |
interstellar.mid |
Hans Zimmer | Interstellar Main Theme |
libertango.mid |
Astor Piazzolla | Libertango |
| File | Game | Piece |
|---|---|---|
ff_prelude.mid |
Final Fantasy | The Prelude |
ff_battle.mid |
Final Fantasy | Battle Scene |
zelda_overworld.mid |
Legend of Zelda | Overworld Theme |
zelda_gerudo_valley.mid |
Zelda: Ocarina of Time | Gerudo Valley |
zelda_kakariko.mid |
Zelda: Ocarina of Time | Kakariko Village |
mario_theme.mid |
Super Mario | Main Theme |
mario_ground.mid |
Super Mario Bros | Ground Theme |
mario_castle.mid |
Super Mario | Castle Theme |
minecraft_sweden.mid |
Minecraft | Sweden |
skyrim_sons.mid |
Elder Scrolls V: Skyrim | Sons of Skyrim |
tetris.mid |
Tetris | Type A Theme |
last_of_us.mid |
The Last of Us | Main Theme |
Classical pieces: piano-midi.de by Bernd Krueger
License: CC BY-SA 3.0
Bach: Goldberg Variations and the Well-Tempered Clavier (marked *): typeset by the Mutopia Project (Hajo Dezelski, Stelios Samelis, Davide Castellone, JD Erickson, Sven Reichard, Andrew Hawryluk and others), each piece CC BY-SA 3.0 / 4.0 or public domain. Joined here into one file per prelude and fugue (the Goldberg as the Aria, the 30 variations and the Aria again, 2.5 s apart). The Goldberg comes two ways (tools/bach_goldberg_form.mjs, the last step of the build): bach_goldberg.mid plays each half once and, where a half has two endings (Var. 2, 4, 6, 16 and 25), the second alone; bach_goldberg_repeats.mid plays each half twice, the first ending the first time and the second the second, and the Aria da capo without its repeats. Mutopia’s own MIDI played each half once with both endings. The tempos (tools/bach_goldberg_tempo.mjs) are the Mutopia editors’ metronome marks where they give one (Var. 5, 8, 11, 12, 15, 17, 18, 19, 21, 22, 23, 26 and 29). The other 18 movements have none, and LilyPond’s MIDI played them at its default of a quarter = 60; each now takes a tempo of its character, chosen for these files and not from an edition: the Aria ♩=56, Var. 1, 10 and 20 ♩=100, 2 ♩=76, 3 and 24 ♩.=50, 4 ♩.=54, 6 ♩.=44, 7 and 27 ♩.=56, 9 ♩=66, 13 ♩=54, 14 ♩=104, 16 ♩=60 and its fugue ♩.=60, 25 (Adagio) ♪=44, 28 ♩=96, 30 ♩=72. Then every movement plays 10 % faster than these marks (SPEED, 1.1), the editors’ too; the silences between movements stay 2.5 s. The movements are retimed before the ornaments are written, so the trills keep their speed. The standalone Aria (bach_goldberg_aria.mid) keeps ♩=60. These are engraved scores, not performances, so they were given dynamics by rule (not by a pianist): each phrase swells and relaxes and the last one tapers, the music gets louder where it climbs and thickens, the top line leads and inner voices recede, long notes carry a little more weight, plus a small seeded variation. Timing is untouched. The Goldberg is then voiced from the score’s actual staff and voice identities by tools/bach_goldberg_voicing.mjs: the Aria’s ornamented melody leads; both voices of each canon project above its independent bass; Variation 10’s fughetta subject entries and Variation 30’s two song lines come forward; lyrical variations 7, 13, 19 and 25 sing above quieter accompaniment. The adjustments are modest (principal lines +4 to +10 MIDI velocity units, accompaniment -2 to -4), preserve the underlying phrase dynamics, and do not clip. Running node midis/tools/bach_goldberg_voicing.mjs starts from the fixed pre-ornament dynamics commit and then regenerates the ornaments, the hands and the two forms, so the Goldberg files are deterministic. The LilyPond sources the tools read are in tools/mutopia/, as Mutopia publishes them (unedited, each with its licence in its header), so a rebuild doesn’t need mutopiaproject.org; the CCARH kern files the Well-Tempered rebuild also reads are fetched from GitHub. Last, tools/bach_hands.mjs writes each note’s hand from the score as a “Right hand” and a “Left hand” track, in the Goldberg and every Well-Tempered file (the score’s upper and lower parts; a source written as one part, WTC I No. 12’s prelude, is left to the player in a third “Piano” track; a realized ornament note takes the hand of the note it decorates), so players that read track names (#032 Pianist) play Bach’s hand crossings and the edition’s division of the inner voices instead of guessing a split. bach_ornaments.mjs ends by calling it. Ornaments are played: Mutopia’s MIDI comes from LilyPond, which leaves out trills, mordents and turns and plays grace notes as 55 ms blips before the beat, so tools/bach_ornaments.mjs reads the LilyPond sources and writes them out after Bach’s own table of ornaments (1720): trills from the upper note at about 12 notes a second, short trills, mordents, turns, trills with turns and mordent endings, appoggiaturas on the beat taking half the note, grace notes on the beat. The Well-Tempered files gain 184 ornaments and 18 groups of grace notes, the Goldberg 185 and 113 (its Aria counted twice); the dynamics stay as they were. In the Well-Tempered files two more sources add signs: the Bach-Gesellschaft edition as encoded by CCARH (humdrum-tools/bach-wtc, 22 signs Mutopia lacks, 14 of them in the B minor prelude, plus the interval of every trill and mordent it marks), and the rule that a fugue subject’s ornament is played on every entry (20 more, in the C major fugue of Book II and the B minor fugue of Book I). Last, a trill at the main cadences, where players add one though no edition prints it (C. P. E. Bach’s rule: the note before a cadence’s close): the final cadence of each prelude and fugue, and perfect authentic cadences on a downbeat away from Bach’s own signs, on the note of the top line over the dominant that resolves to the tonic, 21 in all; --no-cadences leaves them out. A chord the score marks to be spread (\arpeggio, the wavy line) is rolled from the bottom up, 30-70 ms a note, each held to its end. How each is played, and how to rerun it, is at the top of the script.
Bach, MAESTRO performances (marked ‡): for comparison with the engraved files above, the same preludes and fugues as played at the International Piano-e-Competition on a Yamaha Disklavier, from the MAESTRO dataset v3.0.0 (Google Magenta), one performance per piece (the year is in each title; MAESTRO doesn’t name the pianists). Not in MAESTRO: WTC I No.16 (BWV 861) and No.24 (BWV 869), and the Goldberg Variations. License: CC BY-NC-SA 4.0, non-commercial only, like the Pletnev file below.
Tchaikovsky / Pletnev, Andante maestoso (marked †): from the MAESTRO dataset v3.0.0 (Google Magenta), a performance recorded on a Yamaha Disklavier at the 2008 International Piano-e-Competition (2008/MIDI-Unprocessed_02_R2_2008_01-05_ORIG_MID--AUDIO_02_R2_2008_wav--5.midi, 4:33). License: CC BY-NC-SA 4.0, non-commercial only, unlike the rest of the collection. Pletnev’s arrangement (1978) is itself still under copyright.
Symphonic works: mfiles.co.uk
Classical MIDI files for educational use.
Modern & Game pieces: midifind.com
Free MIDI files for educational and creative use.
One-Minute Piano Discoveries:
midis/tools/build_shorts.mjs preserves the source pitch multiset and adds dynamics, cadence-aligned pedal, small deterministic chord spread and a closing ritardando; the original is retained at midis/shorts-src/tchaikovsky-old-french-song-source.mid.midis/tools/build_shorts.mjs from Creative Commons LilyPond editions. Scriabin Op. 11 Nos. 14 and 15: Knute Snortum, IMSLP #887473, CC BY-SA 4.0. Alkan Toccatina: tanukiyarou, Mutopia 2017/01/17-2163, CC BY-SA 4.0. Liszt Consolation No. 1: Ryan Prince, Mutopia, CC BY 3.0..ly and .mid file. The New Doll and Baba Yaga use the public-domain Schirmer/Ruthardt 1904 edition; Berlin Preludio uses Aidan Modica’s CC0 edition; Grieg’s Arietta uses the public-domain Peters/Ruthardt edition (Sibley 1802/22702) with the 1867 Horneman incipit checked; Amy Beach’s Secrets uses the public-domain 1894 Arthur P. Schmidt first edition and Beach’s Library of Congress manuscript; Ravel’s M. 65 Prelude uses Ray Alston’s CC0 edition checked against Durand’s public-domain 1913 first edition; Lyadov’s B-minor Prelude uses the public-domain 1947 Muzgiz edition (IMSLP #462489). Those transcription contributions and their performance data are dedicated under CC0 1.0. Chaminade’s Idylle uses Michael Rivers’s 2022 CC BY 4.0 edition, checked against the public-domain Enoch 1907 first edition: credit Michael Rivers, score edition, 2022, CC BY 4.0 when sharing the score-derived MIDI or synchronized video. The first-season Tchaikovsky pitches were additionally checked against private WIMA reference files; those CC BY-NC-ND files are not redistributed or incorporated.bach_wtc1_11p.mid is the prelude-only part of the ornamented public-domain Mutopia source already described under *; it retains the 18-bar 12/8 score grid.The season slate, visual treatments, descriptions, source decisions and running candidate list are in pianist/shorts/README.md.
These files are provided for educational and personal use. Please check individual source licenses for commercial use.