#include <cafe/ax.h>
    typedef enum {
    AX_DRC_VS_OFF = 0,
} AXDRCVSModeType;



mode modes defined by AXDRCVSModeType
AX_DRC_VS_OFF → Virtual Surround is not enabled.
AX_DRC_VS_ON_NORMAL → Virtual Surround is applied on DRC0.
AX_DRC_VS_ON_FRONT_BYPASS → Virtual Surround is applied on DRC0. DRC1 left and right channels are mixed with processed DRC0's left and right channels.

Return Values

AXPB_ERROR_NONE if successful, an error of type AXPB_ERROR_CODE otherwise.


Enable Virtual Surround of audio for DRC if the user chooses SURROUND mode for DRC in the System Config Tool.

Calling this API while DRC is playing audio may cause a small noise. It is recommended to call the API while no audio is being output (i.e., right after the application startup).

The default is set to AX_DRC_VS_ON_NORMAL.

Applying VS to a sound effect will expand the sound image and produce more dynamic sound. However, applying VS to BGM may blur the sound image and make it less crisp. In such a case, changing the mode to AX_DRC_VS_ON_FRONT_BYPASS:

It is then possible to achieve both "expansive sound effects thanks to VS" and "clear BGM as it does not go through VS". Also, refer to the diagram: [Processing Flow] - [AX_DRC_VS_ON_FRONT_BYPASS] in DRC VS Overview.

AX applies the Virtual Surround if and only if the game developer enables it via this API and the user selects SURROUND output mode for DRC.
Currently only one DRC is supported. However, game developers can mix the sounds to DRC0 and DRC1 from AX APIs using AXSetVoiceDeviceMix. Normally sounds should be mixed to DRC0 busses only. Only when using AX_DRC_VS_ON_FRONT_BYPASS, game developers should mix to the DRC1 main busses. If game developers mix audio to DRC1 busses when not using AX_DRC_VS_ON_FRONT_BYPASS mode, audio for DRC1 will not be output; however, mixing operation to DRC1 busses will consume processing, which will in turn increase the processing load.


Library Version Availability
Sound 2.0 Yes
Sound 1.0 Yes

Do Not Call From


See Also

DRC VS Overview

Revision History

2013/05/08 Automated cleanup pass.
2012/07/12 Modified to reflect the front bypass support implemented in SDK 2.06.02
2012/05/30 Initial Version for SDK 2.06