This Sound is a collection of modes (implemented as parallel second order filter sections) with optional filtering and/or distortion in the feedback loop. You can use
ModalFilter to model objects like rooms, strings, air columns, membranes, pieces of metal or other objects for which you can obtain data on the mode frequencies, amplitudes and bandwidths.
Internally the signal flow is:
Additive:
[((Fdbk *
FdbkAmp?) *
PreShaping? -> Waveshaper) *
PostShaping? + (Input *
InputLevel?)] --> modes
Multiplicative:
sum = (Fdbk *
FdbkAmp?) + (Input *
InputLevel?)
[(sum *
PreShaping? -> Waveshaper) *
PostShaping? * sum] --> modes
(modes * Envelope) --> output
modes -->
FdbkFilter? --> Fdbk
You can use subparts of this algorithm, for example, the modes without feedback or the feedback without filtering or distortion, or the feedback without the mode filters. (See the individual parameter help messages for the values that turn off various sections).
Input
Excitation signal for the modes. For example, this could be live audio input, a click from a
FunctionGenerator?, Noise, a Chopper, etc.
Envelope
Amplitude scale on the output of the modes.
ModeAmps?
An array of amplitudes (-1,1) indicating the relative strength of each mode.
To bypass the mode filters and use only the filtered feedback with distortion, set this field to 1. (Set
ModeFreqs? and
ModeBWs? to 0)
ModeFreqs?
An array of frequencies (0, halfSampleRate) indicating the center frequency or cutoff frequency of each mode.
To bypass the mode filters and use only the filtered feedback with distortion, set to 0. (Set
ModeAmps? to 1 and
ModeBWs? to 0)
ModeBWs?
An array of positive values indicating the proportion of each frequency to use as the bandwidth of each mode. For example, if the BW of the first mode is 0.5 and the frequency of the first mode is 100 hz, the bandwidth of the first mode will be 50 hz.
To bypass the mode filters and use only the filtered feedback with distortion, set this field to 0. (Set
ModeAmps? to 1 and
ModeFreqs? to 0)
ModeFilter?
Select a type for the modal filters: bandpass, highpass, lowpass, or allpass.
BWNormalize
Check this box to automatically increase the amplitude as the bandwidths of the modes is decreased. This can be useful for maintaining roughly equal amplitude output for any bandwidth.
FdbkAmp?
Amplitude scale on the signal that is fed back (and optionally filtered and distorted).
To remove the feedback, set this parameter to 0.
FdbkFreq?
Center frequency or cutoff frequency for the filter in the feedback path.
To bypass filtering in the feedback path, set this parameter to 0. (Set
FdbkBW? to 0)
FdbkBW?
Bandwidth of the filter in the feedback path. Narrow bandwidths tend to ring or resonate.
To bypass filtering in the feedback path, set this parameter to 0. (Set
FdbkFreq? to 0.)
FdbkFilter?
Select a filter type for the filter in the feedback path: lowpass, bandpass, allpass, or highpass.
InputLevel?
Amplitude scale factor on the input signal. Range is (-1,1).
PreShaping?
Amplitude scale factor on the signal before it goes through the waveshaper.
To bypass distortion:
Multiplicative: Set
PreShape? to 0. Set
ShapingFunction? to Rectangular. Set
PostShape? to 1.
Additive: Set
PreShape? to 1. Set
ShapingFunction? to
FullRamp?. Set
PostShape? to 1.
PostShaping?
Amplitude scale on the output of the waveshaper before it is added to or multiplied by the input and feedback.
To bypass distortion:
Multiplicative: Set
PreShape? to 0. Set
ShapingFunction? to Rectangular. Set
PostShape? to 1.
Additive: Set
PreShape? to 1. Set
ShapingFunction? to
FullRamp?. Set
PostShape? to 1.
Waveshaper
Chooses the type of distortion: additive or multiplicative.
Additive distortion mixes the distorted feedback signal with the input.
Multiplicative distortion multiplies the distorted input and feedback signal by the input and feedback signal.
ShapingFunction?
Select an input-output characteristic (shaping function) for the optional waveshaping of the feedback.
To bypass distortion:
Multiplicative: Set
PreShape? to 0. Set
ShapingFunction? to Rectangular. Set
PostShape? to 1.
Additive: Set
PreShape? to 1. Set
ShapingFunction? to
FullRamp?. Set
PostShape? to 1.
FromMemoryWriter?
Use this option if you want to change the shaping function while the Sound is playing. Check this box if you are using a
MemoryWriter? scheduled in parallel with this Sound to write into the memory used as the waveshaping function.
WebForm |
TopicClassification: | Pending |
BriefDescription?: | |
OperatingSystem: | |
LapOrDesk?: | |
HostProcessor?: | |
ClockSpeedInMHz?: | |
RAMInMB?: | |
CapyInterface?: | |
KymaVersion?: | |
CapybaraVersion?: | |
ExpansionCards?: | |
VirtualMemory?: | On |
MonitorSize?: | |
NumberMonitors?: | |
NumberColors?: | |
GraphicsCard?: | |
OtherHardware?: | |
OtherSoftware?: | |