A new tuner app

I have never programmed for Android or iOS, but is it not the case that there are two parts to the programming:

a) the computing part

b) the display of the results part – the environment.

If that is so, a) would probably be written in a language that can be used in different enviroments: Android, iOS, even Linux, MACOS and Windows.

If a) is writable in a flavour of C, there will probably be well known routines for the maths that can be used.

When I programmed on my NeXT, the CCRMA Music Kit fitted right into Objective C.

David

Dumb question: why not build the app completely OS independent, then design a library of functions for interfacing to the actual device? One could then get the library working on iOS or Android first, then migrate it to the other OS? Once done, all new features automatically work for both OS simultaneously. Adding support for another platform just means porting the interface library. MacOS or Windows or especially Linux could be supported later on.

Following up on both Davitt’s idea of a program that helps tuners hear intervals and David Pickett’s plea that we help people learn to tune by ear, I have what I think is a modest suggestion.

I am one of those people who uses machines to generate tones, either as a glorified tuning fork to give me a single reference pitch or to generate a bearing octave for me when I’m pressed for time or in a noisy environment. I rarely use the needle/strobe functions of these machines; when I do so, it is generally only as a secondary check of my own ear.

I have long dreamed of a tuning app that can simply generate two tones at a time. This, it would seem to me, would be useful for experienced tuners following a standard tuning plan/order, and I think that it would stave off some of the errors that Davitt describes. Setting a temperament by playing a chromatic scale is bound to lead a tuner astray sometimes, since the tuner isn’t listening to the core intervals. And I think that it would be REALLY useful to people new to tuning by ear. Many people have never heard a perfectly in-tune third (or a perfectly in-tune fifth, for that matter). A machine that can at the push of a couple of buttons generate a meantone fifth, then a Valotti fifth, then a wide fifth for French temperaments, then some meantone thirds, and so forth could be a great aid for teaching people how to hear intervals and set them by ear. And it could be a lifesaver for those of us trying to tune quickly and in less-than-ideal environments.

Just in case I’m not being entirely clear, here’s what I’m imagining:

  1. User presses C to generate first reference pitch.

  2. User presses E to generate a third or G to generate a fifth in the programmed temperament.

  3. User presses C again to stop it from sounding and to hear only the E/G if necessary.

  4. User presses C a third time to hear the interval again.

And so forth around the temperament’s circle.

JRL

1 Like

Jonathan’s idea is similar to the electronic organ that I built about 30 years ago. Ths was before I built my first harpsichord and it was intended to show me the difference between tunings and temperaments. In addition to being able to be tuned in any two of a list of tunings, with a piston to switch between them, I had another piston which would change the accidental applied to the last note played. Thus, play an A-flat, hit the piston, and all keys of that name changed to G-sharp. I learned a lot from that home practice organ, but I couldnt claim that I was able to memorise the beating rates of the various intervals.

1 Like

I also have searched for a “good” tuning app, as substitution for Pitchlab.
So far I have found three promising apps:

  • Linotune (https://linotune.com), sadly rather expensive, but the developer is listening to userinput, and there is an almost free testing version. The nice thing is that it can listen to various partials, and you can choose them, wih strobe.
  • APTuner (https://www.bromsaudio.com/), there is an old Windows version free to download, but I do not have a mobile windows device. At the moment the app is rather simple, but the developer is busy with making temperaments available again, and is also willing to listen to userinput
  • Eartune (https://www.piparte.com) by Geert Karman, which does exactly what a few people ask for, namely listen to intervals!

Dear All

Let’s aim for harpsichordists be able to confidently and competently tune their instrument.

@Davitt correctly observes the necessity for interval comparison as an integral part of the tuning process. Those instruments which are tuned completely and solely to machine are rarely tuned adequately.

@EdS mentions Pianoscope, which I only give a ⭑ ⭒ ⭒ ⭒ ⭒ [one star] rating for our early keyboard purposes. Besides its expense, it has no tone generation, and suffers from the fact of having to program an entire instrument in before you can tune.

Those who play a musical instrument are musicians. Music tickles the brain through the ears. It is much easier matching pitches by ear than looking at a wandering needle, and for now at least—with a little training—the human brain is a much more sophisticated processor than any machine.

There is a wonderful Japanese app which I have highly recommended to many students and others. It’s an excellent eartraining app rather than a tuning app, so I haven’t included it on my apps page, but it’s a lot of fun and I think I must include it on my next update:

Pitch trainer — Harmonize on the App Store

And yes, it’s also available for Android:

Pitch trainer - Harmonize on Google Play

@jonathanrhodeslee would like polyphonic tone generation in an app. Tunable has this, but the levels of IM distortion are high in tiny phone speakers—also a problem with Harmonize.

@andro asks for my tuning app wishlist to appear directly here:

Carey’s tuning app feature wish list…

  • Simple but intelligent display
  • Status bar remains visible
  • No gaudy colors
  • Fully-functioning free trial for paid apps, with ads if absolutely necessary
  • Use of real typographical sharp (♯) and flat (♭) instead of hash (#) and letter (b)
  • Reasonable number of popular pre-programmed temperaments (maximum 30 or 40?)
  • Selected reference pitch for A4 must remain constant when temperaments other than ET selected
  • If not within the app itself, data available on developer website for source of each temperament and links to further information
  • Ability to edit existing temperaments and define your own
  • Transposition of temperaments
  • Detectable reference pitch
  • Automatic or manual note selection
  • Adjustable A4 (a’) calibration in 0.1Hz increments from at least A390 – A470
  • Selected pitch and temperament remain visible on display when in operation
  • Wide range tone generator with selectable waveform
  • Easily-selectable note, and quick ON/OFF of tone
  • Practical in-app help without typos or grammatical errors—or at least link to help page on developer website
  • Respect iPhone Mute mode except for intentional tone production
  • Not drain battery when iPhone put to sleep while app still active

Regards

Carey

How about something visual that shows relative sizes with John Brombaugh’s “Temperament Units”?
https://www-personal.umich.edu/~bpl/larips/tunits.html

The point is not a bunch of numbers, but shapes where we can see that some of the fifths are tempered more than others, and in which direction. The TU system is using finely graded logarithms to reduce everything to addition or subtraction. The numbers are big enough so we can really see the differences of size between the commas.

Briefly, the Pythagorean Comma is split into 720 little pieces that get distributed among all 11 of the fifths and the diminished sixth, closing the circle. He picked 720 because it makes it very easy to sketch out all the relationships among fifths and thirds without having to use any fractions. The Syntonic Comma is 660. Both 720 and 660 are easily divisible by 2, 3, 4, 5, 6, et al. So, if your temperament asks you to temper certain fifths by some fraction of one of the commas, it is easy to do it all with integers. The relative sizes of all the major thirds are simple, too, adding up four consecutive integers around the circle and then seeing how that compares with -660.

A fifth tempered by -60 or -55 is wavering scarcely noticeably: 1/12th of those commas.

In the app, represent the various values of TUs as some shape or color to indicate some intervals being tempered more than others. That’s to encourage checks and listening to intervals for quality, not merely copying pitches off a dial.

It’s useful in testing octaves, too: knowing what the qualities of the intervening fourths and fifths within that octave are supposed to be. The matching qualities (where appropriate) show that the octave is really pure, and not slightly too wide or narrow.

It gets away from cents and the near-absurdity of decimal portions of cents. It also gets away from counting specific beat rates, because those are dependent on specific frequencies everywhere.

The user is encouraged to perceive shapes and relationships, and the matching of quality. The numbers might disappear within the perception of these shapes, because tuning is about listening, not about calculation.

If the use of teeny tiny logarithms seems too modern an idea (because “cents” are late 19th century), it isn’t. Look up Joseph Sauveur’s “merides”, “eptamerides”, and “decamerides” where he was splitting up the octave to 3010 equal parts logarithmically. 43 x 7 x 10. There are about 2.5 decamerides in a cent. And that was in the 1690s.

Bradley Lehman

@Jeroen, as stated, this topic is for feature requests for anew tuner app, not comparisons and evaluations for existing programs.

Just on a technical point, the various posters who suggested platform independent development should take note of the fact that this is very difficult, not simple at all and is evidenced by the large number or tuners and other apps that are only available for one platform or another. We wish it were so easy!

@Pickett It is way too early to be thinking about implementation details such as choice of programming language.

But in a nutshell, iOS apps are developed in Objective C (yes it is still alive) and Swift, an Apple developed language.

Android apps are developed in any of Java, Kotlin, C++, C#, LUA, Javascript.

You can see the two lists are completely different.

Yes, I have found several high quality audio DSP computation libraries, open source.

As to architecture, again nothing to be concerned about at this stage, but you left out interfacing to the hardware - accessing the microphone and disk storage. That is quite different for the two phones.

Without wishing to skite, over 40 years I have learned about 40 languages, from the early days to the most modern functional programming languages. So the language choice is not a barrier for me. But this is more or less off topic!

@hpschdNU Thanks for your list. I will certainly consider all items.

But ‘no gaudy colours’ is subjective. I like Airyware colours, and others here have said so also. So that can’t be a user requirement. What can be is the use of themes and colour schemes, light and dark mode (popular now) and similar.

A this point desired app features should be platform agnostic. For example, integration with iCloud, or, for that matter, Google Drive, is out.

This feature would suit my needs perfectly.

About Pianoscope, Carey Beebe wrote “@EdS mentions Pianoscope, which I only give a ⭑ ⭒ ⭒ ⭒ ⭒ [one star] rating for our early keyboard purposes. Besides its expense, it has no tone generation, and suffers from the fact of having to program an entire instrument in before you can tune.”

This is not correct. Current Pianoscope can synthesize a very accurate imitation of each note, based on the sampled notes that begin the program. This sampling is very fast, and allows the program to make adjustments for any irregularities in the string scale. It would seem this is ideal for tuning by “sound matching.” (It also offers a graphic display of the relative amplitude of partials over time.) And Pianoscope offers a two week free trial.

The cost is such that I doubt anyone but a professional tuner will want to buy it. But for two weeks you can explore the capacities of the most advanced digital tuning app, and it comes close to offering everything on Carey’s want list. For someone designing a tuning app, it could be very helpful to see how this designer has solved common problems in very user-adaptable ways.

The app was developed openly with an on-line community of piano tuners, and the developer has eagerly sought criticism and suggestions, making many upgrades over the last three years. Carey may be familiar with an early version.

I am not going to spend USD$599 to look at features of an app. Sorry. I simply can’t afford it for a start.

Will it take you more than two weeks?

Yes, you are right. I have done some programming for the Android system and just poked around in IOS, and for the UI components, the two are very different. I think the problem I got hung up on is the idea that whatever is created must fit on the PHONE of anyone who wants to use it. While this is a really big “WANT” for most apps, and a big frustration for many (when whatever it is doesn’t run on iphone or only on iPhone) it is a red herring. I just purchased a 7" android tablet that has everything an Iphone has except a cellular transceiver system. It is small, light, and cost UNDER $100.00. I suggest that if this specialty audience can get all the tuning features they want on a convenient sized device that is low-cost and has an open architecture, then they should be happy. Requiring that it also must run on whatever is in their pocket is, to my mind, asking too much. It would be nice, but if that stops it from existing, does it serve any real purpose?

I don’t have any Apple gear at this point and no iPhone. [Which I will have to address to make an iOS app version.]

Indeed, and as suggested by David Pickett, the few times I have used an electronic tuner it was only to set the temperament, i.e. 12 successive semitones, which in the harpsichord are best tuned NOT in the middle of the keyboard (practical for a piano where we tune by tempering fifths, but too high a pitch to judge the all-important major-third beats) but in the F-clef region. The advanced electronic tuners cater for many different models of piano and the need for proper “octave stretching” in the extreme bass and mainly extreme treble to cater for inharmonicity. In the harpsichord octaves are not a problem and it is easier, even for a novice, to tune them by ear. Therefore, an electronic tuner for harpsichordists (and organists) can dispense with all that complicated and multifarious octave-stretching and centre on “the bearings”.

I fully second Andrew Bernard observation (I also happened to be a seasoned computer programmer, though completely unfamiliar with Android!). AFAIK platform-independent software is only worth developing for very-large-scale teamwork projects. Otherwise, the production of the necessary OS-dependent routines will take a disproportionate effort in the whole project.