---
title: PHASECurveType
framework: phase
role: symbol
role_heading: Enumeration
path: phase/phasecurvetype
---

# PHASECurveType

Options that apply a mathematical function to an input value.

## Declaration

```swift
enum PHASECurveType
```

## Overview

Overview PHASE applies curves in several places across the framework: A PHASEEnvelopeSegment object represents one curved portion of an envelope’s graph. The PHASEGroup class applies a curve type to its sounds by fading its volume with the fadeGain(gain:duration:curveType:) function, and to its rate, with fadeRate(rate:duration:curveType:). Each PHASEGroupPresetSetting applies a curve to control a setting’s rate of change. Apply a Curve as a Rate of Change In most cases, PHASE applies curves to output a rate of change. For example, an  envelope segment’s curveType determines where along the segment’s domain the y-value changes more quickly. The following figure compares all the curves’ rate of change by plotting their input over the range (0,0) to (1,1).

## Topics

### Types

- [PHASECurveType.linear](phase/phasecurvetype/linear.md)
- [PHASECurveType.squared](phase/phasecurvetype/squared.md)
- [PHASECurveType.inverseSquared](phase/phasecurvetype/inversesquared.md)
- [PHASECurveType.cubed](phase/phasecurvetype/cubed.md)
- [PHASECurveType.inverseCubed](phase/phasecurvetype/inversecubed.md)
- [PHASECurveType.sine](phase/phasecurvetype/sine.md)
- [PHASECurveType.inverseSine](phase/phasecurvetype/inversesine.md)
- [PHASECurveType.sigmoid](phase/phasecurvetype/sigmoid.md)
- [PHASECurveType.inverseSigmoid](phase/phasecurvetype/inversesigmoid.md)
- [PHASECurveType.holdStartValue](phase/phasecurvetype/holdstartvalue.md)
- [PHASECurveType.jumpToEndValue](phase/phasecurvetype/jumptoendvalue.md)

### Initializers

- [init(rawValue:)](phase/phasecurvetype/init(rawvalue:).md)

## Relationships

### Conforms To

- [BitwiseCopyable](swift/bitwisecopyable.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [RawRepresentable](swift/rawrepresentable.md)
- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)

## See Also

### Dynamic Sound Control

- [PHASEEnvelope](phase/phaseenvelope.md)
- [PHASEEnvelopeSegment](phase/phaseenvelopesegment.md)
- [PHASENumericPair](phase/phasenumericpair.md)
- [Playback Parameterization](phase/playback-parameterization.md)
