The PokéCommunity Forums  

Go Back   The PokéCommunity Forums > ROM Hacking > Tools, Tutorials & Resources
Reload this Page Tutorial Magnius Advanced Music Hacking Tutorial - Midi Events
Sign Up Rules/FAQ Daily Battle Blogs Mark Forums Read

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.

Thread Tools
Old August 15th, 2009 (9:27 PM). Edited April 15th, 2010 by Stormzy.
Magnius Magnius is offline
Pokemon Music Hacking Guru
Join Date: Jul 2005
Nature: Adamant
Posts: 295
Hey, what's up guys this is Magnius here again today with another tutorial on how to make your music that you insert in Sappy, sound even more professional. But what will I be covering today? Well, midi events. Midi events are things that you can add to your midi files in order to change a number of variables such as a tracks volume or a tracks instrument, on the fly.

But what does that have to do with music hacking? Well, the official FRLG songs use midi events in them and by knowing how to use these midi events correctly, you can not only make your midis sound more official, but you can make your midis look more official.

So basically, in this tutorial I will first explain to you, HOW to insert midi events and then tell you what those events do.

However, before you move on you're going to need 2 programs... Anvil Studio and WinjammerPro, both which are free. The links to where to download them are listed below...
You can get Anvil Studio there.

You can get WinJammer there.

Both are pretty much required for this tutorial.

It's also recommended you read these documents and tutorials, before reading this one...

Magnius Guide to Pokemon Music Hacking Part 1

Magnius Guide to Pokemon Music Hacking Part 2

So now on to the tutorial...

So, how do you actually add a midi event in Anvil Studio?

Well, that's a good question. Well to make things easy, I'll tell you things step by step.

1. Open up Anvil Studio.

2. Next, find where it says "File" near the upper left corner and click on that.

3. Once you've clicked on that, find "Open Song..." on that menu.

4. Next find a midi of your choice and open that.

5. Now that you've done that, find the "View" option at the top and click on that. Then make sure it's set to "Mixer".

6. Select the track that you want add a midi event to.

7. Now this isn't mandatory, but it's probably a good idea to solo out this track, so that only it is playing. To do this, look in the "On" column of that particular track. Then keep clicking in the "On" section of that track, until it changes to Solo.

8. Next, with that same track selected, click on View near the top. After that scroll down to "Piano Roll Editor". This will take you to the Piano Roll.

9. Once you're in the Piano Roll, listen to the track and decide where you want to insert the event. After you've done that, click on the place where you want to insert the event.

10. After that, find "Edit" at the top and click on it. Then find "Insert MIDI Controller Event..." on the list of options and click on that.

11. After this, you should see a box that says "New MIDI Event" at the top. When you get to this box make sure "Show all controller events" is checked.

Now, do you notice that small scrolling box, next to "Kind of event:"? Well by default the box should say "ChannelVolume - b007".

That my friends is a midi event. If you look below that you'll see the words "Control Value" with a box next to it that has numbers.

That's basically the Control Value of the midi event.

If you click on the scrolling box next to "Kind of event:" and keep scrolling down, you'll see a ton of different midi events.

Now, in this tutorial I won't be covering ALL the midi events, however, I will only be covering those commonly used in the FRLG mixes. Those events are...

1. ChannelVolume - b007

ChannelVolume - b007, as it's listed in Anvil Studio, is a midi event that allows you to change a track's volume at a selected position in the song. So if you want a track to play loud at one point, but then want the volume of the track to suddenly become low, you can use this event for that. The control value of this event, decides how loud or how soft the volume change will be. As you can probably guess "100" is the loudest volume and 0 is the lowest volume.

Now, if you want the volume to gradually get lower, that's more advanced, but can be done in WinJammer.

2. Program Change

Alright, so if you go into Sappy and isolate one of the DirectSound tracks on one of the official FRLG songs, more than likely you'll notice that sometimes that one track, may change it's instrument on the fly. This is used in MOST official FRLG mixes and is a great way to fit more instruments in, without adding more tracks in. After all, the GBA can only have 5 DirectSound tracks playing at once.

The control value for this midi event, is basically the instrument number that you want to switch to. How to figure out what numbers correspond to what instruments, has been covered already in another document.

3. Panpot - b00a

Well, if you go into Sappy and examine the tracks of some of the FRLG mixes, sometimes you'll notice the sound moving either to left or to the right, as opposed to being in the center like usual. This, my friends is called panning and it's something that most of the official FRLG mixes use.

The control value for this one is kind of confusing. Basically the way I like to think, is that "30" is the value I use if I want to pan the sound to the left and "90" is the value I use if I want to pan the sound to the right. "64" is what I use if I want to center the sound.

And yeah, that's the end of part one of the tutorial. On the next tutorial, I'll be covering one more new event, that you need Winjammer for and I'll be covering how to do advanced things with events in Winjammer.
Check out my original music on my youtube channel:
Reply With Quote

Relevant Advertising!

Old August 16th, 2009 (7:29 PM).
liuyanghejerry's Avatar
liuyanghejerry liuyanghejerry is offline
Join Date: Jan 2008
Location: China,Xi'an
Nature: Calm
Posts: 218
Send a message via ICQ to liuyanghejerry Send a message via Windows Live Messenger to liuyanghejerry Send a message via Yahoo to liuyanghejerry
Nice tut,though I'm wondering if there's any about Emerald...
Zel,thethethethe,LU-HO,Darthatron,HackMew,ZodiacDaGreat,Juan,score_under,JPAN,Tamah-chan,I really appreciate your kindness and your help!:D

I did something that really bad.But made all Chinese can hack Pokemon, too.If you guys hate me, I totally understand,but cannot do anything but force to keep everything.
If there must be someone to undertake all spit and curse, it must be me.
Reply With Quote
Old August 16th, 2009 (10:58 PM).
Magnius Magnius is offline
Pokemon Music Hacking Guru
Join Date: Jul 2005
Nature: Adamant
Posts: 295
Originally Posted by liuyanghejerry View Post
Nice tut,though I'm wondering if there's any about Emerald...
Well this basically applies ALL midis that you insert into ANY GBA rom. So this will work with inserting midis into Emerald too.
Check out my original music on my youtube channel:
Reply With Quote
Old August 20th, 2009 (10:59 AM).
Magnius Magnius is offline
Pokemon Music Hacking Guru
Join Date: Jul 2005
Nature: Adamant
Posts: 295
I'm bumping this, just to keep it up.
Check out my original music on my youtube channel:
Reply With Quote
Old January 21st, 2010 (12:59 PM).
OM3GA Umbr30n's Avatar
OM3GA Umbr30n OM3GA Umbr30n is offline
Was Mazot2
Join Date: Jun 2009
Location: UK
Age: 18
Gender: Male
Nature: Relaxed
Posts: 123
*BUMP 2.0*
This is an awsome tutorial i bumped it to bring it up again :D

Flareon's are Red,
Vaporeon's Blue,
Espeon is my concious,
Umbreon is my life-style

Reply With Quote
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 10:20 PM.

Style by Nymphadora, artwork by Sa-Dui.
Like our Facebook Page Follow us on Twitter © 2002 - 2016 The PokéCommunity™,
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 - 2016 The PokéCommunity / Poké
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.

Use of PokéCommunity Assets
vB Optimise by DragonByte Technologies Ltd © 2016.