# Access to audio file's full PCM buffer in DSP plugin

**URL:** https://qa.fmod.com/t/access-to-audio-files-full-pcm-buffer-in-dsp-plugin/23924
**Category:** FMOD Engine
**Tags:** cpp
**Created:** [January 21, 2026, 5:17pm UTC](https://qa.fmod.com/t/access-to-audio-files-full-pcm-buffer-in-dsp-plugin/23924 "2026-01-21T17:17:01Z")
**Posts on this page:** 3
**Page:** 1

<div class="post-metadata">

### Author: ![jeremyabel](https://avatars.discourse-cdn.com/v4/letter/j/9f8e36/32.png) [@jeremyabel](https://qa.fmod.com/u/jeremyabel)
#### Post date: [January 21, 2026, 5:17pm UTC](https://qa.fmod.com/t/access-to-audio-files-full-pcm-buffer-in-dsp-plugin/23924/1 "2026-01-21T17:17:01Z")

</div>

I’m looking into the feasibility of developing a plugin that will allow DJ-style scratching / scrubbing playback of a single audio file. The normal way I know of to do this is via sample interpolation and manual playhead control. Is there’s a way for FMOD to give me the entire PCM audio data buffer for an audio file? Or for a DSP plugin to take an audio file as an input that I could then read from myself?

Looks like I could do this if I could get a pointer to System inside a plugin. Is this possible?

---

<div class="post-metadata">

### Author: ![Connor\_FMOD](https://yyz2.discourse-cdn.com/flex036/user_avatar/qa.fmod.com/connor_fmod/32/3685_2.png) [@Connor\_FMOD](https://qa.fmod.com/u/Connor_FMOD)
#### Post date: [January 25, 2026, 10:28pm UTC](https://qa.fmod.com/t/access-to-audio-files-full-pcm-buffer-in-dsp-plugin/23924/2 "2026-01-25T22:28:27Z")

</div>

Hi,

> [@jeremyabel](#):
>
> Is there’s a way for FMOD to give me the entire PCM audio data buffer for an audio file?

[FMOD Engine | Advanced Core Api Topics - Extracting Pcm Data From A Sound](https://fmod.com/docs/2.03/api/advanced-core-api-topics.html#extracting-pcm-data-from-a-sound)

> [@jeremyabel](#):
>
> Or for a DSP plugin to take an audio file as an input that I could then read from myself?

It is possible to write your own DSP, we have some docs for that here: [FMOD Engine | Dsp Plugin Api Guide - The Plug In Descriptor](https://fmod.com/docs/2.03/api/dsp-plugin-api-guide.html#the-plug-in-descriptor)

> [@jeremyabel](#):
>
> Looks like I could do this if I could get a pointer to System inside a plugin. Is this possible?

Using [FMOD Engine | Core Api Dsp - Dsp::Setuserdata](https://fmod.com/docs/2.03/api/core-api-dsp.html#dsp_setuserdata) you could pass your system pointer to be accessed within the DSP.

Hope this helps!

---

<div class="post-metadata">

### Author: ![jeremyabel](https://avatars.discourse-cdn.com/v4/letter/j/9f8e36/32.png) [@jeremyabel](https://qa.fmod.com/u/jeremyabel)
#### Post date: [January 26, 2026, 6:20pm UTC](https://qa.fmod.com/t/access-to-audio-files-full-pcm-buffer-in-dsp-plugin/23924/3 "2026-01-26T18:20:14Z")

</div>

Ooh the UserData idea is clever. What I ended up doing is using a data param to drop in an ogg file and then decode it myself with the stb\_vorbis library. That works, but there’s a stutter when it does the initial read. Getting the sample data from the System would be much preferred. Thanks!
