The PokéCommunity Forums  

Go Back   The PokéCommunity Forums > ROM Hacking > Tools, Tutorials & Resources
Sign Up Rules/FAQ Live Battle Blogs Mark Forums Read

Notices

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.


Advertise here

Reply
 
Thread Tools
  #1    
Old December 9th, 2013, 06:34 PM
itari's Avatar
itari
Community Supporter
 
Join Date: Mar 2010
Location: 渦潮隠れの里
Age: 17
Gender: Female
Nature: Relaxed

Advertise here

Advanced Song: GBA Music Editor



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 not quite 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!)
  • Edit Voicegroups
  • Edit Waveforms (a part of voicegroups)
  • Edit Wave Samples! (including compressed samples!)
Green = Completed, Red = In Development

Images


Spoiler:

This is what it originally looked like.
(It looks better now)



The Track Viewer (for the alpha)


The Voicegroup Editor


The Waveform Editor (for Voicegroups)


The Wave Sample Editor
(A Work in Progress)




Download


Requirements: Advanced Song will work on any computer that can run a Windows executable on the .NET 4.0 Framework.

Want to be the beta tester before the first release? Check out the contest here!

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

SubscriptAdvanced SongType Effectiveness EditorTilemap CreatorPython IPS Patcher

Last edited by itari; 3 Weeks Ago at 10:04 AM. Reason: Adding features.
Reply With Quote
  #2    
Old December 9th, 2013, 09:32 PM
LuxrayHacker's Avatar
LuxrayHacker
 
Join Date: Sep 2013
Location: Narnia
Gender: Male
Nature: Mild
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
...death is only the beginning
 
Join Date: Aug 2013
Gender: Male
Nature: Mild
yeah sounds good especially for the sound system I have to implement in pokemon true gold with gb sounds!
__________________
VerdeWare No. 1
=============

Rayquaza I will always love you...just like from the beginning....

Reply With Quote
  #4    
Old December 10th, 2013, 03:26 PM
Merak's Avatar
Merak
Because reasons.
 
Join Date: Jul 2013
Age: 18
Gender: Male
Nature: Quiet
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.
MY WRITING
Reply With Quote
  #5    
Old December 11th, 2013, 02:34 AM
xGal's Avatar
xGal
du bist n00b
 
Join Date: Nov 2011
Location: A tree
Gender: Male
Nature: Bold
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 .
Reply With Quote
  #6    
Old December 11th, 2013, 11:11 AM
Poke_Spirit's Avatar
Poke_Spirit
 
Join Date: Sep 2013
Gender: Male
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
itari's Avatar
itari
Community Supporter
 
Join Date: Mar 2010
Location: 渦潮隠れの里
Age: 17
Gender: Female
Nature: Relaxed
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~!
__________________
Touhou Puppet Play: Sapphire

SubscriptAdvanced SongType Effectiveness EditorTilemap CreatorPython IPS Patcher
Reply With Quote
  #8    
Old December 19th, 2013, 06:56 PM
Merak's Avatar
Merak
Because reasons.
 
Join Date: Jul 2013
Age: 18
Gender: Male
Nature: Quiet
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.
MY WRITING
Reply With Quote
  #9    
Old December 23rd, 2013, 12:08 PM
Sotireon's Avatar
Sotireon
Strong pokemon. Weak Pokemon.
 
Join Date: Oct 2013
Location: NY
Age: 23
Gender: Male
Nature: Sassy
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
ASM is very cool!
 
Join Date: Apr 2011
Location: Poland
Age: 18
Gender: Male
Nature: Relaxed
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
Just that spriting guy
 
Join Date: Dec 2012
Location: The Universe
Gender: Male
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
itari's Avatar
itari
Community Supporter
 
Join Date: Mar 2010
Location: 渦潮隠れの里
Age: 17
Gender: Female
Nature: Relaxed
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!
__________________
Touhou Puppet Play: Sapphire

SubscriptAdvanced SongType Effectiveness EditorTilemap CreatorPython IPS Patcher
Reply With Quote
  #13    
Old March 13th, 2014, 09:51 AM
LORDENGLISH
HOMESTUCK GOD
 
Join Date: Feb 2014
Location: ASK
Gender: Male
Nature: Bold
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
Meh
 
Join Date: Sep 2012
Location: Nevada
Gender: Male
Nature: Calm
I've been looking for something like this FOREVER! Awesome bro, goodluck and hope you release it soon!!! :D
__________________
[CENTER]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
itari's Avatar
itari
Community Supporter
 
Join Date: Mar 2010
Location: 渦潮隠れの里
Age: 17
Gender: Female
Nature: Relaxed
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!
__________________
Touhou Puppet Play: Sapphire

SubscriptAdvanced SongType Effectiveness EditorTilemap CreatorPython IPS Patcher
Reply With Quote
  #16    
Old March 14th, 2014, 07:38 AM
Ksiazek Bartlomiej's Avatar
Ksiazek Bartlomiej
Rejishan awake...
 
Join Date: Jun 2008
Location: Takoabe Town (Region Thonsu)
Age: 21
Gender: Male
Nature: Hardy
I want test your editor. It sounds intresting with option of changing chanell instrument.
__________________
- During Centuries... Whole worlds try keep in survive... Beafore the space start existing... In chaos eye appeared two eggs... One of mighty pokemon Arceus... Secound with less known Rejishan... Those two pokemon start build their worlds in other warps... Rejishan lose him mission... And undone world named now was TORN WORLD where now live Giratina... Arceus create world with Pokemons where live everywhere alongside with humans... What do Arceus after fail of Rejishan? He give him able to live in him world... But Rejishan want create something which been himself... And from biggest dessert upper than Unova Region start creating new region... This region is Thonsu... New species of Pokemons start locate at their region... Arceus fell angry... But forgive Rejishan and make with him friendship... But now... Is no one know... Rejishan hide in human body... Human name of Thonsu Creator is Sir Allan Newlight... - MYTH ABOUT REJISHAN (Pokemon Dirty Sun plot)

MY MUSIC SHOP - http://www.pokecommunity.com/showthread.php?t=296954
Reply With Quote
  #17    
Old March 15th, 2014, 06:36 AM
Monstarules
Look out for my team.
 
Join Date: Mar 2014
Location: Connecticut, United Stated of MURIKAH
Gender: Male
Nature: Adamant
Oh god I need this. I'll happily test that for you.
Reply With Quote
  #18    
Old March 15th, 2014, 07:28 AM
itari's Avatar
itari
Community Supporter
 
Join Date: Mar 2010
Location: 渦潮隠れの里
Age: 17
Gender: Female
Nature: Relaxed
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.
__________________
Touhou Puppet Play: Sapphire

SubscriptAdvanced SongType Effectiveness EditorTilemap CreatorPython IPS Patcher
Reply With Quote
  #19    
Old March 17th, 2014, 08:13 AM
2012maniac's Avatar
2012maniac
 
Join Date: Apr 2012
Gender: Male
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...%23Dragons_Den

Reply With Quote
  #20    
Old March 17th, 2014, 07:27 PM
itari's Avatar
itari
Community Supporter
 
Join Date: Mar 2010
Location: 渦潮隠れの里
Age: 17
Gender: Female
Nature: Relaxed
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!
__________________
Touhou Puppet Play: Sapphire

SubscriptAdvanced SongType Effectiveness EditorTilemap CreatorPython IPS Patcher
Reply With Quote
  #21    
Old March 20th, 2014, 07:13 PM
Platinum Lucario's Avatar
Platinum Lucario
The Legendary Master of Light!
Community Supporter
 
Join Date: Jan 2008
Location: Warrnambool, Victoria, Australia.
Age: 21
Gender: Male
Nature: Calm
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]
Researching the NDS ROMs...

sure does feel like a brand new adventure!

I'm really looking forward to learning how to understand what the hex values mean and how to create programs using 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
itari's Avatar
itari
Community Supporter
 
Join Date: Mar 2010
Location: 渦潮隠れの里
Age: 17
Gender: Female
Nature: Relaxed
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.
__________________
Touhou Puppet Play: Sapphire

SubscriptAdvanced SongType Effectiveness EditorTilemap CreatorPython IPS Patcher
Reply With Quote
  #23    
Old March 23rd, 2014, 01:46 AM
Platinum Lucario's Avatar
Platinum Lucario
The Legendary Master of Light!
Community Supporter
 
Join Date: Jan 2008
Location: Warrnambool, Victoria, Australia.
Age: 21
Gender: Male
Nature: Calm
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]
Researching the NDS ROMs...

sure does feel like a brand new adventure!

I'm really looking forward to learning how to understand what the hex values mean and how to create programs using 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
itari's Avatar
itari
Community Supporter
 
Join Date: Mar 2010
Location: 渦潮隠れの里
Age: 17
Gender: Female
Nature: Relaxed
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.
__________________
Touhou Puppet Play: Sapphire

SubscriptAdvanced SongType Effectiveness EditorTilemap CreatorPython IPS Patcher
Reply With Quote
  #25    
Old March 28th, 2014, 05:07 AM
Ksiazek Bartlomiej's Avatar
Ksiazek Bartlomiej
Rejishan awake...
 
Join Date: Jun 2008
Location: Takoabe Town (Region Thonsu)
Age: 21
Gender: Male
Nature: Hardy
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>
__________________
- During Centuries... Whole worlds try keep in survive... Beafore the space start existing... In chaos eye appeared two eggs... One of mighty pokemon Arceus... Secound with less known Rejishan... Those two pokemon start build their worlds in other warps... Rejishan lose him mission... And undone world named now was TORN WORLD where now live Giratina... Arceus create world with Pokemons where live everywhere alongside with humans... What do Arceus after fail of Rejishan? He give him able to live in him world... But Rejishan want create something which been himself... And from biggest dessert upper than Unova Region start creating new region... This region is Thonsu... New species of Pokemons start locate at their region... Arceus fell angry... But forgive Rejishan and make with him friendship... But now... Is no one know... Rejishan hide in human body... Human name of Thonsu Creator is Sir Allan Newlight... - MYTH ABOUT REJISHAN (Pokemon Dirty Sun plot)

MY MUSIC SHOP - http://www.pokecommunity.com/showthread.php?t=296954
Reply With Quote
Reply
Quick Reply

Sponsored Links


Advertise here
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
Minimum Characters Per Post: 25



All times are UTC -8. The time now is 12:33 AM.


Style by Nymphadora, artwork by Sa-Dui.
Like our Facebook Page Follow us on Twitter © 2002 - 2014 The PokéCommunity™, pokecommunity.com.
Pokémon characters and images belong to The Pokémon Company International and Nintendo. This website is in no way affiliated with or endorsed by Nintendo, Creatures, GAMEFREAK, The Pokémon Company or The Pokémon Company International. We just love Pokémon.
All forum styles, their images (unless noted otherwise) and site designs are © 2002 - 2014 The PokéCommunity / PokéCommunity.com.
PokéCommunity™ is a trademark of The PokéCommunity. All rights reserved. Sponsor advertisements do not imply our endorsement of that product or service. User generated content remains the property of its creator.