There doesn’t appear to be a way to get the raw PCM audio stream directly from any of the official APIs—they all implement their own player is some way. There are a couple of ways forward that I can see:

  1. The iOS API appears to have a playbackSpeed method that could work playbackSpeed. It wouldn’t allow for me to apply any other DSP such as mid+side or EQ though.
  2. Use AVPlayer or Media Player frameworks to potentially adjust speed here (in the same way that the video player offers native speed controls). IDK if it supports that for audio though. It also has the same DSP issues.
  3. Pipe audio from a headless web player instance to somewhere that I can hijack the raw PCM.
    • i.e. see if it’s possible to get low-level enough to find the audio stream data in the HTML packet OR create a local webserver that ingests and then rebroadcasts the stream.
    • This kinda seems like a non-starter because of issues with buffers: < 1x will cause the stream to get ahead of playback and >1x is impossible unless there’s a buffering delay, which is tricky when the use is skipping back and forth. I really need a local copy of the stream