Sooooo, I have some files from my SNES MIDI Remaster Project I'm working on. I just realized that the timpani in the game is -7 semitones from the timpani in all of my generated MIDI files. Re-exporting all of the files as MIDI is a giant pain (I'd have to re-do up to 13 of them, some of which I've already just redone because I made them too short before I finalized my "production process"), and very time consuming. Is there an easy way (in Windows) to change the pitch of a single instrument? I have several editors, and I know I can change the pitch of a whole channel in some of them, but most of my files will have multiple instruments on each channel, so others besides timpani would get modified.
That depends on what parameter has been used to change the pitch.
GS has the NRPN "Drum Instrument Pitch Coarse" (18h rrh, where rr = note number), which is also accessible as SysEx parameter at address 41h m1h rrh (m = map number).
[quotePost id=15601]That depends on what parameter has been used to change the pitch.[/quotePost]
Just regular ol' Note On events. Perhaps I should say "transpose" rather than "change pitch".
Do you have multiple instruments in one channel, or multiple channels in one track? In the latter case, many sequencers should be able to split the channels into separate tracks.
The initial file is Type 0, which then gets converted to Type 1. Each channel gets its own track. Each track contains multiple instruments.
You need an editor that can apply transpose only to selected notes. (I guess automatic selection by instrument is not possible, and you have to select manually.)
[quotePost id=15631]You need an editor that can apply transpose only to selected notes. (I guess automatic selection by instrument is not possible, and you have to select manually.)[/quotePost]
Precisely what I am trying to avoid 😉
I'm adding the functionality in to my instrument changer. I've got it working as long as some specific requirements are met first. I should be able to get it fully functioning with a little more effort. I am able to adjust the pitch via modification of the Note On and Note Off values present in the file, per instrument per channel. So if there is an organ on multiple channels, I can adjust the pitch of just the organ on a single channel, or on multiple channels.
It took a good bit of work to make it function, as the Game Maker Studio debugger seems to, once again, not want to debug my program. Plus it's been a while since I've worked on certain parts of the code and have to re-learn how I made some of it function in the first place. But I eventually figured out that my Note On tags were getting all incorrectly applied to a single instrument. Once I got that sorted, there was still chaos, as I forgot that the Note Off also includes pitch info, so after I would change the pitch, the Note Off was no longer "working", and the song would eventually descend in to complete and utter discord.
Now I have successfully modified three songs, hopefully with no ill effects. Further testing will tell.