Enhanced Sound Support
E-Prime has the ability to choose the underlying API used to assist with talking to sound hardware when run during an experiment. Earlier versions of E-Prime relied exclusively on the DirectSound API. In Windows XP, the DirectSound API provides a thin layer between an end user application such as E-Prime and direct access to the sound adapter hardware allowing for sound adapters with fast hardware to achieve low startup latency values. In Windows Vista and later, the DirectSoundAPI sits on top of another operating system layer. This results in much poorer performing sound hardware values on the equivalent PC using Windows Vista and later than with Windows XP typically performing no faster than 30ms for a startup.
NOTE: For details, see INFO: Sound Latency - Windows Vista / Windows 7 (and beyond) [18833]
Launching SoundTester
Use the SoundTester to determine which API performs best for your individual lab machine, including how low of a value of buffer size can be used to achieve results that do not skip or have other artifacts in the sound. SoundTester is launched from the Start Menu: select SoundTester from the E-Prime 3.0 menu options. A prompt then appears to determine if the 32-bit or 64-bit versions should be tested. Users who are running on 64-bit platforms are encouraged to test both the 32- and 64-bit platforms. (The 64-bit platform cannot be tested on 32-bit systems).
The PST SoundTester dialog box is displayed. A tree hierarchy of the three main APIs is displayed. For each device which had a driver detected , one or more child nodes appears under it, with each potential sound device (e.g. speakers, headphones) displayed as separate node. If an API does not have any child nodes under it, or a sound test fails, then a driver for that API is required. To obtain missing drivers, contact the manufacture of your system and inquire if your sound adapter supports CoreAudio or ASIO drivers. Many end users may find that the ASIO4ALL driver can be used by their systems.
Testing Sound Devices
All of the nodes in the Devices tree should be tested with both the 44.1 and 48k Hz samples. (Use of
the custom File option is discouraged at this time.) Select the audio file to be tested, select the device or devices to be tested, and then click Run.
A testing prompt will appear for each device to be tested. During the test for each device, a sample sound will play for approximately 3 to 5 seconds. While the sound plays, pay attention if it plays with no cracks, pops, or other issues. After each sample is played, a prompt will ask if there were any issues with the test on the specific device. In the event the application freezes or another fatal error occurs, then take note of which device caused the offending problem and rerun the test but with the checkbox next to the node in question unchecked to skip the test on subsequent runs.
Each device test will create a log file under the SoundTester folder on your desktop. Please provide the results of the SoundTester application as an attachment to an e-mail to info@pstnet.com or a web support request so that the compatibility table can be updated regularly. E-Prime will typically require a larger buffer size than sound tester due to the real-time nature of its performance.
NOTE: The SoundTester includes the ability to copy the appropriate .ini settings to My Experiments.
Setting the Sound API for an Experiment
The sound API that is used by your sound device can be modified by editing the SoundDevice object. To do so, select the Experiment Object properties, select the Devices tab and then double-click on the SoundDevice object. Click on the API dropdown list and select the desired API.
After setting the API for the SoundDevice, the following properties can be used to configure each API.
Create a ASIO.ini file in the same folder as your experiment with a [ASIO] section.
DriverName | String of driver requested as seen in HKLM/Software/ASIO (default: “” / use first) |
BufferSize | Buffer size in milliseconds (default: -1/minimum according to ASIO driver) |
Create a CoreAudio.ini file in the same folder as your experiment with a [CoreAudio] section.
EndpointId | Address of device to use (default: “”/use default) |
RequestedDurationMilli | Requested duration in milliseconds for buffer size |
NOTE: The SoundTester will create .ini files in the same directory as your experiment.
See Also:
Comments
0 comments
Please sign in to leave a comment.