Center for Interdisciplinary Research in Music Media and Technology (CIRMMT)
Computational Acoustic Laboratory (CAML)
Music Technology, McGill University
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()