Skip to content

DSD over PCM (DoP) Playback

Stephen F. Booth edited this page Feb 21, 2021 · 1 revision

DSD over PCM (DoP) playback has been tested on both macOS and iOS.

DoPDecoder supports DSD64, DSD128, and DSD256 as well as the 48.0 KHz variants 6.144 MHz and 12.288 MHz.

In order for playback to work correctly the DAC must support DoP at the specified sample rate, and the sample rate for the device (macOS) or session (iOS) must be set to that of the DoPDecoder's processing format. Resampling destroys the DoP marker and the DAC won't recognize the signal.

Nomenclature DSD Sample Rate DoP Sample rate
DSD64 2.8224 MHz 176.4 kHz
DSD128 5.6448 MHz 352.8 kHz

macOS Example

if let device = AudioObject.make(player.outputDeviceID) as? AudioDevice {
    do {
        try device.setSampleRate(/* Desired DoP sample rate */)
    }
    catch let error {
        // Handle error
    }
}

iOS Example

let session = AVAudioSession.sharedInstance()
try? session.setActive(false)
do {
    try session.setPreferredSampleRate(/* Desired DoP sample rate */) 
    try session.setActive(true)
}
catch let error {
    // Handle error
}
Clone this wiki locally