First time here? Check out the FAQ!
x

What would be a simple Signal Domain version of FuncitonGenerator?

0 votes
536 views
I have often needed a way to trigger a signal function or wavetable just once with an audio rate trigger, and that the signal must be completed before it can be triggered again.

Kind of ike CapyTalk   

!Trigger ramp00: !someDuration

except that some duration is a hzToSignal and the !Trigger is any positive sample value....
asked Apr 13, 2020 in Sound Design by cristian-vogel (Master) (8,440 points)

1 Answer

+1 vote
 
Best answer

The FunkyTown Generator is a FunctionGenerator that takes an audio signal as its trigger. 

The idea behind it is to create a TimeIndex that is triggered when an audio signal (in this case labeled "LFO") becomes positive. It is subtracted from itself delayed by one sample to create a one-sample trigger. A Sign Sound (labeled here as “Positive Zero or Negative’) resets the timeIndex to -1 if its input is positive. At all other times it outputs the previous value of the timeIndex plus a small increment (called “SISound”).

In this example, the timeIndex is used as the index into a SampleWithTimeIndex. This gives you independent controls over the rate of retriggering (the frequency of the 'LFO' in this case) and the rate (the size of the 'SI Sound' in this case).

In the file, there is also an example of using the Funky Town Generator to do hard sync (where one oscillator resets the phase of another one, using the OscillatorWithTimeIndex).

answered Apr 16, 2020 by ssc (Savant) (128,000 points)
selected Apr 16, 2020 by cristian-vogel
thanks SSC thats really cool.

If anyone else is interested in Signal Domain programming, you may want to check out our WireFrames library over at NeverEngineLabs.   Its currently 'Name Your Own Price'

Here's the docs https://www.dropbox.com/s/o3xg0dkd7rymemu/NEL%20WireFrames%20Library%20Guide.pdf



https://www.cristianvogel.com/neverenginelabs/
I made an encapsulation of this example.
https://kyma.symbolicsound.com/library/funkytowngenerator/
...