# tf.signal.overlap_and_add

<br />

|---|
| [![](https://www.tensorflow.org/images/GitHub-Mark-32px.png) View source on GitHub](https://github.com/tensorflow/tensorflow/blob/v2.13.1/tensorflow/python/ops/signal/reconstruction_ops.py#L26-L163) |

Reconstructs a signal from a framed representation.

#### View aliases


**Compat aliases for migration**

See
[Migration guide](https://www.tensorflow.org/guide/migrate) for
more details.

[`tf.compat.v1.signal.overlap_and_add`](https://www.tensorflow.org/api_docs/python/tf/signal/overlap_and_add)

<br />

    tf.signal.overlap_and_add(
        signal, frame_step, name=None
    )

Adds potentially overlapping frames of a signal with shape
`[..., frames, frame_length]`, offsetting subsequent frames by `frame_step`.
The resulting tensor has shape `[..., output_size]` where

    output_size = (frames - 1) * frame_step + frame_length

<br />

<br />

<br />

| ## Args ||
|---|---|
| `signal` | A \[..., frames, frame_length\] `Tensor`. All dimensions may be unknown, and rank must be at least 2. |
| `frame_step` | An integer or scalar `Tensor` denoting overlap offsets. Must be less than or equal to `frame_length`. |
| `name` | An optional name for the operation. |

<br />

<br />

<br />

<br />

| ## Returns ||
|---|---|
| A `Tensor` with shape `[..., output_size]` containing the overlap-added frames of `signal`'s inner-most two dimensions. ||

<br />

<br />

<br />

<br />

| ## Raises ||
|---|---|
| `ValueError` | If `signal`'s rank is less than 2, or `frame_step` is not a scalar integer. |

<br />