• Our software update is now concluded. You will need to reset your password to log in. In order to do this, you will have to click "Log in" in the top right corner and then "Forgot your password?".
  • 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

3,830
Posts
14
Years
  • Age 27
  • OH
  • Seen Feb 26, 2024
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. :)
 

Sotireon

Strong pokemon. Weak Pokemon.
14
Posts
10
Years
  • Age 33
  • NY
  • Seen Jan 18, 2024
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?
 
173
Posts
12
Years
  • Seen Jan 2, 2015
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:

Kawaii Shoujo Duskull

The Cutest Duskull
276
Posts
10
Years
  • Age 28
  • Seen Sep 10, 2023
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)
 

Mikekillkill

Musket Marine
30
Posts
10
Years
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...
 
3,830
Posts
14
Years
  • Age 27
  • OH
  • Seen Feb 26, 2024
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. :)
 

DJTiki

top 3 most uninteresting microcelebrities
1,257
Posts
10
Years
I'm patiently waiting, because I have some music that I want in my upcoming game c: and I won't start till I have it.
 
5
Posts
10
Years
  • Seen Nov 24, 2021
Hey, man, this thing still going good? I've been searching around for weeks, too, so I can't wait until it's done :)
 
3,830
Posts
14
Years
  • Age 27
  • OH
  • Seen Feb 26, 2024
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.
 

Queen Azura

Mistress of Midnight
59
Posts
9
Years
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. ♥
 
3,830
Posts
14
Years
  • Age 27
  • OH
  • Seen Feb 26, 2024
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.



(This is from a random song in Emerald)
 

DJTiki

top 3 most uninteresting microcelebrities
1,257
Posts
10
Years
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.



(This is from a random song in Emerald)

YEAH THIS IS AWESOME. Thanks for letting us know more. Can't wait.
 
3,830
Posts
14
Years
  • Age 27
  • OH
  • Seen Feb 26, 2024

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

The red instruments are ones that match the generic code for an "unused" instrument!

The Waveform Editor!


Please let me know what you think! It keeps me motivated. ;)
 
5,256
Posts
16
Years
Haha, oh wow, that waveform editor looks amazing. I can imagine myself spending a lot of time fiddling with that to make new cries and so on. I'm super hyped for this tool, please don't abandon it!
 

DJTiki

top 3 most uninteresting microcelebrities
1,257
Posts
10
Years
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 :)
 

iv0

145
Posts
10
Years
  • Age 32
  • Seen Sep 1, 2023
Amazing! I can't wait for this. I have serious problems with Sappy, I hope that is the solution (wave editor really looks amazing).
 

Danny0317

Fluorite's back, brah
1,067
Posts
10
Years
  • Age 24
  • Seen Nov 19, 2023
If this works on my computer (unlike Sappy) I will love you forever use it :D
 
3,830
Posts
14
Years
  • Age 27
  • OH
  • Seen Feb 26, 2024

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!

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