- 60
- Posts
- 10
- Years
- United States
- Seen Sep 22, 2023
I want to extract music from the legend of zelda: link's awakening dx(the gbc version) as midis to use in my hack. how would i go about doing this?
I want to extract music from the legend of zelda: link's awakening dx(the gbc version) as midis to use in my hack. how would i go about doing this?
I don't think you'll ever find a tool for exporting music from GB/GBC games.I know how to insert midis with sappy and mid2agb. the problem is extracting the midis from Link's Awakening DX, assuming that its music can even be extracted from the game as midis at all. Sappy can only extract midis from gba games, and I loaded Link's Awakening DX into VGMTrans and got nothing. What I need is a tool or something that can extract Link's Awakening DX's music as midis(and maybe extract the soundfonts too).
Bregalad @ romhacking.net said:The only proper way to do that is to
The main problem being that this only work for a single game, or in the best cases for a couple of games by the same company who happens to share the same musical bytecode.
- Reverse engineer the sound engine of the game
- Figure out how the musical data is stored in the game (so far, all music engines I've ever encountered uses some sort of musical byte code)
- Write a PC program that rips the musical byte code from the game into MIDI format
This is precisely what the SongRipper part of GBAMusRiper does by the way. Unfrotunately it's for GBA, not GB or GBC, but the concept applies to all sound engines.
How do you insert music in Firered without replacing any of the music?
Problem 1:
When a song with Pitchbend changes (e.g No.297 Trainer Battle) is ripped from the ROM via Sappy, converted into .s file via mid2agb, and assembled into a ROM again, the Pitchbend does not change the same as it should do (e.g originally it varies from 0 and 756 and now it varies from 0 and 126, exactly 1/6 of the former), and this causes some tracks to sound weird.
Problem 2:
How can I expand the DirectSound Limit of 5 in Ruby and Emerald? I tried the same way as FireRed (it worked) but it does not seem to work.