Notes on making MIDI rips
Converting SPCs (SNES format music) or NSFs (Nintendo format music) to listenable MIDIs is a surprisingly complicated process.
Here are some notes on making a newly-ripped MIDI conversion, made using the untranslated Japanese program spc2midi or the English version of nsf2midi, into something listenable using WinJammer Shareware.
(The links above, to spc2midi and nsf2midi, are to files at Zophar's Domain. I can't find the download pages for them, or I would have linked to that page instead).
Making the rip
- You might want to figure out how long the song is before you start working on a ripped MIDI, so you don't do a lot of work on a rip only to find you have a ton of extra junk to trim off, or worse, are missing some of the end of the song.
To do this, you could rip a test version, listen to it in your player and see what time the song ends or begins to loop, then rip a version of the length you want.
- In spc2midi, sometimes instruments which should be rendered in something other than Track 10 instruments get made into Track 10 instruments (the percussive instruments which can only be used on Track 10).
In such a case, whilst ripping the file, you'll have to go to the third menu, first menu option, and click on any Track 10 instrument in the upper field, and then click the left checkbox, helpfully labeled "??", at right, in the section of the panel lucidly-named "??????", to change it into a regular instrument.
- The checkbox "??", if you uncheck it, will cause the notes for the instrument highlighted in the upper left box to be omitted from the MIDI.
The checkbox "??????" will turn off pitch bends for the instrument highlighted in the upper left box.
I'm still not sure what "???????" does, but it causes there to be more events in the MIDI.
"?????????" seems to make it so the ripped MIDI's Expression events contain more varied values (Expression events seem to affect the volume). However, in one MIDI I ripped with both "?????????" and "???????" checked, it would skip playing some notes, so with some MIDIs it might be best to only check this box without using "???????".
- NSFs tend not to have very complicated percussion (Track 10 instrument) tracks, and you can often get away with not changing a thing in the MIDI after you rip it by selecting what percussive instruments to use before you even make the rip.
With SPCs, you can select the percussive (and other) instruments before making an SPC rip too, but the interface is rather more chaotic and confusing, and I find it easier to make the changes after making the rip rather than beforehand.
After making the rip - routine clean-up
- Do not drag and drop the file into WinJammer if you have your piano roll and event list open. First, close the piano roll and event list. Or, to be safest, close WinJammer entirely, then open the file afresh in WinJammer.
This is because, at least on my old setp-up (a Dell Dimension 2100 running Windows XP), if you don't do this, the program will crash.
- When you first open a ripped MIDI in WinJammer, go directly to the Track menu, select Split, and split the single track there is (which should read "Mult" in the Patch field) by channel, before you do anything else.
(This is because the program may crash if, before you do this, you try to look at the single, massive track there originally is using the piano roll or event list. This used to be particularly bad, at least on my old computer, because WinJammer Shareware would cease to play sound once the program had crashed once, and the only way I knew of to get it working properly again was to reboot my computer.
However, I since discovered that all I had to do to fix this very irritating problem was go to the MIDI menu, select Configure, and not even do anything in the window that appears except press OK.
WinJammer seemingly just can't handle a whole lot of merged tracks - there seems to be a limit on how many events WinJammer can display in one track without crashing. On my old Dell, this limit was in the vicinity of 16,000 events. Any track with fewer events is fine to look at. The number of events in each track is viewable in the rightmost column of the Track List window.)
After you split the tracks, if you open up the piano roll and event list, do not immediately afterward use the Undo command to undo the Split command, or the program will crash.
- The one exception to the rule of splitting all the tracks first is if you know the MIDI has a lot of pitch bends in it and you don't want them - in which case, it's easier to filter them out of the merged single track rather than filtering them out of each individual split track.
Go to the menu Track, then the command Filter Events, and filter whatever you want to filter out of the track. Then split the track by channel.
- The one exception to the rule of splitting all the tracks first is if you know the MIDI has a lot of pitch bends in it and you don't want them - in which case, it's easier to filter them out of the merged single track rather than filtering them out of each individual split track.
- Then, go to the Song menu and select Timebase. This will make it so WinJammer can play the song at all. It changes the number of "ticks" in a quarter note, i.e., the solid black notes without a little flag thingy hanging off of them, circled in purple in Figure 1 below.
More ticks will allow you to assign lengths and placements to notes with a greater amount of precision, and will only increase the overall file size a little bit. But if you pick less, it's doubtful you'll miss the marginally increased precision. So, just pick whatever number you like.
I remember I used to like to use 600 (but I haven't sequenced MIDIs in so long I forgot why exactly).
Figure 1. The quarter notes are circled in purple.
- You can delete/cut the many unused tracks there will probably be. Any track that has no notes in the event list (notes are shown in black text), but only other things like PgmChg and CtrlChg events (which are shown in blue text in the event list), can be deleted.
- Even if you delete all the unused tracks, it may be a bad idea to re-merge the tracks. You may only get so far - around 16,000 events was the maximum number of events WinJammer could handle in a single track on my old Dell.
- The first notes in each track might play in a different instrument than they're supposed to because the patch change (instrument change) events come up later than the first notes.
So, you'll probably want to change the placement of all the patch change events to 1.1:000, and nudge all of the first notes of the song over to 1.1:001, by double-clicking on them, changing the number in the Time field, and making sure to uncheck the Shift Following Events checkbox in the window to change the event or note's position before you press OK.
(Unless you really want to move all the notes and events after the event or note you're changing the position of, but for this, you probably don't).
- Also, the notes at the very beginning of the song might be cut short since they're of some ridiculously short length, like 0:002 or something like that. If this happens to be the case, run through each track and give the first note of each track a new, longer note length.
- If an SPC rip crashes Windows Media Player once it's through playing, or when you try to skip around to different parts of the MIDI instead of listening to it straight through, seemingly deleting Poly Mode On events fixes the problem. This may or may not subtly change the sound - I can't tell. But for some reason, it fixes the problem. WinAmp, on the other hand, won't be crashed by a MIDI which still has these events left.
- You also may find that the song won't stop at the end, even though you deleted all the events that begin at a certain time. This may be because some earlier note is absurdly long. In one MIDI I did, all of the notes in Track 10 were extremely long and dragged out long past where they needed to.
You can shorten notes in an automated fashion, if all the notes in a track happen to be too long, by going to the menu Track, selecting Transform, and then, in the box that appears, selecting Note Length from the drop box, and typing in a negative number (whatever seems suitable, depending on the length of the excessively long notes) in the Transform events by: Adding/Subtracting box, then clicking OK. Or, you can change them manually, in a perhaps more time-consuming process, unless there are only a few of such notes.
Another reason why the MIDI may not stop at the end is if there are some events, invisible on the piano roll and only visible in the event list, at the end of a song that haven't been deleted, despite the notes visible on the piano roll at the end all having been deleted.
A useful command is the Clear Section command in the Track menu, which will allow you to delete all the events in a time range you select. This is sometimes much faster than deleting events by hand, and it won't leave behind "invisible" clutter, in the form of useless events (such as volume changes, stereo pans, etc.) that deleting notes by selecting them in the piano roll won't get rid of.
Final notes
- Once you've gotten through all that routine clean-up of the MIDI rip, the four main things that you'll most likely want to change are:
- The patch changes (which change the instrument).
- The volume of each track.
- The notes' velocity values. (This is the volume level of each individual note; all the notes in a track can have their velocities changed at once by going to the Track menu and selecting the Transform event).
- And the stereo pan (Panpot) events.
- The patch changes (which change the instrument).
- You can change all the notes in a track to a lower or higher octave by going to the Track menu, selecting the Transpose command, and, in the Number of Semitones text field, typing 12 (for the next higher octave) or -12 (for the next lower octave).
- If the MIDI uses the percussive instruments used exclusively on Track 10, you'll probably want to change them all to something resembling their original instrument, particularly if it's an SPC rip.
As mentioned before, NSFs tend not to have very complicated percussion tracks, and you can often get away with not changing a thing in the ripped MIDI if you select what percussive instruments to use before you even make the rip.
- Not all MIDI rips will come out particularly well. Some MIDIs will sound pretty nice from the start and won't require all that much work; others will have all kinds of miscellaneous things wrong with them that will need to be fixed, even beyond the routine problems listed above that need to be cleaned up in basically all rips.
On the other hand, it is possible to get very creative, or very lucky, or some mixture thereof. And you may very well end up with a MIDI which is a magnificently improved version of the original song. (Which is especially not hard to do with an NES song, given how simplistic the audio is on the NES).
- There are various little clever modification techniques you can employ. These are just a few possibilities:
- You can duplicate a track and then nudge all the notes over by a small amount of time, and change the stereo pan, to create some interesting echoing effects.
- You can duplicate tracks and then lower the octave or change the key on one, among other things like changing the instruments, volume, stereo pans, etc. Or leave things largely the same and make only subtle changes, like using very similar-sounding, only slightly different instruments.
- You can make a song sound much richer and more three-dimensional, like it's surrounding you, simply by duplicating tracks and changing their volume and stereo pan effects.
For instance, there could one string ensemble on the left, one at center and quieter, and one on the right. You could also possibly nudge the notes over by a small amount of time in various tracks, to make things sound even more varied, so each set of string ensemble notes plays at slightly different times, making them sound less identical.
- You could subtly change the timing of when various notes are played, so it sounds more natural, and not so perfectly and mechanically exact.
- You could add a pitch bend to each track to change the entire song so it's no longer perfectly on key (but is still in harmony with itself).
- You can also just go crazy changing things at random, and then building on, polishing and refining, any promising results you randomly come up with.
- You can duplicate a track and then nudge all the notes over by a small amount of time, and change the stereo pan, to create some interesting echoing effects.
- Make sure you save lots of backups while you work, so you can go back to earlier versions in case you decide you made a mistake.
- If I recall correctly, there's no way to copy and paste things from one MIDI file to another, so bear that in mind. If you want to merge parts from one MIDI with parts from another MIDI, you'll need some other software for that.
If you have a Macintosh I recommend the shareware MIDIGraphy 1.4.3 (download link from Tucows.com).
I hope this page has helped you.
One last thing I should mention is that many in the video game music MIDI sequencing crowd seem to frown upon MIDI rips.
I can't understand why, because in my opinion, good music is good music, no matter how it was created, and I am very unhappy with anything that discourages the proliferation of good music.
So, sadly, if you make any MIDI rips, you might want to keep them to yourself, or at least not share them with people who will get pissy with you about them.