SoundPlayer stopReverb
Fantastic! This was what I was searching for.
no reverb would make some FMSounds end badly):
Hm ... I just haved tried this out at the example of brass:
FMSound brass1 play
And I have to tell that, both with default and without reverb, I can hear the abrupt end of the sound very clearly. IMHO it does not make a large difference, except for the fact that a pure tone should not have any reverb by definition.
I am not an expert in sounds at all, but couldn't it be a more elegant solution to adjust the envelopes of the problematic sounds instead and to extend their release phase?
I changed #brass1 like this:
| snd p env | snd := FMSound new modulation: 0 ratio: 1. p := OrderedCollection new. - p add: 0@0.0; add: 30@0.8; add: 90@1.0; add: 120@0.9; add: 220@0.7; add: 320@0.9; add: 360@0.0. + p add: 0@0.0; add: 30@0.8; add: 90@1.0; add: 120@0.9; add: 220@0.7; add: 320@0.9; add: 440@0.0. snd addEnvelope: (VolumeEnvelope points: p loopStart: 4 loopEnd: 6).
p := OrderedCollection new. p add: 0@0.5; add: 60@1.0; add: 120@0.8; add: 220@0.65; add: 320@0.8; add: 360@0.0. env := Envelope points: p loopStart: 3 loopEnd: 5. env target: snd; updateSelector: #modulation:; scale: 5.0. snd addEnvelope: env.
(snd setPitch: 220.0 dur: 1.0 loudness: 0.5) play
The only difference is that I moved the last envelope point 80 ms to the right. I can't hear any "plop" now any longer.
My proposal is to turn off reverb in the SoundPlayer by default and to adjust the most problematic FMSounds manually instead. What do you think? :-)
Best, Christoph