This page lists all of the issues with IndirectSound that I know about.
If you discover others please let me know.
Bugs with Existing Features
These are features that don't work properly in all situations.
- Sometimes 3D sounds that are very close come from behind instead of in front (or switch between the front or rear speakers).
- In the cases that I have verified this is not, strictly speaking, a bug.
It is caused because of the differences between how 3D sound was positioned in speakers using Creative hardware
(which the games were likely tested on)
and how 3D sound is position in speakers using Microsoft's DirectSound and XAudio2 software implementations
(which IndirectSound uses).
The games in question are technically playing sounds behind the listener,
but it wouldn't have sounded that way on actual Creative hardware.
- The proper fix would be an option in IndirectSound to emulate different methods of positioning 3D sounds in surround speakers.
This is a future feature, but with no current estimate of when it might be implemented.
If you have an algorithm for setting the volume in each speaker based on a voice's position in 3D space
that you believe is a good representation of how a Creative SoundBlaster behaves and are willing to share it
let me know.
- When using Windows 10 with some games the
dsound.dll DLL is ignored
even when it is located in the correct place and works with the same game using earlier versions of Windows.
- I haven't been able to determine what causes this.
If you know of a solution please let me know.
- XAudio2 doesn't work correctly with Dolby Digital Live and DTS Connect
- See this thread
- If I understand the problem correctly then there is no way for IndirectSound to work around Microsoft's bug,
because even if I manually set the mastering voice to have more than two channels
XAudio2 would still end up converting its output based on how many speakers
XAudio2 thinks that the device is outputting to.
- One potential fix is this hack
discussed in the thread linked above,
but it requires you being comfortable with manually changing your local XAudio2 DLL
- Another potential fix can be found
These are features that I have implemented after reading the documentation
but that I haven't seen used in any games that I have tested.
This means, unfortunately, that there are probably bugs in my untested implementation.
If you notice a message in your
dsound.log file about any of these
please contact me
and let me know which game you were playing.
- Oriented Emitters and Listeners
These are features that IndirectSound doesn't support.
EAX ("Environmental Audio Extensions") is a collection of extensions to DirectSound
created by Creative Technology
which provides features that were used by many older games,
and EAX support is often required to experience a game
the way that its creators intended.
It is not a feature of Microsoft's DirectSound API, however
(hence the name "extensions"),
and is not required for 3D positional audio.
The future of EAX emulation in IndirectSound is uncertain.
Currently EAX support is emulated,
meaning that IndirectSound pretends that EAX is supported
and games will respond accordingly,
but there is no actual audible difference when EAX is enabled or disabled.
Doing true DSP emulation is quite a bit more difficult,
and even if the correct effects were implemented it wouldn't be true emulation
since Creative's algorithms are (understandably) proprietary.
- Significant progress was made towards true EAX emulation,
but some difficult and frustrating bugs got in the way.
Very little progress has been made in the past few years,
but the hope and intent is to still be able to release something eventually.
IndirectSound does not yet support or emulate Microsoft's standard audio effects:
- I3DL2 Reverb
- Parametric Equalization
- Waves Reverb
I am not sure how widely-used any of these were.
I believe that their non-support is handled correctly,
but none of the games I have tested have requested them.
I would eventually like to emulate them,
but providing EAX support is a much higher priority.
Copyright © 2012-2017 John-Paul Ownby