In the end, the only bit-perfect solution that worked satisfactorily with Winamp and the Behringer UCA202 was the Maiko WASAPI Winamp plugin running in 'exclusive' mode in conjunction with the native Windows 7 UCA202 driver. Project Information. On 2020-06-03 we received the following mail by Sourceforge:. In order to comply with their 'policies', on 2020-06-14 we decided to move this project to elsewhere.

The Windows Audio Session API (WASAPI) enables client applications to manage the flow of audio data between the application and an audio endpoint device.

Winamp Wasapi

Header files Audioclient.h and Audiopolicy.h define the WASAPI interfaces.

Every audio stream is a member of an audio session. Through the session abstraction, a WASAPI client can identify an audio stream as a member of a group of related audio streams. The system can manage all of the streams in the session as a single unit.

The audio engine is the user-mode audio component through which applications share access to an audio endpoint device. The audio engine transports audio data between an endpoint buffer and an endpoint device. To play an audio stream through a rendering endpoint device, an application periodically writes audio data to a rendering endpoint buffer. The audio engine mixes the streams from the various applications. To record an audio stream from a capture endpoint device, an application periodically reads audio data from a capture endpoint buffer.

Winamp Wasapi Plugin

WASAPI consists of several interfaces. The first of these is the IAudioClient interface. To access the WASAPI interfaces, a client first obtains a reference to the IAudioClient interface of an audio endpoint device by calling the IMMDevice::Activate method with parameter iid set to REFIID IID_IAudioClient. The client calls the IAudioClient::Initialize method to initialize a stream on an endpoint device. After initializing a stream, the client can obtain references to the other WASAPI interfaces by calling the IAudioClient::GetService method.

Winamp wasapi input

Many of the methods in WASAPI return error code AUDCLNT_E_DEVICE_INVALIDATED if the audio endpoint device that a client application is using becomes invalid. Frequently, the application can recover from this error. For more information, see Recovering from an Invalid-Device Error.

WASAPI implements the following interfaces. Digital day date time clock.

IAudioCaptureClientEnables a client to read input data from a capture endpoint buffer.
IAudioClientEnables a client to create and initialize an audio stream between an audio application and the audio engine or the hardware buffer of an audio endpoint device.
IAudioClockEnables a client to monitor a stream's data rate and the current position in the stream.
IAudioRenderClientEnables a client to write output data to a rendering endpoint buffer.
IAudioSessionControlEnables a client to configure the control parameters for an audio session and to monitor events in the session.
IAudioSessionManagerEnables a client to access the session controls and volume controls for both cross-process and process-specific audio sessions.
IAudioStreamVolumeEnables a client to control and monitor the volume levels for all of the channels in an audio stream.
IChannelAudioVolumeEnables a client to control the volume levels for all of the channels in the audio session that the stream belongs to.
ISimpleAudioVolumeEnables a client to control the master volume level of an audio session.

Wasapi Windows 10

WASAPI clients that require notification of session-related events should implement the following interface.

IAudioSessionEventsProvides notifications of session-related events such as changes in the volume level, display name, and session state.

Related topics

Maiko Wasapi Winamp Plugin

500+ Head-Fier

Wasapi Setup

Here's my setup (I've included screenshots from both Winamp and foobar2000):
CL X-Fi Titanium HD (Using Audio Creation Mode)
Grado PS500 directly plugged into the headphone port on the sound card.
Windows 7.
I'm listening to the same music, for example I'm using the Japanese release of Van Morrison's Moondance (ripped from EAC in uncompressed WAV format). It sounds fantastic from Winamp (the bass is just perfect) but I don't see that sort of expansiveness from foobar2000 (here the bass is more subdued, even when at full volume)
Here's a screenshot of my Audio Creation Mode:
I downloaded WASAPI for Winamp and running it in Exclusive mode. Here are the screenshots:
Here are the screenshots from foobar2000:
What could be going wrong? I have to turn down Winamp quite a bit because it can get really loud, but if I turn foobar2000 all the way up it still doesn't get nearly as loud as Winamp. I feel Winamp provides better bass and a wider soundstage.