DeathBasket Posted August 11, 2012 Share Posted August 11, 2012 This might be of interest to anybody who is still interested in importing custom music, etc. Features: Instrument set builder MIDI sequence converter Instrument set inserter Sequence inserter Sample inserter Instrument ripper More I don't do a lot of testing so beware of crashes and let me know if/when you find errors. Other information: https://sites.google...itor-oot-insted Download: https://sites.google.com/site/deathbasketslair/files/InstEd%20r6.zip?attredirects=0&d=1 5 Link to comment Share on other sites More sharing options...
SanguinettiMods Posted August 11, 2012 Share Posted August 11, 2012 This is absolutely epic. I was waiting for you to get around to this when I saw you said you might make it on your website. Hyrule Field actually sounds really good with Malon singing in the Background. Hehe. Link to comment Share on other sites More sharing options...
Zeth Ryder Posted August 11, 2012 Share Posted August 11, 2012 This is absolutely epic. I was waiting for you to get around to this when I saw you said you might make it on your website. Hyrule Field actually sounds really good with Malon singing in the Background. Hehe. Make a vid of this, I want to see that Link to comment Share on other sites More sharing options...
Jason777 Posted August 11, 2012 Share Posted August 11, 2012 Nice job, DeathBasket. Customization of music has just been made a little easier thanks to your tool(s). Link to comment Share on other sites More sharing options...
DeathBasket Posted August 11, 2012 Author Share Posted August 11, 2012 Progress: The program is now outputting files that are basically a text version of the format Zelda uses. Now I just need to write the part that will convert those to the actual data, which shouldn't be too difficult so I'm hoping to have it done and be testing it out at some point tomorrow. Seems to be working well so far, I tried a few random MIDI files I found and the only problems seem to arise from files that are using chords, which shouldn't be a problem in files designed for use with the game anyway. I will post some examples of how the sequences are sounding in-game once I've finished the converter, the next release will include it and will come shortly after once I have the sequence inserter finished. Link to comment Share on other sites More sharing options...
DeathBasket Posted August 13, 2012 Author Share Posted August 13, 2012 Sequence converter is mostly finished now, I need to change a few things though. Here's a look at some of the output so far: 1 Link to comment Share on other sites More sharing options...
SanguinettiMods Posted August 13, 2012 Share Posted August 13, 2012 So much yes. Link to comment Share on other sites More sharing options...
DeathBasket Posted August 14, 2012 Author Share Posted August 14, 2012 The new version is now up (link in first post updated), the sequence converter and inserter are included in the program now. There shouldn't be too many problems (none that I know of yet); pitch bend may still be a little out though, I don't remember what OoT's range is so I just guessed. I made this using this tool to create the instrument set and the sequence: I plan to add some more instruments to the tool now when I can be bothered, and maybe add the sample inserter if I decide it really has a use. Link to comment Share on other sites More sharing options...
Zeth Ryder Posted August 17, 2012 Share Posted August 17, 2012 Topic has been pinned(stickied)! :3 Great tool! 8D Also I edit your first post since it was still linking for some reason to the first release of the tool! Link to comment Share on other sites More sharing options...
DeathBasket Posted August 21, 2012 Author Share Posted August 21, 2012 Thanks, I didn't realise the link had not updated. Anyway, I've put a new version up now with a few more features - you can now rip instrument/sample data from OoT, MM and SM64 and I also added a sample inserter. This makes adding instruments so much quicker and easier. Percussion sets (instrument number 127) are not currently supported but I will add that at some point in the future. Edit: New version, I found and fixed two bugs with the sequence builder aspect. Link to comment Share on other sites More sharing options...
DeathBasket Posted August 28, 2012 Author Share Posted August 28, 2012 Tool has been updated again (now r5). This time I added most (all?) of the remaining instruments from OoT, including percussion sets. I don't really plan to add anything else to this so you can take this to be the first complete release in terms of features, unless anybody has any suggestions for things they want to see added that are doable. There's bound to be some bugs here and there so if you find any be sure to post them and I'll see what I can do to get them fixed. By the way, if anybody knows what that instrument is that I've labelled 'What' (it's used in the Goron City music), let me know and I'll give it a proper name. Link to comment Share on other sites More sharing options...
haddockd Posted August 29, 2012 Share Posted August 29, 2012 Nice work! It is a shame I dont mod anymore or I would be all over this. As you know my mod (as unpopular as it was) had quite a bit of imported/custom music. Link to comment Share on other sites More sharing options...
ShadyLJ Posted September 2, 2012 Share Posted September 2, 2012 So let me get this straight, if I were to use FL Studio, this tool, mml2n64, and a OoT debug rom, I wouldn't need anything else to make custom music for the game? Or would I be missing tools? Link to comment Share on other sites More sharing options...
DeathBasket Posted September 2, 2012 Author Share Posted September 2, 2012 mml2m64 is beyond irrelevant. As long as you can produce a MIDI file suitable for Zelda* (see below) then this tool has everything you need to be able to convert and import it into the game. * To make MIDI files that will work well in Zelda, follow these guidelines: monophonic channels no notes shorter than a hemidemisemiquaver except semihemidemisemiquaver triplets since those are the shortest length available (length of 1) write your MIDI files with instruments available in Ocarina of Time don't increase pitch bend range beyond 12 semitones, that is the highest range supported in Zelda as far as I know. make sure continuous control changes (ex. increasing/decreasing volume) do not happen on time intervals smaller than Zelda can use (see second point) The reason semihemidemisemiquavers cannot be used when their triplet form can (you might have noticed) is because they would have a length of 1.5, but length must be an integer, so after rounding the sequence would end up being inaccurate with things going slightly out of time. Link to comment Share on other sites More sharing options...
SanguinettiMods Posted September 2, 2012 Share Posted September 2, 2012 DeathBasket, could you explain more how "User Definied Instruments" work, please? Please disregard this, my Readme file was missing. <.> However, the section doesn't really cover how to use the instruments rather than it does cover how to fix ones. Link to comment Share on other sites More sharing options...
DeathBasket Posted September 2, 2012 Author Share Posted September 2, 2012 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 '...insteduserset03inst01'. 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. Link to comment Share on other sites More sharing options...
SanguinettiMods Posted September 2, 2012 Share Posted September 2, 2012 What I think would be useful is if you could program an automated way to rip the Raw Sample Data and port it over into the Audiotable. x3 Link to comment Share on other sites More sharing options...
DeathBasket Posted September 2, 2012 Author Share Posted September 2, 2012 Do you mean doing everything in one go? That would be possible but I don't see any advantage in doing it because the current method allows you to keep track of which samples you've imported so you don't end up importing the same ones multiple times. Link to comment Share on other sites More sharing options...
SanguinettiMods Posted September 2, 2012 Share Posted September 2, 2012 I mean making it possible to port Instrument Sets at a time. Link to comment Share on other sites More sharing options...
ShadyLJ Posted September 2, 2012 Share Posted September 2, 2012 Thanks for the answer Deathbasket. I've only made custom music for Super Mario World before, and that was before the use of custom samples became widespread, so my knowledge of these things was both lacking and outdated. Anyway, that means no more reasons to procrastinate! Link to comment Share on other sites More sharing options...
DeathBasket Posted September 2, 2012 Author Share Posted September 2, 2012 I mean making it possible to port Instrument Sets at a time. That might be a good feature, actually. I'll think about how best to implement it. Link to comment Share on other sites More sharing options...
SanguinettiMods Posted September 2, 2012 Share Posted September 2, 2012 Just testing out your sequence builder for the first time: It really works great. I'm glad you took the time to make a brand-new tool. 2 Link to comment Share on other sites More sharing options...
DeathBasket Posted September 2, 2012 Author Share Posted September 2, 2012 I just hope it isn't too difficult to use, seems that you know what you're doing with it though, which is good. By the way, if you're recording audio from the game, you should use Nemu since the sound is much smoother due to it not clipping every time the framerate drops. Link to comment Share on other sites More sharing options...
SanguinettiMods Posted September 3, 2012 Share Posted September 3, 2012 Upon using a MIDI I have, using the same process I did with the other one that worked, I get this when I build the sequence: Sequence header written, size 0x002DWriting channel 0 at 0x0000002D Converting ch1_koto.txt Converting track 0 Done, channel size = 0x00000530 Writing channel 1 at 0x0000055D Converting ch2_choir.txt Converting track 0 Done, channel size = 0x000002D8 Writing channel 2 at 0x00000835 Converting ch3_choir.txt Converting track 0 Done, channel size = 0x0000024C Writing channel 3 at 0x00000A81 Converting ch4_drum.txt Converting track 0 Done, channel size = 0x0000059E Writing channel 4 at 0x0000101F Converting ch5_guitar.txt Converting track 0 Done, channel size = 0x0000023F Writing channel 5 at 0x0000125E Converting ch6_chime.txt Converting track 0 Done, channel size = 0x00000FBC Writing channel 6 at 0x0000221A Converting ch7_chime.txt Converting track 0 Done, channel size = 0x000008B4 Writing channel 7 at 0x00002ACE Converting ch8_choir.txt Converting track 0 Done, channel size = 0x000002C3 Finalising... Sequence size = 0x00002D91 Done! Upon loading in game I found that it didn't work. I'm only guessing, but I'm assuming it has something to do with "Converting track 0" multiple times, as well as it telling me that "Track 0 contains no usable data" at some point. Any help would be appreciated. Link to comment Share on other sites More sharing options...
DeathBasket Posted September 3, 2012 Author Share Posted September 3, 2012 Track 0 in the MIDI file contained no usable data since it is usually used only for tempo and text messages. The track 0 mentioned here is referring to the first 'note layer' found in each channel. If you could upload the files I will take a look and see if I can find any errors. Link to comment Share on other sites More sharing options...
Recommended Posts