Acoustic Research Tool (ART)  v0.10
Using the ART command line tool

The ART command line tool provides a simple and quick interface for calculating the impedance of musical instruments.

The programme can receive input from the binary input stream and sends output to the binary output stream. Use the programme in pipes with other executables to provide input (a frequency range) and process output (impedance curves). Such executables can be found in the Toolbox for Analysis and Prototyping (TAP). The TAP framework is a collection of small programmes that can be used to create stimulus signals like frequency sweeps over a certain frequency range and process binary output.

Setup of ART and TAP


  • Extract zipped archive to a local folder (e.g. "C:\TAP").
  • DoubleClick "C:\TAP\command completion (HKCU-NT shell).reg" to turn on filename completion with TAB-key
  • RightClick/Install "C:\TAP\DOSHERE.INF" to enter a "DOS Prompt Here" command to your explorer's folder context menu
  • Use Settings/ControlPanel/System/Extended/Environment Variables/ to prepend "C:\TAP;" to the system variable named "Path" (it might now be necessary to logoff and logon again to make your changes effective)

Verify the Installation

  • Open a command shell using the explorer's context menu of some (empty) folder.
  • enter "path" at the command prompt to see whether "C:\TAP" is the first entry in your path system variable.
  • enter "stim | envsort | plot" to check whether everything is working. A GNUPlot window with a sinewave should open.

Running the simulator

The following command will simulate the input impedance of a straight tube of 100 cm length and 0.5 cm radius and send the frequency and magnitude columns of the resulting binary stream to the plot program. The programme will simulate the tube at equally spaced frequencies between 50 Hz and 1000 Hz with 5 Hz increment and won't read the input stream.

art -freq 50 1000 5 -cyl 100 0.5 | plot -sig 3 -xcol 1 -ycol 2 -nam ImpMag -xu [Hz] -yu [acOhm] -tit "Tube 1m"

To do the same and see a numerical table with three columns (f, mag, arg) instead of plotting the binary stream, type:

art -freq 50 1000 5 -cyl 100 0.5 | bin2flo -columns 3 -nocount 

To do the same but calculate resonant frequencies and magnitudes instead of generating a binary plot stream:

art -freq 50 1000 5 1 -cyl 100 0.5

To simulate a complete trumpet described in an instrument file, type:

art -freq 50 1000 5 -list trumpet.ins | plot -sig 3 -xcol 1 -ycol 2 -nam ImpMag -xu Hz -yu Ohm -tit "Trumpet"

Instrument file format

The programme defines its instruments in a top-down, object-oriented approach. The .ins file-format likewise represents instruments in this manner. An instrument consists of a list of elements describing its geometry, each of which has parameters specifying the exact dimensions.

Element types

0 - bore discontinuity (input radius, output radius, T, L, H, CO2)
1 - cylinder (length, radius, T, L, H, CO2)
2 - cone section (length, input radius, output radius, T, L, H, CO2)
3 - Bessel horn section (length, input radius, output radius, flare coefficient, T, L, H, CO2)
4 - list element (filename)
5 - cylindrical bend (length, radius, bend radius, T, L, H, CO2)
6 - conical bend (length, input radius, output radius, bend radius, T, L, H, CO2)
7 - termination element (type of termination [can be 0=reflecting or 1=Zorumski], T, L, H, CO2)
8 - branch element (calculation model, number of holes, T, L, H, CO2)


T...temperature in degree centigrade (default is 21 C)
L...loss factor (default is 1)
H...air humidity in percent
CO2...CO2 content of air in ppm
The unit of length is cm.

Format specification

A .ins file is a list of element types followed by relevant parameters separated by commas. Whitespace is permitted, but parameters must be on the same line as the element type. Any lines starting with a semi-colon ; are ignored as comments. Comments may not be placed on the same line as commands. Lines may not begin (or consist solely of) whitespace. The first non-commented line of the file defines the name of the instrument.

Example file

Test Instrument
; - this is a comment
1, 10.0, 1.5
; ^ this is a cylinder, length 10cm, radius 1.5cm
2, 20.0, 1.5, 2.0
; ^ this is a cone, length 20cm, radius 1.5..2.0cm
4, filename.ins 
; ^ this loads a list element and appends it.

Learn more about ART and TAP:

  • enter "art -?" for a complete list of options
  • type one of the following commands to learn more about other parts of TAP:
bin2flo -?
plot -?
stim -?
  • Read the TAP reference manual (download on sourceforge project page)