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.

APPENDIX B. PROGRAM LISTINGS 204<br />

*/<br />

1 if playable, 0 if not.<br />

double playabilityLevel(Minimum m);<br />

/*<br />

Determines the playability level <strong>of</strong> a playable Minimum. The<br />

playability level is determined by the rules generated by M5'.<br />

The M5' rules are implemented in this function. In general,<br />

3.0 is easily playable while 1.0 is difficult to play.<br />

Parameters:<br />

m: the Minimum to be analysed<br />

Returns:<br />

The playability level as a double.<br />

*/<br />

double strengthLevel(Minimum m);<br />

/*<br />

Determines the strength level <strong>of</strong> a playable Minimum. The<br />

playability level is determined by the rules generated by M5'.<br />

The M5' rules are implemented in this function. In general,<br />

4.0 is strong <strong>and</strong> bright while 1.0 is weak <strong>and</strong> dark.<br />

Parameters:<br />

m: the Minimum to be analysed<br />

Returns:<br />

The strength level as a double.<br />

*/<br />

Minimum getCompletedMinimum(Minimum m);<br />

/*<br />

Creates a copy <strong>of</strong> a given Minimum with all empty fields initialised<br />

to the average values <strong>of</strong> the expert set (cf M5').<br />

Parameters:<br />

m: the Minimum to be analysed<br />

Returns:<br />

A new Minimum with NaN fields replaced with expert set averages.<br />

*/<br />

void pitchCorrection(Minimum m);<br />

/*<br />

Corrects the pitch <strong>of</strong> a playable Minimum according to experimental<br />

results from a number <strong>of</strong> flutists.<br />

Parameters:<br />

m: the Minimum to be analysed<br />

*/<br />

void analyseMultiphonics2(Vector playableminv);<br />

/*<br />

Determines if any two note multiphonics are playable in a set <strong>of</strong><br />

playable notes for a fingering. Multiphonics are defined as notes<br />

which are "not harmonically related" (see code for details).<br />

Ouputs the multiphonic if so.<br />

Parameters:<br />

playableminv: the set <strong>of</strong> playable minima for a fingering<br />

*/<br />

void analyseMultiphonics3(Vector playableminv);<br />

/*<br />

Determines if any three note multiphonics are playable in a set <strong>of</strong>

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

Saved successfully!

Ooh no, something went wrong!