Go Back   The PokéCommunity Forums > ROM Hacking > Tools, Tutorials & Resources
Reload this Page [Tool] Advanced Song: GBA Music Editor [Alpha 0.5] ~ Open-Source

Notices
For all updates, view the main page.

Tools, Tutorials & Resources Various tools to help you develop your hacks can be found here.
New threads in this forum are to be approved by a moderator before they are displayed.



Reply
 
Thread Tools
  #1    
Old December 9th, 2013 (06:34 PM). Edited 6 Days Ago by Hopeless Masquerade.
Hopeless Masquerade's Avatar
Hopeless Masquerade Hopeless Masquerade is offline
カミツレ
Silver Tier
 
Join Date: Mar 2010
Location: 幻想郷
Age: 18
Gender: Male
Nature: Quiet
Posts: 1,106

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.
__________________
Nimbasa City
"Lit by the Flash of Lightning!"
Supporter City Collab 2015


has no friends
Silver Supporter

Reply With Quote
  #2    
Old December 9th, 2013 (09:32 PM).
LuxrayHacker's Avatar
LuxrayHacker LuxrayHacker is offline
 
Join Date: Sep 2013
Location: Narnia
Age: 18
Gender: Male
Nature: Mild
Posts: 168
This sounds awesome I can't wait to use it it looks like will be helpful in making my hack "D
__________________
If you build a man a fire, he is warm for the rest of the night. If you set a man on fire, he is warm for the rest of his life.
Reply With Quote
  #3    
Old December 10th, 2013 (02: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 (03:26 PM).
Merak's Avatar
Merak Merak is offline
Because reasons.
 
Join Date: Jul 2013
Age: 18
Gender: Male
Nature: Quiet
Posts: 249
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.
__________________
"it is nearly 11 pm and we're discussing an alien eating the personification of humanity's evil desires
help"


Credit for the userbar goes to xVaporeon; credit for the avatar goes to Snakeyem12.
Reply With Quote
  #5    
Old December 11th, 2013 (02:34 AM).
xGal's Avatar
xGal xGal is offline
Playing some ESL
 
Join Date: Nov 2011
Location: A tree
Gender: Male
Nature: Bold
Posts: 206
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 !
__________________
Hey guys, I made a soundcloud account not long ago, and I would be very happy if you guys will check it out: https://soundcloud.com/dewombat. Thanks .

Also, if you ever wanted to make a ROM hacking tool, click here: http://www.pokecommunity.com/showthread.php?t=334348
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: 123
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 (06:11 PM).
Hopeless Masquerade's Avatar
Hopeless Masquerade Hopeless Masquerade is offline
カミツレ
Silver Tier
 
Join Date: Mar 2010
Location: 幻想郷
Age: 18
Gender: Male
Nature: Quiet
Posts: 1,106
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~!
__________________
Nimbasa City
"Lit by the Flash of Lightning!"
Supporter City Collab 2015


has no friends
Silver Supporter

Reply With Quote
  #8    
Old December 19th, 2013 (06:56 PM).
Merak's Avatar
Merak Merak is offline
Because reasons.
 
Join Date: Jul 2013
Age: 18
Gender: Male
Nature: Quiet
Posts: 249
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.
__________________
"it is nearly 11 pm and we're discussing an alien eating the personification of humanity's evil desires
help"


Credit for the userbar goes to xVaporeon; credit for the avatar goes to Snakeyem12.
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: 24
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 (02:44 AM).
Rasenshurikenbum's Avatar
Rasenshurikenbum Rasenshurikenbum is offline
ASM is very cool!
 
Join Date: Apr 2011
Location: Poland
Age: 18
Gender: Male
Nature: Relaxed
Posts: 68
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 (05: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: 140
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 (07:21 PM).
Hopeless Masquerade's Avatar
Hopeless Masquerade Hopeless Masquerade is offline
カミツレ
Silver Tier
 
Join Date: Mar 2010
Location: 幻想郷
Age: 18
Gender: Male
Nature: Quiet
Posts: 1,106
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!
__________________
Nimbasa City
"Lit by the Flash of Lightning!"
Supporter City Collab 2015


has no friends
Silver Supporter

Reply With Quote
  #13    
Old March 13th, 2014 (09: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 (09:57 AM).
Elements1's Avatar
Elements1 Elements1 is offline
Meh
 
Join Date: Sep 2012
Location: Nevada
Gender: Male
Nature: Calm
Posts: 275
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 (01:44 PM).
Hopeless Masquerade's Avatar
Hopeless Masquerade Hopeless Masquerade is offline
カミツレ
Silver Tier
 
Join Date: Mar 2010
Location: 幻想郷
Age: 18
Gender: Male
Nature: Quiet
Posts: 1,106
Quote originally posted by Elements1:
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!
__________________
Nimbasa City
"Lit by the Flash of Lightning!"
Supporter City Collab 2015


has no friends
Silver Supporter

Reply With Quote
  #16    
Old March 14th, 2014 (07:38 AM).
AtecainCorp.'s Avatar
AtecainCorp. AtecainCorp. is offline
Rejishan awake...
 
Join Date: Jun 2008
Location: Takoabe Town (Region Thonsu)
Age: 22
Gender: Male
Nature: Hardy
Posts: 658
I want test your editor. It sounds intresting with option of changing chanell instrument.
__________________
POKEMON RUBY RENEV - http://www.pokecommunity.com/showthread.php?t=341964
Reply With Quote
  #17    
Old March 15th, 2014 (06: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 (07:28 AM).
Hopeless Masquerade's Avatar
Hopeless Masquerade Hopeless Masquerade is offline
カミツレ
Silver Tier
 
Join Date: Mar 2010
Location: 幻想郷
Age: 18
Gender: Male
Nature: Quiet
Posts: 1,106
Quote originally posted by Ksiazek Bartlomiej:
I want test your editor. It sounds intresting with option of changing chanell instrument.
Quote originally posted by Monstarules:
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.
__________________
Nimbasa City
"Lit by the Flash of Lightning!"
Supporter City Collab 2015


has no friends
Silver Supporter

Reply With Quote
  #19    
Old March 17th, 2014 (08: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 (07:27 PM).
Hopeless Masquerade's Avatar
Hopeless Masquerade Hopeless Masquerade is offline
カミツレ
Silver Tier
 
Join Date: Mar 2010
Location: 幻想郷
Age: 18
Gender: Male
Nature: Quiet
Posts: 1,106
Quote originally posted by 2012maniac:
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!
__________________
Nimbasa City
"Lit by the Flash of Lightning!"
Supporter City Collab 2015


has no friends
Silver Supporter

Reply With Quote
  #21    
Old March 20th, 2014 (07: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.
Age: 22
Gender: Male
Nature: Calm
Posts: 1,505
Quote originally posted by itari:
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]
Researching the NDS ROMs...

sure does feel like a brand new adventure!

I'm gradually learning to use Microsoft Visual Studio!

Always focus on the present, best thing to do! Never look back into the past and never worry about anything bad of the future!
Reply With Quote
  #22    
Old March 22nd, 2014 (04:35 PM).
Hopeless Masquerade's Avatar
Hopeless Masquerade Hopeless Masquerade is offline
カミツレ
Silver Tier
 
Join Date: Mar 2010
Location: 幻想郷
Age: 18
Gender: Male
Nature: Quiet
Posts: 1,106
Quote originally posted by Platinum Lucario:
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.
__________________
Nimbasa City
"Lit by the Flash of Lightning!"
Supporter City Collab 2015


has no friends
Silver Supporter

Reply With Quote
  #23    
Old March 23rd, 2014 (01: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.
Age: 22
Gender: Male
Nature: Calm
Posts: 1,505
Quote originally posted by itari:
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]
Researching the NDS ROMs...

sure does feel like a brand new adventure!

I'm gradually learning to use Microsoft Visual Studio!

Always focus on the present, best thing to do! Never look back into the past and never worry about anything bad of the future!
Reply With Quote
  #24    
Old March 23rd, 2014 (05:11 AM).
Hopeless Masquerade's Avatar
Hopeless Masquerade Hopeless Masquerade is offline
カミツレ
Silver Tier
 
Join Date: Mar 2010
Location: 幻想郷
Age: 18
Gender: Male
Nature: Quiet
Posts: 1,106
Quote originally posted by Platinum Lucario:
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.
__________________
Nimbasa City
"Lit by the Flash of Lightning!"
Supporter City Collab 2015


has no friends
Silver Supporter

Reply With Quote
  #25    
Old March 28th, 2014 (05:07 AM).
AtecainCorp.'s Avatar
AtecainCorp. AtecainCorp. is offline
Rejishan awake...
 
Join Date: Jun 2008
Location: Takoabe Town (Region Thonsu)
Age: 22
Gender: Male
Nature: Hardy
Posts: 658
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>
__________________
POKEMON RUBY RENEV - http://www.pokecommunity.com/showthread.php?t=341964
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 UTC -8. The time now is 09:00 PM.