<!--
{
  "availability" : [
    "iOS: 9.0.0 -",
    "iPadOS: 9.0.0 -",
    "macCatalyst: 13.1.0 -",
    "macOS: 10.11.0 -",
    "tvOS: 9.0.0 -",
    "visionOS: 1.0.0 -",
    "watchOS: 2.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "AVFAudio",
  "identifier" : "/documentation/AVFAudio/AVAudioConverter",
  "metadataVersion" : "0.1.0",
  "role" : "Class",
  "symbol" : {
    "kind" : "Class",
    "modules" : [
      "AVFAudio"
    ],
    "preciseIdentifier" : "c:objc(cs)AVAudioConverter"
  },
  "title" : "AVAudioConverter"
}
-->

# AVAudioConverter

An object that converts streams of audio between formats.

```
class AVAudioConverter
```

## Overview

The audio converter class transforms audio between file formats and audio encodings.

Supported transformations include:

- PCM float, integer, or bit depth conversions
- PCM sample rate conversion
- PCM interleaving and deinterleaving
- Encoding PCM to compressed formats
- Decoding compressed formats to PCM

A single audio converter instance may perform more than one of the above transformations.

## Topics

### Creating an Audio Converter

[`init(from:to:)`](/documentation/AVFAudio/AVAudioConverter/init(from:to:))

Creates an audio converter object from the specified input and output formats.

### Converting Audio Formats

[`convert(to:error:withInputFrom:)`](/documentation/AVFAudio/AVAudioConverter/convert(to:error:withInputFrom:))

Performs a conversion between audio formats, if the system supports it.

[`AVAudioConverterInputBlock`](/documentation/AVFAudio/AVAudioConverterInputBlock)

A block to get input data for conversion, as necessary.

[`convert(to:from:)`](/documentation/AVFAudio/AVAudioConverter/convert(to:from:))

Performs a basic conversion between audio formats that doesn’t involve converting codecs or sample rates.

[`AVAudioConverterInputStatus`](/documentation/AVFAudio/AVAudioConverterInputStatus)

An option that indicates the status of an audio converter input block.

[`AVAudioConverterOutputStatus`](/documentation/AVFAudio/AVAudioConverterOutputStatus)

An option that indicates the return status of an audio converter method.

### Resetting an Audio Converter

[`reset()`](/documentation/AVFAudio/AVAudioConverter/reset())

Resets the converter so you can convert a new audio stream.

### Getting Audio Converter Properties

[`channelMap`](/documentation/AVFAudio/AVAudioConverter/channelMap)

An array of integers that indicates which input to derive each output from.

[`dither`](/documentation/AVFAudio/AVAudioConverter/dither)

A Boolean value that indicates whether dither is on.

[`downmix`](/documentation/AVFAudio/AVAudioConverter/downmix)

A Boolean value that indicates whether the framework mixes the channels instead of remapping.

[`inputFormat`](/documentation/AVFAudio/AVAudioConverter/inputFormat)

The format of the input audio stream.

[`outputFormat`](/documentation/AVFAudio/AVAudioConverter/outputFormat)

The format of the output audio stream.

[`magicCookie`](/documentation/AVFAudio/AVAudioConverter/magicCookie)

An object that contains metadata for encoders and decoders.

[`maximumOutputPacketSize`](/documentation/AVFAudio/AVAudioConverter/maximumOutputPacketSize)

The maximum size of an output packet, in bytes.

### Getting Bit Rate Properties

[`applicableEncodeBitRates`](/documentation/AVFAudio/AVAudioConverter/applicableEncodeBitRates)

An array of bit rates the framework applies during encoding according to the current formats and settings.

[`availableEncodeBitRates`](/documentation/AVFAudio/AVAudioConverter/availableEncodeBitRates)

An array of all bit rates the codec provides when encoding.

[`availableEncodeChannelLayoutTags`](/documentation/AVFAudio/AVAudioConverter/availableEncodeChannelLayoutTags)

An array of all output channel layout tags the codec provides when encoding.

[`bitRate`](/documentation/AVFAudio/AVAudioConverter/bitRate)

The bit rate, in bits per second.

[`bitRateStrategy`](/documentation/AVFAudio/AVAudioConverter/bitRateStrategy)

A key value constant the framework uses during encoding.

### Getting Sample Rate Properties

[`sampleRateConverterQuality`](/documentation/AVFAudio/AVAudioConverter/sampleRateConverterQuality)

A sample rate converter algorithm key value.

[`sampleRateConverterAlgorithm`](/documentation/AVFAudio/AVAudioConverter/sampleRateConverterAlgorithm)

The priming method the sample rate converter or decoder uses.

[`applicableEncodeSampleRates`](/documentation/AVFAudio/AVAudioConverter/applicableEncodeSampleRates)

An array of output sample rates that the converter applies according to the current formats and settings, when encoding.

[`availableEncodeSampleRates`](/documentation/AVFAudio/AVAudioConverter/availableEncodeSampleRates)

An array of all output sample rates the codec provides when encoding.

### Getting Priming Information

[`primeInfo`](/documentation/AVFAudio/AVAudioConverter/primeInfo)

The number of priming frames the converter uses.

[`primeMethod`](/documentation/AVFAudio/AVAudioConverter/primeMethod)

The priming method the sample rate converter or decoder uses.

[`AVAudioConverterPrimeInfo`](/documentation/AVFAudio/AVAudioConverterPrimeInfo)

Priming information for audio conversion.

[`AVAudioConverterPrimeMethod`](/documentation/AVFAudio/AVAudioConverterPrimeMethod)

Options for the prime method property.

### Managing packet dependencies

[`audioSyncPacketFrequency`](/documentation/AVFAudio/AVAudioConverter/audioSyncPacketFrequency)

[`contentSource`](/documentation/AVFAudio/AVAudioConverter/contentSource)

[`AVAudioContentSource`](/documentation/AVFAudio/AVAudioContentSource)

[`dynamicRangeControlConfiguration`](/documentation/AVFAudio/AVAudioConverter/dynamicRangeControlConfiguration)

[`AVAudioDynamicRangeControlConfiguration`](/documentation/AVFAudio/AVAudioDynamicRangeControlConfiguration)



---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)