ShadowShahriar / midi

YouTube MIDI collection (freeware/shareware) for use in future projects.

Home Page:https://shadowshahriar.github.io/midi/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

MIDI files

These are the MIDI files of some of my favorite songs I'm using to experiment with a Tone.js project. I borrowed these from the YouTube channels that provided free MIDI files. I do not own any of them. With that said, here is the list of sources where these files were collected from.

Sources

Songs

Title Artist Original Source MIDI Sheets
Way Back Home (Sam Feldt Edit) SHAUN
Conor Maynard
Official Lyric Video
WaveMusic (Lyrics)
Converted with MuseScore by Piano Tutorial
Jackpot (Jackpot EP Track 1) TheFatRat Official Audio by tastyFrMusic ✅ Available
Permission to Dance BTS (방탄소년단)
HYBE LABELS
Official Music Video by PIANO MIDI ❌ N/A
Dynamite BTS (방탄소년단)
HYBE LABELS
Official Music Video by Free Piano Tutorials ✅ Available
Memories Maroon 5 Official Music Video by Free Piano Tutorials
by Cosmic PIANO
by Kendrik Kanata
by Misha Kokh
✅ Available
Firefly pt II Jim Yosef
STARLYTE
Official Music Video
Official NCS Release
by BGP Harmony ✅ Available
Where We Started Lost Sky
Jex
Official NCS Release by FMM Music ❌ N/A
Sparkle (from: Your Name) Your Name (album) English Cover by Cosmic PIANO ✅ Available
You Alex Skrindo
Axol
Official Audio
Official NCS Release
by Gluton ❌ N/A
Never Enough (The Greatest Showman) Loren Allred Official Audio
Official Lyric Video
The Greatest Showman OST
by Free Piano Tutorials ✅ Available
A Million Dreams (The Greatest Showman) Ziv Zaifman
Hugh Jackman
Michelle Williams
Official Audio
The Greatest Showman OST
by Free Piano Tutorials ✅ Available
Something Just Like This The Chainsmokers
Coldplay
Official Music Video by Cosmic PIANO ✅ Available
Unity TheFatRat Official Audio by ShinkoNet ❌ N/A
Rogue Jim Yosef Official Audio by Allerlei von Nicolai - No Copyright Music ❌ N/A
Love Yourself Justin Bieber Official Music Video by sakura swann ❌ N/A
Sad Song We The Kings Official Lyric Video
Official Music Video
by Free Piano Tutorials ✅ Available
You Say Lauren Daigle Official Music Video by Free Piano Tutorials ✅ Available
Can't Wait Jim Yosef
Anna Yvette
Official Audio (Jim Yosef)
Official Audio (Anna Yvette)
Official NCS Release
by Gluton ❌ N/A
Fly Away TheFatRat
Anjulie
Official Audio by AsdKeys
by Cosmic PIANO
❌ N/A
We'll Meet Again TheFatRat
Laura Brehm
Official Audio
Official Lyric Video
by AsdKeys ❌ N/A
See You Again Wiz Khalifa
Charlie Puth
Official Music Video by Cosmic PIANO ❌ N/A
Melody Cadmium
Jon Becker
Official Audio (Cadmium)
Frequency Music Lyric Video
by FMM Music
by Allerlei von Nicolai - No Copyright Music
❌ N/A
Symphony Clean Bandit Official Music Video by Cosmic PIANO ❌ N/A
Faded Alan Walker Official Music Video by Free Piano Tutorials ✅ Available
Skyline Kovan
Electro-Light
Official NCS Release by AsdKeys ❌ N/A
Roar Katy Perry Official Music Video by Free Piano Tutorials ✅ Available
Calling Tobu Official Audio by AsdKeys ❌ N/A
Summer Breeze Tobu
Jordan Kelvin James
Official Audio by AsdKeys ❌ N/A
Sunburst Tobu
Itro
Official NCS Release by AsdKeys ❌ N/A
Cloud 9 Tobu
Itro
Official NCS Release by AsdKeys ❌ N/A
Make Me Move Culture Code
Karra
Official NCS Release by AsdKeys ❌ N/A
Tropic Love Diviners
Contacreast
Official NCS Release by Neonix ❌ N/A

Contribute

As I mentioned earlier, I am collecting midi files to work with a Tone.js extension. The more diversity we get, the better. This is why I need your help.

If you encounter freeware or shareware midi, you can contribute to this project. Place the .mid file to midi directory.

You also need to put an entry to sources.json file to save the original sources. The JSON file is structured like the one below.

{
  "sources": {
    [key]: [value],
    ...
  },
  "songs": [
    ...
  ]
}

Use the following object shape in the songs key:

{
  "songs": [
    {
      "title": "${song_title}",
      "artists": {
        "${artist_name_1}": "${artist_link_1}",
        ["${artist_name_2}": "${artist_link_2}"],
        ...
      },
      "source": {
        "Official Lyric Video": "${link}",
        ["Official Music Video": "${link}"],
        ["Official Audio": "${link}"],
        ["Official NCS Release": "${link}"],
        ["${provider_or_channel_name}": "${link}"],
        ...
      },
     "midi": {
        "${provider_or_channel_name}": ["${link}", "by"],
        ...
      },
     "sheets": {
        "${provider_or_channel_name}": ["${link}", "by"],
        ...
      }
    }
  ]
}
  • ${property_or_value} are variables and would be replaced manually with their appropriate meaning.

  • The properties of artists can have null value if there is no direct link.

  • sheets can be a boolean or an object.

  • ["property": "value"] entries are optional, yet all keys are required to have at least one object, as shown.

If the source doesn't exist in the sources key, you might put an entry after its name:

{
  "sources": {
    "${provider_or_channel_name}": "${link}",
    ...
  }
}

Naming convention

We rename the *.mid files using the following outline...

${source_acronym}_${artists}_${title}.mid

...and it is done so we can skim through the list, knowing where to look for.

License

  • The source code is licensed under MIT.
  • MIDI files (media/*.mid) belong to their original authors as listed in the Songs table. I am using these for a Tone.js project for educational purposes that falls under the terms of fair use.
  • Always read the video description of each YouTube video listed to know how the content should be treated. Some YouTube channels (like Allerlei von Nicolai - No Copyright Music) published their piano composition under Creative Commons Attribution License, although the original song can be subject to copyright.

About

YouTube MIDI collection (freeware/shareware) for use in future projects.

https://shadowshahriar.github.io/midi/


Languages

Language:JavaScript 100.0%