Kyma Forum
  Kyma Sound Exchange
  Physical Modeling Synthesis

Post New Topic  Post A Reply
profile | register | preferences | faq | search

next newest topic | next oldest topic
Author Topic:   Physical Modeling Synthesis
David McClain
Member
posted 04 March 2003 00:19         Edit/Delete Message   Reply w/Quote

artificialviolin.kym

 
Hi,

The work with the anharmonic plate resonator got me to thinking about how to perform physical modeling synthesis on Kyma. Attached is a cut at a synthetic violin sound.

One of my favorite software synths is the Tassman from Applied Acoustics Inc. in Montreal. These guys come from a school in France where physical modeling and analysis of musical instruments reigns supreme. They claim the Tassman is actually integrating the differential equations from the physics of musical instruments. Perhaps so, but I think you can do it more simply as illustrated here...

The attached sound uses a fullramp waveform driving a wavetable which has been programmed to develop a sort of triangle waveform, zero at each end, and maximum amplitude at the bowing position. A high pass filter is used to remove any resulting DC bias. The amplitude of the sound is approximated by a x*(1-x) kind of amplitude envelope (parabolic; zero at each end; max in the middle) where x is the bowing position relative to the length of the string. This makes the allowable amplitude drop to zero at the extreme ends of the string.

As you play different notes on the keyboard, the relative position of the bowing changes since the string length is changing, even if you bow consistently at the same position. That's easy to understand, since if you stop a string down to an octave higher pitch, and don't change the bowing position, the fraction of the string below the bow is larger by 2. In effect, a violin or any other stringed instrument changes its sound as a function of the pitch just due to this effect.

The result of the wavetable oscillator is gated with an ADSR envelope, and the sum of all notes (6-note polyphony in this Sound) is sent into a mixer that mixes the original blend and two resonant sounds made by parallel comb filters. The final mix is sent through a 1-pole Lowpass Filter for final shaping. The two comb filters (feedback delay lines) attempt to model the formants of the violin body.

In effect, with only two comb filters, we have a stringed instrument over a cigar box. The height of the cigar box is not considered here -- deemed too small to contribute any meaningful resonances. This may not actually be the case in a real instrument. You could add that dimension for the resonator by paralleling another comb filter tuned to a much higher frequency. The resonant frequency for the comb filters is inversely proportional to the box dimensions. Here we just chose 250 Hz and 380 Hz for the heck of it. I have no idea what are the actual formants of a violin. I used to have one here, but it got damaged and destroyed years ago...

But listening to the Sound, it has approximately the right resonances for a crude beginning. The Script in the Sound sets up the natural string frequency of the instruments. Right now these are tuned to C3, but you can change it to whatever you like.

The main point of this exercise is to show that Kyma can in fact do reasonably good physical modeling without having to construct Karplus-Strong feedback resonators, or integrate hairy differential equations. The boundary conditions on those differential equations would tell you what the relative amplitudes and phases of component sine and cosine waves are needed. But we can dispense with that complexity by realizing a simpler approach...

Namely, going back to Green's function theory, and noting that the bowed string adopts an almost triangular displacement along the string, we just set up a wavetable to represent that shape. Boundary conditions are assured by setting the wavetable output to zero at the two endpoints of the string, and by setting its maximum amplitude at the bowing position. The result is a very credible starting point for physical modeling of a bowed string over a box resonator.

- DM

[ By the way... the wavetable Sound is actually the Input/Output Characteristic Sound provided by SSC. This Sound has a "curvature" parameter that, when 0.5 is a straight-line approximation to the wavetable, and when 1 is a spline-curve approximation.

I use this creatively to ensure a straight-line approximation to the triangular displacement in the string while bowing, and allow it to relax gradually to a spline shape at the release of the bowing. This approximates the damping in the string, changing the shape from a triangular waveform to something much smoother.

Hence, during the release phase, the spectrum of the sound should grow darker as the higher frequency attenuate due to the gradual smoothing of the waveform. ]

[By golly! The third box dimension is very important after all... New Soundfile above includes a second version with 3 resonators and a vibrato mechanism. The third dimension was set to have a fundamental frequency of 1200 Hz. This third dimension is the one that gives a violin its bite!

Note too the rather non-uniform nature of the vibrato as notes near a resonance of the box exhibit stronger vibrato than notes between resonances. Those resonant peaks add a lot to the modulation of the vibrato as the frequency varies near one resonance skirt or another. ]

[This message has been edited by David McClain (edited 04 March 2003).]

IP: Logged

pete
Member
posted 04 March 2003 10:24         Edit/Delete Message   Reply w/Quote
Wow David

Its got a lot of potential. As it stands it takes some time to get the settings right and that seems to be for one note only.
But that's totally understandable for the first one off. It seems that the change in tonality between adjacent semitones is
too large at the moment, or maybe even back to front. Its as if you get the right sound on one note but moving up a fifth
gives you no sound at all as if the bow has gone off the end of the string. What I noticed was that the cc01 control was
more like a bow pressure/speed control than a bow position control and because bows have a tendency to bounce at the start of
a note, it might sound more realistic if the envelope had some control over this. Also by moving the cc01 control, with its natural un smoothness and stepyness, it give the sound of a bow being moved very slowly and being held very lightly on the string. Maybe some switchy noise could be added here to give some humanness to the sound.

By the way, on the copy I got, I heard random clicks, which I got rid of by turning off the interpolation in the full ramp generator module.

Great sound though Thanks.

Pete

IP: Logged

David McClain
Member
posted 04 March 2003 18:32         Edit/Delete Message   Reply w/Quote
Hi Pete,

Thanks for all that good feedback. The !cc01 control was originally intended to allow me to experiment with changing bow positions. But if you move it too far, it does move the bow off the end of the string and you hear nothing. I'll try out what you suggest with an envelope.

Also, the note to note variations may be due to too much comb filtering. Using feedback levels of 0.9 are probably a bit too high. I found levels around 0.7 more acceptable. This feedback control determines the strength of the cigar box resonances.

I wonder if you hear the clicks from the interpolation due to your Capy or to your ears? Come to think of it, I did notice spikes in the Ocilloscope displays.... so maybe I just can't hear those clicks...

I sat around last night trying to figure out how to do this kind of physical modeling for plates and bars. But unfortunately, those objects are distinctly non-linear and dispersive. A string is easy by comparison since an ideal string is non-dispersive. The speed of sound along an ideal string is independent of frequency. But for bars and plates the speed of sound depends on the square root of the frequency, and sound propagates within them more by diffusion than by wave propagation. For now, I'm still stumped on how to proceed under Kyma.

- DM

IP: Logged

All times are CT (US)

next newest topic | next oldest topic

Administrative Options: Close Topic | Archive/Move | Delete Topic
Post New Topic  Post A Reply

Contact Us | Symbolic Sound Home

This forum is provided solely for the support and edification of the customers of Symbolic Sound Corporation.


Ultimate Bulletin Board 5.45c