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 311<br />

/*<br />

Woodwind.h<br />

By Paul Dickens, 2005<br />

Listing B.30: Woodwind.h<br />

A woodwind instrument.<br />

*/<br />

#ifndef WOODWIND_H_PROTECTOR<br />

#define WOODWIND_H_PROTECTOR<br />

#include "Vector.h"<br />

#include "Map.h"<br />

#include "Complex.h"<br />

#include "TransferMatrix.h"<br />

/* Maximum length <strong>of</strong> bore elements */<br />

#define WW_MAX_LENGTH 5.0e-3<br />

/* Temperature, humidity <strong>and</strong> CO2 */<br />

#define WW_T_0 30.3<br />

#define WW_T_AMB 21.0<br />

#define WW_T_GRAD -7.7 // degrees C per metre<br />

#define WW_HUMID 1<br />

#define WW_X_CO2 0.025<br />

/* Embouchure entry radius */<br />

#define WW_EMB_RADIUS 3.9e-3;<br />

/* Empirical corrections */<br />

#define CORR_OPEN_FINGER_HOLE_LENGTH -0.15<br />

#define CORR_OPEN_KEYED_HOLE_LENGTH 0.1<br />

#define CORR_CLOSED_FINGER_HOLE_LENGTH -0.76<br />

#define CORR_CLOSED_KEYED_HOLE_LENGTH -0.05<br />

/* BoreSegment: */<br />

typedef struct boresegment_str {<br />

double radius1;<br />

double radius2;<br />

double length;<br />

double c;<br />

double rho;<br />

} *BoreSegment;<br />

/* Key: */<br />

typedef struct key_str {<br />

double radius;<br />

double holeRadius;<br />

double height;<br />

double thickness;<br />

double wallThickness;<br />

double chimneyHeight;<br />

} *Key;

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

Saved successfully!

Ooh no, something went wrong!