How to Test Any Tuner App for Accuracy (Using FakePiano)

How to test tuner app accuracy with FakePiano

How to Test Tuner App Accuracy with FakePiano

You can test any tuner app’s accuracy at home, for free, and in just a few minutes by using a deterministic tone generator like FakePiano to provide a known-exact pitch reference. While many tuner apps claim high precision, verifying those claims on a physical instrument is nearly impossible because strings drift, wood breathes, and human technique varies. To truly know if your tuner is accurate, you need a “ground truth” source that doesn’t change: a digital oracle that plays exactly what it says it is playing.

In this guide, we will show you how to use FakePiano (available for free at applicaudia.se/fakepiano) to benchmark StroboPro or any other tuning app you own. Whether you are a professional piano technician, a guitar nerd, or a developer, these steps give you the empirical data you need to trust your gear.

The Problem with Physical Instruments

If you try to test a tuner using a real guitar or piano, you introduce dozens of variables that have nothing to do with the app’s code. A guitar string begins to go flat the moment you pluck it as its tension decreases. This “pitch drop” happens over the course of milliseconds, meaning the frequency at the start of the note differs from the frequency at the end. A piano’s pitch is influenced by the humidity in the room and the age of its soundboard; seasonal humidity swings can move the tuning by several cents across the instrument.

Even the way you hold the pick or the pressure you apply to a piano key can shift a note by several cents. This is known as the “attack transient,” and it creates a burst of noise and shifting frequencies before the string settles into a steady state. When a tuner app claims to be accurate to 0.1 cents (one-thousandth of a semitone), a physical instrument is simply too “noisy” to verify that claim. You cannot use a moving target to measure a high-precision tool. You need a source that is mathematically perfect and stays steady for as long as you need to observe the reading.

Introducing FakePiano: The Tuner’s Ground Truth

FakePiano is a free web-based tool developed by Applicaudia, the creators of StroboPro. It is not just another synthesizer or a simple oscillator; it is a deterministic test oracle designed specifically for tuning analysis and DSP (Digital Signal Processing) verification. Unlike a simple sine wave generator that produces a sterile, unrealistic beep, FakePiano simulates the complex, inharmonic behavior of real acoustic piano strings.

You can find it at applicaudia.se/fakepiano.

FakePiano is monophonic (it plays one note at a time) to ensure the cleanest possible signal for your tuner to analyze. In the world of audio testing, this is critical. If you played multiple notes (polyphony), the overlapping frequencies would create “beating” and interference patterns that could confuse a tuner’s algorithm, making it impossible to tell if the app is inaccurate or simply doing its best to interpret a messy signal.

It lets you select between different “piano profiles” (detailed in a later section). Because every tone generated by FakePiano is calculated with mathematical precision using established physical models, you know exactly what frequency is produced. If FakePiano says it is playing an A4 at 440.00 Hz with a specific inharmonicity coefficient, it is doing exactly that.

Key Features of FakePiano

  • Monophonic Output: to provide a clear, single-frequency path for testing, only one note sounds at a time. Playing a new note instantly stops the previous one, preventing harmonic overlap.
  • 8 Piano Profiles: switch between levels of inharmonicity to see how your tuner handles real-world complexity (detailed below).
  • Cents Jogging: a high-precision control that lets you shift the pitch by as little as 0.1 cents.

How to Test Your Tuner App (Step-by-Step)

To run a valid accuracy test, you will need two devices. Device A will run FakePiano to generate the sound, and Device B will run the tuner app you are testing. Using two devices prevents internal audio routing issues that can sometimes occur when running a generator and a tuner on the same hardware.

Step 1: Set Up the Environment

Open a web browser on Device A (a laptop, tablet, or phone, or just another browser window) and go to applicaudia.se/fakepiano. Ensure your volume is at a moderate level, loud enough for a microphone to pick up, but not so loud that the speakers begin to “clip” or distort the waveform.

Step 2: Enable Audio and Select a Profile

Tap anywhere on the FakePiano interface or press a key to enable the audio engine. By default, it will load the “Upright” piano profile. This profile includes a realistic amount of inharmonicity. For your first test, you might want to switch to the “Ideal” profile. This removes all inharmonicity and provides pure mathematical harmonics (2x, 3x, 4x, etc.). This is the easiest “win” for a tuner app and serves as a good baseline.

Step 3: Prepare Your Tuner

Open StroboPro or your chosen competitor app on Device B. Hold the microphone of Device B close to the speaker of Device A. If you are in a noisy room, try to move to a quieter space to ensure the tuner only hears the FakePiano signal. Environmental noise like an air conditioner or distant traffic can introduce low-frequency interference that might skew your results.

Step 4: Play a Reference Note

Tap a key on the FakePiano keyboard (for example, C4, middle C). Observe the readout on your tuner app. A high-quality tuner should identify the note almost instantly and show it as perfectly in tune (0 cents offset). If the tuner takes several seconds to “settle” on a stable reading, it may have a high latency or a slow FFT (Fast Fourier Transform) window.

Step 5: Test the Cents Jog Buttons

On FakePiano, use the Cents Jog Buttons to dial in a specific offset, such as +5.0 cents.

Your tuner app should reflect this change immediately. If the tuner shows +3 cents or +7 cents when the source is exactly +5.0 cents, you have found a significant accuracy error. Even more telling is if you move the pitch by 0.1 cents (the smallest increment) and the tuner does not react at all.

Step 6: Test Across the Range

Real-world tuning isn’t just about the middle of the keyboard. Play a very low note (like A0, the lowest note on a standard piano) and a very high note (like C8). Many FFT-based tuner apps struggle at these extremes because of the resolution-vs-latency tradeoff in their analysis window (see our 0.1 cent explainer). A strobe tuner like StroboPro is designed to hold its 0.1 cent reading across this entire range.

Understanding the Piano Profiles

FakePiano includes 8 named presets. These profiles change the “B-coefficient,” which determines how much the overtones of the string are stretched sharp. This is a critical test because a tuner that can’t handle inharmonicity will give you a “correct” reading for the fundamental frequency that actually sounds out of tune when compared to the rest of the instrument.

Profile Inharmonicity Level Typical Instrument
Concert Grand Lowest 9-foot Stage Piano (Long strings)
Studio Grand Low 6-foot Parlor Grand
Baby Grand Medium Small Home Grand
Upright Medium-High Standard Vertical Piano (Default)
Console High Compact Vertical Piano (Short strings)
Spinet Highest Very Small Vertical Piano (Highest stretch)
Other Custom Extra Preset for Testing
Ideal None (B=0) Pure Sine/Harmonic Tones

The “Ideal” profile is perfect for verifying the raw frequency detection of an app. The “Spinet” profile is the hardest test for a tuner’s ability to track pitch through extreme harmonic distortion. If an app stays accurate on a Spinet C1 note, its DSP engine is robust.

What Good vs. Bad Looks Like

When testing your apps, keep these benchmarks in mind. Most “needle” style tuners have an internal resolution of around one cent, sacrificing precision for speed. If you move the FakePiano jog wheel by half a cent, a typical needle tuner won’t react at all, or will just jitter in place.

StroboPro, however, is built on a high-definition strobe engine. Our product specification is an accuracy of 0.1 cents. When you use FakePiano to feed StroboPro a signal that is shifted by exactly 0.1 cents, you should see the strobe pattern on the screen begin to drift slowly to the right (if sharp) or left (if flat). This visual movement confirms that the engine picks up that microscopic change in pitch that a needle tuner would miss.

If your current tuner app “jitters” or jumps around while FakePiano plays a steady, mathematically perfect tone, it is a sign that the app’s signal processing struggles with background noise or internal calculation errors. A good tuner should be rock-solid when the input is rock-solid. If the source doesn’t move, the tuner shouldn’t move.

Why Accurate Bass and Treble Matter

Many tuners claim high accuracy but fail in the “extremes.” At 30 Hz (the low end of a piano or a 5-string bass), the distance between notes is only a few Hertz. For example, the difference between A0 (27.5 Hz) and Bb0 (29.14 Hz) is only 1.64 Hz. At these low frequencies, a small error of 0.5 Hz in the app’s math can translate to roughly 30 cents, which is why many bassists find that their tuners “don’t work” on the low B string.

Similarly, in the high treble, the frequencies are so high that many phone microphones and app algorithms “roll off,” losing precision. The harmonics of a C8 note can reach well above 10,000 Hz. If an app isn’t sampling the audio correctly or isn’t designed to handle these high-frequency harmonics, its accuracy will plummet.

Using FakePiano, you can verify if your tuner holds its ground at the very top and bottom of the scale. If it tracks a low A0 steadily and accurately, without jitter or drift, you have a professional-grade tool in your pocket. (StroboPro is specified to 0.1 cent accuracy even at these low frequencies.)

Testing the Attack and Decay

One final test you can perform with FakePiano is to see how your tuner handles a note as it rings out and fades. Use the Sustain toggle to hold a note, or let it decay naturally.

  1. Play a note with a long sustain.
  2. Watch your tuner.
  3. Does the tuner stay locked on the pitch for the full 10 to 15 seconds of the note?
  4. Or does it lose the signal as the volume drops?

A high-performance tuner should track a signal even as it fades into the noise floor. Because FakePiano’s note fades in a predictable, natural way, you can see exactly when your tuner “gives up.”

Conclusion

Don’t take a developer’s word for it: test it yourself. The tools to verify audio claims are now available to everyone. By using the monophonic, deterministic tones of FakePiano, you can remove the guesswork from your tuning setup.

Whether you are checking a $500 hardware tuner or a $5 app, the methodology stays the same: compare the device against a known ground truth. FakePiano provides that truth with 0.1 cent precision and realistic piano physics.

Head over to applicaudia.se/fakepiano today. Open your favorite tuner app, dial in a 0.1 cent offset, and see if your gear can actually hear the difference. If it can’t, it might be time to switch to StroboPro – try it free at strobopro.se, or download the iOS app or Android app.

Frequently Asked Questions

Why is FakePiano monophonic?

Accuracy testing requires a clean, single-point reference. If multiple notes were playing at once, the tuner’s microphone would pick up complex “beating” between the tones, making it impossible to verify the precision of a single note’s detection. Monophonic output ensures that the tuner analyzes one set of harmonics at a time.

I don’t see a Start Audio button on FakePiano. How do I hear sound?

To comply with browser security policies, audio is disabled until the user interacts with the page. There is no dedicated button; simply tap any key on the screen or press a key on your keyboard, and the audio engine will initialize instantly. Once initialized, sound will play for every subsequent note.

Why does the cents readout turn green?

In FakePiano, the readout turns green when the pitch offset is exactly within ±0.1 cents of the target. This color change signals that you have reached the maximum precision allowed by the interface and are providing a “perfect” reference signal.

Can I use FakePiano to tune my real piano?

FakePiano is a simulator and a testing oracle, not a tuning map for your specific instrument. While it mimics piano physics, it is designed to test the accuracy of tuners. To tune a physical piano, you should use StroboPro’s specialized piano modes which can measure the unique inharmonicity of your actual strings.

Why do the different profiles sound out of tune with each other?

They aren’t out of tune; they are “inharmonic.” Real piano strings have stiffness that causes their upper harmonics to ring sharper than their fundamental frequency. The “Spinet” profile has much more of this “stretch” than the “Concert Grand” profile. This is why a tuner must be tested against different profiles to ensure it can handle various types of string physics.

Does FakePiano work on iPhones and Androids?

Yes. Because it is a web-based tool, it works in any modern mobile browser (Safari, Chrome, Firefox). Just remember to turn your device’s silent switch off and ensure your media volume is up so you can hear the tones.

Is StroboPro’s 0.1 cent claim proven by FakePiano?

StroboPro’s 0.1 cent accuracy is our official product specification. FakePiano is the tool we provide so that users can independently verify this claim, and see how other tuners compare, using a controlled, mathematically exact source. It provides the evidence, but the accuracy itself comes from StroboPro’s proprietary strobe processing engine.

How often should I test my tuner app?

Generally, once is enough to verify the quality of the app’s engine. However, if you update your phone’s operating system or get a new device with a different microphone, it is a good idea to run a quick test on FakePiano to ensure that the new hardware isn’t introducing any latency or frequency response issues.

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *