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
Version 1.3b
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
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. :)
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:
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
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&
Please
substitute @ and . for & and , above. I don’t like spam…