The PokéCommunity Forums  

Go Back   The PokéCommunity Forums > ROM Hacking > Tools, Tutorials & Resources
Sign Up Rules/FAQ Live Battle Blogs Mark Forums Read

Notices

Tools, Tutorials & Resources Various tools to help you develop your hacks can be found here.
New threads in this forum are to be approved by a moderator before they are displayed.


Closed Thread
 
Thread Tools
  #1    
Old May 27th, 2008, 12:25 PM
Magnius
Pokemon Music Hacking Guru
 
Join Date: Jul 2005
Gender:
Nature: Adamant
Hello, this is Magnius here with another document on GBA Music Insertion. In my previous documents, I covered how to insert a midi into a GBA game. But the problem is, when inserting just any regular midi without modification, it might not sound the best on the GBA. In this tutorial, I'm going to basically give you guys some info on the GBA's music limits and how to make your music sound the best it can in your Pokemon hack. Before you read this document though, it is REALLY recommended you read and understand the first before you read this one.

1. Some information on the GBA's Music Limits

I'll start this document off with some information on the GBA's Music Limits that Clonex25 informed me of. Here's a direct quote on the limits from a PM that he sent me which best explains them...
Quote:
- You can use up to 10 tracks per song: 5 for DirectSound (D/S), and 5 for GB Waveform (GB).
- You can use any instrument in the D/S tracks, provided that you must limit the playing instruments to 6 (including the drums).
- You may reserve a D/S track for the drums.
- You can use the GB tracks for the following: 1) Square1, 2) Square2, 3) Wave, 4) and 5) Noise.
- Two GB tracks are used for the Noise part because Applause (126) has a "smoother" effect than Gunshot (127).
- You may maximize the 5 D/S tracks for town/city/route/cave music.
- You must limit the battle music D/S tracks to 4. This gives a track that the GBA uses for the attack SFX. Maximizing 5 D/S tracks may sacrifice the drums upon execution of attacks like Surf, or when there's a stat change (+ATK, -DEF).
So those are mostly the limits of the GBA, music wise and if you surpass those limits, the song might not sound as good as it could on the GBA. Now, I know some of you might be confused now by all the DirectSound and GB Waveform business, so I'll explain it. DirectSound instruments are basically any instruments that aren't GB Synth. So a trumpet would be a DirectSound instrument, a flute would be a Direct Sound instrument and so on. GB Synth is basically any instrument that uses the GB's internal Waveform. The original Game Boy and Game Boy Color only used Waveform and Direct Sound was added to the GBA.

2. Voicegroups

Every different song in each of the Pokemon GBA games uses a certain voicegroup and this can effect how good or bad the song might sound on the GBA. For instance, in Sappy you could assemble your .s file to "Encounter 1" and it might sound great, but then you assemble it to say... "Pallet Town" and it sounds horrible. This is because those songs use different voicegroups. Now, I know it's possible to change voicegroups through Hex Editing, but seeing as I've not tried that yet, I won't cover it here. So basically, what'd I reccomend is toying around with assembling your song to different songs and seeing which one sounds the best.

3. Balance

Sometimes the midi you've inserted into your GBA Pokemon hack, won't sound good if it's unbalanced. You know, if one instruments playing too loud and all the others are playing too soft or overall, the whole midi is just too loud. Balancing your midi can really help it sound better on the actual GBA. How I like to do this is I go into Anvil Studio(A program that let's you edit midi tracks) and just toy around with the volume of different instruments. You know, turning certain instruments up and turning certain instruments down and seeing what happens. But yeah, balancing the volume of your midi tracks can really help your midi sound better on the actual GBA.

4. Commonly used instruments in GBA Pokemon games

Here I will cover instruments that are commonly used in the GBA Pokemon games. Now, if you want to use an instrument not on the list, you can try to, but most of the time instruments that aren't common result in the instrument being converted to GB Synth. Overall, don't look at this as the definite list as you can try and use other instruments if you like and see if they work.

Commonly used DirectSound Instruments:
1 - Bright Acoustic Piano
2 - Electric Grand
5 - Electric Piano 1
13 - Xylophone
14 - Tubular Bells
17 - Percussive Organ
21 - Accordian
24 - Acoustic Guitar Nylon
25 - Acoustic Guitar Steel
29 - Overdriven Guitar
36 - Slap Bass 1
38 - Synth Bass 1
45 - Pizzicato Strings
46 - Harp
47 - Timpani
48 - Strings
53 - Voice Oohs
56 - Trumpet
59 - Tuba
60 - French Horn
73 - Flute
78 - Whistle

Direct Sound also has a drum track, but I'm not sure which one it is.

Commonly used GB Synth Instruments:
4, 6 and 7 = Not necessarily Square instruments, but are used as Sqaure's.
80 - Square(As Melody or Bass)
81 - Sawtooth(Mostly used as Bass)
82 - Calliope
83 - Chiff
84 - Charang
85 - Voice
87 - Bass + Lead
88 - Pad 1 (New Age)
91 - Pad 4 (Choir)
92 - Pad 5 (Bowed), mostly used as a Wave instrument
126 - Applause(Used as Drum Noise)
127 - Gunshot(Used as Drum Noise)

So yeah, those are the commonly used instruments in the GBA games. Now the numbers are the instrument numbers as they appear in Sappy. To get these instruments in most common midi programs, just add 1 to the instrument number. For instance 56 = Trumpet in Sappy, but to get a trumpet in a midi program, you'd look for track 57. I know this is all very confusing but bear with me here.

Read all that? Good because the last portion of this document is going to get a bit complicated and is really only recommended if you REALLY want your midi to sound great on the GBA. Basically, in the last document I'll be covering the Program Change. It's not really that hard to do, just hard to explain.

5. Program Change

Open Sappy and then open a rom of Pokemon Fire Red or Leaf Green. Then scroll down the songs list in Sappy and find "Route Theme 4". Click the box with the check beside it next to Location, to turn all of the tracks off. Now that you've done that, select the click on the second track. Now press play. If you watch closely, you'll immediately notice that within in the first 2 seconds, the track starts as strings(48), then the SAME TRACK changes into a French Horn(60) and then changes to a Trumpet(56). This is something I like to call Program Changing, which is when ONE track changes into another instrument on the fly. Learning how to do a Program Change will really help you compress the number of instruments a midi uses.

First, download and install Anvil Studio. Once you've done that, open Anvil Studio, find your midi and open it. Now turn off all but one track(Prefferably the Melody Track). Now go up to View and click on it and then click on "Piano Roll Editor". Then go to the part of the song where you want to change the instrument. But wait, before that, I have to tell you something very important. In order for a program change to work on the actual GBA there must be 4 blank notes before it. Once you've found a spot with 4 blank notes before it though, click on the beggining of the blank notes and go up to "Edit". Once you've clicked on that go down to "Insert Midi Controller Event...". The picture below shows you what I mean by "4 blank notes".



After that first make sure the "Show all controller events" box is selected and then go up to the "Kind of Event" box and find "Program Change". Once you've done that, it will probably already be on the correct channel number and all you have to do is change the control value(The value of the instrument you want to change to). So say for instance, you had strings and you wanted to switch to a trumpet, you'd put "57" as the control value.

And that's the end of a long tutorial guys. I know a lot of things in here are confusing, but it's really advanced stuff and is hard to explain.

Last edited by Magnius; July 31st, 2008 at 07:41 PM.
  #2    
Old May 28th, 2008, 07:04 AM
Master_Track's Avatar
Master_Track
ROM Reaverz Scripter
 
Join Date: Mar 2008
Location: Austria
Age: 21
Gender:
Nature: Brave
Send a message via Windows Live Messenger to Master_Track
wow, this will really help me (just like the 2 other guides of u, part one of inserting and looping tut).
u r great man :D

I'm glad that I had anvil studios before, time to try this out
__________________

*Busy with school*

  #3    
Old May 28th, 2008, 07:49 AM
Magnius
Pokemon Music Hacking Guru
 
Join Date: Jul 2005
Gender:
Nature: Adamant
Yeah. If it helps here's an example of a midi that uses most of these concepts and works great in game...

http://midishrine.com/midi/22687.mid

Here's an actual in-game vid of it working...

http://www.youtube.com/watch?v=omX7DzaPmLg

I think I might expand on voicegroups but which voicegroup you use will really make a big difference in whether your midi sounds good on the GBA or not.
  #4    
Old May 29th, 2008, 07:13 AM
Master_Track's Avatar
Master_Track
ROM Reaverz Scripter
 
Join Date: Mar 2008
Location: Austria
Age: 21
Gender:
Nature: Brave
Send a message via Windows Live Messenger to Master_Track
er..I know my problem isn't directly referred to the tutorial, but u wrote:
now click play..etc.. in sappy.
But for some reason...this never worked for me o.o
everytime I click play sappy shuts automatically down, without an error message or something.
do u know the problem?
if not it's not that important, since the sound works at least ingame..
but I'd like to know what it sounds like before starting my rom ''
__________________

*Busy with school*

  #5    
Old May 29th, 2008, 07:39 AM
Magnius
Pokemon Music Hacking Guru
 
Join Date: Jul 2005
Gender:
Nature: Adamant
Quote:
Originally Posted by Master_Track View Post
er..I know my problem isn't directly referred to the tutorial, but u wrote:
now click play..etc.. in sappy.
But for some reason...this never worked for me o.o
everytime I click play sappy shuts automatically down, without an error message or something.
do u know the problem?
if not it's not that important, since the sound works at least ingame..
but I'd like to know what it sounds like before starting my rom ''
Well if it's doing that it might be in your assembling which is covered in the first tutorial. Also check your file name or simply the number of instruments in the midi, that might make it not able to play in Sappy. You can compress the number of instruments with the program change method. So if it does have too many instruments and you want to compress it, try putting all of the melodies in one track and using the program change method.
  #6    
Old May 30th, 2008, 07:34 PM
shaqattacks's Avatar
shaqattacks
Beginning Trainer
 
Join Date: Jul 2007
Location: ajax, ontario
Gender: Male
Nature: Quiet
How do you turn off the tracks? I'm sorry, I'm a total noob at Avil Studios and I'm trying to learn how to use it.
  #7    
Old May 30th, 2008, 08:32 PM
Magnius
Pokemon Music Hacking Guru
 
Join Date: Jul 2005
Gender:
Nature: Adamant
Quote:
Originally Posted by shaqattacks View Post
How do you turn off the tracks? I'm sorry, I'm a total noob at Avil Studios and I'm trying to learn how to use it.
lol no it's a good question. To get a track by itself go into the "On" column of the tracks channel. By default it'll say "on" in the box. Click it again, you'll get "mute", click it again you'll get "solo" which is what we want.
  #8    
Old May 31st, 2008, 07:46 AM
shaqattacks's Avatar
shaqattacks
Beginning Trainer
 
Join Date: Jul 2007
Location: ajax, ontario
Gender: Male
Nature: Quiet
Thanks so much! This helped me a lot!
  #9    
Old May 31st, 2008, 08:20 AM
Νιτραμ
Trainer
 
Join Date: Nov 2007
Hey, a good tutorial indeed!

I just inserted third custom song and I partly followed your tutorial. It turned out to be great!
__________________
If you remeber me, feel free to send me a PM ;-)
  #10    
Old June 1st, 2008, 09:01 AM
Tropical Sunlight's Avatar
Tropical Sunlight
The Faltine
 
Join Date: Mar 2008
Location: Slovenia
Age: 18
Gender: Male
Send a message via Windows Live Messenger to Tropical Sunlight
The Anvil Studios link doesn't work for me
__________________
  #11    
Old June 1st, 2008, 09:28 AM
Master_Track's Avatar
Master_Track
ROM Reaverz Scripter
 
Join Date: Mar 2008
Location: Austria
Age: 21
Gender:
Nature: Brave
Send a message via Windows Live Messenger to Master_Track
google is your friend
but you can just klick here
__________________

*Busy with school*

  #12    
Old June 11th, 2008, 07:58 PM
Shadow-X's Avatar
Shadow-X
That Guy
 
Join Date: Jan 2008
Gender:
EDIT: nvm, I found a way to make space

Last edited by Shadow-X; June 11th, 2008 at 08:04 PM.
  #13    
Old June 14th, 2008, 04:11 AM
Innocence's Avatar
Innocence
PC Lurker: I'm watching you...
 
Join Date: Aug 2004
Location: Queensland, Australia. What are you, a stalker?
Age: 19
Gender: Male
Nature: Lonely
I still can't get my song to sound like a real song...Tried changing the voiceset, but it still sounds like a Monophonic ringtone or something...
__________________

I cringe at things I've said here in the past years.
  #14    
Old June 25th, 2008, 03:39 PM
Magnius
Pokemon Music Hacking Guru
 
Join Date: Jul 2005
Gender:
Nature: Adamant
Quote:
Originally Posted by Innocence View Post
I still can't get my song to sound like a real song...Tried changing the voiceset, but it still sounds like a Monophonic ringtone or something...
Well my guess is that your problem is one of these...

1. You're using an instrument that's not very common in use in the Pokemon GBA games(Like for instance, Shamisen's aren't used in Pokemon GBA games so those might bring up monophonic stuff).

2. Using too many DirectSound tracks.

And those are probably the only two I can think of. Also, when looking for the right voice set, find a voice set that has the same instruments you use. So for instance, if you use a trumpet in your song, you want a voiceset that uses a trumpet and if the voiceset you pick, DOESN'T have a trumpet, it'll end up sounding like GB synth.
  #15    
Old July 2nd, 2008, 08:56 AM
Master_Track's Avatar
Master_Track
ROM Reaverz Scripter
 
Join Date: Mar 2008
Location: Austria
Age: 21
Gender:
Nature: Brave
Send a message via Windows Live Messenger to Master_Track
er...I remember that this tutorial was much longer Ô.o.
I wanted to go through everything now, but there are only a few lines and most things which were explained are simply gone. Or are they just not displayed for me, because of my browser/whatever?

edit: I found it on my computer, I once saved it in case my internet is down or PC keeps getting database errors (ehem...xD).
The first post includes introduction and end, the biggest part of the tutorial is missing.
I wonder why...
__________________

*Busy with school*


Last edited by Master_Track; July 2nd, 2008 at 09:56 AM.
  #16    
Old July 31st, 2008, 02:31 AM
Magnius
Pokemon Music Hacking Guru
 
Join Date: Jul 2005
Gender:
Nature: Adamant
Quote:
Originally Posted by Master_Track View Post
er...I remember that this tutorial was much longer Ô.o.
I wanted to go through everything now, but there are only a few lines and most things which were explained are simply gone. Or are they just not displayed for me, because of my browser/whatever?

edit: I found it on my computer, I once saved it in case my internet is down or PC keeps getting database errors (ehem...xD).
The first post includes introduction and end, the biggest part of the tutorial is missing.
I wonder why...
lol yeah, I have no idea either. It's not just you, a big part of the tutorial dissapeared for some reason. Could you send it to me? I don't think I have any backup of it.
  #17    
Old July 31st, 2008, 03:46 AM
Master_Track's Avatar
Master_Track
ROM Reaverz Scripter
 
Join Date: Mar 2008
Location: Austria
Age: 21
Gender:
Nature: Brave
Send a message via Windows Live Messenger to Master_Track
For all the others: I sent it to magnius so the guide will be complete again soon
__________________

*Busy with school*

  #18    
Old July 31st, 2008, 07:42 PM
Magnius
Pokemon Music Hacking Guru
 
Join Date: Jul 2005
Gender:
Nature: Adamant
Tutorial is working again. Apparently there was something strange about the Anvil Studio link that made it not show the whole document. But it's fixed now.
  #19    
Old August 1st, 2008, 04:27 AM
destinedjagold's Avatar
destinedjagold
Oh Hai Thar~ 'ω'
Community Supporter
 
Join Date: May 2007
Location: Philippines
Gender: Male
Nature: Careful
I guess I was a bit outdated. :\

anyways, nice tutorial, however, Anvil Studio seems to dislike my computer.
is there other ways for me to know what voices/instruments sounds good for Ruby? Other than hex, I mean. :\
__________________
3DS FC: 0061-1111-6462
SV: 1364 | Rock Safari: Dwebble, Corsola and Barbaracle
  #20    
Old August 1st, 2008, 08:46 AM
cooley's Avatar
cooley
///Keepin' it simple
 
Join Date: Feb 2007
Location: United States
Age: 19
Gender: Male
Nature: Impish
Send a message via Windows Live Messenger to cooley Send a message via Skype™ to cooley
Yes, this is a good tutorial indeed.
Now, I'm playing music like a Pro! Also, I noticed with Anvil Studio(and Sappy), on the Piano Roll Editor, it's fun turning off and on the tracks to go with the beats, It sounds great too.

I've edited The Verdanturf Music, and am going to try it now, if no luck, then I'll try something again. Thanks for this tutorial.
P.S. Is there a way to combine exported Tracks back into a .s file?


Never mind, I did it! I repointed the voicegroup to my own created one. Now it sounds exactly like the Ruby one, and it loops!
__________________


Last edited by cooley; August 1st, 2008 at 09:55 AM.
  #21    
Old November 17th, 2008, 01:47 PM
WaterSplash's Avatar
WaterSplash
Common
 
Join Date: Jan 2008
Location: Wherever I am, I am
Age: 21
Gender: Male
Nature: Serious
Send a message via AIM to WaterSplash
Quote:
Originally Posted by Magnius
- You can use up to 10 tracks per song: 5 for DirectSound (D/S), and 5 for GB Waveform (GB).
So, if in Anvil Studios you have say, 9 tracks, but some repeat the same intrument, will it still work in game? I've been a bit fearful of inserting my music into the ROM.

Also, I don't think it makes a difference but I am hacking a Ruby ROM.
__________________

Berries Grow, Birds Fly, Sun Shines, and Brotha...I Splash People.
  #22    
Old November 17th, 2008, 11:16 PM
Blazichu's Avatar
Blazichu
Bahhhh?
 
Join Date: Mar 2006
Location: The ground?
Age: 23
Gender: Male
Send a message via Windows Live Messenger to Blazichu
No need to revive a month old thread.

*Locks*
__________________

←(left) the online world for life(MSN, PC etc.)~
Closed Thread
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
Minimum Characters Per Post: 25



All times are UTC -8. The time now is 02:16 PM.


Style by Nymphadora, artwork by Sa-Dui.
Like our Facebook Page Follow us on Twitter © 2002 - 2014 The PokéCommunity™, pokecommunity.com.
Pokémon characters and images belong to The Pokémon Company International and Nintendo. This website is in no way affiliated with or endorsed by Nintendo, Creatures, GAMEFREAK, The Pokémon Company or The Pokémon Company International. We just love Pokémon.
All forum styles, their images (unless noted otherwise) and site designs are © 2002 - 2014 The PokéCommunity / PokéCommunity.com.
PokéCommunity™ is a trademark of The PokéCommunity. All rights reserved. Sponsor advertisements do not imply our endorsement of that product or service. User generated content remains the property of its creator.