# Clip and Tremolizer

**Clip**

The Clip block adds an adjustable amount of gain to your signal, although unlike the Gain Boost block, it is designed to work with control signals.  The way to think about this block is "I want the incoming control signal to be multiplied by \[ 0 or 1 ] up to a specific point of the pot's rotation, after which the multiplying factor ramps linearly to \[ 1 or 0 ].&#x20;

&#x20;As with the Power block, the Clip block offers Flip and Invert options.  You may have seen this being used in a echo with a loop hold feature.

<img src="https://4148137667-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvkMElNCYnDaBJfC78R6c%2Fuploads%2FM62SRlVjc8VTA8LFR1UQ%2Fimage.png?alt=media&#x26;token=f7204eab-001e-45f5-8687-7aec95098b31" alt="" data-size="original">

The Clip block that controls the Volume entering the Three-Tap Delay is set as shown, with a gain of 10 and "Flip" enabled.  Here's how to interpret that.   The black area of the control panel represents x from 0 to 1 on the horizontal axis and y from 0 to 1 on the vertical axis (admittedly this is not obvious).

With a gain of 10, and neither "Flip" nor "Invert" selected, you can see that the input (horizontal axis) is multiplied by 10 and then clips when the Y-Value hits 1.0.  The y-value remains at 1.0 for all other values of x (we are assuming that x is between 0 and 1.0, as is the case with the Pot controls).

<figure><img src="https://4148137667-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvkMElNCYnDaBJfC78R6c%2Fuploads%2FhgsLHgwKXn50A2IYIkqI%2Fimage.png?alt=media&#x26;token=721bef41-0d76-4d10-abf8-d6ea034a52bd" alt=""><figcaption></figcaption></figure>

For 0 <= x <= 0.1, y = 10 x.

For 0.1 <= x <= 1.0, y = 1.0.  Y is clipped above x = 1.0 / gain.

Let's select "Flip" and see what happens.

<figure><img src="https://4148137667-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvkMElNCYnDaBJfC78R6c%2Fuploads%2Fq6V7pBOzQGvvOuk4yvtp%2Fimage.png?alt=media&#x26;token=35b6fe1c-0e63-44ad-80be-170550f1aa4e" alt=""><figcaption></figcaption></figure>

The curve is now flipped end to end.  Instead of going "up" at the beginning, it goes "down" at the end.

For 0 <= x <= 0.9, y = 1.0.

For 0.9 <= x < = 1.0, y = 10 \* (1 - x).

Let's select "Invert".

<figure><img src="https://4148137667-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvkMElNCYnDaBJfC78R6c%2Fuploads%2Fki1Wh4c0IT4mbtR02aN8%2Fimage.png?alt=media&#x26;token=748688a4-8fcb-48c2-ad81-c59432b73508" alt=""><figcaption></figcaption></figure>

Selecting "Invert" inverts the transfer curve along the vertical axis.

For 0 <= x <= 0.9, y = 0.0.

For 0.9 <= x < = 1.0, y = 10 \* (x - 0.9).

Finally, with just "Invert" selected.

<figure><img src="https://4148137667-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvkMElNCYnDaBJfC78R6c%2Fuploads%2Fh0SpMVxAuVE5UQk3Lm6S%2Fimage.png?alt=media&#x26;token=dd6c7fbb-8d27-4be1-8559-7a96a6019032" alt=""><figcaption></figcaption></figure>

For 0 <= x <= 0.1, y = 10 \* ( 0.1 - x).

For 0.1 <= x < = 1.0, y = 0.0.

What use is this?  The primary use it was designed for is to allow you to smoothly "switch" between settings at either extreme end of the pot or control signal excursion.  Going back to the Delay example, you can see that pot 0 does nothing over most of its travel.  From 0 to 0.9, the delay feedback is 0, while the volume is 1.0.  When the pot goes to 1.0, now the input value is 0 and the feedback is 1.0.    As long as the gain around the feedback loop is 1.0, the signal in the delay line will loop indefinitely.

<figure><img src="https://4148137667-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvkMElNCYnDaBJfC78R6c%2Fuploads%2FFErlyHoI5kQ4WHIyRNLP%2Fimage.png?alt=media&#x26;token=bf1c815a-062a-4970-b73c-4aa0784cd89e" alt=""><figcaption></figcaption></figure>

The delay's Feedback gain setting (0 dB, also known as 1.0) and the FB In Gain (1.0) contribute to the loop gain.

Download this patch [here](https://github.com/HolyCityAudio/SpinCAD-Designer/blob/master/patches/Delay-infinite-fb-demo.spcd).

**Tremolizer**

I've seen some implementations of a tremolo where the LFO is scaled and offset to go from 0 to 1, and then this is just multiplied by the width.  The problem with that is that when the width is zero, you get nothing out at all.

The Tremolizer uses the control signal's value above zero to reduce the gain of the signal from 1.0.  So, it simply inverts the control signal, multiplies it by the width slider in the control panel, and sends that signal along to where (usually) you use it to control a volume control, as shown [here](https://holy-city-audio.gitbook.io/spincad-designer/patches/making-a-tremolo-patch).

* Alternatives

If you use the width parameter input on the LFO block, it shrinks about its midpoint, so with the width all the way down, you are going to get a 6 dB drop in the output level.  This is more subtle but is closer to typical Fender guitar amp tremolo sounds.

Now that I think about it, that might not be so bad, given that tremolo reduces the average signal (obviously) and many standalone tremolo pedals include either a separate gain knob or some other means of compensation.  The last thing you want to have happen is to switch some effect on while you're onstage and now you can't hear it!


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://holy-city-audio.gitbook.io/spincad-designer/blocks/controls/clip-and-tremolizer.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
