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

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

210 APPENDIX B. PROGRAM LISTINGS<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!