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: http://www.acoustics.hut.fi/go/icmc07-parfiltAbstract
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 parfilt.zip. 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:
- parfiltexample - Filter design example for a guitar admittance measurement
- parfilt - Filtering operation using the parallel filter structure
- parfiltdes - LS design of the parallel second-order filter
- wppoles - Determining the pole positions based on a warped IIR design
- tfplot - Logarithmically smoothed transfer-function plot for displaying the results
- warp_impres - Impulse response warping reuired by wppoles.m - belongs to the Warping toolbox
- guitadm.mat - The admittance response data
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 order IIR - Prony Parallel - log Parallel - 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 order IIR - Prony Parallel - log Parallel - 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
- 10000 tap FIR filter (target response)
- 200th order parallel filter
- 100th order parallel filter + 200 tap FIR filter
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
- Original parallel filter
- Halving the decay times of the modes
- Shifting all the modes by one octave lower
The same thing with the knocking sound:
- Original parallel filter
- Halving the decay times of the modes
- Shifting all the modes by one octave lower
Naturally, other modifications are possible, these were just the simplest to carry out.
URL: http://www.acoustics.hut.fi/go/icmc07-parfilt
Last modified: 22.08.2007.
Author: <bbank@acoustics.hut.fi>