Audio devices

Top  Previous  Next

Configure hardware Audio devices

 

Configures sound output devices. All the sound devices available in the system are listed in the dialogue box (shown below). Some sound cards may appear twice — for example, the computer that provided the screenshot above has one sound card in it, which appears twice (as 'Primary Sound Driver' and as 'Creative Sound Blaster PCI').

 

WhiskerServer_ConfigureAudio

 

Use device. You may enable or disable each sound device. (It is not sensible to enable two devices that are actually the same physical sound card, even though the example above does so!)

 

Split device. Every device that you are using, you may treat as a single stereo device, or split it into two separate devices — the left and right channels. This doubles the number of available (monophonic) sound devices. Note that some poor-quality sound cards exhibit 'bleed', such that sounds intended to come only from the left channel are audible (albeit quietly) on the right channel; these sound cards are probably unsuitable for splitting. Consider this a "budget" option that may help if you are very short of physical devices, but which is not guaranteed for high-quality sound; see also the note below regarding distortion.

 

Logical devices — the kind that Whisker clients and/or the server's device definition file need to deal with — are numbered sequentially from 0 when WhiskerServer starts. So if the first and third physical sound cards are enabled and the first sound card is split, the logical devices will be 0 (first sound card, left channel), 1 (first sound card, right channel), and 2 (third sound card, stereo).

 

Play a "blank" sound all the time... There is a bug in at least several versions of Windows, in which (1) sound A is played and stopped; (2) sound B is started. The "tail end" of sound A can then be played as sound B starts, which often sounds like a click. This is nothing to do with Whisker, but is also apparent with demo applications from the DirectX 9 SDK (when Whisker isn't even running). A workaround that Whisker offers is to play a "blank" (zero) sound all the time. This fixes that problem. However, some sound drivers/cards produce nonzero power when asked to play zero -- and for some applications, that matters. If you have a buggy version of Windows and you care about the clicks, turn this feature on. If you have suboptimal sound drivers/hardware and care about the background low-level hum, turn it off.

 

These settings take effect when the server is restarted.

 

Additional note 1: other sound problems. Some users have experienced problems when "splitting" sound cards in which frequencies are distorted: for example, a 16 kHz sine wave (generated by Whisker) is emitted with sidebands at 4 kHz, 8 kHz, 12 kHz, 20 kHz, and 24 kHz when played through a "split" sound card, but correctly without them when played on the audio device directly (e.g. Matt Boehm to Rudolf Cardinal, 16 Dec 2016). This may relate to rounding errors in the sound driver's calculation of 3D spatial location (MRFA to RNC, 17 Dec 2016).

 

Additional note 2: bugs in audio drivers. We have also experienced severe and hard-to-track software problems relating to poor sound drivers (see also MonkeyCantab version tracker around 17 Nov 2010). We found that particular SoundBlaster kernel-mode drivers failed to restore the floating-point unit (FPU) state correctly, having used the FPU in kernel mode. This is a dreadful driver bug, which leads to unpredictable corruption of the FPU state, and therefore can affect any software using the FPU (such as MonkeyCantab positioning its stimuli, or Excel doing sums). For example, Excel would give different answers depending on whether Windows Sound Recorder was playing sounds (with no other non-OS software running, and the wrong answers being when the sound card was active). The specific rule that this driver flouted is documented at http://msdn.microsoft.com/en-us/library/ff565388%28VS.85%29.aspx.