The Wind Instrument Acoustic Toolkit

Center for Interdisciplinary Research in Music Media and Technology (CIRMMT)

Computational Acoustic Laboratory (CAML)

Music Technology, McGill University



Tutorial



A 6 holes flute – download the source

import numpy

import pylab

from aws import *





f = numpy.arange(100,4600,1,dtype=float)

T = 25.



I1 = Instrument("Cylinder with one tone hole",

[Cylinder(0.014,0.583), UnflangedOpenEnd(0.014)],

[ToneHole(0.0117,0.0043,0.0043,0.474-0.0117/2),

ToneHole(0.0112,0.0043,0.0043,0.505-0.0112/2),

ToneHole(0.0102,0.0043,0.0043,0.540-0.0102/2)],

{'C': [0,0,0], 'C sharp':[0,0,1], 'D': [0,1,1], 'D sharp': [1,1,1], 'cross':[1,0,0]})



#I2 = Instrument("Cylinder without tone hole",

# [Cylinder(0.014,0.583), UnflangedOpenEnd(0.014)])



Zcross = CalculateImpedance(I1.SetFingering('cross'),f,T)



ZC = CalculateImpedance(I1.SetFingering('C'),f,T)

ZCs = Zopen = CalculateImpedance(I1.SetFingering('C sharp'),f,T)

ZD = CalculateImpedance(I1.SetFingering('D'),f,T)

ZDs = CalculateImpedance(I1.SetFingering('D sharp'),f,T)







#Zopen = CalculateImpedance(I1.SetFingering('open'),f,T)

#Zclosed = CalculateImpedance(I1.SetFingering('closed'),f,T)

#Zwithout = CalculateImpedance(I2,f,T)



Plot = ImpedancePlot("Cylinder with one tone hole, closed and open",

[(f,ZC,"C"), (f,ZCs,"C sharp"),(f,ZD,"D"),(f,ZDs,"D sharp"),(f,Zcross,"Cross")])



Plot.plot()

Plot.save('testToneHole')

pylab.show()