Direct Design of Parallel Second-order Filters for Instrument Body Modeling

This page contains software and demonstration material for the paper

Balázs Bank, "Direct Design of Parallel Second-order Filters for Instrument Body Modeling", Proceedings of the International Computer Music Conference, vol I., pp. 458-465, Copenhagen, Denmark, Aug. 2007. URL:


This paper presents a direct design technique for parallel second-order sections based on a perceptually motivated logarithmic scale, with application to instrument body modeling. Traditional FIR and IIR design techniques work on a linear frequency scale, which is usually not optimal for audio applications. Warped filters and Kautz filters are good candidates for perceptually motivated filter design. However, the direct implementation of warped or Kautz filters is computationally less efficient compared to an IIR filter of the same order. The perceptually motivated frequency resolution can also be achieved by the proposed design method, without the disadvantage of increased computational complexity. The filter design has two phases. First, the pole frequencies of the second-order sections are set to a predefined logarithmic scale, or can be determined from a warped filter design. Then the zeros are found by a simple least squares algorithm, as the optimization problem becomes linear in parameters for a given set of poles. As high-order (up to 1000) filters can be robustly designed, this technique is particularly well suited for instrument body modeling. Moreover, the parallel structure allows flexible modifications to the body transfer function.

MATLAB functions

Here you can find some Matlab functions for designing the parallel second-order filters. They are all included in the file See the help part of the functions for details, or check the parfiltexample script for understanding how to use them. The main files are parfilt and parfiltdes, the others just make their use easier.

The files included in the zip file are the following:

Sound examples

Comparison with traditional IIR filter design

Here a few examples are presented for a closely miked (almost minimum-phase) piano soundboard impulse response, corresponding to Sec. 4.1-4.3 of the paper. The string signal is from a MIDI transcription of Beethoven's Apassionata Sonata, musically not very interesting, but the chords in the beginning let you hear the tonal balance quite easily. Then, you should concentrate on the attack and knocking noise of the following high tones. The sound convolved by the target impulse response (10000 Tap) can be listened here.

Filter orderIIR - PronyParallel - logParallel - warped
50 IIR50 LOG50 WARP50
200 IIR200 LOG200 WARP200
800 IIR800    

Note that the target equalization (and the 800th order IIR) sounds more reverberant compared to the modeled responses. This is mostly because the recorded impulse response is quite noisy at high frequencies. This actually adds a pleasant reverberant character to the sound, and a similar effect can be achieved by adding artificial reverberation to the modeled responses. Moreover, the target response (and so the 800th order IIR) exhibits a high-frequency resonance, most probably due to inefficient damping of some strings during soundboard modeling. These high-frequency high-Q resonances are not present in the parallel-filter models, due to the logarithmic frequency resolution. In this sense, fitting a logarithmic-frequency scale model on the measured response removes noise and high-frequency resonances automatically.

Another interesting thing that can be observed is that while the 200th order logarithmic pole positioning example looks better than the warped positioning case on paper, the warped version sounds slightly better. This is because the plot has a logarithmic x-axis, thus, a logarithmic pole set will provide the most even distribution of resolution possible. However, the resolution of hearing is not strictly logarithmic, but rather follows the Bark or ERB scale, which is approximated better by the warped pole positioning.

Next, the same responses are shown but now the input signal is a hanning window, and not a synthetic piano tone. This is similar to knocking the soundboard by a hammer, and it is quite easy to hear the differences of the various responses. The target "knocking sound" is here.

Filter orderIIR - PronyParallel - logParallel - warped
50 IIR50 LOG50 WARP50
200 IIR200 LOG200 WARP200
800 IIR800    

Note that these knocking examples are rather for illustrative purposes. Altough they collerate quite well with how the knocking sound is present in treble tones, they do not show much about the overal character of the sound. Therefore, the musical examples presented above should be considered as a more appropriate way of deciding which technique to use in practice.

Non-minimumphase equalization

This example is about modeling a far-miked, largely non-minimumphase piano soundboard response, as outlined in Sec. 4.4 of the paper.

The Apassionata example filtered by the

What can be heard here is that the 200th order parallel filter sounds dull compared to the target, which can be already anticipated from Fig. 6. The problem is cured by adding a parallel FIR part to the structure.

Similarly to the previous case, the target sound is more reverberant, but here it is not only because of measurement noise, but because the far-miking records the room response as well. Modeling the response with the quasi-logarithmic frequency resolution parallel-filter removes the room modes (at least in the mid and high frequencies). This can be even desirable in sound synthesis applications as now the room reverberation can be synthesized independently by using a separate reverberation algorithm.

Modifications to the body transfer function

Because of the close connections to modal representations, it is easy to carry out physically meaningfull modifications to the body transfer function. Here the poles of a 200th order parallel filter are modified.

The Apassionata example filtered by the

The same thing with the knocking sound:

Naturally, other modifications are possible, these were just the simplest to carry out.

Last modified: 22.08.2007.
Author: <>