EXPLRESO.TXT - Brief explanation of FLUTRESO.BAS program Most of the program is concerned with getting the parameters organized, recognizing requests and presenting the results. The actual calculations are relatively brief, and start in line 800. The program operates by calculating, at a particular hole position, the distance R below that point at which the effective end (the pressure node) of the column lies. The susceptance corresponding to this distance, at the wavelength being used, is obtained by the usual cotangent relation. If the key is open, the susceptance of the hole, obtained from H and the wavelength, is added, and this new susceptance is used to calculate a new R representing the distance to the pressure node. The calculation now moves up to the next hole, by adding the interhole spacing to R, and repeating the procedure. If the key is closed rather than open, an amount is added to R representing the effective elongation (or shrinking) of the column due to the cavity, and we then move up to the next hole. After the last hole, one moves up to the position of the effective mouth hole end, adding this amount to R. At this time, if the fingering is consistent with the frequency chosen to establish the wavelength, R should be close to a multiple of one half a wavelength. The amount by which it differs is the column excess. The whole operation is repeated with a slight change in wavelength, and a new column excess computed. One can use these two values to interpolate (or extrapolate) to a wavelength that would give zero column excess, and thus find the resonance frequency of the column examined. Some corrections are introduced along the way. The effective interhole spacing is altered to take account of varying temperature along the column. Most important, rather than moving up a fixed distance after the last hole is calculated, empirical alterations in the distance are made for each note to take account of the headjoint taper and the flutist's blowing habits. These corrections were deduced by comparing the calculated results with actual blowing tests on the flute, and therefore represent my personal playing style as well as the headjoint used. In any register they follow smooth curves, so they do not mask irregularities due to the flute, and different flutes will show their own departures since the same corrections will be used for all. Lets go briefly through the process. We start at the far end of the tube and assume at first that it is closed - infinite impedance. The apparent position of the pressure node, seen from this point as if there were an infinite extension of the tube, is 1/4 wavelength away. Line 810, R=L/4 expresses this. I added .001 mm to avoid getting an infinity on taking the tangent of 2*PI*R/L. Line 830 starts the iterative calculation, which will cover 19 holes, and K is the hole number. Line 820 was put in just to make the first step behave like all the others. Line 840 makes DR the distance from the hole we are at to the next one up the tube, the C array values having been read from the geometric data in line 380. Before going on, we make a temperature correction of this effective distance in lines 850-870. Line 880 asks if the key is open. If so, we go to line 920. Here the susceptance of the hole, l/2/PI/H (where H has been read from data as C(K,1)) is added to the susceptance corresponding to the distance R. Line 230 then calculates the new R corresponding to this total susceptance. We go back to 900, which sets K to the next hole, and we go through the process again. If the key had been closed, (line 890 true) we would have gone to line 940, where the cavity parameters a and b ( expressed by C(K,2) and C(K,3)) are applied to change the length of R by a small amount. How much depends on the position in the standing wave, which is why R and L come into the expression. After all the holes have been passed, (K<1) line 900 is followed by line 910. DM is the distance to the mouth end from our reference point, the A hole. The value of DM had been established by line 1440 at the time the note was selected, adding to a basic value of 380.1 mm the withdrawal WD, and the empirical headjoint correction HJ calculated in lines 1390-1430. Since we are at the last trill key, we need to add the negative distance from the trill key to the A hole and add DM to get the R at the mouth end as in line 910. Lines 950 and 960 add or subtract multiples of half wavelengths until the resultant R is smaller than a quarter- wave, after which it represents the column excess for that calculation. If J=1 (first time around, see line 800), line 980 records the column excess as RA and the wavelength used as LA. The wavelength L is then increased by 3% (also in line 980) and the whole process is repeated (line 990 and 800). In line 1000 the two values obtained for two slightly different wavelengths are used to find the cents deviation.