I guess you need to write a trans-in-place filter:
http://msdn2.microsoft.com/en-us/library/ms783049.aspxAll you need is to take an example of such filter from SDK, modify it's Transform function (which gets the data), media type negotiation (to accept any audio or just the type you need like PCM) and CLSID.
Do you want your filter to be loaded when your own program is running or whenever a user plays some audio?
In the first case you just insert your filter between file reader and audio codec (when your program builds the graph), in the second case you just register your filter with a high merit:
http://msdn2.microsoft.com/en-us/library/ms787275.aspx