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

|Z |<br />

Z 0<br />

where Z 0 = 1 Pa s m −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!