Luca_Capozzi
11-28-2003, 06:17 PM
I would start this topic to focus and discuss how to obtain a good acoustic piano patch using only base ROM sounds.
As start point, i've read some articles and papers about piano physics and behaviour of its mechanics. How hammers punch strings, then how strings vibrate in a non-linear way producing waves full of harmonics. I've realized that pianos are most complex instrument to synthesize ever exist.
Let's start with some theory...
As we can read in this article [1]:
An 88-note grand produces its sound using 88 hammers that strike nearly 250 strings. However, the natures of these strings differ depending upon where they lie in the range. At the bottom end, single strings are wrapped to high thickness, and the longest of these extend to seven feet or so. Next come notes produced by pairs of wrapped strings, then notes produced by triads (or 'tricords') of wrapped strings, and finally tricords of unwrapped strings, the shortest of which are just a couple of inches long. Given such radical differences in construction, it's not surprising that the tonality as well as the pitch of the piano changes dramatically from one end of the keyboard to the other.
So, we need at least three layers for trying to reproduce the tricords. We can achive this using two layers, with different tunings and volume, and an extra layer for minimize voice robbing when using sustain pedal. Peter Buchta talks about that in a discussion [2] about piano sounds improvement on a K2000.
It's an instrument program using the Piano ROM samples. It's based on the physical characteristics of a grand piano have three strings for each note. One string tuned slightly sharp, one tuned dead on, and one slightly flat to achieve a "drone" or "beat"
effect. Some piano tuners may disagree with me as to the exact tunnings, but in principal this is how the effect and richness are produced. If all three strings were dead on, the sound in your normal 9' grand would sound sort of listless. Implementation on the k2k involves usiny 2 different layers at different tunnings and volumes to achieve the desired effect. Only one extra layer is created to minimize the effects of voice robbing when using the sustain pedal.
With that said, start with Stereo Piano 02 and copy it to an open program slot. Go to the
amplitude envelop page and select" user". Adjust the envelope so that the initial decay drop from the attack to the sustain isn't so drastic and that there is a longer more even decay towards the end of the envelope (12 secs.). The piano's volume dynamics should sound more compressed when you get through with it. Compressing the signal will allow more of the sustain portion of the sound to be heard when playing with a group.
After that, copy the current layer into a new layer. (layer 2) Into this layer make sure that the keymap is set to the piano keymap. Go to the pitch page and adjust the cents by one or two notches (up) and adjust the hrz. by the same (up). Not too much because the effect is a suttle one. Go to the amplitude page and lower the signal by 2 or 3 db. You might want to re-adjust the attack portion of the second layer to lower the initial attack
level since the Rom sample already includes one or two drone beats before it goes to the single loop portion of the sample, thereby avoiding the dreaded, phazed out,"swoosh" effect.
The very difficult think to do in a good piano emulation, is the reproduction of great harmonic sound producted when we strike sustain pedal. When it is pressed, dampers will be lifted so all strings can vibrate simultaneously. A single note sounded, with sustain pedal pressed, make some strings to vibrate sympathetically because they share modes of vibration. Other strings, with different modes, will not vibrate. This is called sympathetic resonance. It's hard to calculate which strings may respond and which not... but it become pretty impossible when more notes are sounded. An harmonic explosion that gives to piano its marvelous sound.
Here (http://axiom.6deex.net/goodies/k25/axpiano.k25) are my attempt to do a good sound using only ROM ones. Because i'm not much experienced with VAST Synthesis, this patch may be not the best we can make... but can be a good start point.
Is a five layer patch, structured in that way:
Layer 1 - Alg 3 (2P LP | AMP U AMP L) - 1 Grand Piano
Layer 2 - Alg 25 (LP | x GAIN | BAL AMP) - 99 Conga Tone Attack w/KeyTrk 0
Layer 3 - Alg 1 (NONE) - 1 Grand Piano (fine detuned)
Layer 4 - Alg 1 (NONE) - Stereo - 1 Grand Piano/163 Sine Wave (timbre -12ST, fine detuned)
Layer 5 - Alg 5 (2P LP | NOTCH2) - 188 Syn Piano (Reversed)
Layers 1 and 3 are used for main sound, where others are used for darkening whole timbre and making a good "strike" hammer noise.
So.. let's patch together to achieve a good piano sound without waste RAM ;)
[Techie Post Scriptum]
Today i've read something very interesting. In the CCRMA Department of Stanford University, two guys have written a paper about "Commuted Piano Synthesis" [3].
The "commuted piano synthesis" algorithm is described, based on a simplified acoustic model of the piano. The model includes multiple coupled strings, a nonlinear hammer, and an arbitrarly large soundboard and enclousure.
In this technique, the string excitation is pre-convolved with the body impulse response, and the resulting waveform can be stored in a wavetable. In that way to simulate a plucked or struck string tone, the wavetable is simply played into the string.
This technique uses banks of lowpass filters to simulate multiple hammer-string interactions. I'll try to illustrate:
Impulse1-->LPF1--->|==|
Impulse2-->LPF2--->| + |-->String
Impulse3-->LPF3--->|==|
Three impulses filtered and, then, added to make desired superposition of hammer-string force pulses. When input increases amplitude, output pulses become taller and thinner, showing less overlap.
In the rest of this paper, authors cover most of the variables in a piano synthesis, giving out an highly efficient computational model for that. Can be cool if we can carry some useful hints studing this paper.
Let's patch now..
See ya
=======================
Notes:
[1] Sound On Sound Magazine - Synth Secrets #42 - Synthesizing Pianos
(http://www.sospubs.co.uk)
[2] http://k2000.creativebits.net/piano.txt
[3] Julius O. Smith and Scott A. Van Duyne - Commuted Piano Synthesis
As start point, i've read some articles and papers about piano physics and behaviour of its mechanics. How hammers punch strings, then how strings vibrate in a non-linear way producing waves full of harmonics. I've realized that pianos are most complex instrument to synthesize ever exist.
Let's start with some theory...
As we can read in this article [1]:
An 88-note grand produces its sound using 88 hammers that strike nearly 250 strings. However, the natures of these strings differ depending upon where they lie in the range. At the bottom end, single strings are wrapped to high thickness, and the longest of these extend to seven feet or so. Next come notes produced by pairs of wrapped strings, then notes produced by triads (or 'tricords') of wrapped strings, and finally tricords of unwrapped strings, the shortest of which are just a couple of inches long. Given such radical differences in construction, it's not surprising that the tonality as well as the pitch of the piano changes dramatically from one end of the keyboard to the other.
So, we need at least three layers for trying to reproduce the tricords. We can achive this using two layers, with different tunings and volume, and an extra layer for minimize voice robbing when using sustain pedal. Peter Buchta talks about that in a discussion [2] about piano sounds improvement on a K2000.
It's an instrument program using the Piano ROM samples. It's based on the physical characteristics of a grand piano have three strings for each note. One string tuned slightly sharp, one tuned dead on, and one slightly flat to achieve a "drone" or "beat"
effect. Some piano tuners may disagree with me as to the exact tunnings, but in principal this is how the effect and richness are produced. If all three strings were dead on, the sound in your normal 9' grand would sound sort of listless. Implementation on the k2k involves usiny 2 different layers at different tunnings and volumes to achieve the desired effect. Only one extra layer is created to minimize the effects of voice robbing when using the sustain pedal.
With that said, start with Stereo Piano 02 and copy it to an open program slot. Go to the
amplitude envelop page and select" user". Adjust the envelope so that the initial decay drop from the attack to the sustain isn't so drastic and that there is a longer more even decay towards the end of the envelope (12 secs.). The piano's volume dynamics should sound more compressed when you get through with it. Compressing the signal will allow more of the sustain portion of the sound to be heard when playing with a group.
After that, copy the current layer into a new layer. (layer 2) Into this layer make sure that the keymap is set to the piano keymap. Go to the pitch page and adjust the cents by one or two notches (up) and adjust the hrz. by the same (up). Not too much because the effect is a suttle one. Go to the amplitude page and lower the signal by 2 or 3 db. You might want to re-adjust the attack portion of the second layer to lower the initial attack
level since the Rom sample already includes one or two drone beats before it goes to the single loop portion of the sample, thereby avoiding the dreaded, phazed out,"swoosh" effect.
The very difficult think to do in a good piano emulation, is the reproduction of great harmonic sound producted when we strike sustain pedal. When it is pressed, dampers will be lifted so all strings can vibrate simultaneously. A single note sounded, with sustain pedal pressed, make some strings to vibrate sympathetically because they share modes of vibration. Other strings, with different modes, will not vibrate. This is called sympathetic resonance. It's hard to calculate which strings may respond and which not... but it become pretty impossible when more notes are sounded. An harmonic explosion that gives to piano its marvelous sound.
Here (http://axiom.6deex.net/goodies/k25/axpiano.k25) are my attempt to do a good sound using only ROM ones. Because i'm not much experienced with VAST Synthesis, this patch may be not the best we can make... but can be a good start point.
Is a five layer patch, structured in that way:
Layer 1 - Alg 3 (2P LP | AMP U AMP L) - 1 Grand Piano
Layer 2 - Alg 25 (LP | x GAIN | BAL AMP) - 99 Conga Tone Attack w/KeyTrk 0
Layer 3 - Alg 1 (NONE) - 1 Grand Piano (fine detuned)
Layer 4 - Alg 1 (NONE) - Stereo - 1 Grand Piano/163 Sine Wave (timbre -12ST, fine detuned)
Layer 5 - Alg 5 (2P LP | NOTCH2) - 188 Syn Piano (Reversed)
Layers 1 and 3 are used for main sound, where others are used for darkening whole timbre and making a good "strike" hammer noise.
So.. let's patch together to achieve a good piano sound without waste RAM ;)
[Techie Post Scriptum]
Today i've read something very interesting. In the CCRMA Department of Stanford University, two guys have written a paper about "Commuted Piano Synthesis" [3].
The "commuted piano synthesis" algorithm is described, based on a simplified acoustic model of the piano. The model includes multiple coupled strings, a nonlinear hammer, and an arbitrarly large soundboard and enclousure.
In this technique, the string excitation is pre-convolved with the body impulse response, and the resulting waveform can be stored in a wavetable. In that way to simulate a plucked or struck string tone, the wavetable is simply played into the string.
This technique uses banks of lowpass filters to simulate multiple hammer-string interactions. I'll try to illustrate:
Impulse1-->LPF1--->|==|
Impulse2-->LPF2--->| + |-->String
Impulse3-->LPF3--->|==|
Three impulses filtered and, then, added to make desired superposition of hammer-string force pulses. When input increases amplitude, output pulses become taller and thinner, showing less overlap.
In the rest of this paper, authors cover most of the variables in a piano synthesis, giving out an highly efficient computational model for that. Can be cool if we can carry some useful hints studing this paper.
Let's patch now..
See ya
=======================
Notes:
[1] Sound On Sound Magazine - Synth Secrets #42 - Synthesizing Pianos
(http://www.sospubs.co.uk)
[2] http://k2000.creativebits.net/piano.txt
[3] Julius O. Smith and Scott A. Van Duyne - Commuted Piano Synthesis