RT Analyzer – a new tuner inspired by the classic RTTATuner

Hello everyone,

I would like to introduce RT Analyzer, my first iOS app, developed with the assistance of AI.

The app is a tribute to the classic RTTATuner, which is unfortunately no longer being updated. Like RTTATuner, RT Analyzer measures pitch over time and accumulates the results for every note, making it useful for examining the intonation of an instrument across its full range.

Its pitch detection is based on the Flutini approach used by RTTATuner. The app first identifies the approximate note quickly, then refines the fundamental frequency using MPM and spectral information. The detection strategy is adjusted for different instruments:

  • Wind mode: prioritizes stable, precise measurements of sustained notes.

  • String mode: responds more quickly and accounts for vibrato.

  • Piano mode: analyzes the attack and harmonic structure, including the inharmonicity of piano strings.

It also supports equal temperament and just intonation, accumulated note statistics, harmonic spectrum analysis, adjustable accuracy thresholds, and measurement history.

This is my first app, so I would be very grateful for your suggestions, test results, and reports of anything that could be improved—especially comparisons with the original RTTATuner.

Special thanks to Terry McGee for developing and sharing the original RTTA concept, to Scott Turner for creating Flutini, and to Graeme Roxburgh for developing the RTTA Polygraph/Tartini-R workflow. I would also like to acknowledge Philip McLeod and Geoff Wyvill for their work on Tartini and the McLeod Pitch Method. Their research and generous sharing of these ideas made this project possible.

The latest iOS version is 0.7.4 and can be downloaded from the App Store:

The Android version still needs a little more testing. When it is ready, it will be released on my website:

https://www.galeonwhistles.com

1 Like

About a year ago I put together a similar free web-based RTTA. After looking at yours, I added the wind, string, and piano optimized detection modes as well. The tool is open-source, source on my GitHub repo.

I’m curious how you’re testing your app, that’s been a challenge considering that my web-based version has to run on multiple browsers across Mac, Windows, iOS, and Android, and the underlying audio implementations can be a bit different in terms of input levels and other properties.

At least on a native iOS app, you can be assured of some standardization across the devices.

In general, to measure pitch, differences in microphone input level between platforms and devices usually do not have a major effect, as long as the signal has a reasonable SNR and is not heavily clipped. Pitch detection mainly depends on the periodicity and frequency of the signal, so moderate differences in microphone gain are usually acceptable.

On iOS, RT Analyzer uses Apple’s Measurement mode. This mode is intended for audio measurement and tries to minimize additional signal processing by the system, which makes it well suited for pitch and spectrum analysis. Microphone gain is generally not something the app needs to adjust directly.

Android does not have such mode. so I disable the automatic gain control, echo cancellation, and noise suppression, the input path is already fairly close to an unprocessed signal. However, different Android devices may still apply different microphone gain or low-level processing depending on the manufacturer and audio hardware.

On Windows, microphone behavior depends more heavily on the sound card and its driver. Some built-in audio devices may include automatic gain, noise reduction, echo cancellation, or other voice-processing features. WASAPI mode can reduce the influence of some of these processing stages, although it cannot always bypass processing that happens inside the hardware or driver itself.

macOS is generally more consistent, but the built-in microphone can still involve some system-level processing. Using the normal Core Audio input path and avoiding voice-enhancement modes usually provides a stable signal suitable for pitch measurement.

For a web-based version, the browser only provides access to an abstracted audio input layer. A web app normally cannot directly select WASAPI on Windows or Core Audio on macOS. It can request that automatic gain control, echo cancellation, and noise suppression be disabled, but the final behavior still depends on the browser, operating system, and hardware.

Overall, if the application is only measuring pitch, input-level differences between platforms are usually not the main concern. As long as the input is clean enough and not overloaded, pitch results should remain reasonably consistent.

1 Like