Next Page

Gamecube Sequence Format? by Volkov73 at 1:42 PM EDT on April 18, 2018
I am very interested in Gamecube sequence data.

Basically I would like to achieve one of these two thing:

1) Generate Channel/Instrument separated WAVs for songs, as in 1x WAV file per instrument/channel
(possibly by editing channel headers in the ISO, but I have no idea of the sequence formats yet)

2) Edit the ISO file so certain notes are omitted
(possibly by setting the note velocity to 0)

Currently, I have been doing both of these methods (and sometimes in combination) for N64 sequences.
The results have been fantastic and you can get a preview here

As for working with gamecube ROMs and the sequence data. working out which notes are which would be the hardest part (but may be possible with musyx2midi + log file of how it made the midi).

Perhaps generating a WAV file for each audio channel would be easier - and may not even require editing the ROM? I know for SNES you can do this, but not for N64 as the mixing is down in software.

For the N64 sequences I have done (and you can listen in the link I shared), the best part is that with the edited ROMs I have the ability to use a Flash Cart and then get recordings of these coming from the original console as opposed to sub-par emulation.

Looking for any thought on how I might achieve doing this with gamecube sequences.

TL;DR I'm looking make Gamecube Backing tracks like I have done so with N64

edited 1:51 PM EDT April 18, 2018
by Kirishima at 2:43 PM EDT on April 18, 2018
If I remember correctly, the Gamecube also does all its sound in software as well, so it's probably in the same boat as the N64.

edited 2:44 PM EDT April 18, 2018
by derselbst at 3:47 PM EDT on April 18, 2018
Parsing of sequence data highly depends on the game. For musyx based games amuse is a good way to understand or parse sequences. For other games I cant tell.

An alternative (and IMO better way) to achieve what you want is to convert the sequence data of a game to MIDI and its soundbank to SF2 or DLS. That way you get back from the proprietary formats to open standards for which you can use established software to re-synthesize the tunes. Once setup a soundfont properly, you can multichannel render all tunes at full 48 kHz and have full loop control. It is also beneficial for the community when you provide the files.

Frankly speaking, your approach of custom rom hacking is highly complicated, error prone, expensive on memory and pretty useless for the community.
by Volkov73 at 4:09 PM EDT on April 18, 2018
When converting to MIDI/SF2 you are actually losing data, as there are functions in the sequence (many are unknown) that cannot be converted to midi.

I spent a long time trying to recreate N64 songs using midi and soundfont. There were many cases where songs sounded pretty bad. I made several threads (1-2yrs ago) seeking help but all the suggestions fell short. I have seen other people recreate songs that sound at an acceptable level (I'm looking at you Goldeneye HD version), but that is still more manual work (reverb/sample rate/etc)

My current method for N64 songs is actually kind of simple. The only "rom hacking" involved is replacing some 4byte channel headers with 0000. For first-party games I was able to use SEQ64 software to change the velocity of notes to 00 very easily, and in some other games there was minor manual work.

The upside to the ROM hacking is that it produces 100% authentic sounding songs.
N64 reverb sounds fantastic
Drum samples lined up without any manual work.
Not having to manually check every note/part is accurate (correct octave/instrument/etc)

I just hack the ROM to remove the melody line and....done! No messing around and no worrying about any parts being wrong.

edited 4:18 PM EDT April 18, 2018
by derselbst at 4:47 PM EDT on April 18, 2018
I've spent my time ripping Rarewares N64 games. I did not experience the obstacles you described and yet I get accurate results when re-synthesizing the midis. Also so far I did not came across "functions that cannot be converted to midi", SF2 modulators are quite powerful to manipulate any aspect during synthesization. And anything not supported like N64 midi track loops can be implemented.

Sure reverb is an issue. For the N64 this apparently remains unimplemented. For Musyx the guys of amuse have put in effort to reverse engineer and re-implement it.

While ROM hacking does indeed produce an accurate result, how do you cope with track loops? Given your description of wave file extract I guess you loose them.
by Volkov73 at 4:59 PM EDT on April 18, 2018
I'm not sure I follow what you mean about loops.
I just load the game and let the song run. It's already a perfect infinite loop.
by simonmkwii at 10:06 PM EDT on April 18, 2018
Speaking of sequenced Gamecube audio, I'm going to make a plugin for foobar2000, possibly integrated into vgmstream if I get approval, to play sequenced Gamecube, Wii, DS, 3DS, etc music natively.

I have done loads of research into SSEQ, CSEQ, RSEQ and various other binary Nintendo formats, so I'll (attempt to) cook something up!

For Gamecube, I think I'll call it .gcsf, coz why not?

edited 10:21 PM EDT April 18, 2018
by 1425720626 at 1:19 AM EDT on April 19, 2018
@simonmkwii
Wii U's FSEQ is also same as the structure of SSEQ, CSEQ and RSEQ formats.

edited 1:19 AM EDT April 19, 2018
by Volkov73 at 4:18 AM EDT on April 19, 2018
There are various threads where several people have made tools involving the BMS data conversion.

If the tools can convert from bms to midi (even without reverb or other functions), then to me that means that figuring out what the notes are in the ISO data should be simple enough. Time consuming maybe but I don't mind the amount of work. I just don't know where to begin right now.

I'm struggling to see documentation regarding this sequence format. I may try to get a programmer friend of mine to compile some of the programs floating about, but that would be on a whim.



In the absolute worst case scenario I would be happy to manually edit the velocity of the notes in a hex editor to 00, and then play the music back in an emulator.

I think muting the channels to have them play back one at a time could be easier, but not sure. At least this was the case for N64 and I feel I need to approach this the same way if I want to make something like this

edited 4:33 AM EDT April 19, 2018
by Volkov73 at 8:17 AM EDT on April 19, 2018
Okay, so I found that I could extract a sequence.arc file from the ISO.

I thought that perhaps I would edit this arc file and then put it back into the ISO.

None of the tools to decompress/decode/extract this .arc file seemed to work for me.

Once I get to the stage where I can actually make edits and then run the ISO in an emulator, I can spent a lot of my time using trial/error to work out the sequence format myself to set the velocity of certain note to 00, or mute an entire channel/instrument (even though I think this information would be known as there are software that make midi files?)..

Next Page
Go to Page 0 1 2 3

Search this thread

Show all threads

Reply to this thread:

User Name Tags:

bold: [b]bold[/b]
italics: [i]italics[/i]
emphasis: [em]emphasis[/em]
underline: [u]underline[/u]
small: [small]small[/small]
Link: [url=http://www.google.com]Link[/url]

[img=https://www.hcs64.com/images/mm1.png]
Password
Subject
Message

HCS Forum Index
Halley's Comet Software
forum source