A new tuner app

So I can see from our present discussions about ET’s that there is nothing at the moment that matches the excellent tuners of the past. Thinking on it, I have 40 years software development experience, although nil in Android or iOS apps. I am about to take the idea raised that one of us should build an app seriously. I am prepared to learn this area.

Now, we all build on the work of others. The DSP and so on is hard. But I found an open source app that I can use as a springboard for development and learning:

So, let us build a set of user requirements and use cases with input from all who are interested here. Submissions welcomed. Obviously for our community having temperaments other than ET is crucial, and a fluent way to input your own. I’d make it keyboard chromatic oriented at first, and leave the 400 or so instruments that tuners like Airyware support for much later.

With Peterson neutered by patent expiration, I may even consider doing a strobe. Ha!

People can paste their requirements and wishlists in this topic. And a Freddo Frog for whoever can come up with a good name.

1 Like

Great!
But please do think about maintainability, updating etc. A one-person operation could be shortlived as one loses interest in maintaining and updating. Maybe a open-source app could benefit from other programmers contribution. That’s up to you, however. I go on with my list.

  • Strobe and/or waterfall.
  • tone generator
  • pitch user-definable
  • temperaments (of course)
  • temperaments transposable
  • temperaments editable

“Jack tuner”. I wait for my Freddo frog. :slight_smile:

One of the fundamental problems – I see it as a fatal flaw – with electronic tuners is that they help users to set single pitches (=tuning), whereas what would really be helpful is an app that enables tuners to check intervals (=temperament). This would presumably need to mean, in practice, setting pitches first and then checking resultant intervals.

Many times I’ve seen instruments supposedly tuned in 1/4 comma meantone that had been conscientiously set from a machine (and even from a good app), but because the process did not ever encourage the tuner to check those eight major thirds that must be precisely without a beat, the result was faulty. The tuners thought they had done it correctly, but had omitted the crucial step of checking whether the intervals that are supposed to be pure were indeed pure. Anyone who can tune well without an electronic tuner knows that the business of checking intervals is a permanent process, built into every step of the tuning process.

I’ve noticed the same problem with organs supposedly tuned in Vallotti – or, in another case, in Sorge’s excellent 1744 temperament, with four pure fifths. The fifths that are supposed to be pure were not in fact quite pure. Single pitches had been set, apparently very precisely to the machine, but no one had checked whether the fifths that were supposed to be pure were in fact pure. And they were not! This was true even when I checked at the start of the tuning process – when the temperament had been set only on the 4’ principal. And these slight imperfections at the very start were then amplified and multiplied when the rest of the instrument was tuned. So, in practice, simply sticking very closely to the machine/app for single pitches is absolutely not good enough. Checking intervals is the very easy (and quick) way to verify (and correct) the accuracy of the tuning of individual pitches. Eliminating that aspect of the tuning process opens the door to a lot of errors.

What would be really helpful is an app that enables tuners to check the correct quality of intervals, not just individual pitches. In an ideal world those two things would be the same, but in practice, in this imperfect world, they often are not. Good temperament is always about the quality of intervals. Could there be a way of building in a process that enables the users to check intervals? At the very least, when each temperament comes up on the screen, could there be a little checklist of which intervals are supposed to be pure, serving as a nudge to the tuner to check them? Could there perhaps be some sort of split screen, where each note could be played and then the app could confirm whether the interval is pure? Or even better (in the best of all worlds), whether the interval is tempered to exactly the extent needed for that particular temperament on those pitches?

As a trial, it would be interesting to see whether this could be done just for 1/4 comma meantone, for example. I know all this is much harder to do, but I feel it’s worth asking this question. In fact, it seems to me prodigiously complicated – and so much more complicated than mastering the basic parameters of checking intervals and learning to tune correctly by ear! It’s not rocket science! (For me, creating such an app does seem like rocket science. I am full of admiration for anyone with the skills to do it…)

I have another idea – and it’s more revolutionary – for what a good tuning app could provide. But that must wait for another message, and perhaps a different thread…

Carey can you post that here so all can see and avoid massive duplication?

@Davitt Ironically I really loathe electronic tuners, and it’s a publicly well known hobby horse of mine. I think people should use their ears, as people did in the past. But, I have a large amount of accumulated professional software development experience over 40 years, plus the domain specific knowledge for this, so it seems fate has determined I am the right person to do this.

Your wish is very important and I will put it down in the spec.

No, keep all the app suggestions in this thread for easy reference please.

Excellent your observations Davitt. It should not be impossible to devise an electronic tuner which, in the same way as at present they perform Fourier analysis of a single sound with its harmonics, when it hears two different fundamentals (however feeble sometimes) it performs an interval analysis with two separate Fourier series.

It would not be foolproof, as it might fail to identify some harmonics with the correct fundamental, but it surely would pinpoint to purity (or impurity) that is not what is supposed to be.

Ok. So on the user requirements list:

  • Interval testing

In DSP, finding the fundamental in a spectrum is usually partly based on it being the loudest. It could be that is the second note is also roughly equally loud you could find it that way. There’s probably a PhD thesis in there!

I think there are guitar tuners that can display all the notes of a chord on the display. So therefore it must be doable.

Amen to that. Especially harpsichord tuning is actually impossible with these apps/machines without check and double check. To be honest, nowadays almost everyone tunes with these things, also at festivals. It is one of the reasons I prefer to do my own tuning always myself. Anyway it is a meditational thing before a concert or recording.
It seems difficult to get these apps right unfortunately.

@Pjbelder Let me tell you a tuner app consists of about ten or more really difficult software problems, from DSP and Fourier transforms in real time, and noise reduction algorithms, to UI design and display, and temperament interface and setup. It’s not surprising there are not many that tick all the boxes.

Domenico raised a point with me about maintenance and updates, and that it would be beneficial if this were an open source app. Initially I conceived of this as a commercial app in my mind - with a free copy for Jackrail members - but on reflection this is probably a better idea. I have not decided yet, but I think that is the way to go.

When I taught music students at college the basics of tuning, once, I took a microphone, parametric filter, and speaker along. I used this to selectively amplify the narrow frequency band around each pair of beating harmonics. For one of the students it was the first time to hear the beating… I’ve often wondered how hard it would be to automate this process in an app. To discern the two fundamental frequencies and, based on the ratio, amplify the relevant phasing harmonics.

I do agree that one of the aims of this forum should be to encourage people to use their ears in tuning their instruments. I actually only use PitchLab for setting c-g-d-a-e, which is the basis of those temperaments that I tune. Of course, I check c-e by ear, and it never occurred to me when tuning 1/4 comma MT to continue to use the machine, when the perfect thirds are so easy to hear, likewise the octaves. I also only use the circular green, red, yellow display.

I would caution Andrew and others of the danger of making the projected design of this new project too all-singing, all-dancing. The ability to set the pitch of A or C, and the remaining four essential notes would be enough to start with.

Alternatively, it might be possible to persuade the onlie begetter of PitchLab to either put it on the market again or let us do so – assuming that Peterson have now no basis for a legal claim. Paul Poletti probably has the means of contacting him.

David

I know all too well about feature creep. But it seems the basic need is for a very capable and comprehensive app. That’s the point.

The “Pianoscope” app is currently the most advanced piano tuning program, to my knowledge. It begins by scanning each note and memorizing the partials and their relative amplitudes. It can be programmed to tune pure fifths, octaves or twelfths. There really are no pure intervals on pianos, except maybe the unisons, so all of these are some kind of compromise.

I can’t speak for organ pipes, but in non-bowed string instruments there is almost always some degree of irregularity in the string tone, so that “pure” really means “as pure as possible with these particular strings.”

An important feature of Pianoscope is its programmable display window, and within that you can set “thresholds” for the chosen indicators. Example: The display band can have a strobe indicator, speed and design of your choice and also a red line indicator moving along a scale of cents. The speed with which the indicator responds to pitch variation can be chosen, and [This is very important!]: A threshold can be set at which point the indicator disappears I.e. If the frequency is within 1 cent (or .1 cents or .2 cents, etc.) the indicator disappears and if you want to refine further, you must watch the strobe. Airyware has something similar with the =, +1, +2, -1, -2 signs which indicate those thresholds.

I go into detail on this because I have found it was critically helpful in overriding my obsessive compulsive thinking which is easily set off by the un-ending stream of information which a digital program can deliver. If I had decided that accuracy to the nearest .5 cents was good enough, I could not resist trying for .4 or .3, and so on. Digital tuning apps imply a belief in a certain kind of accuracy that is not really musical, and a stability that real instruments rarely have.

As others have said, tuning apps can be very helpful up to a certain point. Then the tuner really needs to understand what the particular temperament is trying to accomplish, and needs to listen musically to hear if it’s really working.

It had better be good for USD$599.

Sadly for iOS only.

Regarding OS, I will initially develop for Android. I personally don’t have any Apple phones and neither do I want one. So iOS can wait - but I will do that as well. [There are emulators used for development,]

So @Ed from this, do you have a feature list for the putative new app for me? Gathering ideas for desired features is what this topic is about.

A display that is user adaptable and includes adjustable thresholds.

This is a tool for professional piano tuners.
But the two week free trial is enough time to explore the user-programmable features, which is one of the best things about this app.