k y m a • t w e a k y — the kyma collective || view the current website || February 2015 Archive

/ WebHome / How.ConvertTriggerToKeyDown


How Section

How do I...
Add a question...


All Sections


Login / Register 
Change password
Forgot password?

Symbolic Sound

Kyma Forum
Eighth Nerve

TWiki Links

TWiki Formatting FAQ
What is TWiki?
%SESSION_ENDIF% twiki.org

Question (or Task)

as i understood it the message !KeyDown has this built in fadeIN-functionality to avoid these clicks whenever a sound is retriggered althoug it is still in the release phase and therefore not completely silent. i have this ( [SoundToGlobalControl] L gt: !Threshold) in the gate field and i get artefacts whenever the trigger comes in release phase.

BTW, while testing the !keyDown behavior i noticed not a click but something like a low passed thump on retriggering. could this be improved by running a longer ramp befor triggering ?

-- MichaelStrohmann - 22 Jul 2004 .


As I understand it there is no fade in or fade out with !KeyDown but instead a very quick transition (one sample only). Infact the turn on of !KeyDown goes to minus one for one cycle and then to plus one and remains there until the key is released, when it falls back to zero. If you output the signal produced by !KeyDown you would hear a thump. This is because you would be trying to send DC to your speakers. It wouldn't be true DC as the converters and the amp and any other equipment in the path to the speakers will DC decopple the DC out. Any fadeIN or out for that matter would be done by the modules that the !KeyDown is controling. Like the sample player has fields for fade in and fade out times. If you wanted to gate the output of an oscilator without the clicks you would put !KeyDown into an AR or ADSR module and use that to control the level.

If however you were using !Keydown to trigger a sample you may find that the sample stops playing when you release the key even though you wanted it to remain playing for the release part of the sound. This is where that minus one in the KeyDown? output becomes usefull. If we put "!KeyDown + 0.5" in the gate field of the sample player we would get a signal greater than zero all the time weither the key was pressed or not. But when we pressed an new key the signal would go to minus 0.5 for one cycle only. This would reset the sample player back to the start of the sample but it would still continue playing , which is what we want. Maybe this is what you need.

I'm trying to guess what you are sending the !KeyDown to, but different things require different treatments. Can you explain your whole setup and what you expect to happen.

-- PeteJohnston - 23 Jul 2004

question more precise (i hope)

i´ve uploaded the problematic sound here:

the whole idea of this sound is to have something like a "synchronicity" fader for granular syntesis. should sound like a steady pulse and with a fader you could deviate from that pulse... i was also looking into the CloudBank? prototype. the queastion here is: how can i reduce the "randomness" of the noise prototype used to trigger the individual grains ? low and bandpass don´t do it.

-- MichaelStrohmann - 22 Jul 2004

Low or band pass likely won't be very helpful. Threshold may be a better choice here. I been thinking about your question on and off for a few days (while at work, wishing I was home in the studio instead :) and a couple things come to mind and the CloudBank? is indeed at the forefront of how I would approach the problem, however, depending on the overall result desired, delay modules could also provide some help.

In using the CloudBank?, one idea is a cascade of triggers like pulse generators that all have the same frequency setting but with a deviation setting to move the trigger ahead or behind the sync tempo. Pulse length would be 1 samp in length and you would need as many pulses as MaxGrain? number.

Something like 1 bpm: (!Rate + (!Deviation * ((1 bpm: !Rate) nextRandomWithSeed: “unique seed for each trigger”)))

There are some problems with that string (the nextRandom seed triggers at intervals other than the trigger - I can see the potential for problems, but not sure how it would play out in audio), but it may get you at least part of the way.

I need to check out your script as well as listen to the example, but from your description I think there is some addition issues at hand when you deal with crowd type noises, the most obvious of which is dealing with distance/volume issues of the multitude of sound sources as well as echoes, resonances, and the fact that people clap differently with each clap. I would certainly try to cascade several banks of CloudBank? sounds together and use reverb, delay/feedback networks, and other processing to provide some layers to the sounds.

-- BenPhenix - 28 Jul 2004

I think Ben's got the right idea. I put together some examples of rhythmic clouds created by feeding a PulseTrain? into the CloudBank?. There are also some examples showing how to use the InputOutputCharacteristic? as a sieve to reject any of the random frequency deviations that don't lie within a particular scale. In both cases there are controls on how random or how regular the pulse or the frequency deviations are.

-- CarlaScaletti - 29 Jul 2004

Question: How can i avoid clicks when re-triggering a sound which is still in it´s release phase ?

Attachment: Action: Size: Date: Who: Comment:
Clicksinrelease action 55694 24 Jul 2004 - 12:20 MichaelStrohmann  

© 2003-2014 by the contributing authors. / You are TWikiGuest