Home | Trees | Indices | Help |
|
---|
|
Transmission Matrix (TM) acoustic input impedance calculation.
This package is used for the calculation of the frequency response of wind music instrument. It is based on the discretization of instrument air columns into cylindrical and conical sections, with and without toneholes.
The following references discuss the method:
The Instrument class and CalculateImpedance functions, defined in the Inst module, contains the core of the methode. The Waveguides, ToneHole, and Radiation modules implement the transmission matrices used in the calculation. Boundary layer losses are taken into account.
Version: 0.0.0.1
Author: Antoine Lefebvre
License: GPLv3
|
|||
|
|
|||
CurvedCone Class representing a curved cone |
|||
ToneHole This class implements the transmission matrix of tone holes References: |
|||
Cylinder Class representing a cylinder |
|||
Jump Class representing a diameter jump |
|||
Cone Truncated cone transmission matrix calculation class |
|||
SaxophoneBell Radiation model of a saxophone bell. |
|||
FlangedOpenEnd | |||
UnflangedOpenEnd Unflanged open end radiation impedance models |
|||
IdealOpenEnd | |||
ClosedEnd | |||
Instrument Class used to descibed the geometry of a musical instrument. |
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|
|||
__credits__ =
|
|
Discretization in conical segments of an equation giving the radius of the waveguide as a function of its argument.
|
Build a list of Cylinder or Cone from a list of tuples containing position and diameters. Example: >>> import wiat >>> FluteBody = wiat.TM.CreateCylindersAndConesFromList( ... [(0.,0.0188),(0.132,0.0188),(0.340,0.0152), ... (0.452,0.0135),(0.583,0.0112)]) >>> for s in FluteBody: print s Cylinder(d=0.0188,L=0.1320) Cone(d0=0.0188,de=0.0152,L=0.2080) Cone(d0=0.0152,de=0.0135,L=0.1120) Cone(d0=0.0135,de=0.0112,L=0.1310)
|
Calculate the exact location of the impedance maxima of an Instrument. It uses an impedance vector Z, previously calculated with the CalculateImpedance function, to determine the approximate location of the maxima and then, uses an optimization algorithm to find their exact location.
|
Calculate the input impedance of the instrument. This function performs the transfer matrix multiplication. The frequency vector f must be sufficiently fine for the impedance to be well represented, otherwise, the CalculateMaxima functions won't be able to find the maxima. A good vector is:
>>> freqs = numpy.arange(50,5000,5,dtype=float)
|
Calculate the impulse response of an instrument from its impedance. I: Instrument instance T: temperature N: size of the fft fs: sampling frequency |
Home | Trees | Indices | Help |
|
---|
Generated by Epydoc 3.0.1 on Wed Jun 18 14:33:28 2008 | http://epydoc.sourceforge.net |