FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 
     
The webcam method of properly calibrating Rock Band

 
Post new topic   Reply to topic    ScoreHero Forum Index -> Misc RB Game Discussion
View previous topic :: View next topic  
Author Message
rkuo 
 
 



Joined: 17 Mar 2008
Posts: 142

PostPosted: Sun Apr 13, 2008 10:23 am    Post subject: The webcam method of properly calibrating Rock Band Reply with quote

http://www.rkuo.com/blogs/rkuo_blog/pages/The-webcam-method-of-properly-calibrating-Rock-Band.aspx

One of the most important things you need to do when playing Rock Band is calibrate the game to your home theater system. Most flat screen TV's and some audio systems introduce latency between when a signal is received vs when it is displayed. If you don't account for this behavior by calibrating the game, your timing will be thrown off in subtle ways. If you are playing with an electronic drum kit, I have to assume you're taking everything seriously and want to play the game right.

The key to this calibration vs other methods (and hence why I call it "reliable") is that it involves the use of a webcam to properly set the first calibration step, which completely eliminates human error from the equation. No more guessing involved.

Adjust Audio/Video Sync

1. From the Rock Band main menu, pick Options/Calibrate System.

2. Select the "Manually Set" option.

3. You should be on the "Adjust Audio/Video Sync" screen. Take your best shot at lining up the target with the click per the instructions on the screen, but don't leave the screen once you finish.

4. Now, point your webcam at the screen and record the screen + the audio for a few seconds. I used the QuickCam application bundled with my Logitech QuickCam.

5. Open Windows Movie Maker (I'm using the Vista version).

6. Drag the recording into Windows Movie Maker.

7. Now drag the clip to the video timeline at the bottom

8. Expand the video track by clicking the plus box on the left of the track so you can "see" the associated audio track.

9. Zoom in as far as you can using the Page Down key so that you can see the blips of sound generated by the calibration process.

10. Use the frame step buttons ("J" and "L") to move the position indicator just after one of the calibration sound blips.

11. Next, use the frame step buttons ("J" and "L") to move the position indicator to the first frame where the target turns white that is closest to the calibration sound blip you are working with.

12. The goal is for you to adjust the A/V offset such that the first frame where the indicator fills with white is also the first frame displayed after the "blip" plays. Based on the differences you see between steps 10 and 11, adjust the A/V offset by moving the target and repeat steps 4-11 until you achieve synchronization, then press OK to go to the Lag Compensation screen.

Voila! You have correctly calibrated this step without any guessing involved.

Lag Compensation

Oddly, the description on this screen which says "Some TV's introduce a delay that makes playing difficult" appears to have nothing to do with this step whatsoever. What you're trying to do here, as far as I can tell, involves compensating for the lag between your controller and the console.

The step does involve some human error, but it's fairly easy to check the results of this step now since the previous calibration step we executed using the webcam is guaranteed to be accurate.

1. At the Lag Compensation screen, select the Calibrate option.

2. Follow the calibration screen instructions and strum or hit your drum pad to the clicks of the notes. Two things here are important. First of all, close your eyes and do not look at the screen while you perform this step. Harmonix should never have put the moving note and target into the calibration screen here as it misleads people into looking at the screen and not playing to the calibration blips. Second, be sure to use the same method of playing that you are using to calibrate. For example, don't calibrate this step by using the buttons on the drum controller if you're going to be playing by hitting the drum pads.

3. You will receive a result which should be positive...something like 30 ms, in my case, with my drum kit. If you have a negative number, you really screwed up as that would mean your inputs are arriving at the console before you enter them.

4. Feel free to repeat step 2 a few times to double check your results or to get a better average setting. You may want to manually set your offset after checking your calibration a few times.

5. Go ahead and select continue to save your calibration settings.

6. Now, we're going to test your settings. Go to practice mode and select a song like "I Think I'm Paranoid" or "Dead on Arrival". Choose to repeat the first couple of intro sections and play them at full speed.

7. The goal is to ensure the timing window for each hit is centered around the targets at the bottom of the screen. Let's use the drums as an example. Calibrating with the red drum, first try hitting the red notes exactly with the sound of the drum in the game and verify that the hit happens when the note is completely centered on the target. Next, try hitting the note earlier and earlier relative to when the note arrives at the target. The hits should start to "fail" when you strike barely before the note gem touches the target. Now, try to hit the note later and later. Again, the hits should start failing when you strike and the note gem has barely left the target. If the hit window is not centered as I've described, then go back and adjust the Lag Compensation settings manually to shift the hit window in the proper direction (leave the A/V offset as is).

That's basically it. Right now I consider this method to be foolproof. It may feel a little weird at first as I had trained myself to play the game and was unconsciously compensating for the game's improper calibration. But now I'm able to hit notes on target with the music and it "feels" right. Better yet, the hits line up with the chart on the screen.

Hope this helps everyone! Happy plastic rocking!
Back to top
View user's profile Send private message
laconic 
 
 



Joined: 24 Jan 2008
Posts: 243
Location: Saint Peters, MO

PostPosted: Sun Apr 13, 2008 1:30 pm    Post subject: Reply with quote

Hooray, someone finally agrees with me about the camera, although I do use a camera for the lag compensation also. Just get the instrument and the screen into the camera's view at the same time. Then go to a BRE. Adjust for the difference between when you hit the drun pad (or strum bar/solo fret) and when it shows on the screen.

This also works for the mic. Hold the mic next to your drum pad. Hit the pad and adjust for time between the hit and when the pitch arrow shows on the screen.

Also, I think step 3 in lag compensation is wrong. + would add to the delay, - subtract from it.
Back to top
View user's profile Send private message XBL Gamertag: illudium
rkuo 
 
 



Joined: 17 Mar 2008
Posts: 142

PostPosted: Sun Apr 13, 2008 5:51 pm    Post subject: Reply with quote

Can you describe how you use the camera for the lag compensation step? You can't reduce the delay that occurs between your controller and the screen, you can only compensate for it by having the game adjust when it counts a "hit". The time when a hit shows up on the screen will always be delayed by your controller + screen lag.
Back to top
View user's profile Send private message
zombie1942 
 
 



Joined: 09 Apr 2007
Posts: 241

PostPosted: Sun Apr 13, 2008 6:58 pm    Post subject: Reply with quote

rkuo wrote:
Can you describe how you use the camera for the lag compensation step? You can't reduce the delay that occurs between your controller and the screen, you can only compensate for it by having the game adjust when it counts a "hit". The time when a hit shows up on the screen will always be delayed by your controller + screen lag.


you cant use a camera for lag compensation... lag compensation is only lag between audio and controller... nothing to do with visuals...

the only way to adjust lag compensation properly is as explained above by "feelling" the window by playing early and late to see when hits start failing...


my favorite song to calibrate lag is RTTH on expert because you can really feel the timing window when you speed up or slow down since there are constant notes to hit.
Back to top
View user's profile Send private message
laconic 
 
 



Joined: 24 Jan 2008
Posts: 243
Location: Saint Peters, MO

PostPosted: Sun Apr 13, 2008 7:33 pm    Post subject: Reply with quote

If you have video in sync with the audio, then it doesn't matter if you adjust to audio or video.
Back to top
View user's profile Send private message XBL Gamertag: illudium
zombie1942 
 
 



Joined: 09 Apr 2007
Posts: 241

PostPosted: Sun Apr 13, 2008 7:38 pm    Post subject: Reply with quote

laconic wrote:
If you have video in sync with the audio, then it doesn't matter if you adjust to audio or video.


it absolutely does... unless youre deaf and/or play with the sound turned down all the way and you play strictly off of visuals

video sync is only the calibration for when the notes cross the line...

lag calibration is the lag between the console registering your hits or strums and the delay at which your audio setup plays the sound of the game... if you play to the beat of the music and your audio calibration is off, you wont be playing the note when the window is centered around the note crossing the line... and youll fail the note.

most people play to the beat of the music.
Back to top
View user's profile Send private message
LocalH 
 
 



Joined: 30 Oct 2006
Posts: 979
Location: Kingsport, TN

PostPosted: Mon Apr 14, 2008 2:19 am    Post subject: Reply with quote

Here's the way I understand it:

A/V calibration is for those who have audio and video out of sync. I'm not sure which way the adjustment works (whether positive values delay audio or video) but that's what it's supposed to be for. See: those who run their audio through a separate receiver as opposed to through the TV. Edit: As I look through the DTAs I see "; Empirically we need to shift the audio result by this amount to get a consistent result, ie the audio hitting when you see the video." so there's your answer there.

Lag compensation is meant to correct for the delay between the time the console outputs the video signal and the time the image appears on screen due to processing in the set. This is why most SD CRT sets don't require compensation, although they still might require A/V calibration if you're not using the set's audio. Edit: And as I suspected, internally the game refers to "video_offset".

The controller is not supposed to have any "lag". If it did, you'd have a hell of a time playing many, many other games, especially those that require fast reflexes (even one frame of lag is enough in some games to cause you to lose). If there is lag there then I see it as broken implementation.

Theoretically, Harmonix could automatically calibrate everything if they developed a piece of hardware that contained a photosensitive cell you put in front of your TV and that had a mic that you put near your speakers. The game would treat the set as if it had no processing lag, flash the screen while for one frame at the same time as the click, and calculating the delay between the two. The game would be able to calculate lag compensation by how long it takes the flash to appear on-screen, and the A/V delay based on how far apart the click was from the flash (because A/V delay and processing lag are two separate things, and lag compensation just moves the hit window while A/V calibration shifts the audio relative to the video, or the other way around).

Also, for your method, I would recommend a slight variation on the A/V side of things - record your video using 0ms delay, and then the difference you find in your video editor is what you set the calibration to. There should be no need to guess first then figure the difference.
_________________

Alakaiser wrote:
POST BECAUSE YOU HAVE SOMETHING TO SAY, NOT BECAUSE YOU HAVE TO SAY SOMETHING.
Back to top
View user's profile Send private message
rkuo 
 
 



Joined: 17 Mar 2008
Posts: 142

PostPosted: Mon Apr 14, 2008 4:01 am    Post subject: Reply with quote

LocalH wrote:
Here's the way I understand it:

A/V calibration is for those who have audio and video out of sync. I'm not sure which way the adjustment works (whether positive values delay audio or video) but that's what it's supposed to be for. See: those who run their audio through a separate receiver as opposed to through the TV. Edit: As I look through the DTAs I see "; Empirically we need to shift the audio result by this amount to get a consistent result, ie the audio hitting when you see the video." so there's your answer there.


Yes, this makes sense to me. The A/V offset value is there to bring the audio and video streams into sync.

LocalH wrote:
Lag compensation is meant to correct for the delay between the time the console outputs the video signal and the time the image appears on screen due to processing in the set. This is why most SD CRT sets don't require compensation, although they still might require A/V calibration if you're not using the set's audio. Edit: And as I suspected, internally the game refers to "video_offset".

The controller is not supposed to have any "lag". If it did, you'd have a hell of a time playing many, many other games, especially those that require fast reflexes (even one frame of lag is enough in some games to cause you to lose). If there is lag there then I see it as broken implementation.
Yes, that's probably some bad terminology on my part. It's probably better referred to as Audio/Controller offset or something like that.

However, the point is that the first step brings Audio and Video into sync, and the second step brings the audio and your button presses into sync. If you calibrate visually on the second step then it will bring your video and button presses into sync.

If your A/V offset is off (you can try this yourself by skewing the A/V offset intentionally), then calibrating visually will cause you to have to hit the notes according to the screen and calibrating aurally will cause you need to hit your notes in time with the music.

I do not think the second step should be tied to the video offset at all ... even though the number is designed and displayed that way ... this seems to me to be a screw up on Harmonix's part. It's much easier to calibrate aurally than visually.
Back to top
View user's profile Send private message
LocalH 
 
 



Joined: 30 Oct 2006
Posts: 979
Location: Kingsport, TN

PostPosted: Mon Apr 14, 2008 7:28 am    Post subject: Reply with quote

rkuo wrote:
However, the point is that the first step brings Audio and Video into sync, and the second step brings the audio and your button presses into sync. If you calibrate visually on the second step then it will bring your video and button presses into sync.

Think about that for a second. Ideally, if your audio and video are in sync, then by definition if you sync visually from there, then you'll be synced to audio as well. It all depends on HMX's specific implementation of lag calibration. Also remember that if your TV lags the video due to processing, then it's VERY complicated to handle. Reason being, it is impossible to make such a set display the gem smashing graphics at the same instant in which you are actually hitting them, which is the ideal situation on a glass tube. The only way to get remotely close is through advancing the audio and the hit window such that you're hitting the gems BEFORE they reach the smashers, such that when the TV is done with it's processing the gems would be at "now", as the DTA files refer to it in comments. But, to do it right for high-level players this obviously has to be perfectly synced to at least audio so that you can play on-beat. The problem with that is that on lesser difficulties, people play based on the video, not the audio, which is completely wrong (I see this happen all the time, I'll be playing in public and I'll calibrate RB where it's close enough for me to play relatively on-beat, and lesser-skilled players will be missing almost every note because they're playing purely visually). AFAIK, that problem is insurmountable simply because the way they play, the smashers have to visually activate the INSTANT you hit the gems which is impossible on sets with advanced processing.

To make it appear better visually you can also advance video processing such that instead of displaying the hit before the smashers, it appears to be centered on the smashers, but you're still going to be primarily playing by the audio, because of what I said before. In such a case, audio, video and the hit window will be in sync but there will still be a slight delay between the act of strumming and the visual result, and there is no way around that.
_________________

Alakaiser wrote:
POST BECAUSE YOU HAVE SOMETHING TO SAY, NOT BECAUSE YOU HAVE TO SAY SOMETHING.
Back to top
View user's profile Send private message
rkuo 
 
 



Joined: 17 Mar 2008
Posts: 142

PostPosted: Mon Apr 14, 2008 8:11 am    Post subject: Reply with quote

LocalH wrote:
Think about that for a second. Ideally, if your audio and video are in sync, then by definition if you sync visually from there, then you'll be synced to audio as well.
Yeah, I completely understand this. I've been trying to explain it to people on the calibration thread on the Rock Band forums. This is the reason calibrating the offset via webcam helps so much. If you KNOW for a fact that your A/V offset is correct, then you can get the second calibration phase right by testing the hit window in practice because you know your notes are arriving on beat. My point on this, tho, was that if your A/V offset is not set correctly, then how you calibrate affects how you play. Best situation here, obviously, is to get your A/V in sync.

LocalH wrote:
It all depends on HMX's specific implementation of lag calibration. Also remember that if your TV lags the video due to processing, then it's VERY complicated to handle. Reason being, it is impossible to make such a set display the gem smashing graphics at the same instant in which you are actually hitting them, which is the ideal situation on a glass tube. The only way to get remotely close is through advancing the audio and the hit window such that you're hitting the gems BEFORE they reach the smashers, such that when the TV is done with it's processing the gems would be at "now", as the DTA files refer to it in comments. But, to do it right for high-level players this obviously has to be perfectly synced to at least audio so that you can play on-beat.
Yes but that obviously throws off the whole idea of A/V sync, which is that the notes arrive at the smashers in time with the music. The ideal situation to shoot for is that A/V and your button presses are all in sync so that the gameplay is unadulterated. The result of your hits displaying slightly after the fact is a wash...there's no way around it. Compensating for this would mean changing one of the other settings, which would be much worse for gameplay.

LocalH wrote:
The problem with that is that on lesser difficulties, people play based on the video, not the audio, which is completely wrong (I see this happen all the time, I'll be playing in public and I'll calibrate RB where it's close enough for me to play relatively on-beat, and lesser-skilled players will be missing almost every note because they're playing purely visually). AFAIK, that problem is insurmountable simply because the way they play, the smashers have to visually activate the INSTANT you hit the gems which is impossible on sets with advanced processing.
Yeah I know a few people without "rhythm" and they play visually.

LocalH wrote:
To make it appear better visually you can also advance video processing such that instead of displaying the hit before the smashers, it appears to be centered on the smashers, but you're still going to be primarily playing by the audio, because of what I said before. In such a case, audio, video and the hit window will be in sync but there will still be a slight delay between the act of strumming and the visual result, and there is no way around that.
I think we're saying the same thing here, but in different ways. =) Bottom line is that once A/V are in sync from the first step, what's left to calibrate? The hit window for the controller.
Back to top
View user's profile Send private message
laconic 
 
 



Joined: 24 Jan 2008
Posts: 243
Location: Saint Peters, MO

PostPosted: Wed Apr 16, 2008 4:16 pm    Post subject: Reply with quote

About controller lag (besides the mic):
Rock Bank most likely only polls the controllers once every video frame. My proof is the people that have modified a controller to work with a midi kit. They had to set the puse rate to at least 35 ms to get it to reliably register hits. (30fps = 33 1/3ms). So no matter how good the controller is, there is around 16 2/3ms lag in the game code where it's waiting to poll the controllers again.

For real proof we would need to see the game code, but this is how most games are coded. As for the 16 2/3, it varies on when you press a button compared to when the game polls the controller. But I would set controller lag to no higher (remember, negative number) than -15 to -10.
Back to top
View user's profile Send private message XBL Gamertag: illudium
LocalH 
 
 



Joined: 30 Oct 2006
Posts: 979
Location: Kingsport, TN

PostPosted: Wed Apr 16, 2008 6:33 pm    Post subject: Reply with quote

laconic wrote:
About controller lag (besides the mic):
Rock Bank most likely only polls the controllers once every video frame. My proof is the people that have modified a controller to work with a midi kit. They had to set the puse rate to at least 35 ms to get it to reliably register hits. (30fps = 33 1/3ms). So no matter how good the controller is, there is around 16 2/3ms lag in the game code where it's waiting to poll the controllers again.

For real proof we would need to see the game code, but this is how most games are coded. As for the 16 2/3, it varies on when you press a button compared to when the game polls the controller. But I would set controller lag to no higher (remember, negative number) than -15 to -10.

I don't know how the system hardware itself works but I'd almost guess that there is an interrupt facility that trips a flag when you press a button anywhere in the frame, and the game polls that flag once per frame, so it's not QUITE that bad. If the game was polling the controllers directly then you'd have to be pressing the button exactly during the poll and I don't think that'd work so well in all situations and would lead to dropped input.
_________________

Alakaiser wrote:
POST BECAUSE YOU HAVE SOMETHING TO SAY, NOT BECAUSE YOU HAVE TO SAY SOMETHING.
Back to top
View user's profile Send private message
tw1l1ght 
 
 



Joined: 28 Mar 2008
Posts: 10
Location: Germany

PostPosted: Fri Apr 18, 2008 4:17 pm    Post subject: Reply with quote

I started to try this out yesterday, will continue today... used my digicam for recording from the projection screen. It also does 60fps the webcam cable is simply too short to catch the screen.

In the first screen, do you mean calibrating the white target exactly to the start of the blip in the audio-waveform, or when the blip is done playing? This also does make a good 10-15ms difference for me.

I started calibrating it to the start of the audio-blip, which made a huge difference to the number I got previously without using the camera (up to 75ms less). When I audio-calibrate (closed eyes) on the 2nd screen then I get really high lag settings, which do not match anymore to the game at all (might be me, but I usually got really good rhythm feel). So I adjusted the 2nd screen by testing in practice mode.

However this ends up still beeing very "not so exact"... still fiddling to find good settings for HOs/POs, which I constantly seem to miss in some of the harder songs but not in others. Kinda odd... If it seems good for GGAHT I always miss the BlueReds in the chorus of "Why do you love me", which I'm trying to FC...

I also noticed depending on the settings on the first screen, the second adjusts aswell - so I'm a bit confused. If the 2nd screen really is controller lag, shouldn't it stay pretty much the same within say around +-20ms (human error while strumming) and not change according to the 1st screen?

Well, maybe my digicam is off sync and I should try out the webcam...

I wish HMX would have made this a bit easier to understand and finally nail down.

Cheers,
tw1

*rushing back to the calibration screen, trying to get into top 1000 guitar this weekend*
Back to top
View user's profile Send private message PSN Name: tw1l1ght
rkuo 
 
 



Joined: 17 Mar 2008
Posts: 142

PostPosted: Sat Apr 19, 2008 4:45 am    Post subject: Reply with quote

I'd go for the start of the waveform. But try it out and see how it goes.

The lag offset number on the second calibration phase is relative to the video, not the audio. I think this is misleading, but that's how Harmonix chose to represent it.

So if you try to calibrate to the marker on the screen and not the audio ping, you'll get a more consistent number. (this is testable by intentionally skewing your A/V offset in step 1)
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    ScoreHero Forum Index -> Misc RB Game Discussion 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-2010 ScoreHero, LLC
Terms of Use | Privacy Policy


Powered by phpBB