I’m also curious about what the y-axis on the graph represents. Doesn’t seem to quite match up with cutoff ratio.
It’s also great that you did this in Java and licensed it under the GPL. (Makes us Linux users very happy - thanks.)
I really like the real-time updated hole diagram - that makes this a very useful tool.
Ok, I am assuming that you are comparing the graph with the graph on Daniel Bingamons TWCalc.
Daniel appears to plot
x = ((holeFreq - minHoleFreq) / (maxHoleFreq - minHoleFreq) * 370.0F);
y = 180 - ((holeCutoffFreq - minHoleCutoffFreq) / ((maxHoleCutoffFreq - minHoleCutoffFreq) ) * 180.0F);
and I hope I got that right. The last thing I want to do is misrepresent Daniel. I don’t for a minute pretend to understand what that graph says.
Whereas I plot
x = hole
y = (holeCutoffFrequency/holeFrequency)
but I can understand what that tells me… If someone can justify using the original graph algorithm I will use it too.
Not a problem, I am a great fan of ‘open’. I hate being trapped in the ‘Windoze’ world.
The dynamic hole diagram is why I started the program - to answer the question ‘what is the relationship between holes size and placement?’. The answer I got on this forum was ‘look at TWCalc’, which almost told me, but I need pictures not numbers.
Finishing the project off as a general tool, and making it ‘open source’ is just a little give back for all the help I have received, but thanks are are appreciated.
Thinking about it again, I do Daniel a disservice.
He plots frequency on the x axis and cut off frequency on the Y axis.
Now, as frequency is proportional to hole number (at least for ET) his graph is approximately cut off frequency versus hole, whereas mine is (cut off frequency / hole frequency) versus hole. For a whistle where the cut off ratios are identical for all the holes, TWCalc will give a straight line with a slope, TWJCalc will give a straight horizontal line.
So where you would try to create a smoothly rising line in TWCalc, you should try to create a horizontal one in TWJCalc. The attempt is thwarted a little by automatic rescaling, so you need to look at the range of values on the Y axis.
The measurement is to the ‘bottom’ of the mouth hole as indicated by the diagram.
But be aware that whistle calculators do not give exact results. There are known unknowns, and unknown unknowns. Constants aren’t and variables don’t. So always cut your tube longer that you calculate, and shorten it to a suitable bell note before cutting the tone holes.
The tone hole distances are deliberately given from the bottom of the whistle to support and encourage this method.
the effective length of the “mouth hole” is is definitely a known unknown (and probably some unknown unknown as well) - square v rectangular v round, and how tall/deep is the hole (it is almost zero at the blade and something else every where else, and what about the windway part ?? )
hence DrPhill’s advice is the appropriate way to proceed - making your whistle tuneable also is a excellent solution, you still should measure from the bottom
Problem then is that you are tuning to the tuner, and blowing differently from when playing.
How about
Tune whole length
Drill all holes miniscule to get their placements
Enlarge all holes to a large fraction of their size (50-70%)
Play tunes on the whistle, and enlarge holes slowly (starting at the bottom).
That way you get to tune the whistle to the way that you will play it. Of course, if you overdo the enlargement, you will have to reduce the size or move the hole further down the whistle.
I wasted lots of pipe getting my one whistle right.
The beauty of using a hole location calculator, once you are confident with its results, is that you don’t need to waste much tubing. For a new design/layout pattern I am confident enough to drill all holes to a millimetre smaller than the calculator result in the first instance (and some to half a millimetre, and some to the designed diameter directly, one learns in time which holes), then enlarge in half millimetre steps (I use a metric set of drill bits) from the bottom end upwards.
Even if one hole has got a little too large, the body is not necessarily wasted, as you can enlarge all other holes a bit and shorten the body a fraction, so you end up with a body which is in tune with itself, and could be tuned with extending the slide a little. But overall the hole sizes may be a bit too large for your liking. Still not a complete waste, just a whistle with slightly larger holes.
Problem then is that you are tuning to the tuner, and blowing differently from when playing.
This is SO TRUE!!!
In fact you need to make a whistle and ‘live with it’.
And then make another and live with it.
And then maybe you realize there is no perfect whistle - just many perfect whistles. Just like there is never one correct answer but there are wrong answers.
Now to reply to the OP’s points:
Having tuned the ‘whole length’ per drphill’s comment..
If you are trying to get things really right…
the whole length will change depending on the holes drilled
Start at the bottom hole, drill it too small (at the distance indicated by TWJCalc), and keep expanding it until it is exactly right…
But what is exactly right? The position is chosen and you are altering the size to tune it, BUT maybe a different position would be better - tone, volume, second octave tuning, playability…
Recalculate based on the actual hole size…
Not a bad idea. I’ve never done this so I don’t know what effect this would have.
The calculator (I believe - I may be wrong) assumes the hole below it is tuned correctly - I think that if you put in a different value for the hole size it will just calculate a different position and will calculate the next hole position in the same way with the same result - but you should try it and let us know.
So let’s say this all works and you have a perfectly tuned whistle.
The question is: ‘What is a perfectly tuned whistle?’
And as you play this whistle your ideas may change about what is perfect tuning.
And then there are other considerations…
You have opened a wonderful can of worms - enjoy the trip, or is it a dig!
If by “will calculate the next hole position in the same way with the same result” you mean that the result for one hole is unnafected by the size of the other holes then I think that there is a mixture of true and false in this statement (apologies if I misinterpret you), so let me tease the two bits apart:
The calculator (Any of the three TWJCalc, TWCalc, Flutomat) will attempt to find the correct location for the given hole size. It cares nothing for finger stretch, or even whether two holes overlap!
But:
The calculator does care about the other holes on the whistle, especially the holes ‘below’ the current hole. Try this: Go to the whistle calculator online and adjust the size of the ‘LH3’ hole (the one on the left). Notice that the holes above (especilly the LH2 hole) change position. This dynamic display is what I originally wrote the program for. I do not find the behaviour entirely intuitive.