Optimizers in the Whistle and Flute Study Models - edwardkort/WWIDesigner GitHub Wiki
Introduction
This page summarizes the optimizer tools that the flute and whistle study models provide. Each optimizer varies specific aspects of the instrument geometry, to produce an instrument that plays as close as possible to the selected tuning. The flute and whistle study models currently support the optimizers listed below.
- Whistle Calibrator (whistle study model only)
- Flute Calibrator (flute study model only)
- Hole Size Optimizer
- Hole Spacing Optimizer and Global Optimizer
- Hole Size+Spacing Optimizer and Global Optimizer
- Taper Optimizer
- Hole and Taper Optimizer and Global Optimizer
- Upper Bore Diameter Optimizer (whistle study model only)
- Hole and Upper Bore Diameter Optimizer (whistle study model only)
- Stopper Position Optimizer (flute study model only)
- Headjoint Optimizer (flute study model only)
- Hole and Headjoint Optimizer (flute study model only)
- Lower Bore Diameter Optimizer
- Hole and Lower Bore Diameter Optimizer and Global Optimizer
- Upper Bore Spacing Optimizer
- Hole and Upper Bore Spacing Optimizer
The global optimizers optimize the same dimensions as the corresponding regular optimizers, but use the DIRECT-C global optimizer to perform a slower, more thorough, search for a global optimum.
Unless specified below, optimizers minimize the difference in cents between the target frequency and the frequency predicted by the flute model or whistle model, for all notes in the tuning file that have a target frequency. When optimizing the tuning of more than one note, the optimizer minimizes the sum of the squares of the differences (multiplied by any optimization weights).
The tutorial Optimizing a Whistle or Flute Design explains a process for using these optimizers to optimize the design of a whistle or transverse flute.
1. Whistle Calibrator
Varies the window height and beta factor to minimize the difference between measured frequencies and the predictions of the whistle model. The tuning file must include measured frequencies for at least some of the notes, either minimum and maximum frequencies in the "Min Freq" and "Max Freq" columns, or actual playing frequencies in the "Frequency" column. Total number of dimensions: 2.
Used in calibrating the whistle model.
1. Flute Calibrator
Varies the airstream length and beta factor to minimize the difference between measured frequencies and the predictions of the flute model. The tuning file must include measured frequencies for at least some of the notes, either minimum and maximum frequencies in the "Min Freq" and "Max Freq" columns, or actual playing frequencies in the "Frequency" column. Total number of dimensions: 2.
Used in calibrating the flute model.
2. Hole Size Optimizer
Varies the sizes of all holes to minimize the tuning error. Total number of dimensions = number of holes.
3. Hole Spacing Optimizer
Varies the total bore length and the spacing between holes to minimize the tuning error. Total number of dimensions = number of holes + 1.
4. Hole Size+Spacing Optimizer
Varies the total bore length, the spacing between holes, and the sizes of holes, to minimize the tuning error. Total number of dimensions = 2 * number of holes + 1.
5. Taper Optimizer
Introduces a basic two-section taper in the bore. Keeps the diameter at the first and second bore points (nearest the mouthpiece) constant, and keeps the total bore length constant. Varies the position of the second bore point (relative to the total bore length), and the diameter at the bottom bore point (relative to the diameter at the second bore point). Total number of dimensions = 2.
5.1 Hole and Taper Optimizer
Introduces a basic two-section taper in the bore. Varies the total bore length, spacing between holes, the sizes of holes, the position of the second bore point, and the diameter at the bottom bore point. Keeps the diameter at the first and second bore points constant. Total number of dimensions = 2 * number of holes + 3.
6. Upper Bore Diameter Optimizer
For the whistle study model, varies bore diameters at existing bore points at the top of the bore. For each bore point from the top down, varies the ratio of the diameter at this bore point to that at the next bore point. The highest bore point left unchanged will be: the lowest bore point with a name that contains the word "Head", or the lowest bore point above the top tonehole, or the lowest bore point above the middle of the bore if there are no toneholes. Bore point positions are unchanged. Total number of dimensions = number of bore points before that unchanged bore point.
Use of diameter ratios rather than absolute diameters allows constraints to control the direction of taper. If the lower bound is 1.0, the bore flares out toward the top; if the upper bound is 1.0, as in the default constraints for this optimizer, the bore tapers inward toward the top.
6.1 Hole and Upper Bore Diameter Optimizer
For the whistle study model, varies bore diameters at existing bore points at the top of the bore, the total bore length, the spacing between holes, and the sizes of holes. For each bore point from the top down, varies the ratio of the diameter at this bore point to that at the next bore point. The highest bore point left unchanged will be: the lowest bore point with a name that contains the word "Head", or the lowest bore point above the top tonehole, or the lowest bore point above the middle of the bore if there are no toneholes. Bore point positions are unchanged. Total number of dimensions = number of bore points before that unchanged bore point + 2 * number of holes + 1.
6. Stopper Position Optimizer
For the flute study model, varies the distance from the topmost bore point to the upper end of the embouchure hole. Total number of dimensions = 1.
6.1 Headjoint Optimizer
For the flute study model, varies the distance from the topmost bore point to the upper end of the embouchure hole, and bore diameters at existing bore points at the top of the bore. For each bore point from the top down, varies the ratio of the diameter at this bore point to that at the next bore point. The highest bore point left unchanged will be: the lowest bore point with a name that contains the word "Head", or the lowest bore point above the top tonehole, or the lowest bore point above the middle of the bore if there are no toneholes. Bore point positions are unchanged. Total number of dimensions = number of bore points before that unchanged bore point + 1.
Use of diameter ratios rather than absolute diameters allows constraints to control the direction of taper. If the lower bound is 1.0, the bore flares out toward the top; if the upper bound is 1.0, as in the default constraints for this optimizer, the bore tapers inward toward the top.
6.2 Hole and Headjoint Optimizer
For the flute study model, varies the distance from the topmost bore point to the upper end of the embouchure hole, bore diameters at existing bore points at the top of the bore, the total bore length, the spacing between holes, and the sizes of holes. For each bore point from the top down, varies the ratio of the diameter at this bore point to that at the next bore point. The highest bore point left unchanged will be: the lowest bore point with a name that contains the word "Head", or the lowest bore point above the top tonehole, or the lowest bore point above the middle of the bore if there are no toneholes. Bore point positions are unchanged. Total number of dimensions = number of bore points before that unchanged bore point + 2 * number of holes + 2.
7. Lower Bore Diameter Optimizer
Varies bore diameters at existing bore points at the bottom of the bore. For each bore point from the bottom up, varies the ratio of the diameter at this bore point to that at the prior bore point upward. The lowest bore point left unchanged will be: the highest bore point with a name that contains the word "Body", or the lowest bore point with a name that contains the word "Head", or the lowest bore point above the top tonehole, or the lowest bore point above the middle of the bore if there are no toneholes. Bore point positions are unchanged. Total number of dimensions = number of bore points below that unchanged bore point.
Use of diameter ratios rather than absolute diameters allows constraints to control the direction of taper. If the lower bound is 1.0, the bore flares out toward the bottom; if the upper bound is 1.0, as in the default constraints for this optimizer, the bore tapers inward toward the bottom.
7.1 Hole and Lower Bore Diameter Optimizer
Varies bore diameters at existing bore points at the bottom of the bore, the total bore length, the spacing between holes, and the sizes of holes. For each bore point from the bottom up, varies the ratio of the diameter at this bore point to that at the prior bore point upward. The lowest bore point left unchanged will be: the highest bore point with a name that contains the word "Body", or the lowest bore point with a name that contains the word "Head", or the lowest bore point above the top tonehole, or the lowest bore point above the middle of the bore if there are no toneholes. Total number of dimensions = number of bore points below that unchanged bore point + 2 * number of holes + 1.
8. Upper Bore Spacing Optimizer
Varies the spacing of existing bore points at the top of the bore. The lowest bore point moved will be: the lowest bore point with a name that contains the word "Head", or the lowest bore point above the top tonehole, or the lowest bore point above the middle of the bore if there are no toneholes. The absolute position of the top bore point is not changed. Bore diameters are unchanged. Total number of dimensions = number of bore points above that lowest moved bore point.
8.1 Hole and Upper Bore Spacing Optimizer
Varies the spacing of existing bore points at the top of the bore, the total bore length, the spacing between holes, and the sizes of holes. The lowest bore point moved will be: the lowest bore point with a name that contains the word "Head", or the lowest bore point above the initial position of the top tonehole, or the lowest bore point above the middle of the bore if there are no toneholes. The absolute position of the top bore point is not changed. Bore diameters are unchanged. Total number of dimensions = number of bore points above that lowest moved bore point + 2 * number of holes + 1.