# Waveshaper

![Waveshaper](https://content.gitbook.com/content/sOyi2widgEtSqcjOGVN2/blobs/doHCjJqGcNIDjnEGTpGX/image.png)

Waveshaper can be used for distortion and shaping the waveform of the signal.\
This plugin is very similar to Dynamics Processor.

## X/Y Graph

* **Curve:** represents dynamic range in a linear scale of 0-1 amplitude.
* **X axis:** represents the peak level of input.
* **Y axis:** represents target level of output.

{% hint style="info" %}
The Graph shows exact sample values rather than dbFS, making it appear non-linear.\
Also note that a line of `x=y` will not alter the signal.
{% endhint %}

## Graph Editing

* `Left Click` draws lines following the cursor.
* `Shift + Left Click` draws a straight line between the current and last point.
* **+/- 1dB:** shifts graph line along the Y axis.
* **SMOOTH:** smooths graph via cubic interpolation.
* **RESET:** nukes graph and reverts it to default `x=y` function.

## Knobs

* **INPUT:** adjusts level of input gain.
* **OUTPUT:** adjusts level of output gain.

## Buttons

* **Clip input:** toggles [clipping](https://en.wikipedia.org/wiki/Clipping_\(signal_processing\)#Causes) of the input signal to 0dBV (or 1) before processing. <br>


---

# 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://docs.lmms.io/user-manual/effects/waveshaper.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.
