11.07.2014 Views

Flute acoustics: measurement, modelling and design - School of ...

Flute acoustics: measurement, modelling and design - School of ...

Flute acoustics: measurement, modelling and design - School of ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

CHAPTER 8. SOFTWARE IMPLEMENTATION 109<br />

Head<br />

UnitCell 1 UnitCell 2<br />

embouchure hole<br />

headjoint<br />

body<br />

tone holes<br />

Figure 8.2: A schematic diagram <strong>of</strong> a ‘flute’ with two finger holes, showing the conceptual division<br />

<strong>of</strong> the instrument into a ‘head’ <strong>and</strong> two ‘unit cells’. Note that tone holes are modelled as<br />

lumped elements <strong>and</strong> that the various elements are divided at the midpoint <strong>of</strong> each tone hole.<br />

Keefe (1990) (Figure 8.2). The first segment is the headjoint, which in this context includes the<br />

embouchure hole, upstream air column <strong>and</strong> downstream air column between the embouchure<br />

hole <strong>and</strong> first tone hole. The remaining segments are L-shaped unit cells which, as explained<br />

by Keefe, include a single hole <strong>and</strong> any bore section between the hole <strong>and</strong> the next hole downstream.<br />

This arrangement confers the distinct advantage that for each frequency the transfer<br />

matrices need only be calculated once. The impedance <strong>of</strong> the flute fingered differently may<br />

then be obtained by multiplication <strong>of</strong> saved matrices, thereby reducing computation time dramatically.<br />

A single transfer matrix relates the acoustic pressure <strong>and</strong> flow at the input <strong>of</strong> the<br />

instrument to those immediately upstream <strong>of</strong> the first tone hole. Two transfer matrices are<br />

calculated for each unit cell: one for the open hole <strong>and</strong> the other for the closed hole.<br />

The Woodwind structure is defined in Woodwind.h as<br />

typedef struct woodwind_str {<br />

Head head;<br />

Vector cells;<br />

double flange;<br />

} *Woodwind;<br />

The member head contains all <strong>of</strong> the flute dimensions upstream <strong>of</strong> the first finger hole, <strong>and</strong><br />

cells is a linked list <strong>of</strong> ‘unit cells’, each describing one finger hole <strong>and</strong> any bore segments<br />

downstream before the next hole. The member flange is a dimensionless number related to<br />

the termination condition at the end <strong>of</strong> the instrument. It is equal to the wall thickness divided<br />

by bore radius for an open end. For a closed end (such as at the cork <strong>of</strong> a flute) flange is equal<br />

to -1.<br />

The Head structure is defined as<br />

typedef struct head_str {<br />

EmbouchureHole embouchureHole;<br />

Vector upstreamBore;<br />

double upstreamFlange;<br />

Vector downstreamBore;<br />

Map matrixMap;<br />

} *Head;<br />

<strong>and</strong> the UnitCell structure as

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!