ScoreHero
Home | Forum | Wiki
Inbox [ Login ]Inbox [ Login ]
SearchSearch MemberlistMemberlist
ProfileProfile Log inLog in
getting charts from DLC?

 
Post new topic   Reply to topic    ScoreHero Forum Index -> Software
View previous topic :: View next topic  
Author Message
Atrus87  





Joined: 01 Feb 2011
Posts: 6

PostPosted: Tue Feb 01, 2011 9:01 am    Post subject: getting charts from DLC? Reply with quote

Is it possible to get charts from XBox 360 GHWT/5 DLC packs? a content of typical pack is:

aDLC1082_1.fsb.xen
aDLC1082_2.fsb.xen
aDLC1082_3.fsb.xen
aDLC1082_preview.fsb.xen
aDLC1083_1.fsb.xen
aDLC1083_2.fsb.xen
aDLC1083_3.fsb.xen
aDLC1083_preview.fsb.xen
aDLC1084_1.fsb.xen
aDLC1084_2.fsb.xen
aDLC1084_3.fsb.xen
aDLC1084_preview.fsb.xen
bdl90.pak.xen
bdl90_text.pak.xen
bdlc1082_song.pak.xen
bdlc1083_song.pak.xen
bdlc1084_song.pak.xen
bmanifest_cb8aaab4.pak.xen
bmanifest_e72ca5c8.pak.xen

i can deal with sound, i.e. aDLC1082_1.fsb.xen, aDLC1082_2.fsb.xen and so on, but i can't extract charts!
i suppose it should be in bdlcXXXX_song.pak.xen
can anybody help?
Back to top
View user's profile Send private message
Cabanon  





Joined: 29 Oct 2007
Posts: 6469
Location: Quebec, Canada

PostPosted: Tue Feb 01, 2011 12:31 pm    Post subject: Reply with quote

WT are done, but GH5/6 arent. ask codemann8 here, he's the man with all this.

http://www.scorehero.com/forum/viewtopic.php?t=87575&start=900
_________________
Back to top
View user's profile Send private message Send e-mail Visit poster's website MSN Messenger PSN Name: Cabanon
Atrus87  





Joined: 01 Feb 2011
Posts: 6

PostPosted: Tue Feb 01, 2011 2:33 pm    Post subject: Reply with quote

thank you, I will ask him. but what do you mean "WT are done"? where to get charts (or midis) from WT DLCs?
Back to top
View user's profile Send private message
Cabanon  





Joined: 29 Oct 2007
Posts: 6469
Location: Quebec, Canada

PostPosted: Tue Feb 01, 2011 5:16 pm    Post subject: Reply with quote

http://pathhero.codemann8.com/

register and you should see a "WT-DLC" section with all the guitar/bass/gh drum charts available.
_________________
Back to top
View user's profile Send private message Send e-mail Visit poster's website MSN Messenger PSN Name: Cabanon
codemann8  





Joined: 10 Apr 2007
Posts: 1048
Location: Oshkosh, WI

PostPosted: Tue Feb 01, 2011 9:11 pm    Post subject: Reply with quote

GH5/6 are not MIDI format...they are .NOTE files separate from the audio portion of the song...the stuff u are looking for are contained in the pak files, FSB files are useless in this case

I have details on my wiki @ http://wiki.codemann8.com/wiki...I'm sorry some things may be incomplete but its a good guide to what ur looking for
_________________
Frets and Fireworks GH:A Expert Tourney Winner
AAA-2 Season 5 Overall Points Champ & Playoff Runner-Up!!!
My FCs



Back to top
View user's profile Wiki User Page Send private message Send e-mail Visit poster's website XBL Gamertag: codemann8 PSN Name: codemann8
Atrus87  





Joined: 01 Feb 2011
Posts: 6

PostPosted: Tue Feb 01, 2011 9:57 pm    Post subject: Reply with quote

ok, you maybe misunderstood me.. i'm not interested in maximizing score or even playing at all GH or RB. All i want is to get charts and convert them to midi (as close as possible, RB midi format will be good enough) for further analyzing them in DAW (Sonar, in particular) like this:



this is example or RB1 song cantletgo, DRUM PART

So I need midi, not charts, but of course MIDI comes from charts (in case of GH-series).
Back to top
View user's profile Send private message
Atrus87  





Joined: 01 Feb 2011
Posts: 6

PostPosted: Tue Feb 01, 2011 10:19 pm    Post subject: Reply with quote

to make myself more clear: I play drumset in a band, and some songs are very interesting to me from drumming point of view. In Expert mode the drum part is close to real one, so its like getting a bit simplified copy of Sheet music for free)) that's why i'm asking for charts extracting help...
Back to top
View user's profile Send private message
codemann8  





Joined: 10 Apr 2007
Posts: 1048
Location: Oshkosh, WI

PostPosted: Tue Feb 01, 2011 10:59 pm    Post subject: Reply with quote

Atrus87 wrote:
to make myself more clear: I play drumset in a band, and some songs are very interesting to me from drumming point of view. In Expert mode the drum part is close to real one, so its like getting a bit simplified copy of Sheet music for free)) that's why i'm asking for charts extracting help...

I will say this because I know a mod will if I don't...We can't publicly discuss activities involving copyright infringement so there can be nothing here to discuss regarding that...but I will tell you that the audio/song portion is in the FSB files, and I have no clue about that stuff because I deal mainly with the charts (that is the note gems you see in the game)...in GHWT thru current GH-series games, the notes u see in the game are not driven by MIDI files as in RB and GH3/GHA to prior, instead they are driven by separate files...

I think this makes it real difficult to do for what u are trying, because really these games tell the console to do red-pad, green-pad, foot pedal instead of MIDI which tells you snare drum, hi-hat, open hi hat, hi-tom...more specific information which isn't really available in these games...I hope that makes sense, but I wouldn't give up the search yet, their may be something in the FSB that I am unaware of
_________________
Frets and Fireworks GH:A Expert Tourney Winner
AAA-2 Season 5 Overall Points Champ & Playoff Runner-Up!!!
My FCs



Back to top
View user's profile Wiki User Page Send private message Send e-mail Visit poster's website XBL Gamertag: codemann8 PSN Name: codemann8
codemann8  





Joined: 10 Apr 2007
Posts: 1048
Location: Oshkosh, WI

PostPosted: Wed Feb 02, 2011 10:45 pm    Post subject: Reply with quote

I've been in discussion with some people, but I was wondering if anyone knows anything about taking files from GH5 (NOTE files) and converting then to a MIDI or CHART file...this is exactly what the OP is looking for
_________________
Frets and Fireworks GH:A Expert Tourney Winner
AAA-2 Season 5 Overall Points Champ & Playoff Runner-Up!!!
My FCs



Back to top
View user's profile Wiki User Page Send private message Send e-mail Visit poster's website XBL Gamertag: codemann8 PSN Name: codemann8
Robbert  





Joined: 21 Mar 2007
Posts: 373
Location: Netherlands

PostPosted: Thu Feb 03, 2011 9:30 am    Post subject: Reply with quote

Funny you should ask: I did just that for the GHWT-based games and I'm betting that the principle remains the same for GH5-based games.

First off, some information about the RB and GH drums and how they relate to MIDI.

Rock band started with adding drums to the game and in lieu of the earlier games by Harmonix, they use MIDI tracks to model the track. Each pad is mapped to a specific MIDI note. GH added the orange symbal and to maintain compatibility, used the same MIDI mappings.
The mappings are as follows: RB/GH note -> MIDI note #/Note name using the scientific pitch notation where C0 is the lowest possible audible frequency at ~16Hz. Thus: C3 is three octaves higher than C0 and has a frequency that is 2^3 times higher than C0.

Bass -> 36/C3
Red -> 38/D3
Green -> 45/A3
Yellow -> 46/Bb3
Blue -> 48/C4
Orange -> 49/Db4

As you can see, the range of the drums is fairly limited, especially when you consider how each note is mapped to its actual sound:

Code:

Colour | Rock Band Drums           | Guitar Hero Drums
---------------------------------------------------------
Red    | always snare drum         | always snare drum
Yellow | tom drum or hi-hat cymbal | always hi-hat cymbal
Blue   | tom drum or splash cymbal | always tom drum
Green  | tom drum or crash cymbal  | always tom drum
Orange |           N/A             | always crash cymbal


For GH it's rather simple, it gets more complex for RB since you don't always know what you just hit based on the chart. If you can live with that, then read on.
Although GH uses something entirely different from a MIDI track to tell the game what to expect, it doesn't change the fact that instrument itself is still MIDI-compatible and that's what we're going to use to get this to work.
To get this to work, you'll need the latest version of the Sanford Midi Toolkit for .NET.

The first thing you need to do is parse the note data and translate it to actual in-game notes, like so:

Input:
Code:
3130    // Time index
264297  // actual note data
5283
1053287
11794
589872


Code:
Output:
0|Y
103|O
416|BG


Note: The output here has been slightly altered to play the first note at 0s and the left part of the pipe is in ticks where one tick is roughly 20ms. This is for compability with the Sanford Midi Toolkit.

The more important part is the right part: It shows which notes make up the compound drum note. You can use the Sanford Midi library to translate that to a fullfledged MIDI-file. Below, I'll explain, along with code-samples, how I did that.

Using the Sanford Midi library, I created one Track-object for every type of note and I created one ChannelBuilder for every type of note (MIDI NoteOn messages are nothing more than Channel messages send to a MIDI player).
A Track is a collection of MIDI-messages waiting to be played in the specified order.

Code:
        ChannelMessageBuilder greenbuilder = new ChannelMessageBuilder {
            Command = ChannelCommand.NoteOn, //Play this note
            MidiChannel = 9, //== channel 10 as the channels are 0-based
            Data1 = 45, //Play a green note
            Data2 = 127, //velocity settings
        };
// Other channelmessage builders here

        Track green = new Track();
// Other tracks here


Next, we'll add a Sequence-object. A Sequence is nothing more than a collection of tracks which can be played simultaneously.

Code:

        Sequence sequence = new Sequence();


Here's the constructor of that particular class to init some stuff:
Code:

            greenbuilder.Build(); //Builds the actual message
            redbuilder.Build();
            yellowbuilder.Build();
            bluebuilder.Build();
            orangebuilder.Build();
            bassbuilder.Build();


At one point, you'll have to actually add the notes to the tracks. I do this based on the output example I posted above:
Code:
                    String noteandstamp = sr.ReadLine();
                    String[] splitResult = noteandstamp.Split('|');
                    if( splitResult[1].Contains("X") ) {
                        bass.Insert(Int32.Parse(splitResult[0]), bassbuilder.Result); //Inserts a MIDI message at the specified absolute time stamp.
                    }
//Checks for green, red, etc..

The timestamp is left of the pipe, the note data to its right.

When done adding the notes, add the track to the sequence:
Code:

            sequence.Add(green);
            sequence.Add(red);
            sequence.Add(yellow);
            sequence.Add(blue);
            sequence.Add(orange);
            sequence.Add(bass);



Next, call sequence.Save:

Code:
sequence.Save(@"C:\Path\To\Save.midi")


This saves it as a MIDI file at the location specified in the parameter.

edit: this only results in a simple file were you play each note at a specified time index in, I'm assuming, 4/4 time. It doesn't create time signatures, BPM, etc.. However, you can set those parameters with the toolkit if you have the rest of the note data.
_________________


Back to top
View user's profile Wiki User Page Send private message XBL Gamertag: UpgradePolecat
Atrus87  





Joined: 01 Feb 2011
Posts: 6

PostPosted: Thu Feb 03, 2011 1:55 pm    Post subject: Reply with quote

great info, man!

I've been working with MIDI quite a lot (but never with GH files), so i have some adds to mention:
Quote:
Note: The output here has been slightly altered to play the first note at 0s and the left part of the pipe is in ticks where one tick is roughly 20ms. This is for compability with the Sanford Midi Toolkit.

First, a tick is not an absolute time measurement (as you say "roughly 20ms"), it is relative. It is a fraction of a Beat (quarter-note) and its absolute time depends on a current tempo and all tempos before it. Second, an amount of ticks in 1 beat is optional (this parameter called Timebase) and vary from one midi file to another. Roughly speaking, it is a "resolution" of all events in a midi file. Typical settings are from 240 ticks per beat to 960 ticks. RB1 midis for example, have 480 ticks.

This time format often called MBT (measure:beat:tick). And it is fully relative (completely depends on tempo - playback speed). Example: 5:01:240 this means fifth measure (a bar of music), 1st beat in it, 240th tick off the 1st beat (which in case of 480 Timebase is a second eight-note).

Each Note midi event described by 5 parameters:
1) Time
2) Channel (percussion always #10)
3) Pitch
4) Velocity (may be always max = 127)
5) Duration (unimportant for drums, may be 1 or 0)

Most important parameters are Time & Pitch. They tell us WHEN and WHAT to hit.

Quote:
edit: this only results in a simple file were you play each note at a specified time index in, I'm assuming, 4/4 time. It doesn't create time signatures, BPM, etc.. However, you can set those parameters with the toolkit if you have the rest of the note data.


Time signatures (4/4, 6/8 etc.) are important - without them we may have a sheet music mess: downbeats instead of upbeats, new phrases beginning in a middle of a bar, and so on, so we need them. I need, at least. )) Tempos are also very-very important but for other reason: without them we cant synchronize midi and audio.

Robbert, do you have such GH -> MIDI conversion tool already? If so could you share it, please?
Back to top
View user's profile Send private message
Robbert  





Joined: 21 Mar 2007
Posts: 373
Location: Netherlands

PostPosted: Thu Feb 03, 2011 2:26 pm    Post subject: Reply with quote

Atrus87 wrote:
Quote:
Note: The output here has been slightly altered to play the first note at 0s and the left part of the pipe is in ticks where one tick is roughly 20ms. This is for compability with the Sanford Midi Toolkit.

First, a tick is not an absolute time measurement (as you say "roughly 20ms"), it is relative. It is a fraction of a Beat (quarter-note) and its absolute time depends on a current tempo and all tempos before it. Second, an amount of ticks in 1 beat is optional (this parameter called Timebase) and vary from one midi file to another. Roughly speaking, it is a "resolution" of all events in a midi file. Typical settings are from 240 ticks per beat to 960 ticks. RB1 midis for example, have 480 ticks.

This time format often called MBT (measure:beat:tick). And it is fully relative (completely depends on tempo - playback speed). Example: 5:01:240 this means fifth measure (a bar of music), 1st beat in it, 240th tick off the 1st beat (which in case of 480 Timebase is a second eight-note).


Yeah, I know that ticks aren't absolute. I didn't know how far I should go into my explanation when I wrote that. The clock used by the Sanford Midi Library uses pulses per quarter note and BPM to determine how long one tick lasts.
The current resolution of the clock I described is set to 24 pulses (timebase = 24) per quarter note at 120 BPM, which means that 1 tick = 0.0208s: the ~20ms I mentioned in my previous post.
Needless to say: that resolution can be altered.

All we really need is the Guitar Hero resolution and match that. In fact, it's either 60 or 120 pulses (see this thread).

Didn't know about MBT. Interesting and makes sense. It's pretty clear.

Atrus87 wrote:
Each Note midi event described by 5 parameters:
1) Time
2) Channel (percussion always #10)
3) Pitch
4) Velocity (may be always max = 127)
5) Duration (unimportant for drums, may be 1 or 0)

Most important parameters are Time & Pitch. They tell us WHEN and WHAT to hit.


My code-samples should how to set each of those. The ChannelMessageBuilder samples (fourth code block) does all that, but there they're called Data1, Data2 and MidiChannel. Time happens at a different point.

Atrus87 wrote:
Quote:
edit: this only results in a simple file were you play each note at a specified time index in, I'm assuming, 4/4 time. It doesn't create time signatures, BPM, etc.. However, you can set those parameters with the toolkit if you have the rest of the note data.


Time signatures (4/4, 6/8 etc.) are important - without them we may have a sheet music mess: downbeats instead of upbeats, new phrases beginning in a middle of a bar, and so on, so we need them. I need, at least. )) Tempos are also very-very important but for other reason: without them we cant synchronize midi and audio.


I know, hence the edit. It's possible to set all of that, but I haven't looked into that yet. I might, but it wasn't relevant for my goal.
However, all note data is present in the files and extracting those is just as easy as the notes.

Atrus87 wrote:
Robbert, do you have such GH -> MIDI conversion tool already? If so could you share it, please?


Yeah, I finished a rough draft yesterday. It's ugly, doesn't work with time signatures, BPM and the rest: it only generates a MIDI track with notes on a specific time index and plays that back. I tried playing it for fun on GH using the drum brains MIDI using a USB-to-MIDI cable and it worked perfectly so I had created a bot inadvertently which can reliably play on X+, haha.

Note: I only have drum data for the ondisc games GHWT, GHSH, GHM and GHVH. I have no way of getting DLC charts.
_________________


Back to top
View user's profile Wiki User Page Send private message XBL Gamertag: UpgradePolecat
Display posts from previous:   
Post new topic   Reply to topic    ScoreHero Forum Index -> Software All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum




Copyright © 2006-2024 ScoreHero, LLC
Terms of Use | Privacy Policy


Powered by phpBB