Notices
For all updates, view the main page.

Research & Development Got a well-founded knack with ROM hacking? Love reverse-engineering the Pokémon games? Or perhaps you love your assembly language. This is the spot for polling and gathering your ideas, and then implementing them! Share your hypothesis, get ideas from others, and collaborate to create!
Research & Development programs in this forum are subject to moderator approval before they are displayed.

Reply
 
Thread Tools
  #1    
Old July 25th, 2014 (12:17 AM). Edited July 29th, 2014 by Alisa180.
Alisa180 Alisa180 is offline
 
Join Date: May 2014
Gender: Female
Posts: 48
Over in the Fire Emblem hacking community, a hacker named Blazer created a patch that added all 127 MIDI instruments to FE7, gathered together in a ‘universal’ voicegroup. My thought? Why couldn’t we have that?

With permission from Blazer, I have adapted the patch for Pokemon FireRed. I have combined it with drums from GoGo’s brilliant HGSS Music Patch, to create a ‘universal’ voicegroup for FireRed. This voicegroup includes every single instrument, which, aside from the drums, correspond with normal MIDI/Sappy instrument numbers. The instruments are high-quality too. A song I tested sounded almost exactly like the original MIDI in-game when I assembled it using the voicegroup.

The Gunshot and Applause instruments were replaced in the voicegroup with two drumsets from the HGSS Music Patch. They are instruments 127 and 126 respectively. 127 corresponds to the ‘normal’ drum kit. I’m not quite sure what 126 is, but it fills the role of the D#5 note in drum tracks, and is therefore included for completion sake.

To use this patch is simple: Assemble your song in the voicegroup. For FireRed and Ruby, the voicegroup offset is 0xB30C5C. For Emerald, the voicegroup offset is 0x1130C5C.

The Read Me includes much of this information, along with the offsets for the Gunshot and Applause instruments, which remain in the patch.

The FireRed and Ruby patches are IPS patches, and are compatible with GoGo’s HGSS Music Patch. The Emerald patch, however, is a UPS patch. It will expand your ROM if it’s not already, and it is NOT compatible with the HGSS Music Patch.

The FireRed patch is compatible with JPAN’s Hacked Engine, and MrDollSteak’s Decap and Attack Rombase.

I hope everyone enjoys this! I would appreciate any feedback, comments, etc.

Special Thanks

Blazer-The FEShrine webmaster who created the original All-Instrument Hack for FE7, and happily granted me permission to adapt and distribute a similar patch for FireRed.

GoGo-Who created the HGSS Music Patch and taught me EVERYTHING I know about music hacking. Both through his amazing tutorial, and through patiently answering every single one of my questions. You rock dude!

Downloads
FireRed:
https://www.dropbox.com/s/3t10e0vih4j9f5q/All-Instrument%20Patch%20%28FireRed%29.zip

Ruby:
https://www.dropbox.com/s/psrdm459n0wzmr4/All-Instrument%20Patch%20%28Ruby%29.zip

Emerald
https://www.dropbox.com/s/a1sztwd3odigea8/All-Instrument%20Patch%20%28Emerald%29.zip
Reply With Quote

Relevant Advertising!

  #2    
Old July 25th, 2014 (11:55 AM).
Queen Azura's Avatar
Queen Azura Queen Azura is offline
Mistress of Midnight
 
Join Date: Jul 2014
Location: North Carolina
Gender: Female
Nature: Sassy
Posts: 59
This sounds wonderful! Is there any possibility of making this patch suitable for Emerald? That would be utterly amazing.
__________________


. : | cast off the fleeting, transient world | : .
. : | FC: 5086-3361-9631 IGN: Azura | : .
Reply With Quote
  #3    
Old July 25th, 2014 (12:14 PM).
Alisa180 Alisa180 is offline
 
Join Date: May 2014
Gender: Female
Posts: 48
Yes, it's more then possible. It would actually be very easy.

But first, I want to make adjustments to the patch so it doesn't have such large swaths of free space. This will mean changing hundreds of pointers. Quite a large task.

If you would like to have this for Emerald, what you need to do is simple. Patch this to a FireRed ROM, copy everything from the various offsets which I have listed, and paste them in the EXACT same spots on the Emerald ROM. That should work.
Reply With Quote
  #4    
Old July 25th, 2014 (2:08 PM).
Queen Azura's Avatar
Queen Azura Queen Azura is offline
Mistress of Midnight
 
Join Date: Jul 2014
Location: North Carolina
Gender: Female
Nature: Sassy
Posts: 59
Quote:
Originally Posted by Alisa180 View Post
Yes, it's more then possible. It would actually be very easy.

But first, I want to make adjustments to the patch so it doesn't have such large swaths of free space. This will mean changing hundreds of pointers. Quite a large task.

If you would like to have this for Emerald, what you need to do is simple. Patch this to a FireRed ROM, copy everything from the various offsets which I have listed, and paste them in the EXACT same spots on the Emerald ROM. That should work.
I wish you good luck in all your hard work. It's really wonderful. I'm afraid that I'm not quite yet skilled enough in editing ROMs (do not know how to expand a ROM even, truthfully) to try and do that on my own, but I'll look into it.
__________________


. : | cast off the fleeting, transient world | : .
. : | FC: 5086-3361-9631 IGN: Azura | : .
Reply With Quote
  #5    
Old July 25th, 2014 (3:12 PM).
Alisa180 Alisa180 is offline
 
Join Date: May 2014
Gender: Female
Posts: 48
Well, once the re-pointing is done, I'm going to put this up as a UPS patch. A UPS patch will expand a ROM automatically. That will help.

Thank you for the support! I'm hoping this will turn into a useful resource!
Reply With Quote
  #6    
Old July 25th, 2014 (4:48 PM).
adrift's Avatar
adrift adrift is offline
floating... floating... gone...
ModeratorCSPokéCommunity Daily Staff
 
Join Date: Mar 2010
Age: 19
Nature: Quirky
Posts: 3,392
Once you finish the repointing of the data to a new area, this will be quite impressive!
Does it really take up so much space as to warrant an expanded ROM?
__________________

mod github pair
Reply With Quote
  #7    
Old July 25th, 2014 (5:52 PM).
Alisa180 Alisa180 is offline
 
Join Date: May 2014
Gender: Female
Posts: 48
Not really. At least, I'm pretty sure not.

Both the original FE7 patch and the HGSS Music Patch use expanded ROMs, so it's me following precedent more then anything else.

What takes up most of the space right now, as I've said before, is the huge swaths of free space between the various parts of the patch. FE7 doesn't have nearly as much flexibility with free space as FireRed does, so the original patch had to start at 0x107D7D0. And even after that, a second version of the patch had to be released which was completely re-pointed and expanded the ROM even further, in order not to interfere with data.

I put the D#5 drums at 0x1000000 and the HGSS Drums in their original spots, to make things easier on myself while pulling together this first version of the patch. Which didn't really help the free space thing.

Luckily for us, FireRed, in contrast to FE7, has huge swaths of free space, even on a clean ROM. I will definitely try getting the patch fitted onto a non-expanded ROM first!
Reply With Quote
  #8    
Old July 25th, 2014 (7:53 PM).
adrift's Avatar
adrift adrift is offline
floating... floating... gone...
ModeratorCSPokéCommunity Daily Staff
 
Join Date: Mar 2010
Age: 19
Nature: Quirky
Posts: 3,392
Quote:
Originally Posted by Alisa180 View Post
Not really. At least, I'm pretty sure not.

Both the original FE7 patch and the HGSS Music Patch use expanded ROMs, so it's me following precedent more then anything else.

What takes up most of the space right now, as I've said before, is the huge swaths of free space between the various parts of the patch. FE7 doesn't have nearly as much flexibility with free space as FireRed does, so the original patch had to start at 0x107D7D0. And even after that, a second version of the patch had to be released which was completely re-pointed and expanded the ROM even further, in order not to interfere with data.

I put the D#5 drums at 0x1000000 and the HGSS Drums in their original spots, to make things easier on myself while pulling together this first version of the patch. Which didn't really help the free space thing.

Luckily for us, FireRed, in contrast to FE7, has huge swaths of free space, even on a clean ROM. I will definitely try getting the patch fitted onto a non-expanded ROM first!
That's true. I can't see such a voicegroup using so much space. You could probably do the voicegroup anywhere in FireRed with freespace and not take up too much data. (Each instrument takes about 12 bytes, right?)
__________________

mod github pair
Reply With Quote
  #9    
Old July 25th, 2014 (9:23 PM).
Alisa180 Alisa180 is offline
 
Join Date: May 2014
Gender: Female
Posts: 48
You misunderstand. It's not just the voicegroup. The patch comes with data for ALL of the instruments. Blazer went, and imported every single one of the 127 MIDI instruments for the original patch, regardless of whether it was originally included in the game or not. I can't even begin to imagine how much work it must have been. Simply putting in two or three high-quality multi instruments takes a while for me.

I just did some calculations. Including the drums I added, the size of the patch is about 13FF14.

At some point, I'm going to upload something to tindeck to demonstrate; the instruments are extremely high quality.
Reply With Quote
  #10    
Old July 25th, 2014 (9:37 PM).
Flandre Scarlet's Avatar
Flandre Scarlet Flandre Scarlet is offline
Free your mind.
Gold Tier
 
Join Date: Feb 2008
Location: Australia
Age: 20
Gender: Male
Nature: Adamant
Posts: 355
This is beautiful. I've always wondered if this sort of thing can be accomplished and it has. Awesome work! I'll definitely be taking a look at this.
__________________
Reply With Quote
  #11    
Old July 26th, 2014 (12:21 PM).
Windsong Windsong is offline
—the dream is dead
 
Join Date: Dec 2007
Location: Germany
Age: 24
Gender: Male
Nature: Quiet
Posts: 30
Nice work! I tried something like that back in 2010 but it literally took ages and I just abandoned the project. Thank you for sharing this and keep up the awesome work.
__________________
あなたがいつか消えて行くの?
working on something
Reply With Quote
  #12    
Old July 28th, 2014 (11:41 PM).
kearnseyboy6's Avatar
kearnseyboy6 kearnseyboy6 is offline
Aussie's Toughest Mudder
 
Join Date: Dec 2008
Posts: 299
Yes this is awesome, I have a suggestion though.

Wav. files of the samples for people to import seperately.

I have a whole missing instruments.
__________________
HOLIDAYING CURRENTLY!!
Reply With Quote
  #13    
Old July 29th, 2014 (8:38 PM).
Alisa180 Alisa180 is offline
 
Join Date: May 2014
Gender: Female
Posts: 48
New version of the patch is up! Everything has been completely re-pointed. There is also now Ruby and Emerald versions of the patch! Both the FireRed and Ruby patches are IPS patches which insert the data at A00000. The Emerald patch is a UPS patch that inserts the data at 1000000.

I’ve gotten rid of all that free space between the instruments, so things are now much more condensed. I’ve also added a Read Me with relevant information, including the data for the Gunshot and Applause instruments.

Quote:
Originally Posted by kearnseyboy6 View Post
Yes this is awesome, I have a suggestion though.

Wav. files of the samples for people to import seperately.

I have a whole missing instruments.
Unfortunately, that’s not really a thing I can make happen. I don’t have the original Wav. files, for one. Just the data. And I have no idea how to convert hex data back to Wav. This is meant to be a complete package.

You can go through the patch yourself and find the relevant instrument data. Or, you can use the patch, look up the addresses of the instruments you want, and input them into your custom voicegroup.

I may create a list of all the instruments and their relevant offsets at some point. That might be useful for some people.

I think this is almost ready to be added to the Tools, Tutorials, and Resources section. I could use any suggestions for improvements, tweaks, etc. And of course, if anyone finds an issue, please tell me!
Reply With Quote
  #14    
Old July 31st, 2014 (1:47 AM).
ipatix's Avatar
ipatix ipatix is offline
Sound Expert
 
Join Date: May 2008
Location: Germany
Gender: Male
Nature: Relaxed
Posts: 143
Well it's pretty nice someone finally did this. The thing I don't like about that is that it uses those very old Roland Sound Canvas samples (which are almost 20 years old?) which imo don't sound very natural and have this typical MIDI synthesized sound everyone knows. I'd go for some more high quality samples but, well, it's still a decent job you ported it from FE.
__________________
Visit my YouTube channel (music hacking and other stuff): http://www.youtube.com/user/theipatix
Reply With Quote
  #15    
Old July 31st, 2014 (1:24 PM).
Alisa180 Alisa180 is offline
 
Join Date: May 2014
Gender: Female
Posts: 48
Quote:
Originally Posted by ipatix View Post
Well it's pretty nice someone finally did this. The thing I don't like about that is that it uses those very old Roland Sound Canvas samples (which are almost 20 years old?) which imo don't sound very natural and have this typical MIDI synthesized sound everyone knows. I'd go for some more high quality samples but, well, it's still a decent job you ported it from FE.
I don't really consider that a downside. For the hack I'm planning, I have several amazing MIDIs of the songs I want to insert. I nearly fell out of my chair when I inserted one of the songs, and it sounded just like the original MIDI in-game.

Though I guess it was exaggerating when I called the samples 'high-quality?' I don't know. It was just so epic to finally hear that MIDI in my game with this patch. Inserting it in my hack was looking less and less like a likely prospect due to trouble finding samples for all the instruments. To finally have that...I guess it colored my statements a bit.

Part of the problem is it's often extremely difficult to find high quality samples of the instruments you want, especially if the instrument is more obscure. For example, you won't believe the lengths I went to find shamisen samples, before I realized the HGSS Music patch had it. And I had no idea where I could find skakuhachi samples without paying for it. And samples for the Rain FX instrument were non-existent.

You can import from DS, but that can only take you so far. For those without good ears, it can be hard for us to discern between undocumented instruments. And even in games with documented sound fonts, no game has every instrument. Like, none of the Pokemon games seemed to have Electric Bass (Pick), an endless source of frustration for me. Not much luck finding samples for it online either.

With this patch, someone can finally have all the instruments on hand. This patch is aimed at people who were like me. Who tried to find instruments for their patch and failed, sometimes quite spectacularly (I can remember my attempt to import cymbal samples for my drums before finding the HGSS Music Patch. Yeah, that didn't go so well.). For those who want higher-quality instruments, the option is still there to import and adjust the voicegroup accordingly. But quality aside, I suspect many, like me, will find this patch a godsend.

Thank you for the feedback!
Reply With Quote
  #16    
Old July 31st, 2014 (1:32 PM).
DuoRyan's Avatar
DuoRyan DuoRyan is offline
Hack'in as usual, it seem.
 
Join Date: Nov 2009
Location: Somewhere.
Age: 19
Gender: Male
Nature: Calm
Posts: 336
Quote:
Originally Posted by Alisa180 View Post
I don't really consider that a downside. For the hack I'm planning, I have several amazing MIDIs of the songs I want to insert. I nearly fell out of my chair when I inserted one of the songs, and it sounded just like the original MIDI in-game.

Though I guess it was exaggerating when I called the samples 'high-quality?' I don't know. It was just so epic to finally hear that MIDI in my game with this patch. Inserting it in my hack was looking less and less like a likely prospect due to trouble finding samples for all the instruments. To finally have that...I guess it colored my statements a bit.

Part of the problem is it's often extremely difficult to find high quality samples of the instruments you want, especially if the instrument is more obscure. For example, you won't believe the lengths I went to find shamisen samples, before I realized the HGSS Music patch had it. And I had no idea where I could find skakuhachi samples without paying for it. And samples for the Rain FX instrument were non-existent.

You can import from DS, but that can only take you so far. For those without good ears, it can be hard for us to discern between undocumented instruments. And even in games with documented sound fonts, no game has every instrument. Like, none of the Pokemon games seemed to have Electric Bass (Pick), an endless source of frustration for me. Not much luck finding samples for it online either.

With this patch, someone can finally have all the instruments on hand. This patch is aimed at people who were like me. Who tried to find instruments for their patch and failed, sometimes quite spectacularly (I can remember my attempt to import cymbal samples for my drums before finding the HGSS Music Patch. Yeah, that didn't go so well.). For those who want higher-quality instruments, the option is still there to import and adjust the voicegroup accordingly. But quality aside, I suspect many, like me, will find this patch a godsend.

Thank you for the feedback!
A god send it is! Finally, music hacking has gotten slightly more easier. Thank for the patch!
__________________
Pokemon Treasure.
Progress: Planning.
Reply With Quote
  #17    
Old August 1st, 2014 (9:12 PM). Edited August 1st, 2014 by Queen Azura.
Queen Azura's Avatar
Queen Azura Queen Azura is offline
Mistress of Midnight
 
Join Date: Jul 2014
Location: North Carolina
Gender: Female
Nature: Sassy
Posts: 59
First of all, I'd like to thank you for your hard work on this patch and for making it for Emerald as I had hoped ♥

However, I'm having a slight problem. When trying to apply the UPS patch to my clean Emerald ROM with Tsukuyomi, I'm getting an error: "Failed! Input checksum is invalid". Anyone know why this is? I'm 100% certain it's a perfectly clean ROM.

Also, would it be possible for you to make it into an IPS patch that does not expand the ROM in the future, or is that an impossibility?
__________________


. : | cast off the fleeting, transient world | : .
. : | FC: 5086-3361-9631 IGN: Azura | : .
Reply With Quote
  #18    
Old August 2nd, 2014 (3:41 AM).
Darkrai Lv.1000's Avatar
Darkrai Lv.1000 Darkrai Lv.1000 is offline
Has a tendency to figure things out
 
Join Date: Jul 2007
Location: On an island with Hakaze
Age: 22
Gender: Male
Nature: Quirky
Posts: 669
Send a message via AIM to Darkrai Lv.1000
Wow, I can't believe I haven't seen this until now! Thanks a bunch for creating this, it will definitely shave tons of time off inserting custom MIDIs, especially for a music hacking n00b like me. xD
__________________
Reply With Quote
  #19    
Old August 3rd, 2014 (11:58 AM).
Zortac's Avatar
Zortac Zortac is offline
League Champion
 
Join Date: Apr 2012
Location: Cork,Ireland
Gender: Male
Nature: Brave
Posts: 68
Send a message via Skype™ to Zortac
Thank you sooooo much!!!! You don't know how easier you made music hacking for me...
__________________







-Past Works
-PM me
-VM me!
-Capumon:BlackGranite X:Origins
-Creator of this awesome sig
Reply With Quote
  #20    
Old August 4th, 2014 (12:20 AM).
destinedjagold's Avatar
destinedjagold destinedjagold is offline
Oh Hai Thar~
Silver Tier
 
Join Date: May 2007
Location: Philippines
Age: 25
Gender: Male
Nature: Careful
Posts: 8,422
This is an amazing patch. :D

But, I take it that this isn't compatible with already-hacked ROMs?
May I ask the range of offsets that you've used on Ruby for this?
So far, I can see that you've used the offset A00000 and further, which I've already used. =/
__________________


FC: 0061-1111-6462
TSV: 1364(X), 0790(OR)

Reply With Quote
  #21    
Old August 4th, 2014 (4:27 PM).
Alisa180 Alisa180 is offline
 
Join Date: May 2014
Gender: Female
Posts: 48
Quote:
Originally Posted by Queen Azura View Post
First of all, I'd like to thank you for your hard work on this patch and for making it for Emerald as I had hoped ♥

However, I'm having a slight problem. When trying to apply the UPS patch to my clean Emerald ROM with Tsukuyomi, I'm getting an error: "Failed! Input checksum is invalid". Anyone know why this is? I'm 100% certain it's a perfectly clean ROM.

Also, would it be possible for you to make it into an IPS patch that does not expand the ROM in the future, or is that an impossibility?
Hm, I'm not sure why it's doing that...I'll look into it.

For Emerald? It's technically possible, using a similar method that GoGo did for the HGSS Music Patch. But the ROM will end up expanded in any case. Emerald simply doesn't have as much free space as FireRed, making using a non-expanded ROM for such a large patch less feasible.

Quote:
Originally Posted by destinedjagold View Post
This is an amazing patch. :D

But, I take it that this isn't compatible with already-hacked ROMs?
May I ask the range of offsets that you've used on Ruby for this?
So far, I can see that you've used the offset A00000 and further, which I've already used. =/
I used the offsets A00000-B68FA8. So, yeah, if you've already used those offsets, I'm afraid you're out of luck.

At least for now. In theory, I can create a program that can allow one to apply this patch using dynamic offsets. Such a program would require at least 68FA8 free space in the rom to work. But it is possible. It's something I'll probably do at some point in order to make this more compatible with already-hacked ROMs. I have other priorities right now though.
Reply With Quote
  #22    
Old August 4th, 2014 (5:19 PM). Edited August 4th, 2014 by destinedjagold.
destinedjagold's Avatar
destinedjagold destinedjagold is offline
Oh Hai Thar~
Silver Tier
 
Join Date: May 2007
Location: Philippines
Age: 25
Gender: Male
Nature: Careful
Posts: 8,422
Quote:
Originally Posted by Alisa180 View Post
I used the offsets A00000-B68FA8. So, yeah, if you've already used those offsets, I'm afraid you're out of luck.

At least for now. In theory, I can create a program that can allow one to apply this patch using dynamic offsets. Such a program would require at least 68FA8 free space in the rom to work. But it is possible. It's something I'll probably do at some point in order to make this more compatible with already-hacked ROMs. I have other priorities right now though.
Thanks for that info! And a program like that would be really useful. I'll patiently wait for it for the time being then.

edit...

ahem, anyway... By this line here:
Quote:
For FireRed and Ruby, the voicegroup offset is 0xB30C5C.
Do you mean that we're going to put 0xB30C5C on the Voicegroup Offset on Sappy?
__________________


FC: 0061-1111-6462
TSV: 1364(X), 0790(OR)

Reply With Quote
  #23    
Old August 6th, 2014 (2:37 PM).
Alisa180 Alisa180 is offline
 
Join Date: May 2014
Gender: Female
Posts: 48
Quote:
Originally Posted by destinedjagold View Post
Thanks for that info! And a program like that would be really useful. I'll patiently wait for it for the time being then.

edit...

ahem, anyway... By this line here:

Do you mean that we're going to put 0xB30C5C on the Voicegroup Offset on Sappy?
Yes, that's exactly right!
Reply With Quote
  #24    
Old September 20th, 2014 (11:37 AM).
Chaos_Darkrai's Avatar
Chaos_Darkrai Chaos_Darkrai is offline
 
Join Date: Apr 2012
Gender: Male
Posts: 284
I am wondering for this patch, if an instrument is already in another game, example, R/S instruments, will they be in the FR patch? Or will the instruments be midi samples, as stated before?
__________________
░░░░░███████ ]▄▄▄▄▄▄▄▄
▂▄▅█████████▅▄▃▂
Il███████████████████].
◥⊙▲⊙▲⊙▲⊙▲⊙▲⊙▲⊙◤..

If you're looking for a good time, or just want to chat, come over to Weloxux and I's channel at:
http://mibbit.com/?server=irc.mibbit.net&channel=%23Dragons_Den

Reply With Quote
  #25    
Old December 18th, 2014 (2:55 PM).
phazonruler's Avatar
phazonruler phazonruler is offline
veteran
 
Join Date: Mar 2011
Age: 20
Gender: Male
Nature: Quiet
Posts: 29
This looks pretty cool. I'll try it out
__________________
Toasters toast toast
Reply With Quote
Reply
Quick Reply

Sponsored Links
Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -8. The time now is 7:58 AM.