Acoustic Research Tool (ART) v0.10
ART is a flexible simulation framework for wind instruments. It includes a growing library of modelling elements. So far bore discontinuities, cylindrical and conical tubes, Bessel horns and bent tubes are available for frequency domain modelling.
This project is in its conceptual stage.
The goal of this project is to provide an open, extendible and efficient acoustical simulation library which can be used by application programmers. This package should allow to realistically and efficiently model and simulate complicated and fairly general acoustical systems - especially wind instruments with or without tone holes and eventually the singing or speaking voice - in the frequency domain as well as in the time domain.
Special focus should be put on efficiency because computer optimisation may require many thousands of evaluations of virtual instruments which are usually only slightly modified between successive analysis steps by an optimiser application program. Time domain modelling often requires generating real time sound when parameters of the sound generator are modified.
Nevertheless, modelling accuracy and physical realism should be another major concern. The package should contain most accurate models for the frequency domain as well as for the time domain because it is a main goal of this project to provide the core of new and accurate tools for instrument makers as well as for scientists who want to study the influence of faint differences in geometry or other acoustical boundary conditions on sound and playability of musical instruments or on resonance frequencies, damping conditions and other properties of travelling or standing waves in general acoustical systems.
A main application which makes use of the library's frequency domain modeling will be the computer optimisation of general acoustical systems in terms of resonance and radiation characteristics, damping and excitation properties. Applied to musical instruments these characteristics are called intonation, sound quality, efficiency and playability. The library's time domain simulation mode will be used for synthesizing sounds of more or less simplified up to nearly realistic virtual instruments depending on the required tradeoff between accuracy and computation speed. By controlling various model parameters in real time articulation and phonation can be studied in virtual singers and speakers.
The library will be programmed in ANSI C++ with no assumptions about or dependencies of operating system or computer architecture. The Class dependencies will be defined in UML in order to enforce proper interplay and to make it easier to keep documentation and implementation consistent and extensible. Models have to register their parameters, usage details and documentary text in order to allow applications being independent of the implementation status of the library.
Applications written in any programming language should be able to easily access the library's functionality. All graphical and user interface related issues will have to be handled by the application program, otherwise complete platform independence would not be achievable.
The developing process will be a multi-national effort with independent contributions of several researchers, co-ordinated by a small board of experienced acousticians and software developers continuously communicating by means of a dedicated online forum hosted by the TC-MA of the EAA (the workgroup area). Concepts, documentation, sources and prototype applications will be made available, too. Contributions in terms of comments, ideas, conceptual proposals as well as actual C-code are highly welcome.
This project is still in an early stage. Nevertheless a preliminary working release has already been published. Although the concept does include other simulation domains, only frequency and a limited number of time domain models have been implemented up to now. The currently existing code allows to calculate input impedances of arbitrary bore profiles consisting of cylindrical sections, conical sections, bessel horn sections, exponential horn sections, bent cylindrical and conical tubes, bore discontinuities and branches (tone holes). All elements (except for the branch) take multi-modal wave propagation of an arbitrary number of modes into account. The very common case of 1 (plane wave), 2 or 3 modes has been optimised for performance. Lossless as well as lossy wave propagation is available for all elements. Simulation parameters like air temperature, humidity and carbon dioxide content as well as a separate boundary layer loss factor can be specified for each individual section of the bore profile. Termination impedances can be chosen from a range of predefined radiation models.
In the time domain, basic modules for Digital Waveguides (DWGs) have been implemented. The current release includes DWGs for
One way to describe the acoustic characteristics of wind instruments is the input impedance. The input impedance, as a function of frequency, describes which frequency components will be attenuated by the instrument. It depends on the shape of the instrument and can be calculated by dividing the instrument into pieces of the following types:
A Cylinder is characterised by its radius and length.
A termination element can only be added at the end of the element. Use termination elements to choose the radiation impedance. The radius r defines the radius of the circular radiating surface.
The cylinder and the cone are also available as bent elements. An additional property, the bend radius, describes the curvature of the bend.
In the programme the user can use these models to build an instrument in order to calculate its input impedance.
ART comes in two flavours: As a command line tool and as a programmer's library. As a command line tool ART can be embedded in the TAP framework. An executable for Windows and source code are provided. The programmer's library provides an interface for implementing applications for impedance calculation. For this we provide a Windows DLL and source code, which you can include in your projects.
ART was designed to welcome contribitions by fellow researchers. You can implement your own elements, add different calculation models to existing elements or add simulation domains to the project. To find out more read the programmer's guide.
For more information please visit the project page, where you can download some documentation, the executables and explore the source code.
Project Web Hosted by SourceForge.net