• Just a reminder that providing specifics on, sharing links to, or naming websites where ROMs can be accessed is against the rules. If your post has any of this information it will be removed.
  • Ever thought it'd be cool to have your art, writing, or challenge runs featured on PokéCommunity? Click here for info - we'd love to spotlight your work!
  • Our weekly protagonist poll is now up! Vote for your favorite Conquest protagonist in the poll by clicking here.
  • Welcome to PokéCommunity! Register now and join one of the best fan communities on the 'net to talk Pokémon and more! We are not affiliated with The Pokémon Company or Nintendo.

Tool: Advanced Song: GBA Music Editor [Alpha 0.5] ~ Open-Source

Can you make it compatible with GBC roms (GSC) by any chance?

I'm gonna say no to that. The focus of this tool is the M4A engine.
If this idea gets enough popularity, maybe, but for now no.

Hmm I have seen in one of the comments the idea of a song table extender. Seriously, it's not hard, a simple repoint would work. Speaking of extended tables, are you going to add an INI file that we could change, if the song table is already extended?

Yeah, I have a very simple format that I use to save settings for ROMs, and it should be no problem for the user to modify it to use a different table.

Adding a way to repoint the table is interesting, so I'll look into it once I have a working version released.

Would it even be possible to develop Advanced Song to play sound data from games that don't use the M4A engine? Such as part of Mario & Luigi: Superstar Saga and Super Mario Advance?

These games only use M4A in the Mario Bros. counterpart, while the other counterpart uses just generic ASM coding for pointing towards sequences, banks and waves.

It would be possible if you feel like completely analyzing and explaining the format used by those games to me. Otherwise, it's not really a priority. As I said above, this will be for games using the M4A format.

On a generic note, I wanna apologize for leaving this tool hanging, but I wanted to finish out the school year before working any further on this, because it does require quite a bit of my focus and time. So, now that my school's let out for the summer, expect to see updates and such coming along. :)
 
your screen shots for this look like the tool will be easy to use. i have very little knowledge about song editing, but will this let you easily import mp4, s or midi files into the game?? or is it more about making different music play for certain battles, overworld maps?
 
All this is looking amazing, and truly makes sappy look like garbage! Good on you! There are some things I am currently wondering... With the ability to edit voicegroups, could you possibly add the ability to add voicegroups? Like, another voicegroup, then add the instruments to it? That would be amazing! Another thing I am wondering, will this be able to just play the music in the game, like the play button on sappy, loops recognized and all? Because I like using sappy as a sort of music player, but alas, it is garbage, as well as glitchy. Could you do this? Also absolutely cannot wait for the release, this tool looks like it will be real simple to use!

EDIT: another thing that would be fabulous, is the ability to take a voicegroup from one game, and put it into another, like taking the voicegroup for the R/S/E Surf theme, and put it into Fire Red! Just some suggestions to make a good tool even better!
 
Last edited:
I've actually had the idea of "transplanting" voicegroups or audio data from game to game before too.
Thing is, that'd probably be really complicated. I think that'd probably be better for a later version--you know, just focus on the important features first. (Then again, that's just me. lol)
 
My Sappy started buggig out... PLEASE LET THIS WORK AS THE REPLACEMENT, PLEASE LET THIS WORK AS THE REPLACEMENT, PLEASE LET THIS WORK AS THE REPLACEMENT...
Hopefully it gets finished soon...
 
My Sappy started buggig out... PLEASE LET THIS WORK AS THE REPLACEMENT, PLEASE LET THIS WORK AS THE REPLACEMENT, PLEASE LET THIS WORK AS THE REPLACEMENT...
Hopefully it gets finished soon...

I hope it gets finished soon too.
In all seriousness though, I've had a few things delay me on development. I just recently got a new computer, so I've been trying to get settled in there, and I also joined the speed hacking competition this week. After that, I'd like to think I'll have the free time for some programming. :)
 
Hey, man, this thing still going good? I've been searching around for weeks, too, so I can't wait until it's done :)
 
Yes, it's still going. These past few weeks I've been slowly reprogramming everything, because what I had before was a total mess. I think I will post an image or two as a preview soon.

Just would like to say I'm incredibly excited for this! Inserting music with Sappy is such a headache, and I have high hopes for your tool. ♥
 
Just would like to say I'm incredibly excited for this! Inserting music with Sappy is such a headache, and I have high hopes for your tool. ♥

Thanks!

Preview

Because I do want to prove that I am doing something for this tool, and to keep people interested, I am going to share a little preview of what I have been working on...

A Track Viewer!

Essentially, it allows you to inspect the various commands that make up a track in an easy to view way. Eventually, I plan on turning it into an editor, but that is still a little ways away.


[PokeCommunity.com] Advanced Song: GBA Music Editor [Alpha 0.5] ~ Open-Source
(This is from a random song in Emerald)
 
Thanks!

Preview

Because I do want to prove that I am doing something for this tool, and to keep people interested, I am going to share a little preview of what I have been working on...

A Track Viewer!

Essentially, it allows you to inspect the various commands that make up a track in an easy to view way. Eventually, I plan on turning it into an editor, but that is still a little ways away.


[PokeCommunity.com] Advanced Song: GBA Music Editor [Alpha 0.5] ~ Open-Source
(This is from a random song in Emerald)

YEAH THIS IS AWESOME. Thanks for letting us know more. Can't wait.
 

Another Preview

Okay, after about 4 hours of intense coding today, I am proud to say that Advanced Song now has a Voicegroup Editor! ♥ You may have seen something similar in Sappy 2006 mod 17.1's Voice Table editor.

As far as I know, this would be the second one in existence, so I'm pretty proud of myself.

So far, it features a basic editor that will allow you to edit any of the basic instrument entries in a voicegroup (like Sappy), as well as a waveform editor. Some of the more in-depth tools will need a little further research to complete, though.

Images


The Editor Itself
[PokeCommunity.com] Advanced Song: GBA Music Editor [Alpha 0.5] ~ Open-Source
The red instruments are ones that match the generic code for an "unused" instrument!

The Waveform Editor!
[PokeCommunity.com] Advanced Song: GBA Music Editor [Alpha 0.5] ~ Open-Source

Please let me know what you think! It keeps me motivated. ;)
 
o.o That waveform editor looks so simplistic and outstanding. I can't wait to ditch Sappy for this. This will make alot more things, in Music Editing, so much easier.

I'm not too sure about Music Editing as a whole, but their should be a future feature, in which you could automatically expand and repoint the song table. But mainly the song table. Saves some potential errors and corruptions by using a hex editor :)
 

Today's Preview, Some Info. & A Contest

I am loving all the support I'm getting. So, I worked extra hard today, and I managed to get pretty far code-wise on a Wave sample editor! It can read both types of samples from the ROM - compressed and uncompressed!

In addition, I have added rudimentary wave playback for both the samples and the waveforms us NAudio! Although, I'm not sure if it sounds correct yet or not. Let's hope! :)

Image


The Sample Editor in all its glory!
[PokeCommunity.com] Advanced Song: GBA Music Editor [Alpha 0.5] ~ Open-Source
Let me know what you think about the design itself. Should I make the Wave view smushed together more?​

Also, I have improved the colors for the track editor, so the commands aren't so hard to read and such.

Info.

And now for some info. about the program itself:

Advanced Song is written in Visual C# for the .Net 4.0 Framework, so as long as the framework is compatible with your computer, you should be able to use it.

I actually began the program's development in late October of 2013, and posted it here in December. Since then, I've actually reprogrammed the tool six times to varying degrees of success, before finally reaching the seventh reprogram, the current version. And it's going great, so I doubt I will need to restart here (I have a bad habit of coding myself in circles on these kinds of projects).

I just thought I'd share a small bit of the history about this so that I can show that I haven't been just screwing around since I originally posted it. I have been working!

Contest

Finally, I have a little contest for anyone that's interested. Let me warn you, though. It's not for the faint of heart.

You see as I have been working on the disassembler, I ran into a problem, or rather a single command that I cannot figure out.

Command 0xCD.

Command 0xCD is known as "XCMD" in the MPlayDef.s file, with a comment referring to something like an external library or something, and the only thing I can figure out is that it has either 4 bytes or a 32-bit integer as its argument.

So, my contest is thus: I want someone to figure out what command 0xCD does, as well as its true argument parameters. Whoever can send me the best results by a time I will decide later (which will be near the beta release), they will get to be the official beta tester or Advanced Song (other than myself, of course) and get a chance to mess around with the tool before anyone else. {D:}

This of course also makes it easier for me to select a beta-tester as well, so we all win! :D

If this interests you, please PM me anything you have on it and I will get in contact with the winner when it's time. Thanks~!
 
Back
Top