The PokéCommunity Forums Fan Games ROM Hacking Tools, Tutorials & Resources
Tool Advanced Song: GBA Music Editor [Alpha 0.5] ~ Open-Source

Tools, Tutorials & Resources Various tools to help you develop your hacks can be found here.

Reply
 
Thread Tools
  #1    
Old December 9th, 2013 (6:34 PM). Edited April 11th, 2015 by esperance.
esperance's Avatar
esperance esperance is offline
  • Moderator
  • Platinum Tier
 
Join Date: Mar 2010
Location: Ohio
Age: 20
Gender: Male
Nature: Relaxed
Posts: 3,808

Advanced Song: GBA Music Editor


"Say goodbye to Sappy!"
Source: http://www.pokecommunity.com/showpost.php?p=8701519&postcount=99

Greetings! Today, I come before with what I hope is a ground-breaking new tool, Advanced Song!
Advanced Song is my attempt to create a tool that has what I felt was needed in Sappy.

For now, it's in an alpha stage, and is pretty unstable-ish, and just barely ready for release.

Features

  • Find the Song Table and Song Count
  • Assemble .s Files!
  • Disassemble to .s Files!
  • Change a Song's Voicegroup
  • View the Individual Tracks of a Song
  • Change Track Instrument and Volume (and more!) ~ Will be part of a later release.
  • Edit Voicegroups
  • Edit Waveforms (a part of voicegroups)
  • Edit Wave Samples! (including compressed samples!)
Green = Completed, Red = In Development

Images


Spoiler:

The latest interface.


The Track Viewer (for the alpha)


The Voicegroup Editor


The Waveform Editor (for Voicegroups)


The Wave Sample Editor
(A Work in Progress)




Download


Alpha 0.5: Here
** Please read this post before using: http://www.pokecommunity.com/showpost.php?p=8570168&postcount=91
Requirements: Advanced Song will work on any computer that can run a Windows executable on the .NET 4.0 Framework.

Interested? Suggestions? Please, let me know. I like it when people tell me things about my tools.
__________________

A Pokemon that is discriminated!
Support squirtle and make it everyone's favourite.
Reply With Quote

Relevant Advertising!

  #2    
Old December 9th, 2013 (9:32 PM).
LuxrayHacker's Avatar
LuxrayHacker LuxrayHacker is offline
     
    Join Date: Sep 2013
    Location: Narnia
    Age: 20
    Gender: Male
    Nature: Mild
    Posts: 181
    This sounds awesome I can't wait to use it it looks like will be helpful in making my hack "D
    __________________
    Reply With Quote
      #3    
    Old December 10th, 2013 (2:52 PM).
    VerdeWare's Avatar
    VerdeWare VerdeWare is offline
    ...death is only the beginning
       
      Join Date: Aug 2013
      Gender: Male
      Nature: Mild
      Posts: 79
      yeah sounds good especially for the sound system I have to implement in pokemon true gold with gb sounds!
      __________________
      This signature has been disabled.
      Too tall.
      Please review and fix the issues by reading the signature rules.

      You must edit it to meet the limits set by the rules before you may remove the [sig-reason] code from your signature. Removing this tag will re-enable it.

      Do not remove the tag until you fix the issues in your signature. You may be infracted for removing this tag if you do not fix the specified issues. Do not use this tag for decoration purposes.
      Reply With Quote
        #4    
      Old December 10th, 2013 (3:26 PM).
      Kawaii Shoujo Duskull's Avatar
      Kawaii Shoujo Duskull Kawaii Shoujo Duskull is offline
      The Cutest Duskull
         
        Join Date: Jul 2013
        Location: Far too deep in my thoughts.
        Age: 21
        Gender: Female
        Nature: Timid
        Posts: 281
        This seems pretty cool. Can't wait to see how it turns out.


        I think it could use a bit more functions though. Like maybe the ability to change the voicegroup of a song(I haven't noticed anything like that in Sappy-- if its there though I probably missed it haha) or maybe a function to repoint and/or extend the songtable. Just my thoughts :D


        Still, can't wait to see this tool in action. Disassembling .S files could be helpful.
        Reply With Quote
          #5    
        Old December 11th, 2013 (2:34 AM).
        xGal xGal is offline
        Mhm
           
          Join Date: Nov 2011
          Location: A tree
          Gender: Other
          Nature: Relaxed
          Posts: 242
          If you are making a tool for music hacking, please note that there is already an amazing tool called Sappy. Now, if you want people to use your tool, you must include features that the another tool doesnt have. Disassembling an .S file is one amazing feature. however, it's not enough. I, as a music hacker would like to see a feature that opens the music with Anvil Studio, tempo changer, etc. Anyways, good luck with the tool !
          __________________
          Reply With Quote
            #6    
          Old December 11th, 2013 (11:11 AM).
          Poke_Spirit's Avatar
          Poke_Spirit Poke_Spirit is offline
             
            Join Date: Sep 2013
            Gender: Male
            Posts: 179
            Finally a new music editor, you should make it easy to use, for example editing the sounds/ instruments make it like flstudio, if possible.
            __________________
            Reply With Quote
              #7    
            Old December 19th, 2013 (6:11 PM).
            esperance's Avatar
            esperance esperance is offline
            • Moderator
            • Platinum Tier
             
            Join Date: Mar 2010
            Location: Ohio
            Age: 20
            Gender: Male
            Nature: Relaxed
            Posts: 3,808
            Thanks for the initial support guys, it means a lot!

            Also, just showing some progress.

            First, I've been working on the disassembler, and it's nearly at a level where it works fully to be reassembled. Just gotta few bugs to work out.

            Second, I've added some features like changing track instrument and volume, and I plan to add more soon!
            Take a peak:
            Spoiler:



            Thanks for looking, and let me know what you think~!
            __________________

            A Pokemon that is discriminated!
            Support squirtle and make it everyone's favourite.
            Reply With Quote
              #8    
            Old December 19th, 2013 (6:56 PM).
            Kawaii Shoujo Duskull's Avatar
            Kawaii Shoujo Duskull Kawaii Shoujo Duskull is offline
            The Cutest Duskull
               
              Join Date: Jul 2013
              Location: Far too deep in my thoughts.
              Age: 21
              Gender: Female
              Nature: Timid
              Posts: 281
              Okay, I'm definitely gonna pick this tool up when its released!


              Also, the opening Anvil Studio idea seems kind of nice if there's actually a way to tirectly edit the songs in the game. That'd be pretty cool if its possible. lol


              It'd be nice if the tool could import samples and automaticly locate a free space offset to insert them at. Oh, and the ability to listen to the songs in the program would be nice too.(if you do that, hopefully it doesn't crash like sappy)


              Anyway, good luck Itari. I'm sure this tool is gonna help a ton of people.
              Reply With Quote
                #9    
              Old December 23rd, 2013 (12:08 PM).
              Sotireon's Avatar
              Sotireon Sotireon is offline
              Strong pokemon. Weak Pokemon.
                 
                Join Date: Oct 2013
                Location: NY
                Age: 26
                Gender: Male
                Nature: Sassy
                Posts: 3
                this sounds awesome! sappy is too buggy and risky to work with. cant wait till u release this
                __________________
                "Hi, it's me Joey! Do you remember my super cool RATTATA? It's like my RATTATA is in the top percentage of RATTATA. Do you know what I'm saying?!" - Youngster Joey

                "Strong Pokemon, Weak Pokemon. A real trainer should win with the pokemon they likes best." - Karen, Elite Four

                "In ancient times, pokemon battles were a ritual that humans used to learn about and accept one another." - Man from Shalour City
                Reply With Quote
                  #10    
                Old December 24th, 2013 (2:44 AM).
                Rasenshurikenbum's Avatar
                Rasenshurikenbum Rasenshurikenbum is offline
                ASM is very cool!
                   
                  Join Date: Apr 2011
                  Location: Poland
                  Age: 21
                  Gender: Male
                  Nature: Relaxed
                  Posts: 70
                  I think you should also add an option for looping the song. For example you can do a checkbox with "loop" and below you put the range (from: , to: ). That would be awesome!
                  __________________
                  Check out my tutorials:Next tutorials coming soon!
                  Reply With Quote
                    #11    
                  Old December 24th, 2013 (5:19 AM).
                  Ace_Master_of_Turtles's Avatar
                  Ace_Master_of_Turtles Ace_Master_of_Turtles is offline
                  Just that spriting guy
                     
                    Join Date: Dec 2012
                    Location: The Universe
                    Gender: Male
                    Posts: 142
                    Wow itari awesome job so far it looks really good!
                    I've been waiting for something like this to fix bugs that sappy has
                    __________________
                    I believe in Jesus Christ my Savior. If you do too, and aren't scared to admit it, then copy and paste this in your signature. <--- Didn't make this, people seem to think I did
                    Hacks YOU should play

                    Reply With Quote
                      #12    
                    Old March 10th, 2014 (7:21 PM).
                    esperance's Avatar
                    esperance esperance is offline
                    • Moderator
                    • Platinum Tier
                     
                    Join Date: Mar 2010
                    Location: Ohio
                    Age: 20
                    Gender: Male
                    Nature: Relaxed
                    Posts: 3,808
                    Just wanted to say that I'm still working on this... just slowly.

                    To keep people interested, I'm just gonna say that I re-wrote the disassembler today, and I hope that it worked this time.

                    Also, I improved the instrument/volume/etc. modifiers to include all instances in the song where the values are changed, instead of just the first. Yay!
                    __________________

                    A Pokemon that is discriminated!
                    Support squirtle and make it everyone's favourite.
                    Reply With Quote
                      #13    
                    Old March 13th, 2014 (9:51 AM).
                    LORDENGLISH LORDENGLISH is offline
                    HOMESTUCK GOD
                       
                      Join Date: Feb 2014
                      Location: ASK
                      Gender: Male
                      Nature: Bold
                      Posts: 16
                      Please let this work as a sappy alternative, Please let this work as a sappy alternative, PLEASE LET THIS WORK AS A SAPPY ALTERNATIVE.
                      Reply With Quote
                        #14    
                      Old March 13th, 2014 (9:57 AM).
                      Elements1's Avatar
                      Elements1 Elements1 is offline
                      Meh
                         
                        Join Date: Sep 2012
                        Location: Nevada
                        Gender: Male
                        Nature: Calm
                        Posts: 274
                        I've been looking for something like this FOREVER! Awesome bro, goodluck and hope you release it soon!!! :D
                        __________________
                        Air, fire

                        water, earth!


                        Completed National Pokedex: 2/20/14 Dusknoir Finial Entry
                        3DS FC:1263-7361-4137
                        Reply With Quote
                          #15    
                        Old March 13th, 2014 (1:44 PM).
                        esperance's Avatar
                        esperance esperance is offline
                        • Moderator
                        • Platinum Tier
                         
                        Join Date: Mar 2010
                        Location: Ohio
                        Age: 20
                        Gender: Male
                        Nature: Relaxed
                        Posts: 3,808
                        Quote:
                        Originally Posted by Elements1 View Post
                        I've been looking for something like this FOREVER! Awesome bro, goodluck and hope you release it soon!!! :D
                        Thank you! The support means a lot.

                        Update-ish

                        Just letting you all know that I've been rewriting a lot of the code for this baby, because it was quite messy.

                        So far, I have completely rewritten the assembler, and can now say that I finally finished the disassembler!

                        Before I release a beta, I wanna redo the instrument, volume, etc. changers, then I'll see about a release!
                        __________________

                        A Pokemon that is discriminated!
                        Support squirtle and make it everyone's favourite.
                        Reply With Quote
                          #16    
                        Old March 14th, 2014 (7:38 AM).
                        AtecainCorp.'s Avatar
                        AtecainCorp. AtecainCorp. is offline
                        Rejishan awake...
                           
                          Join Date: Jun 2008
                          Location: Takoabe Town (Region Thonsu)
                          Age: 24
                          Gender: Male
                          Nature: Hardy
                          Posts: 1,228
                          I want test your editor. It sounds intresting with option of changing chanell instrument.
                          __________________
                          - My new Project comming Soon
                          Reply With Quote
                            #17    
                          Old March 15th, 2014 (6:36 AM).
                          Monstarules Monstarules is offline
                          Look out for my team.
                             
                            Join Date: Mar 2014
                            Location: Connecticut, United Stated of MURIKAH
                            Gender: Male
                            Nature: Adamant
                            Posts: 7
                            Oh god I need this. I'll happily test that for you.
                            Reply With Quote
                              #18    
                            Old March 15th, 2014 (7:28 AM).
                            esperance's Avatar
                            esperance esperance is offline
                            • Moderator
                            • Platinum Tier
                             
                            Join Date: Mar 2010
                            Location: Ohio
                            Age: 20
                            Gender: Male
                            Nature: Relaxed
                            Posts: 3,808
                            Quote:
                            Originally Posted by Ksiazek Bartlomiej View Post
                            I want test your editor. It sounds intresting with option of changing chanell instrument.
                            Quote:
                            Originally Posted by Monstarules View Post
                            Oh god I need this. I'll happily test that for you.
                            Sorry guys, but no testing. You'll have to wait for a beta with the rest of the people.
                            __________________

                            A Pokemon that is discriminated!
                            Support squirtle and make it everyone's favourite.
                            Reply With Quote
                              #19    
                            Old March 17th, 2014 (8:13 AM).
                            Chaos_Darkrai's Avatar
                            Chaos_Darkrai Chaos_Darkrai is offline
                               
                              Join Date: Apr 2012
                              Gender: Male
                              Posts: 284
                              I have an idea for a feature! How about adding a song table repointer/extender? This would be absolutely amazing! Btw, I'm going to love this tool! Good luck!
                              __________________
                              ░░░░░███████ ]▄▄▄▄▄▄▄▄
                              ▂▄▅█████████▅▄▃▂
                              Il███████████████████].
                              ◥⊙▲⊙▲⊙▲⊙▲⊙▲⊙▲⊙◤..

                              If you're looking for a good time, or just want to chat, come over to Weloxux and I's channel at:
                              http://mibbit.com/?server=irc.mibbit.net&channel=%23Dragons_Den

                              Reply With Quote
                                #20    
                              Old March 17th, 2014 (7:27 PM).
                              esperance's Avatar
                              esperance esperance is offline
                              • Moderator
                              • Platinum Tier
                               
                              Join Date: Mar 2010
                              Location: Ohio
                              Age: 20
                              Gender: Male
                              Nature: Relaxed
                              Posts: 3,808
                              Quote:
                              Originally Posted by 2012maniac View Post
                              I have an idea for a feature! How about adding a song table repointer/extender? This would be absolutely amazing! Btw, I'm going to love this tool! Good luck!
                              Well that certainly is a nice idea, and one I have often contemplated doing.
                              The issue for me is really the lack of available information on the M4A engine (the music engine used in the games) so that will have to come later.

                              But, thanks!
                              __________________

                              A Pokemon that is discriminated!
                              Support squirtle and make it everyone's favourite.
                              Reply With Quote
                                #21    
                              Old March 20th, 2014 (7:13 PM).
                              Platinum Lucario's Avatar
                              Platinum Lucario Platinum Lucario is offline
                              The Legendary Master of Light!
                              • Crystal Tier
                               
                              Join Date: Jan 2008
                              Location: Warrnambool, Victoria, Australia.
                              Gender: Male
                              Nature: Calm
                              Posts: 1,561
                              Quote:
                              Originally Posted by itari View Post
                              Well that certainly is a nice idea, and one I have often contemplated doing.
                              The issue for me is really the lack of available information on the M4A engine (the music engine used in the games) so that will have to come later.

                              But, thanks!
                              As you might know, not all games use the MusicPlayer2000 engine. The main game of Mario & Luigi: Superstar Saga, Super Mario Advance, Super Mario World: Super Mario Advance 2, Yoshi's Island: Super Mario Advance 3, Super Mario Bros. 3: Super Mario Advance 4 and The Legend of Zelda: A Link to the Past/Four Swords (A Link to the Past side) are examples of (parts of) games in which don't use the MusicPlayer2000 engine and use a completely proprietary type of music engine.

                              But even so, some of the games like Mario & Luigi: Superstar Saga and The Legend of Zelda: A Link to the Past/Four Swords only partly use the MusicPlayer2000 engine. Such as Mario & Luigi: Superstar Saga only uses the MusicPlayer2000 engine in the Mario Bros. game, and The Legend of Zelda: A Link to the Past/Four Swords uses the MusicPlayer2000 engine only in the Four Swords counterpart, while A Link to the Past counterpart uses a completely proprietary music engine, same goes for the Mario & Luigi counterpart in Mario & Luigi: Superstar Saga.

                              Edit: Oh and also, all of the information about the MusicPlayer2000 engine is found in the official Nintendo Game Boy Advance SDK. I can't link to it due to the forum rules, but it should be somewhere easy to find by searching online.
                              __________________
                              [Platinum Lucario's Signature]
                              If you need to disable my signature, please give me some advice on how to improve the CSS-DIV code. Thanks!
                              Signature Status: Strikes: 1/3 | Infractions: 0/3
                              It's time to change the future...
                              to a positive direction!

                              Let's prevent things from getting bad!

                              I'm a ROM and ISO Researcher
                              Current Project: Researching Pokémon Mystery Dungeon Adventure Squad games (WiiWare)
                              Reply With Quote
                                #22    
                              Old March 22nd, 2014 (4:35 PM).
                              esperance's Avatar
                              esperance esperance is offline
                              • Moderator
                              • Platinum Tier
                               
                              Join Date: Mar 2010
                              Location: Ohio
                              Age: 20
                              Gender: Male
                              Nature: Relaxed
                              Posts: 3,808
                              Quote:
                              Originally Posted by Platinum Lucario View Post
                              As you might know, not all games use the MusicPlayer2000 engine. The main game of Mario & Luigi: Superstar Saga, Super Mario Advance, Super Mario World: Super Mario Advance 2, Yoshi's Island: Super Mario Advance 3, Super Mario Bros. 3: Super Mario Advance 4 and The Legend of Zelda: A Link to the Past/Four Swords (A Link to the Past side) are examples of (parts of) games in which don't use the MusicPlayer2000 engine and use a completely proprietary type of music engine.

                              But even so, some of the games like Mario & Luigi: Superstar Saga and The Legend of Zelda: A Link to the Past/Four Swords only partly use the MusicPlayer2000 engine. Such as Mario & Luigi: Superstar Saga only uses the MusicPlayer2000 engine in the Mario Bros. game, and The Legend of Zelda: A Link to the Past/Four Swords uses the MusicPlayer2000 engine only in the Four Swords counterpart, while A Link to the Past counterpart uses a completely proprietary music engine, same goes for the Mario & Luigi counterpart in Mario & Luigi: Superstar Saga.

                              Edit: Oh and also, all of the information about the MusicPlayer2000 engine is found in the official Nintendo Game Boy Advance SDK. I can't link to it due to the forum rules, but it should be somewhere easy to find by searching online.
                              Yes, I was aware of that info, but thanks anyway.
                              If you wanna see a Pokémon hack that no longer uses the M4A engine, Touhou Puppet Play Enhanced is the perfect example.

                              About the SDK: That's quite true. In all honesty, it's pretty hard to find info for the engine outside the SDK, which I don't have, so I've been having to figure it out using an old document and the MPlayDef.s. It's not perfect.
                              __________________

                              A Pokemon that is discriminated!
                              Support squirtle and make it everyone's favourite.
                              Reply With Quote
                                #23    
                              Old March 23rd, 2014 (1:46 AM).
                              Platinum Lucario's Avatar
                              Platinum Lucario Platinum Lucario is offline
                              The Legendary Master of Light!
                              • Crystal Tier
                               
                              Join Date: Jan 2008
                              Location: Warrnambool, Victoria, Australia.
                              Gender: Male
                              Nature: Calm
                              Posts: 1,561
                              Quote:
                              Originally Posted by itari View Post
                              Yes, I was aware of that info, but thanks anyway.
                              If you wanna see a Pokémon hack that no longer uses the M4A engine, Touhou Puppet Play Enhanced is the perfect example.

                              About the SDK: That's quite true. In all honesty, it's pretty hard to find info for the engine outside the SDK, which I don't have, so I've been having to figure it out using an old document and the MPlayDef.s. It's not perfect.
                              When I was researching the music engine of Mario & Luigi: Superstar Saga in it's Mario & Luigi counterpart, I looked at the location of where the sound data is located, which is somewhere around from 0x18EAD4 - 0x19CF51. When I looked at the data and compared it to a game that had the MusicPlayer2000 engine, the data looked nothing like it. The pattern was completely different. Which leads me to believe that those games don't use a table for pointing to audio, but instead uses pointers from somewhere in the ARM section of the ROM to point directly to the sequences, banks and waves. Perhaps it's a method that was used back in the days of the NES, SNES, Game Boy, N64 and Game Boy Color?

                              It would be great if there was a way to testing out the audio data, such as playback or something. Like as it is already possible with the games with the MusicPlayer2000 engine in them.
                              __________________
                              [Platinum Lucario's Signature]
                              If you need to disable my signature, please give me some advice on how to improve the CSS-DIV code. Thanks!
                              Signature Status: Strikes: 1/3 | Infractions: 0/3
                              It's time to change the future...
                              to a positive direction!

                              Let's prevent things from getting bad!

                              I'm a ROM and ISO Researcher
                              Current Project: Researching Pokémon Mystery Dungeon Adventure Squad games (WiiWare)
                              Reply With Quote
                                #24    
                              Old March 23rd, 2014 (5:11 AM).
                              esperance's Avatar
                              esperance esperance is offline
                              • Moderator
                              • Platinum Tier
                               
                              Join Date: Mar 2010
                              Location: Ohio
                              Age: 20
                              Gender: Male
                              Nature: Relaxed
                              Posts: 3,808
                              Quote:
                              Originally Posted by Platinum Lucario View Post
                              When I was researching the music engine of Mario & Luigi: Superstar Saga in it's Mario & Luigi counterpart, I looked at the location of where the sound data is located, which is somewhere around from 0x18EAD4 - 0x19CF51. When I looked at the data and compared it to a game that had the MusicPlayer2000 engine, the data looked nothing like it. The pattern was completely different. Which leads me to believe that those games don't use a table for pointing to audio, but instead uses pointers from somewhere in the ARM section of the ROM to point directly to the sequences, banks and waves. Perhaps it's a method that was used back in the days of the NES, SNES, Game Boy, N64 and Game Boy Color?

                              It would be great if there was a way to testing out the audio data, such as playback or something. Like as it is already possible with the games with the MusicPlayer2000 engine in them.
                              Well, I was doing some research last night about the engine, and I found out that all games that are at least compatible with the engine have a specific ASM code. So, to figure out if the engine is enabled only requires a simple search through the ROM for that ASM.
                              __________________

                              A Pokemon that is discriminated!
                              Support squirtle and make it everyone's favourite.
                              Reply With Quote
                                #25    
                              Old March 28th, 2014 (5:07 AM).
                              AtecainCorp.'s Avatar
                              AtecainCorp. AtecainCorp. is offline
                              Rejishan awake...
                                 
                                Join Date: Jun 2008
                                Location: Takoabe Town (Region Thonsu)
                                Age: 24
                                Gender: Male
                                Nature: Hardy
                                Posts: 1,228
                                Ok. I have an one question. You planing to add function of reading other Sound Engines that his used on sappy? <As I know that engine is M4A>
                                __________________
                                - My new Project comming Soon
                                Reply With Quote
                                Reply
                                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:27 PM.