Jump to content

OoT InstEd (Instrument Editor)


DeathBasket
 Share

Recommended Posts

  • 2 weeks later...

The max tempo is 255 in Zelda but hardly anything will be that fast. Errors in tempo that I have seen before were because of the MIDI file setting a different amount of 'ticks per quarter note' but that was fixed a long time ago. My guess would be that the MIDI file you used is setting the time intervals using frames per second before setting the tempo, which InstEd will not understand and just set to some default value. The other case is that the tempo was not set at all and was assumed to be 120 (I think, that is the default for MIDI files anyway iirc). For now you could try changing the tempo in the files that were output yourself, I need to go back over the code at some point and see if I can improve the way this is being done because if you find problems with it, it is inevitable that someone else will sooner or later.

Link to comment
Share on other sites

  • 1 month later...

Okay, I finally got around to fixing a few problems (thanks to Sanguinetti for finding them) and I uploaded a new version of the tool. There are two new options on the MIDI converter form, one is not actually implemented yet and the other (tempo fix) only needs to be used if the tempo of your file exceeds the maximum in Zelda (255) but will not fix anything with a tempo over 511 (really who would do that?).

 

Also, I made a tutorial video. If you don't understand me then I can always write something out in text form, I probably didn't explain anything very well anyway.

 

  • Like 1
Link to comment
Share on other sites

  • 3 weeks later...

I don't like to double post, but I have another idea. Say that a single channel had chords, would there be any way for your program to edit the MIDI and move the chords from one channel to a new channel and naming it [ChannelName]_Chords, or something like that? This would seem like it would make importing other MIDIs easier.

Link to comment
Share on other sites

Whenever I can get back on top of my work, commitments, etc. while still having a little social/relax time in between I will try and get back to this... I am reading your suggestions though so don't worry.

I could probably come up with something that would attempt to remove all the chords and split them into separate 'layers' something like Zelda does but there still could end up being problems when there are more than 4 notes at once. I will think about how best to deal with this but with a little effort I should be able to work it in to the main program. You will have to wait a while though, I have quite a lot of stuff going on at the moment... sorry.

Link to comment
Share on other sites

Yes. In each file it outputs there is something like '.t 0', copy that and everything after it and paste it at the end of another file.

 

I kind of get what you're saying, but perhaps giving me an example of what this would do will help. I have four channels of this song, so are you saying I just take the '.t 0' and everything after it in each file and put it in a new one?

Link to comment
Share on other sites

Open any file the program output and look for '.t'. Each time the program sees '.t' it creates a new note layer. By default there is only one layer per channel due to the way I have programmed it. If you want to add more then you could open another file, copy everything after this point and paste it at the end of the first file. Since the program will now see '.t' twice it will create two note layers for that channel. Note that all layers share the same header so cannot have individual settings such as panning or volume as this will affect all layers.

Link to comment
Share on other sites

  • 2 weeks later...

Sure.

 

The easiest way is to use the instrument ripper to get the instrument you want from one of the supported games (see readme). That'll output a folder with a name like 'set03inst01' for example. You can rename this if you want, but you must also rename the instrument data file in that folder to the same name as the folder, the program relies on the names being the same.

 

To import the instrument, you need to create a folder in the program's directory named 'user', and copy your instrument's folder there, so you'd have something like '...\insted\user\set03inst01'. Now when you use the program, following this example you would type 'set03inst01' in the user defined instrument edit box and that would add your instrument's data to the set.

 

For instruments that do not come from Ocarina of Time, you will also need to import the sample files that the instrument ripper would have spat out. You can do this using the sample inserter option, which will tell you what the sample's new pointer will be after adding it to Audiotable. Make sure you write it down because you will need it. Open up the instrument's data file ex. 'set03inst01.i' in a hex editor and search for the lower three bytes of the sample's original address, which is in the sample file's name ex. if it was 'sample00123450', you would search 0x123450 in the hex editor. The reason you only search the lower three bytes is because some samples have the uppermost byte set to some unknown value, you can just change that to zero and then the rest to your new pointer. Once you have inserted the sample and fixed its pointer you can add the instrument to your set the same way as I described above. Note: you need to fix the CRC after using the sample inserter.

 

The method for percussion sets (instrument 127) is basically the same, but you must type the name in the 'user defined percussion set' edit box instead. As far as I know only one percussion type instrument can be used at a time.

 

If you want me to provide a tutorial video or more information, let me know and I will.

 

If you want to import samples from games that the instrument ripper doesn't support, that is a bit more complicated and I don't really want to do an in-depth explanation unless anyone really needs it.

 

Alright, I tried following this today. I want to insert samples from Majora's Mask into Ocarina of Time, but every time I try and insert a sample, the program crashes. They ripped just fine, too. If you could greater describe it, or make a video tutorial, this would be helpful.

Link to comment
Share on other sites

Basically, I go to insert the sample (about 30 KB, apparently) and the program starts to "Not Respond" at "Moving Audiobank". I'm using instrument set 0x17 from Majora's Mask and have tries instruments 00, 01, and 02. They have all done the same thing. Set 23, In decimal, because that's what your program uses for input.

Link to comment
Share on other sites

 Share

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.