Skip to content

Instantly share code, notes, and snippets.

@vivaria
Created December 14, 2024 01:00
Show Gist options
  • Save vivaria/0a86d6f87c46caacf2b97270691c6b7a to your computer and use it in GitHub Desktop.
Save vivaria/0a86d6f87c46caacf2b97270691c6b7a to your computer and use it in GitHub Desktop.
Guide to Calibration in Taiko: the Drum Master (TDMX, XB1, PC)

Calibration in Taiko: the Drum Master

Calibration in rhythm games is difficult because it is very complicated. There are a lot of different parts involved when playing a rhythm game:

  • Digital audio cues (the music, the hitsounds) and how your brain processes them
  • Analog audio cues (the physical sound of tapping the controller/keyboard/drum, other audio distractions in the room) and how your brain processes them
  • Visual cues (the moving notes, the timing judgment words) and how your brain processes them
  • Your own personal skills and abilities (sense of rhythm, physical ability to press keys/buttons (i.e. muscle mass, energy), muscle memory for specific songs and patterns, etc.)
  • Audio latency (the time it takes between a computer generating a digital sound, your speakers/headphones generating physical vibrations in the air, and those vibrations reaching your ear)
  • Visual latency (the time it takes between a computer generating an image, your monitor generating light, and that light reaching your eye)
  • Controller latency (the time it takes between you pressing a button, your controller sending the signal to your computer, and your computer registering a hit)
  • Processing latency (the time it takes for the game to process inputs and display judgment)

Because all of these different factors combine together into a single feedback loop, it is difficult to isolate a specific part to be able to identify the cause of timing issues. Your brain makes it even harder, because it is constantly compensating for timing issues; if you hit a note late, your brain may subconsciously cause you to hit the next note earlier. But you may overshoot and hit it too early, and so you may compensate by hitting it later. Because your brain is always adjusting, every play will be a little different, making it even harder to identify the source of timing issues.

There are three things you can do to solve this dilemma:

  1. Make changes to your hardware setup to reduce unnecessary sources of latency. (Even if it's only a few milliseconds difference, everything adds up, and overall they will help you focus on the things that you can control during calibration.)
  2. When calibrating, have a plugin/mod compute an objective measure of how early/late you are, so that you can make accurate adjustments.
  3. When calibrating, intentionally disabling sound or visuals to isolate one or the other.

I will go over some tips for all three.

1. Hardware

Audio

The most impactful thing you can do to improve accuracy is to switch from speakers to headphones. This serves two purposes:

  1. Reduces the distance from the speaker to your ear.
  2. Blocks out distracting noises that can make it difficult to focus. (This is the really important part!)
    • The main type of distracting noise is physical hitsounds. If you can hear the click of a controller or the bang of a drum, and you can ALSO hear the digital hitsounds that the game generates, then you brain might get confused. This is because there is a delay between the sound of the physical click/tap, and when the game registers the input to generate a hitsound. So, you hear two rhythms, but they are slightly out of sync, and so your brain will have a harder time tracking the beat you're producing in order to keep rhythm.
    • So, in general, you should choose only 1 type of hitsound (physical or digital). If you choose to listen to the game's hitsounds, then you should use "Closed Back" headphones to block out as much outside noise as possible. However, if you choose to listen to the drum/controller sounds, then you should put your hitsounds on "Silent", and get "Open Back" headphones so that you can better hear the sound of your own controller/drum mixed in with the music. (Drum controller + Silent hitsounds + Open-backed headphones produces the best result in my experience.)

Apart from switching to headphones, the only other thing you can really do is get a monitor with a headphone jack output. If you use a monitor, there will be some delay as the signal travels along HDMI/DisplayPort. So, if your audio comes from the computer, but the video comes from the monitor, the video can get a little out of sync with the audio. But again, this is only a few millisecond and is not mandatory, so you shouldn't buy a new monitor just to use its headphone jack.

Video

There isn't really much you can do with improving visuals besides purchasing better equipment. However, a nice Taiko setup doesn't have to break the bank. Here is my current setup:

  • Monitor: 27" LG UltraGear Full HD 240Hz IPS 1ms (GtG) -- 27GN750-B -- 300CAD, purchased on sale for 250CAD.
  • GPU: GTX 960 (2015)
  • CPU: i7-7600 (2015)

Even with a pre-built computer that is nearly 10 years old, I am able to get a consistent 240FPS, which largely eliminates monitor "ghosting" to the point where I can clearly read the scrolling DON/KA text underneath each note at very high scroll speeds.

Some important specs to note:

  • If you are using HDMI, the version of HDMI matters. If your computer only supports HDMI v1.4, you will not be able to hit high framerates (120Hz, 144Hz, 240Hz). Likewise, if your monitor is UHD/4k, then you will have a harder time hitting high framerates. The sweet spot of price and value is HDMI 2.0 + 1080p, which can go up to 240Hz.
  • As far as response time, there is a lot of misleading marketing. You really want to vet the monitor by looking it up on RTings.com. You want to prioritize monitors that mention things like "Outstanding response time results in clear motion" and "Extremely low input lag". Look at the motion blur pictures and make sure that RTings has rated it highly. (See https://www.rtings.com/monitor/tests/motion/motion-blur-and-response-time for more detail.)

2. Calibration mods

When calibrating, Taiko: the Drum Master does a poor job at giving you precise feedback about how early/late you are. So, we need to use a mod:

  • Download https://github.com/Deathbloodjr/DisplayNoteOffsetStats and place it into your "BepInEx/plugins" folder. Also, make sure that you have BepInEx to create a console window when launching Taiko, so that you can see the mod's output.
  • This mod will output statistics into the console while you play, telling you how early/late you are, while also tracking total offset and average offset. This will allow you to see overall trends in your play.

This mod works on the calibration menu during the "Play Test" test song, so it's very very useful.

3. Calibrating Taiko: the Drum Master

Taiko PC has both "Simple Calibration" and "Manual Calibration". Don't use simple calibration, it doesn't really work.

Manual calibration has two knobs you can turn. They are very confusingly named, but I will try to clarify them:

  • "Adjust music note positions": This controls the visuals. This would be called "Video delay" or "Video offset" in other games.
  • "Adjust music note recognition" This controls the audio. This would be called "Audio delay" or "Audio offset" in other games.

If you want to build an intuitive understanding of what these controls do, crank one of them up to +30 or -30, then play a song with the "AUTO" mode on. AI-don will play the song for you perfectly, getting all GOODs, but you will very clearly see the difference in the audio/video. (When you change the "Video delay", the audio sounds exactly the same, but the visuals will look really weird. Likewise, when you change the "Audio delay", the visuals will be exactly the same, but the audio will be completely out of sync.)

Normally, you have to kind of just feel out what is correct. But, I have come up with a procedure to accurately calibrate both values.

Step 1: Calibrating the audio

Your goal with calibrating the audio is to remove any bias introduced by your eyes, and focus purely on your ears. We'll start by calibrating the audio blind, and then we'll calibrate the visuals later.

  • First, reset the audio offset ("Adjust music note recognition") to 0, and make sure your mod is set up to output note stats in the console window.
  • Next, either cover up your screen with a piece of paper, or shut your eyes, and listen only with your ears.
  • Go into the calibration menu and start the "Play Test" using the Esc/Start button. With your eyes closed, hit the "Don" note 48 times in time with the rhythm, ending on a "Ka". With a little practice, you can easily FC the test song without looking.
  • Then switch to the console window, and look at the results. (You may want to try a few times in a row to see if you produce consistent results. Depending on your hardware, your values will likely be either very positive or very negative.
    • If your results are consistently positive, then you are hitting the notes "early", and so you want to nudge the video offset up to compensate (e.g. +5).
    • If your results are consistently negative, then you are hitting the notes "late", and so you want to nudge the video offset down to compensate (e.g. -5).
  • Repeat the process to see if the results change in the right direction. Your goal is to have an average offset close to 0ms. You will never get exactly 0ms, but you want the game's console log to tell you that some hits were early and some hits are late (+5, -5, +10, -10, +20, -20 are all reasonable results). You basically want to hover above and below the middle, rather than having all your hits be off.
  • You may need to repeat the process several times to check whether the results are consistent.
  • For some sample numbers, on my regular 60Hz laptop, my first attempt (audio offset = 0) had an average offset of +27, and my total offset was +1300. My second attempt (without changing anything) had an average offset of +14, total offset +700. I adjusted the audio offset to be +5, and suddenly my average offset improved to only +1 average, with a total offset of +49. This is SO much better compared to my old numbers!!!

Once you find an audio offset that works for you, DO NOT CHANGE IT. You should leave it alone, and only mess with the visual offset from now on.

Step 2: Calibrating the video

Now that you have determined a good audio offset (with your eyes closed), you can now start playing with your eyes open again!

Calibrating the video offset is a much more subjective process. There is no "correct" value, the visuals are all about what feel right to you. Everyone will have a different preference. To prove this point, there is an ongoing debate in rhythm game communities about whether you should hit the note "on the line" or "above the line" (see tokaku's video: https://www.youtube.com/watch?v=JWj98KJVuAQ). This is the EXACT thing that you are controlling when you change the video offset.

To calibrate the visuals:

  • I actually recommend that you stop playing the calibration song now, and instead switch to normal (official, non-custom) songs.
  • Just play a song like normal, then check the console log and make note of the values. Play a few different songs, and try to see any trends in the offset. (Because you already found the correct audio offset with your eyes closed in Step 1, you now know that any new offset must be due to the addition of the visuals.)
  • The steps very similar to before:
    • If your results are consistently positive, then you are hitting the notes "early", and so you want to nudge the video audio up to compensate (e.g. +5).
    • If your results are consistently negative, then you are hitting the notes "late", and so you want to nudge the video audio down to compensate (e.g. -5).
  • For some sample numbers, my first attempt (audio offset = +5, video offset = 0) had an average offset of -4, and my total offset was -1800. My second attempt (without changing anything) had an average offset of +4, total offset +1800. So... adjusting the visuals is kind of a crapshoot! You could change the video offset to be -15 or +15 or anywhere in between, and still get really good accuracy based on sound alone. So, you just have to play around with it and see what feels right! I ended up on +10, which felt right to me.

Once you calibrate the audio and visuals, I recommend checking the console log every now and then just to see how you're doing accuracy-wise.

One last tip: If you come across a non-official custom song that feels WAY out of sync, it might not be you! Custom song creators might mess up the per-song offset, which is why I recommend to test your calibration on official songs first. If you feel your game calibration is right but you're suspicious of the per-song offset, then message me and we can work together to figure out a better per-song value. Two pairs of ears are better than one! :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment