Music hacking help topic

Sorry for messing you about. The sappy.exe must be replaced with this one https://www.dropbox.com/s/zybsqcwurrn3x01/sappy2006mod15.zip?dl=0 for it to work, which is something i thought was included in the download, and wasn’t

Thanks! It opens now.
If only Dropbox hadn’t updated, we all wouldn’t be having these broken links problems.

Time to try it out.

Well this is a really cool program!

I had my doubts from the bizarre installation and all of the broken links, but I’ve changed my mind. This should be the way to insert music!

I successfully inserted a one-track song, but it has some problems, and I have some questions.

  1. The instrumentation seems to be wrong. If I want it to play as a piano, how can I accomplish this? I’m not currently using Blazer’s patch as I have an expanded ROM.
  2. This song is one track, but it contains chords played by that one track. Only one note is played in the ROM, yet I can clearly hear all of the notes in Sappy.
  3. What is the limit to the amount of tracks playing at once for FE7? I’ve read 16, 10, and 7 in different places.
  4. What constitutes as a track? If I have 4 different notes being played by one instrument all at once, is that 4 tracks or 1 track?

Sorry to bombard you with all of this, but this specifically is new to me and somewhat confusing. I’d like to get this skill under my belt.

If you use a patch,16(12 for music)

That answers #3.
Thanks.

Oh wait. The link for the patch is broken.
That’s rather unfortunate.

God damn it, Dropbox.

  1. see my tutorial on voices (Basic Voice Table Editing in Sappy) if you want a piano that sounds really good then you may have to import one from another game
  2. this is either a problem with the default max voices or a problem with your song priority, which can be changed in the Music Editor and I THINK when you are inserting a song. In the nightmare module make sure that song is set to either BGM or Map depending on what it is you need.
  3. 16 tracks, but only 12 sounds. leading to the next question…
  4. 4 notes on one track = 4 sounds. 1 note on 4 tracks each = 4 sounds. limit it 16 tracks but 12 sounds, meaning if each track has 1 sound then the last 4 will get cut out. it used to be 8 tracks with 7 sounds but we have since made a better hack

[FE7/FE8] 16 tracks/12 sounds patch i also updated the links in this topic

Thanks for the patch. That should help.
That voice editing is a doozy. I’ll have to try that more later.

Changing the priority in Nightmare didn’t seem to do anything. I can clearly see and hear four different notes being played in Sappy, but only one (the top one, I think) can be heard throughout the entire song in the ROM.

That’s because it’s a square wave, which is a waveform generated by GBA hardware. These can never play more than one note at once in the actual game, although since Sappy is an emulator it will play it back perfectly.

I’ve tried another song as I probably won’t use the one with one track later on. I want to test one that I will use.
It sounds very full in Sappy as all of the instruments are playing correctly.

By the way, it is Eternal Bond.

Multiple tracks. Right?
In the ROM, once again, I only hear one track at a time. The weird thing is, though, when one part has rest, another part will come in and then cut out when the first part’s resting is done. There will always be some part playing, but only one at a time.
I have applied the supplied patch.

As I said previously it’s because they are Square waves and the GBA is only capable of playing 1 square wave at once. Switch these to a direct instrument and it should play much better.

On another note, it sounds fine in a clean ROM with Blazer’s patch.

Possible noob question:
Is there any reason why I can’t stick Blazer’s patch somewhere in my ROM and say the instrument map is in there?

you can but you would have to manually repoint every single instrument which would take a very long time OR just clear out the space he uses in the patch

the music sounds fine with Blazer’s patch because he is using a full voice table with all the entries as direct or multi sounds whereas again you’re using blank entries which default to square waves

Ah, yes. That sounds… interesting. I’ll just have to work around it. I think FEditor put most frame animations there. I’ll just see what’s broken and re-insert it.

But then again, nothing in this field is that easy. I’ll manage to find some way to screw it up.

I feel so noobish for asking you so many questions.

Do you know if an equivalent to Blazer’s Instrument Patch exists for FE8 use?

There’s an FE8 Native Instrument Map available.

Thank you. This will make my life much easier.

Hey, Agro. I’m here to haunt this topic again.
I’ve gotten just about everything else working except for one thing: looping. I’ve tried the method with the brackets in Anvil, and they did nothing. Do you know the code in a .s file for looping? I tried ‘disassembling’ one myself, and Sappy kept nagging me about a bad file name. It didn’t like “Test.s”
I’m sooo close; I appreciate any help.

It’s usually done with a GOTO label command. However you may get the timing wrong if you don’t do it correctly. Can you please send a screenshot of how you’re doing things in Anvil? The method is pretty flawless although perhaps it doesn’t work in some versions of Anvil.

I may have a slightly different version. 2015.08.04


I am putting the ending cue slightly before the end of the song to ensure that it reaches it. Should it be right at the end?

Apologies, I read this and didn’t get a chance to write a reply. It should indeed be at the end but that shouldn’t influence it. With your MIDI file, can you please try Save As into a separate MIDI file, and then open it up again in Anvil?

If the square brackets are still there that means the file is being saved correctly and you shouldn’t be having any problems.

If not, then you’re either not inserting the brackets correctly (I wouldn’t know as I don’t use Anvil) or they’re not being saved across, which may or may not be due to the type of MIDI file they’re being saved into (Type 0 vs. Type 1).