io7m | single-page | multi-page | Aradine User Manual
4. DSP Modules
Previous
4. DSP Modules
Up
4.2. com.io7m.aradine.filter.biquad1
Next

# 4.1. com.io7m.aradine.envelope.table1

- 4.1.1. Overview
- 4.1.2. Interpolation
  - 4.1.2.1. Overview
  - 4.1.2.2. CONSTANT_CURRENT
  - 4.1.2.3. CONSTANT_NEXT
  - 4.1.2.4. COSINE
  - 4.1.2.5. EXPONENTIAL
  - 4.1.2.6. LINEAR
  - 4.1.2.7. LOGARITHMIC

## 4.1.1. Overview

1
The com.io7m.aradine.envelope.table1 module contains a table-based envelope implementation.

## 4.1.2. Interpolation

## 4.1.2.1. Overview

1
The envelope supports a number of different interpolation functions to produce amplitude values between breakpoints. For a hypothetical breakpoint B at frame frame(B) with amplitude amplitude(B), and a hypothetical breakpoint C at frame frame(C) with amplitude amplitude(C), where frame(B) < frame(C), the interpolation function specified for B is used to produce interpolated amplitude values for all frames greater than frame(B) and less than frame(C).
2
The definitions below are explained in terms of a pair of breakpoints B and C where frame(B) = 0, amplitude(B) = 0, frame(C) = 1000, and amplitude(C) = 1.

## 4.1.2.2. CONSTANT_CURRENT

1
If a breakpoint B uses the interpolation function CONSTANT_CURRENT, then all frames between B and C will have an amplitude equal to amplitude(B).

### 4.1.2.2.2. CONSTANT_CURRENT Graph

## 4.1.2.3. CONSTANT_NEXT

1
If a breakpoint B uses the interpolation function CONSTANT_NEXT, then all frames between B and C will have an amplitude equal to amplitude(C).

### 4.1.2.3.2. CONSTANT_NEXT Graph

## 4.1.2.4. COSINE

1
If a breakpoint B uses the interpolation function COSINE, then all frames between B and C will have amplitudes produced by a cosine interpolation of amplitude(B) and amplitude(C).

### 4.1.2.4.2. COSINE Graph

## 4.1.2.5. EXPONENTIAL

1
If a breakpoint B uses the interpolation function EXPONENTIAL, then all frames between B and C will have amplitudes produced by an exponential interpolation of amplitude(B) and amplitude(C).

### 4.1.2.5.2. EXPONENTIAL Graph

3
This is equivalent to linear interpolation where the interpolation factor is the square of the normal linear factor.

## 4.1.2.6. LINEAR

1
If a breakpoint B uses the interpolation function LINEAR, then all frames between B and C will have amplitudes produced by a linear interpolation of amplitude(B) and amplitude(C).

### 4.1.2.6.2. LINEAR Graph

## 4.1.2.7. LOGARITHMIC

1
If a breakpoint B uses the interpolation function LOGARITHMIC, then all frames between B and C will have amplitudes produced by a logarithmic interpolation of amplitude(B) and amplitude(C).

### 4.1.2.7.2. LOGARITHMIC Graph

3
This is equivalent to linear interpolation where the interpolation factor is the square root of the normal linear factor.
4. DSP Modules
Previous
4. DSP Modules
Up
4.2. com.io7m.aradine.filter.biquad1
Next
io7m | single-page | multi-page | Aradine User Manual