WIDesigner: new tuning calculator and optimizer

I’m pleased to announce the public availability of WIDesigner (Woodwind Instrument Designer), after three years of development by a team of three. I’ve hinted at what it can do in earlier posts, and at last you can try it out for yourself.

WIDesigner is a Java application to assist woodwind instrument designers; the current version supports whistles and Native American Flutes. WIDesigner is an open-source program hosted on GitHub, available for free under the GNU Public License. As a stand-alone Java application, it should run under Windows, Mac OSX, Linux, and more, with a suitable JRE installed.

Although WIDesigner brings more complexity to whistle design than other tuning calculators, it offers a number of advantages:

  • It models notes over the full range of an instrument, including arbitrary cross-fingerings, and notes in higher registers.
  • It supports tapered bores, including multiple tapered sections.
  • It uses multivariate optimization, varying multiple instrument dimensions to get accurate tuning across the full range of notes.
  • It can predict the minimum and maximum frequencies that varying breath pressure will produce for each note, as well as a “nominal” playing frequency.

For an introduction to WIDesigner and how to use it, read Using WIDesigner, or watch the video tutorial WIDesigner Introduction. You can download the WIDesigner zip file from https://github.com/edwardkort/WWIDesigner/releases/latest, and watch WIDesigner Installation for an explanation of how to install it.

Has anyone tried this out yet? I’d be interested in any feedback on the approach, particularly on modelling minimum and maximum frequencies for each note. You can PM me if you need some assistance getting started.

We’ve just released version 1.0.5. The new version handles a number of input errors more gracefully, and is better behaved on the MAC than earlier versions. You can find the new version at https://github.com/edwardkort/WWIDesigner/releases. If you’ve downloaded an earlier version, you don’t have to download the whole zip file again; just download WIDesigner-1.0.5.jar, and put it in the same place as the earlier jar.

I haven’t tried it but I’ve just had a very brief look at it. I’ll try to find time to have a look at it in detail at the weekend. Although I’m not particularly interested in whistles I do have a Hungarian furulya that I’ll measure and see how close the software comes to reality. I would love to see transverse flute and clarinet models.

One thing comes to mind. I don’t know how difficult it would be to implement but it would be good to have more complex tone hole geometries. For example, conical and partially conical tone holes (undercutting), holes drilled at an angle (pointing up or down the bore), and a model for a pad above an open hole.

A historical note, most people are probably aware that Theobald Boehm created a “schema” to predict the scientifically correct hole placements for flutes, which he submitted to the Paris Exposition of 1867, about which he wrote:

“These proportions remain constant from the highest to lowest musical tones… the centres of the tone holes of all wind instruments constructed upon my system, as well as the positions of the frets of guitars, mandolins, zithers, etc, may be easily determined.”

Yet elsewhere in his book he states that he built a prototype flute with moveable holes and determined all the hole positions by trial and error.

Transverse flutes we hope to do soon. We want to do reeds, too, but they may take longer.

It took a PhD thesis to get us the tonehole model we’ve got. He did address hanging keypads, so that’s a possibility. For anything else, you’ll have to write the PhD thesis for us. :slight_smile:

Fair enough, I thought I might be asking for the moon there. I did find the comments below in the instrument xsd file so I’m not the first to think about those things. “Radiused inner edge” sound like undercutting to me too but although supported in the Hole class it doesn’t seem to be referenced in DefaultHoleCalculator.calcTransferMatrix which I guess is bit that needed a PhD. It’s certainly way beyond me.

		
		<xsd:annotation>
			<xsd:documentation>A tone hole with optional key mechanism. The tone
				hole assumes a cylindrical shape with a radiused inner edge. More
				complexity is possible, including truncated conical profiles and
				angled holes.
			</xsd:documentation>
		</xsd:annotation>

I remain skeptical of theorizing, mostly.

For example, the bore and hole placement of an English conical-bore orchestral flute of the mid-19th century was the product of centuries of trial-and-error by generations of excellent professional flutemakers and fluteplayers.

Years ago I was talking to a guy who was getting into Irish flutemaking and he went on and on about acoustic theories. Some of the early flutes he made were good, some were awful.

Boehm himself, though he came up with his schema, decided on his hole placement and bore design through trial and error. He was a very good professional flutist and he knew exactly what was required of a professional flute.

Baroque flute bores are extremely complex because after the bore was reamed the maker would come back with special files and make various subtle bulges in the bore to correct the tuning of certain notes, both open notes and crossfingered notes. Rod Cameron invented a device to record with precision all of these perturbations. It would be interesting to find out if computer models of flute bores have been made which take these into account.

With computer models, there’s only so close you can get to reality. Getting closer requires more complicated models, and more data points–geometries and frequencies–measured from real instruments. You could try modeling all the perturbations of a flute bore in WIDesigner; you’d have to enter a lot of bore measurements, and the additional accuracy in the bore model would probably be lost in the inaccuracies in other aspects of the model. At this point, I’m happy if I can get within 10 cents of measured values. A model can only go so far: the final refinement is always up to the maker, and to the player. But even there, a computer model can help by suggesting what direction to go in, even if it isn’t good enough to tell you exactly how far to go.

I’ve tried to incorporate this distinction into the whistle model of WIDesigner. It models a range of pitches that your legit player could produce if he wanted to, as well as pitches that you could produce without working too hard.