Guitar Hero Trainer: VGSPlayer 1.4 beta

 

HOMEPAGE: http://home.rochester.rr.com/gendreau/vgsplayer/

DOWNLOAD: VgsPlayer1.4b.zip (176kb)

 

Description:

 

VGSPlayer is a Windows song player application for the PS2 game Guitar Hero™. It allows you to insert your game disc into your PC DVDROM drive and play songs in a format similar to the PS2 game. This version has a simplified playable mode and supports PS2 to USB controller input.

 

Change History:

Version 1.4b

  • Added support for Guitar Hero II and Guitar Hero 80s Edition

 

Version 1.3b

  • The graphics and sound code have been optimized. The last version used 35% of the CPU on my 3GHz box. Now it uses 5%.
  • The fret window at the bottom now hints hand positions using white circles to indicate what frets your fingertips should be over.
  • The sound engine had to be completely re-worked in order to get precise synchronization between the audio and the graphics. This was necessary for the next new feature…
  • Playable mode! The playable mode is this release is fairly basic. It does not involve strumming yet. When you press the correct frets, the guitar part plays. This first play mode is still quite useful in figuring out the fingerings for songs and for practicing Hammer-on / Pull-offs. Other play modes will be coming soon, but I wanted to get something out to everyone for now.

 

Main Features:

  • A scrolling tablature view lets you see the notes similar to the way they appear in the song, but not in perspective.
  • Play back any song on the game disc and jump right to a specific part of a song. No more waiting to get to the hard parts.
  • The Speed control allows you to slow the song down to observe the fast/complex parts in detail. This is done using audio time-stretching, so the overall pitch of the song does not change with the speed.
  • An Animated fret display shows the fret button presses for a given difficulty setting. It can show you how to press the frets to do HO/PO and efficiently play repeating patterns and complex riffs as well as how to manage your hand positions.
  • A Click track functions as a metronome or to illustrate tempo and strum timing.
  • A loop mode lets you repeat a set of bars to help learn harder parts.
  • Supports both the USA(NTSC) and European(PAL) versions of the game disc.



System Requirements:
Operating system: Windows 2000, XP or newer
DirectX 8.0 or better
1GHz or faster CPU.

 

 

Installation:

Since it is a standalone executable and does not require any additional files besides the game disc, an installer is really quite overkill. If you want a fancy icon in your start menu, do it yourself. :) Otherwise, just run the exe file.

 

DOWNLOAD: VgsPlayer1.4b.zip (176kb)

 

VGSPlayer Main Winow:

 




Main Window Controls:

1)       At the top of the window, the title display also indicates the song's playback progress. By clicking anywhere in this window, you can jump to that part of the song. On the left, you will see a number indicating the current bar and beat numbers in the song. On the right, the current tempo is displayed in beats per minute.

 

2)       To the right of the title display, the downward triangle button displays the song selection dialog.

 


You can use it select a particular song from the list as well as the difficulty you want to play at. See “Song Selection Dialog” below for a screen shot.

 

3)       On the left, you will see the playback speed slider. By default, this ranges from 100%(top) to 33%(bottom). You can change the range of this control in the Options dialog as far as 130% to 10%. (BATM at 125% is awesome to behold!).

 

4)       The first button with the circling arrows sets loop mode. When entering loop mode, the Loop Points dialog is displayed.


 

Select the first and last bars of the loop. By default it starts from the current bar and goes to +3 bars later (it repeats 4 bars). When you are in loop mode, the loop button on the main screen will appear pressed in and have a red outline.  Press it again to stop loop mode.

 

NOTE: read about the Previous and Next buttons below for their behavior in loop mode.

 

5)       The Previous and Next Bar buttons jump to the previous and next bar of the song. When Loop mode is active, these buttons move the whole loop forward or backward within the song.

 

6)       The Play/Pause and Stop buttons are self explanatory.

 

7)       The click track drop-down lets you select which click track you want to hear. “Off” means no click track. “Tempo” means click the song’s beat. “Strum” means click every note in the song. “Strum H/P” means click every note that is not a Hammer/Pull.

 

8)       The Options button displays the Options Dialog. See the Options Dialog below…

 

9)       The large tablature view scrolls the notes of the song in a format similar to the game. If you have the “Connect Hammer/Pull Notes” option checked, you will see thin blue lines connecting HO/PO notes. HO/PO notes are also drawn without a black circle on them like in the real game. Near the bottom of the tablature window is a row of 5 target circles similar to the real game. When you press the fret buttons on your controller during song play, these targets will light up.

 

10)   The Fret display occupies the bottom part of the window. Fret buttons will light up when pressed in the song. Depending on the Hint options you have selected in the options dialog, the fret display show optimal ways to press the fret buttons during game play.

 

NOTE: If you have the “Hint Finger positions on Frets” option checked, you will see the white finger outlines on the frets. These outlines indicate one method for positioning your fingers over the frets. This method is not the only way to play the frets, but it is my personal style and I think it has some distinct advantages. It only uses 3 hand positions: GRYB_, G_YBO and _RYBO. The basic idea is to use _RYBO most of the time so you are ready for orange notes. On Hard and expert, most of the notes fall on RYB and you want your 3 best fingers over them. You only switch to G_YBO when a green note comes along and slide back to _RYBO again. It feels strange at first to reach with your index finger like this, but with a little practice you will find that you can slide  between _RYBO and G_YBO very quickly without losing your place. The only time you use GRYB is when a green + red pattern comes along.

 

The Options Dialog:

 

 

1)       The mixer controls let you set the volume of the Backing, Lead Guitar and Click tracks respectively.

 

2)       The Speed range controls set the minimum and maximum speeds of the speed control on the main window.

 

3)       The Left Handed Mode check flips the order of the fret buttons on the main window for left handed players.

 

4)       Hint Finger positions on Frets displays the white circles on the fret buttons described in detail in main window 10) above.

 

5)       The Hint Hammer-ons / Pull-offs option will show the correct way to press the frets to perform hammer-on / pull off patterns.

 

6)       The Hint Optimal Fingering option will show pressed frets that help simplify the pattern of finger movements needed on the fret board. They anticipate upcoming notes that do not interfere with the current note as well as help you play fast alternating patterns of notes easier.

 

7)       The “Connect Hammer/Pull Notes” option draws connecting lines between hammer/pull notes in the scrolling tablature window.

 

8)       The Controller Setup button displays the new Controller Configuration dialog.

 

 

Use this dialog to select your controller (usually a PS2 to USB interface). Once you have selected the controller, click on a fret in the list and then press the corresponding button on your controller. Do this for each fret button. You can test your controller by pressing the fret buttons. The colored fret labels in the list should light up when you press the same buttons on your controller. Click OK when you are finished.

 

 

Instructions:

1)       Insert the Guitar Hero™ game disc into your PC DVDROM drive.

2)       Run VgsPlayer.exe

3)       Select a song.

4)       Press the Play button.

5)       Pick up your GH controller and try to keep up.

 

Tutorial:

            You are probably asking yourself “How can I use this program to get better scores in Guitar Hero”? Here are some tips that may help:

 

 

1)       Listen to the click track.


Make sure you switch the click track to the "Strum" setting and turn the click volume up so you can hear the clicks distinctly over the lead and backing tracks. Hearing a sharp click for each note helps you learn the exact timing of the song's notes much better than the music or the scrolling tablature can. After listening to the songs this way enough times, you can almost hear the clicks during game play on the PS2 and it will definitely improve your sense of timing.

 

2)       Play along.

 

Get a PS2 to USB interface box and plug your controller into the PC. After you configure the buttons, you can press the frets during song play. The target circles should light up and the guitar part should cut out when you aren’t pressing the right frets. As stated earlier, the current version does not require strumming yet. Just correct fingering which is enough to learn how to HO/PO and how to finger the notes.

 

3)       Start out slow and work your speed up.

 

Many guitar teachers will tell you that the key to good playing ability is to start playing a song slowly and accurately and increase the speed gradually after each time through the piece. It helps a lot to practice a song at about 50% speed to figure out the fingering in whatever way you are most comfortable. Then work the speed up 5% at a time until it gets hard again and practice at that level until you are ready to go a little faster. If you get good enough, you can even go past 100%. After playing at 120%, 100% seems a little easier. But you have to master 50-100% first. :)

 

4)       Loop parts that need the most work

 

Play around with the loop mode. When you get to a hard part of a song, click the loop button (the "( )" looking button) and click OK. 4 bars is usually right for most songs. It should start repeating four bars starting with the current bar. Practice that section at 50% and work the speed up like in 2) above. Once you have that section down, the [>>] button will jump you forward to the next 4 bars and continue looping. Press the loop button again to stop looping if you wish.

 

5)       Try a new way to manage your fingers on the frets.

 

Version 1.3 and later can now suggest a new way to arrange your fingers over the frets while playing (there is a new check on the options dialog for "hint finger positions on frets"). Its not the only way to play for sure, but it is close to my own personal fingering style. The hinting algorithm is not exact yet but it works well enough. This fingering style only uses 3 hand positions to cover almost any pattern of notes. They are GRYB, G_YBO and most frequently, _RYBO. The basic style is that your index finger can handle most green or red notes (G_YBO and _RYBO) unless they both need to be pressed(GRYB).

 

6)       Don't tap the frets for every note.

 

One bad habit that keeps many players from getting better is tapping the fret buttons for each circle note they see on the screen rather than holding the fret down for a series of notes. For example, an alternating series of green and red notes is much easier to play if you just hold green the whole time and press red during the red notes. It cuts the number of finger movements in half. Pay close attention to the fret window at the bottom of VGSPlayer and how it holds frets over a series of notes. Make sure you have the optimal fingering and hammer/pull hinting options turned on in the options dialog to see this. Playing this way leads you into learning hammer-ons and pull-offs as well.

 

7)       Alternate strumming.

 

I cant stress this enough. Its not that hard to learn and you will thank me for it later. Many players discover that they need to learn how to alternate strum when they reach these CFH or BATM, but you should practice alternate strumming on easier songs/levels first. Playing this way requires half as much hand movements and it greatly improves your timing on alternating note sequences.

 

My suggestion is to go back to Medium difficulty in Guitar Hero and play each song (including the bonus songs) once through where you strum every other note in the opposite direction. up, down, up, down etc... Once you have done that, it becomes a habit and you can do it when needed without really thinking about it.

 

If you find that Medium is too easy and you are getting bored, you can make Medium much more challenging and improve your fingering at the same time by playing the frets using only your first 2 or 3 fingers. Limiting yourself to fewer fingers will help you discover new ways to cover the first 3-4 frets. This will make easier for you to cover all 5 frets with 4 fingers in Expert.

 

 

Bugs:

This software is still considered beta. While every effort has been made for it operate as intended, it may still have a few bugs in it.

 

I have noticed a few inconsistencies in the hammer/pull decoding algorithm. As a result, while most songs display correctly, some hammer/pulls in a few of the songs appear as normal notes. I am working on a fix for this in the next release.

 

 

Future enhancements:

  • PC Keyboard controller input
  • Other play modes strumming
  • Whammy bar support
  • A Scoring and report card system to help you track what parts need the most work
  • Improved and graphics

 

FAQs:

What are these two extra songs in the list, "*Tripolette”(aka Adv Harmony) and "Graveyard Shift"?

Your guess is as good as mine. They were on the game disc with the rest of them. They were probably cut from the game at the last minute, but were never deleted from the game disc image. If they were easter eggs they would probably have been found by now. I think AdvHarmony would have been a cool unlock for Death. It looks like it would be pretty tough to play.

 

Addendum: The author of AdvHarmony has told me that the final name for the song is “*Tripolette” and a Gameshark code has been released to make it playable in the game. Can someone provide me a link?

 

The button symbols on VGSPlayer are all wrong. Is it a bug?

Certain windows XP skins hardcode the font used for all buttons. This prevents my app from using webding glyph font on my buttons. I may write a custom button control for a future release to fix this, but in the meantime the workaround is to use a different XP skin.

 

The game disc is in my DVDROM drive, but it wont detect the game disc. What is wrong?

The past DLA mode and international disc issues have been resolved. I have seen a few reports of certain DVDROM drives not reading the songs from the disc. These seem to stem from firmware problems with reading from very large files (>2GB) on a DVD. I have not figured out a workaround for this yet, but if you encounter it, please feel free to email me and I will try to diagnose the problem with tracing code.

 

How did you figure all of this out? How long did it take?

To decode the song info, all it took was tenacious persistence, a Hex editor and a few evenings of spare time. The past few months have been spent fixing obscure bugs and improving the GUI.

 

Can you make a Mac version?

I have worked with two different Mac programmers so far in the hopes of porting something like this to the Mac platform. The first one encountered an issue reading the song data off the disc. Whenever he tried to read from the MAIN_0.ARK file, he only got 0s back as data. I don’t know if its a driver limitation similar to the odd PC DVD reading issue above, but no progress can be made until a workaround for this can be found.

 

Isnt this (Illegal / a violation of copyright)?

Reverse engineering for the purpose of interoperability is specifically permitted by law. The information I read is not encrypted or copy protected. Since I am not circumventing any copy protection, I doubt the DMCA would apply here. As far as copyrights go, at no point does this software copy the contents of the game disc to the hard drive. It is strictly for playback purposes by legitimate owners of the game. All other issues aside, I believe the only people who would want to use software like this are people who already own the game and the guitar controller.

 

In short, I'm not a lawyer, but I believe this software falls squarely into the realm of Fair Use. While I don’t expect them to endorse it, I certainly hope Harmonix™ and RedOctane™ do not take this software to be anything more than an obsessed GH fanatic sharing a useful tool that enhances the experience of other GH fanatics.

 

Can you tell me how to read the disc / Will you open your source code?

Out of respect for RedOctane, Harmonix and the artists whose music is featured in the game, I have chosen not to publish their file formats. Doing so would most certainly lead to song ripping utilities and I don’t want to play a role in that. It could also jeopardize future Guitar Hero releases and I want to see as many of those as I can get. Alternatively, an open source guitar game and song editor called Freetar Hero is currently in development and I may work on that project or something related to it next.

 

About the Author:

            VGSPlayer was developed entirely by myself, Dan Gendreau. I am a 36 year old software developer from Rochester, New York. VGSPlayer is developed in my spare time for no other reason than because I enjoy doing it. Updates can be a little far apart because my free time not always free. I am divorced and a fulltime single dad with a 3 year old son, so please understand if I dont have a lot of time or money to devote to VGSPlayer's development.

 

Acknowledgements:

To Harmonix™ and RedOctane™: Thanks for making Guitar Hero™. I really didn’t think much about the guitar before I played your game. After I played up to expert level, I have been inspired to get a real guitar and learn how to play. Thanks!

 

This software makes use of the SoundTouch engine to do the audio time-stretching effect and it is licensed under the LGPL. For more information on this great software including its full source code, please visit their web site: http://www.surina.net/soundtouch

 

To bITmASTER: Thanks for your psxdev page and documentation of the psxvag codec.

 

Thanks to all of the people at Codeproject.com for so many concise and useful GUI coding articles and examples.

 

Thanks to all the VGSPlayer beta testers out there that have put up with the endless cycle of tests, updates and bugs. VGSPlayer is a much better program because of all of your feedback.

 

 

Contact Information:

If you have feedback, feel free to contact me: gendreau&rochester,rr,com

Please substitute @ and . for & and , above. I don’t like spam…