Jump to content

FE8 Music Swapping


Sock Puppet
 Share

Recommended Posts

Greetings, all. I'm trying to replace most of FE8's music with FE7's using Zahlman's Song Editor. All of the songs I've tried thus far have worked perfectly, except for "Inescapable Fate". When I rip the song from FE7, the program gives the error message shown below; however, I can still successfully burn the song to FE8. But, when I tested the song in-game, it played correctly, but at twice the tempo. If anyone has any knowledge as to why the song is behaving thusly, I would appreciate your sharing it. Thanks.

--Sock Puppet

post-6157-019340700 1351829996_thumb.png

Link to comment
Share on other sites

not sure but you can usually change the tempo by going to the first track in the data and editing the 0xBB 0xXX code to reflect the altered tempo, where 0xXX is the tempo value (take whatever it is in hex and divide it by 2 and it should be fixed :|)

Link to comment
Share on other sites

The 01 3C error is Zahlman's Song Editor's fault. From Charon's New and Improved Music Hacking Tutorials:

1. The most common is that does not seperate into two sections. The voice will be using the same WAV file no matter what the pitch. First four-byte section identifies the voicegroup type. Second section is the pointer to the actual sample. Third section is envelope of the instrument over time. (I currently don't understand how this works. You could investigate, if you like.)

In hacking, this type of voice is the most useful, and personally, I always use it. There are many other roms that use this for all wave sample based instruments. I highly recommend using this type as a default for inserting voices in a voicegroup.

Example (in 8, 16 and 32 bit format)

00 3C 00 00

2C 09 2A 08

FF 00 FF A5

5. Blank Voice. Blank Voices are voices that are not used. They look like so (in 8, 16 and 32 bit formats):

01 3C 00 00

02 00 00 00

00 00 0F 00

Bolded bits are the relevant parts. If you don't understand any of that (very reasonable) then don't worry about it. Basically ZSE doesn't like that track because it contains data that it doesn't understand. There's probably a way to remove that one bit because it shouldn't be making any sounds but you'd have to edit the MIDI manually using a hex editor. The loss of this track, though, is probably the cause of the doubled tempo. The issue's out of my league to fix so I can't help you much there :x

Edited by Agro
Link to comment
Share on other sites

Basically ZSE doesn't like that track because it contains data that it doesn't understand. There's probably a way to remove that one bit because it shouldn't be making any sounds but you'd have to edit the MIDI manually using a hex editor.

There's no midi, he's trying to do a ROM->ROM transfer.

Also, not all 01 instruments are "unused" - they could also be, like, square wave synths or something, which ZSE doesn't know what to do with because they don't have samples. It's really not fully-featured, just enough to get the job done most of the time.

The loss of this track, though, is probably the cause of the doubled tempo.

It's possible? Like if that track contains a tempo-change command that overrides the one from the other tracks... that'd be kinda weird though if they did something like that. Anyway I might check it out later... 0xAAA174 you say? But yeah, to fix it for now, check Blazer's suggestion.

Link to comment
Share on other sites

First of all, thanks to everyone for your replies. It appears as though it is the first track that is unable to burn. Strangely enough, this is also where the tempo of the song appears to be stored. I was able to change the tempo by placing the BB XX (per Blazer's suggestion) at the beginning of a different track, but the track that is missing contains a fairly important part of the song (it's the oboe-sounding thing that comes in at the beginning of the 3rd phrase and carries the melody at the beginning of the 5th). If anyone knows a way to fix it such that it can be fully burned to FE8, I would be grateful.

--Sock Puppet

Edited by Sock Puppet
Link to comment
Share on other sites

Very smart of you. I like your willingness to go out there and get your hands dirty. I'll help you a bit.

So the BB code is likely in the first track, which is normal--the loss of it means that the game is going to use the standard tempo, whatever that is, which is likely rather slow. If we want to fix the first track, we have to figure out why it's not playing, which based on the above posts has to do with some 01 3C thing.

Here's what I can do for you: send me a patch and a savestate where the song is played (somewhere I can access the song easily, preferably). Also give me the offset of the song header (AKA the "music offset", what'd you find in say, the Music Array Editor NMM--I shouldn't need the actual song ID if you just give me this). I'll play around with it, see if I can fix it, and if I can, I'll tell you what I did. Off the top of my head, I don't really have any ideas as I can't really see what's going on. Sorry. XP

Link to comment
Share on other sites

Ahhh yes, most songs have tempo information in the first track, and nowhere else, so you're kinda screwed if it doesn't work. Also like... I think it will reuse the tempo from whatever song played before? Or maybe there's a default value like Blazer's saying. As it happens I have started disassembling the music code to study this kind of thing, so I will have lots of answers soon :3

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...