Working with Midi - CANA-Dan/ParEdit GitHub Wiki
Importing Midi
Importing midi is quite simple, though there are more steps than using the Paradiddle Importer, which will directly import the midi file for you. The main advantage of using ParEdit for midi importing is you get alot more control over the process. MIDI notes won't be discarded, and you'll get the ability to deal with and work with non-standard midi files, including midi files that don't contain BPM data.
Don't be scared by the size of this guide. It's verbose (intended for complete beginners), and mainly filled with alot of pictures. Overall there are three main steps when wanting to import midi files;
- Setting up Your Metadata
- Importing the midi file
- Editing and fixing midi file errors (optional but most likely needed)
Setting up Your Metadata
There is a whole guide on how to set up your metadata which is probably worth reading. It goes over all the details of how to work with Metadata and what a map should look like.
Additionally to the info provided in the guide, you can add midi values to drums in the drum set section of the metadata screen. By default, it comes with the standard midi layout, but if you know a song expects for a specific midi value to be on a specific drum, you can add that here.
If you are unsure though you can just leave it blank and all the MIDI notes will be loaded into a random lane. you'll have to go fix it later, but not a big deal.
Importing the midi file
Once you are happy with the look of your metadata file, save it and click edit level.
The first thing you are going to want to do is click "options" up at the top left.
Once you are inside the options menu, you'll want to click "Midi Importing".
Once you are on the midi importing page, click the get button to open a file dialogue or manually add the location field and press enter.
As you can see in the picture below, this is a multi-track midi file; in total it contains 11 total tracks (because it starts at track 0). For percussion, generally, the midi notes are on channel 10.
note that channels and tracks are different. The track is the physical data of the midi file, and the channel is the ID of what's being played on that track. In this case, track 7 is the one with percussion.
once you find the correct track, click the little + in the right panel where Note Tracks
is. That will add the currently viewed track to the tracks you want to import. If you have more than one track you want to import, you can do that as well.
Channel Filter
is used when you have more than one channel on a single track. Some very old MIDI files are like this.
For the last thing, check what track contains the bpm data. Some MIDI files have it on track 0, some on track 1, and some have it on all the tracks. 99% of the time, it's going to be on track 0, but it's good to be sure just in case. you'll be able to tell what track it is by spotting the SetTempo
Midi key, which is usually close to the top of the track, before any notes.
If the midi file has the bpm data on a different track, type in the track and click Set
.
If the midi file contains no bpm data seemingly anywhere, you can click the little toggle near the Import BPMs slider and set it to Default BPM
instead. Here you can type in what you think the maps BPM actually is.
Once you are satisfied with the settings for your midi file, click Import.
If all goes well, you'll be provided with these ghostly versions of notes upon clicking import. These are virtual notes that you can quickly move around and place wherever. In my instance, November Rain starts at about 45 seconds in.
It's recommended when placing notes that you go into a higher cursor precision (64 or 128 for example). it will ensure that your first notes and BPM changes line up with the first drum sound.
Once you are happy with the placement, press Enter and all the notes will be spawned physically, then press Ctrl + A to deselect all.
Nice now your notes are placed down.
As you can see though, the notes from the midi file are slowly getting off time and I have Midi Notes 54, 35, 41, and 40. That brings us to the next section; fixing the midi file error.
Editing and fixing midi file errors (optional, but most likely needed)
Most MIDI files aren't very accurate to actual music and are more intended to be a music representation of sheet music. Some files are transcribed for use with actual music that contains drift, but those are rare.
This means the notes getting slowly off time isn't super unexpected, even if it is frustrating.
Additionally, some files may be transcribed for different versions of songs, so that can exacerbate any errors in timing or patterns.
I used this MIDI file because I knew it wasn't at all accurate to the actual song, both in terms of timing and in terms of mapping, so it's a good showing of how to fix mapping to work with your chosen audio. For example, I know this note should match up with this pattern. A very easy way to move the notes around while keeping relative distance from each other is the click and drag method for BPM changes.
If there are more occasions of this, you can move the BPMs around to line up.
Another thing you can do is deal with those placeholder drums (54, 35, 41, and 40). Having a quick listen through the map tells me that Midi Note 54
should be a ride. I can either move that into the ride already attached to my map, or go back to the metadata and change the midi to a ride. In this instance, I'm going to move it into the ride already attached to my map, but ill also show you how to change the note type.
Moving Notes
To move all the notes, hover over the lane you want to move your notes into* and Shift + Click to start selecting. This is to check if the lane is empty before moving a bunch of notes into it. Go from the very start of the map to the end. you can either scroll to the end, or you can use the scrub bar at the bottom to just go directly to the end.
click again to finalize the area you are selecting, and look to the left at the information panel to see if any notes are selected. If you don't have any like me, then the section for Selected Notes won't appear.
If you have any notes in that lane, you can either make a decision about those notes (delete them, or merge the lanes anyway), or you can turn the lane you wanted to move into its own drum.
Continuing, you can now select the entire line of notes that you want to move with the same Shift + Click method as before and press the left and right arrows to move the notes around. In the pictures below it doesn't look like the diamond notes are selected because it's blue on blue, but they are, I can assure you. tap the left arrow on your keyboard to move the notes, and you should be all set.
Setting the lane to be an actual instrument
This is quite easy to do. first, have a listen to the song and find out what each of those placeholder lanes goes to. In my case 54 is a ride, 35 is a kick, 41 is a hihat, and 40 is a crash. save, then go back to the metadata screen.
Here, you'll be able to see all the drums attached to your map. In this case, the bottom four drums are unlabeled. You can use the IDs to figure out what is what. using the values I figured out while I was in the map, I can quickly apply the drums like so.
Save and edit level.
You are more or less done, but before uploading you need to fix the drumset because the newly added drums are placed in placeholder positions. you can use this guide on drumset replacement for more info.
Sending Midi to Paradiddle or a DAW
This is unfinished. the tldr is this; download loop midi and install it. Make a port, then open up ParEdit and Paradiddle (or any other virtual drumming software) and set the midi device to be the port you made in loop midi. Make sure the channels are the same on ParEdit and the daw software. In the case of Paradiddle, there's a drumset file named ParEdit Kit
that ParEdit automatically makes for Paradiddle, allowing you to get the exact drumset you have in editor.