Gazebo's Syncing Tutorial

Answering all questions about r21freak and r21/ITG.
Feel free to ask questions/add information.

Moderator: Admins

Gazebo's Syncing Tutorial

Postby Gazebo on Wed Jun 29, 2011 3:55 pm

Cross-posting some old guides of mine. The writing style is more like a tutorial than a reference, so it may be kind of long-winded. But I hope it will help people figure out the more mathematical details behind mute's syncing method.

Syncing made easy (kind of)

I use mute's syncing method, which is explained on r21freak in very little detail.  In this guide, I hope to elaborate on this method and add some of my own touches, and hopefully this method will lessen the initial pain of syncing for the new stepper.

First a few introductory notes of scolding:
  • Having a BPM that is off by 0.010 is not acceptable.  If your BPM is set at 140.010 while the actual BPM is 140.000, over the course of two minutes, your song will drift early by around 9 ms, which is noticeable.  And don't even get me started by calling a BPM estimate to the nearest 0.100 "close."  Using 140.100 BPM for a 140.000 BPM song will cause an 86 ms drift after two minutes, which means if you step perfectly on beat, you will end up with a great.  Bottom line is, try to get your BPMs as exact as possible.  Stepmania rounds to the nearest 0.001 BPM by default, so that is the level of accuracy we aim to get.
  • Syncing by ear or by keyboard FA is (in most cases) not acceptable (at least to me and mute).  As long as your waveforms are friendly, nothing beats mute's visual syncing method.

This guide assumes that you have a song without weird BPM changes and with minimal drift.  In the case of weird BPM changes, you'll need cut the song into pieces and perform the steps below for each piece.  For drifty songs, the easiest solution I can offer for now is don't step the song.  It is possible, but requires techniques beyond the scope of this guide.

Step 1: Open the file Stepmania>Data>Stepmania.ini, and set GlobalOffsetSeconds = - 0.012 (note the negative value).  This will likely force your keyboard FA and assist ticks to be offsync, but your Stepmania will be synced with a generic ITG machine with a pad.

Step 2: Calculated the estimated BPM of your file using MixMeister BPM Analyzer.  Note that this value is an estimate.  We will perform diagnostics later to obtain the exact BPM.

Example:

[Reveal] Spoiler: Step 2
Here is what I get in MixMeister for the file I'm currently syncing (Lollipop by Aqua)

Image

The integer value is a good sign in general with electronic music.  Often but not always this value turns out to be exact, and often but again not always MixMeister may give you a value like 138.99 which suggests that the actual value might really be 139.00.


Step 3: Open up your file in Stepmania Editor and set your BPM according to the MixMeister value.  In SM 3.95 I can simply go to the "Edit BPM Change" menu.

Step 4: Now it's time to find the offset.  Find the first "strong" beat in the music (i.e. sharply defined waveform) and move your cursor in Stepmania to the corresponding beat (note that in SM, the first beat is beat 0, so the beat labeled 4.000 is the fifth beat of the song, after four beats have elapsed).  To clarify, a lot of the time, this beat is the very first beat of the song, which is most convenient, but sometimes a song will start quietly and build up.  You'll want to count how many beats go by until that point and move your cursor to that beat (for most cases, it should fall right at the beginning of a measure).

Step 5: Now go to your song in Audacity and find the waveform peak that corresponds to that point in the music that you decided on.  Zoom in until the resolution is 0.010 s per tick, and position the cursor a little bit to the left of the waveform peak.  Note the time value given at the bottom of Audacity, and write down both the beat number as given in Stepmania and the time as given in Audacity.  The amount of space you leave between the cursor and the peak will depend on the shape of the waveform itself, along with other factors like personal bias towards earliness/lateness of sync.  Refer to my example for the amount of space I give.

Example:

[Reveal] Spoiler: Step 5
My song has a quiet beginning, so I am skipping ahead 48 beats (which I counted by listening) and syncing at that point.

Image


Step 6: Now go back to Stepmania and notice the "Current sec" on the right side.  Use F11/F12 to adjust the offset (hold down Alt for finer tuning) until that value matches the value given in Audacity (when rounded to the nearest thousandth of course).

Example:

[Reveal] Spoiler: Step 6
Image


Step 7: Now it's time to perform some diagnostics to check if the BPM is correct (or in the case of a slightly drifty song, the best possible BPM).  First, play a little bit of your song in Stepmania to check if the BPM is at least close.

Step 8: The goal is that the waveform peaks match the second values as given in Stepmania at all points in the song.  There are many specific methods of doing this, and it's going to vary from song to song, but for this example, with its presumably constant BPM, what we will do is find the last "strong" beat in Audacity and note the time value.  Remember to zoom in to 0.010 s resolution and try to leave roughly the same amount of separation between your cursor and the peak as in Step 5.

Example:

[Reveal] Spoiler: Step 8
There are some beats in my song that come after this, but aren't as well-defined.  As long as you find a nice-looking beat that comes as late in the song as possible, you'll be in good shape.

Image


Step 9: Now scroll way down in Stepmania until the "Current sec" value is either the same or almost the same as the time value you just obtained.  (Warning: Be careful if the initial BPM estimate was way off, as a beat may have been skipped somewhere.)  If the value is correct, then move to Step 11.  Otherwise, note the "Current beat" value in Stepmania and move to Step 10.

Example:

[Reveal] Spoiler: Step 9
Image


Step 10: Let's now do some math to find the exact BPM.  Remember the values you wrote down for "Current beat" and "Current sec" at the offset point?  Find the difference between the two beat values and write it down.  Then find the difference between the two time values (from Audacity, not from Stepmania where the later value is incorrect) and write it down.  Now divide the beat difference by the time difference and multiply that result by 60.  Round to the nearest thousandth and there's your value!

In mathematical terms:

Image

Example: After some Stepman math, I get BPM = 60 x (470 - 48) / (203.315490 - 21.151533) = 138.9957, rounding to 138.996.

Step 11: Adjust your BPM if necessary, making sure to go back to your offset point and changing the offset until the "Current sec" value matches there too.  Now in Audacity, locate "strong" peaks at various points in your song and check that they match with the "Current sec" value in Stepmania, following the method already used twice previously.  If the matching is good, then you're done!  If not, either the BPM value is still wrong and you'll need to start again, possibly using different reference points, or the song drifts, which is okay as long as the peaks don't go off by more than a few milliseconds.  If the drift is large, the solution to that problem is beyond the scope of this guide.  Anyway, at this point, hopefully you have a synced song and are ready to cut!
My simfile archive at DivinElegy
User avatar
Gazebo
90%
90%
 
Posts: 1920
Joined: Thu Dec 30, 2010 3:53 pm
Location: The land of bad fourm posters

Re: Gazebo's Syncing/Cutting Tutorials

Postby mudkyp on Wed Jun 29, 2011 4:52 pm

I use method 2 for cutting, and I plug the numbers into audition and create clips of music I want to cut. Then I open a new file and then paste them in the order I want them to be in.

Also for method 2, you might to want to note that you want your global offset to be 0.000 when cutting, as it will match the actual current second and not one that is 12ms off of what you want to cut (making your cutting a little bit off of what you want, though still consistent in sync)
DG Forums --You Should Register!
FURR wrote:i guess this song was Like *Meat*
lol insane : fantastic count
that song is too long and hard )
how'd you think should i pass songs 12+Expers with high BPMs(Meat like that song)
User avatar
mudkyp
80%
80%
 
Posts: 1073
Joined: Wed Feb 24, 2010 4:09 am

Re: Gazebo's Syncing/Cutting Tutorials

Postby mute on Thu Jun 30, 2011 4:25 pm

I hate to make a faggoty "durr, your method sux" comment (hypocritical, I know), but your song cutting section is really overcomplicated. There's no reason to do math-based cuts when you can just drop a song into Acid/GarageBand, set the bpm so everything lines up, and cut/move stuff around while having stuff snap perfectly to beat/measure markers.
User avatar
mute
100%
100%
Former Staff
Former Staff
((( dx_xb )))
((( dx_xb )))
Comp V - 3rd
Comp V - 3rd
 
Posts: 2216
Joined: Mon Jun 11, 2007 2:07 am

Re: Gazebo's Syncing/Cutting Tutorials

Postby Gazebo on Thu Jun 30, 2011 4:42 pm

Yeah, you're right... I should do that, haha... I removed the cutting tutorial so as to not create confusion
My simfile archive at DivinElegy
User avatar
Gazebo
90%
90%
 
Posts: 1920
Joined: Thu Dec 30, 2010 3:53 pm
Location: The land of bad fourm posters

Re: Gazebo's Syncing Tutorial

Postby TEEX on Thu Jun 30, 2011 5:21 pm

What, why? Yeah, math is a much more tedious alternative to using a program, but not every person has a Mac with Garageband at their convenience and not every Windows user has Acid. Not everybody wants to put a dent in their wallet just to be able to make cuts for simfiles. If Gazebo's method works (and at no cost), why shouldn't people with basic calculating skills (and patience) be able to read it and use it?

Certainly, there's more than one way of doing things.
User avatar
TEEX
102%
102%
 
Posts: 4008
Joined: Mon Jul 09, 2007 5:57 pm

Re: Gazebo's Syncing Tutorial

Postby mute on Thu Jun 30, 2011 5:27 pm

TEEX wrote:not every person has a Mac with Garageband at their convenience and not every Windows user has Acid. Not everybody wants to put a dent in their wallet just to be able to make cuts for simfiles.

Any Mac user with $15 can purchase GarageBand from the App Store, and any Windows user with a torrenting client can easily acquire Acid for free. There are really no excuses.
User avatar
mute
100%
100%
Former Staff
Former Staff
((( dx_xb )))
((( dx_xb )))
Comp V - 3rd
Comp V - 3rd
 
Posts: 2216
Joined: Mon Jun 11, 2007 2:07 am

Re: Gazebo's Syncing Tutorial

Postby Gazebo on Thu Jun 30, 2011 6:37 pm

The Acid/Garage Band method has to be the easiest and most reliable, I imagine (I just haven't quite figured out how to make Garage Band cooperate with me).

I'll still omit my SUPER AUDACITY cutting tutorial here, but those who are curious can just look at the original post here: http://ddrillini.com/forum/index.php?topic=233.0
My simfile archive at DivinElegy
User avatar
Gazebo
90%
90%
 
Posts: 1920
Joined: Thu Dec 30, 2010 3:53 pm
Location: The land of bad fourm posters

Re: Gazebo's Syncing Tutorial

Postby bloopfish on Fri Jul 22, 2011 6:05 pm

Hey Mute, would you mind posting your method on syncing/cutting songs on Acid and Garageband? Im sure it would be easier doing it that way, but i would like to be walked through it. :)
bloopfish
0%
0%
 
Posts: 1
Joined: Fri Jul 22, 2011 5:59 pm

Re: Gazebo's Syncing Tutorial

Postby mute on Mon Jul 25, 2011 1:19 pm

bloopfish wrote:Hey Mute, would you mind posting your method on syncing/cutting songs on Acid and Garageband? Im sure it would be easier doing it that way, but i would like to be walked through it. :)

I don't use Acid, only GarageBand (and occasionally Logic). I recommend Acid to Windows users since it's analogous to GarageBand. The programs are so piss-easy to use that anyone should be able to teach themselves how to use it. You're only using the programs' most basic functions which can be found by poking around the menus for a couple minutes. Everybody I know who started using Acid had no difficulties picking it up quickly. I seriously doubt I'll ever make an in-depth song cutting guide. Lord knows people would just make garbage posts about how wrong it is or how much better their method is.
User avatar
mute
100%
100%
Former Staff
Former Staff
((( dx_xb )))
((( dx_xb )))
Comp V - 3rd
Comp V - 3rd
 
Posts: 2216
Joined: Mon Jun 11, 2007 2:07 am

Re: Gazebo's Syncing Tutorial

Postby NotChaosUnown on Mon Jul 25, 2011 1:58 pm

mute wrote:The programs are so piss-easy to use that anyone should be able to teach themselves how to use it.

This is very true. Seriously, once you drop your tune in it's like you instantly understand.
Image
In Progress...

Older Packs
Noise Anthology | Omnifarious
User avatar
NotChaosUnown
90%
90%
 
Posts: 1508
Joined: Fri Mar 25, 2011 9:25 pm
Location: Wheeling, IL

Re: Gazebo's Syncing Tutorial

Postby mudkyp on Mon Jul 25, 2011 9:30 pm

NotChaosUnown wrote:
mute wrote:Lord knows people would just make garbage posts about how wrong it is or how much better their method is.

This is very true. Seriously, once you post your opinion it's like I'm required to tell you that mine is better, but not how.
DG Forums --You Should Register!
FURR wrote:i guess this song was Like *Meat*
lol insane : fantastic count
that song is too long and hard )
how'd you think should i pass songs 12+Expers with high BPMs(Meat like that song)
User avatar
mudkyp
80%
80%
 
Posts: 1073
Joined: Wed Feb 24, 2010 4:09 am

Re: Gazebo's Syncing Tutorial

Postby NotChaosUnown on Mon Jul 25, 2011 9:37 pm

Someone's cranky.
But what? It's really that simple to to use Garageband.
Image
In Progress...

Older Packs
Noise Anthology | Omnifarious
User avatar
NotChaosUnown
90%
90%
 
Posts: 1508
Joined: Fri Mar 25, 2011 9:25 pm
Location: Wheeling, IL

Re: Gazebo's Syncing Tutorial

Postby Genoisawesome on Mon Jul 25, 2011 9:38 pm

Wow, first ChaosUnown gets out of character, now it seems like mudkyp is having his manperiod.
SM MaxX wrote:I just call it Speedcore in a can
User avatar
Genoisawesome
100%
100%
 
Posts: 2898
Joined: Thu Mar 11, 2010 1:26 pm
Location: Limbo

Re: Gazebo's Syncing Tutorial

Postby Xythar on Mon Jul 25, 2011 9:39 pm

I posted how I do my song cuts but nobody noticed. That's okay though, I'm slowly coming to grips with the realisation that I may actually be a ghost.
ImageImage
Psychotik wrote:
Valex wrote:my clock doesn't display AST (anime standard time) :(

AST is always an hour later than it should be, so you're constantly running with toast in your mouth.
User avatar
Xythar
70%
70%
 
Posts: 928
Joined: Wed Jun 15, 2011 12:29 am
Location: Melbourne, Australia

Re: Gazebo's Syncing Tutorial

Postby NotChaosUnown on Mon Jul 25, 2011 9:46 pm

Xythar wrote:I posted how I do my song cuts but nobody noticed. That's okay though, I'm slowly coming to grips with the realisation that I may actually be a ghost.

I saw it, but in my case, I can't really use it due to my OS limitations (As far as I'm aware of, for all I know there could be an unknown build of it for my computer somewhere). Don't be so down on yourself, though. You did a good job explaining it.

Genoisawesome wrote:Wow, first ChaosUnown gets out of character, now it seems like mudkyp is having his manperiod.

The only difference is Mudkyp is always on his manperiod. :3
Image
In Progress...

Older Packs
Noise Anthology | Omnifarious
User avatar
NotChaosUnown
90%
90%
 
Posts: 1508
Joined: Fri Mar 25, 2011 9:25 pm
Location: Wheeling, IL

Next

Return to FAQ and Guides

Who is online

Users browsing this forum: No registered users and 0 guests