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.

8.1. THE IMPEDANCE MODEL 117<br />

- Must be a tab-delimited list <strong>of</strong> midi numbers <strong>and</strong><br />

holestrings, one set per line.<br />

The output <strong>of</strong> ‘PlayedImpedance’ is a table <strong>of</strong> impedance magnitudes. The first column contains<br />

the frequency <strong>and</strong> the first row the MIDI numbers (aligned with the corresponding impedance<br />

vector). The impedance values are given in a logarithmic scale <strong>and</strong> are equal to 20log 10 Z 0<br />

|Z |<br />

where Z 0 = 1Pasm −3 . The output for the input file snippet given above would look like<br />

60 61 62<br />

200.00 124.178 126.977 129.918<br />

202.00 123.710 126.512 129.414<br />

204.00 123.241 126.053 128.925<br />

206.00 122.770 125.599 128.448<br />

208.00 122.296 125.148 127.981<br />

210.00 121.818 124.701 127.524<br />

...<br />

If the output from ‘PlayedImpedance’ is directed to a file, the file can then be used as<br />

the input to the process ‘AnalyseNotes’, which derives musically useful information for each<br />

note from its impedance spectrum. ‘PlayedImpedance’ is implemented in the C program file<br />

PlayedImpedance.c (Listing B.22) <strong>and</strong> most <strong>of</strong> the important functions are implemented in<br />

the files Woodwind.h <strong>and</strong> Woodwind.c.<br />

8.1.5 ‘AnalyseNotes’<br />

The process ‘AnalyseNotes’ is implemented in the C file AnalyseNotes.c (Listing B.3). ‘AnalyseNotes’<br />

calls functions in Minima.h <strong>and</strong> Minima.c (Listings B.13 <strong>and</strong> B.14) to retrieve the<br />

frequency, impedance <strong>and</strong> b<strong>and</strong>width <strong>of</strong> impedance spectrum minima <strong>and</strong> calls functions in<br />

Analysis.h <strong>and</strong> Analysis.c (Listings B.4 <strong>and</strong> B.5) to determine (among other things) the<br />

playability <strong>and</strong> strength <strong>of</strong> the impedance minima. These programs are largely the work <strong>of</strong><br />

Botros (2001), <strong>and</strong> detailed documentation is available in his thesis. The interfaces for the programs<br />

have been modified slightly for this thesis <strong>and</strong> minor changes have been made to some<br />

files.<br />

‘AnalyseNotes’ searches for minima in each impedance spectrum in the passed-in file, <strong>and</strong><br />

determines the frequency, impedance <strong>and</strong> tuning <strong>of</strong> each minimum. These quantities are approximated<br />

from a parabola fitted to eleven data points centred on the minimum <strong>and</strong> spanning<br />

a frequency range <strong>of</strong> 20 Hz. If the impedance curve corresponding to some played note<br />

has a playable minimum nearest to that note, then the minimum is analysed <strong>and</strong> the playability,<br />

strength <strong>and</strong> harmonicity are output along with the frequency <strong>and</strong> tuning. The playability,<br />

strength <strong>and</strong> harmonicity are calculated using an expert system developed by Botros et al.<br />

(2002, 2006) <strong>and</strong> trained on the Acoustic Laboratory’s resident ‘expert’, flutist Jane Cavanagh.<br />

The usage <strong>of</strong> ‘AnalyseNotes’ is<br />

Usage: AnalyseNotes [OPTIONS] <br />

Options:<br />

-h (Displays harmonicity data)

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

Saved successfully!

Ooh no, something went wrong!