I don't see any issue in adding a
GetData() and corresponding
SetData() API to
SoundEffect, similar to
Texture2D, pending any discovery of issues with the underlying platform APIs that may block that. We would also have to add properties for accessing the properties such as format, bit depth, channel count, etc, that you need to determine how to interpret the data coming from the
SoundEffect or to push to the
Not all platforms have a
SoundBuffer object (that is for OpenAL only), so we cannot just expose that.
If you aren't wanting to play the data with SoundEffect, but pipe it through DynamicSoundEffectInstance, it would make sense to use a content pipeline extension to import audio, convert to the required format you need (usually 16-bit signed PCM for
DynamicSoundEffectInstance) and output in a file format that you can easily load and process.