Line 2: |
Line 2: |
| For experiments where no distinction is made between systematic and random errors in timing, the audio delay equals the accuracy | | For experiments where no distinction is made between systematic and random errors in timing, the audio delay equals the accuracy |
| of the onset of the audio stimulus. | | of the onset of the audio stimulus. |
| + | == Ways of measuring / definitions == |
| + | === Round trip test === |
| + | This is the definition that we use most often, because it is relatively simple to measure. All you need is a computer with an analog audio output |
| + | and a usb-port. The analog output can also be a different device that is controlled by the computer, for instance the Behringer. |
| + | # the audio stimulus is prepared |
| + | # a random delay is applied |
| + | # the virtual stopwatch is started |
| + | # the audio stimulus is started immediately after the stopwatch |
| + | # the line output of the audio hardware is connected to the sound or voice detector of the buttonbox |
| + | # the buttonbox reports receiving the audio, the virtual stopwatch is stopped |
| + | This loop is repeated a number of times to get a good estimate of the statistical distribution of the delay. |
| + | |
| + | === Oscilloscope test === |
| + | This test more accurately measures the delay, since no loop back to the computer is needed. The test is |
| + | more work to perform and therefore less useful for determining the statistical distribution of the delay. |
| + | # the audio stimulus is prepared |
| + | # a random delay is applied |
| + | # a trigger is sent to the buttonbox, the trigger shows on one channel of the oscilloscope |
| + | # the audio stimulus is started |
| + | # the line output of the audio hardware is connected to another channel of the oscilloscope |
| + | # the time difference between the onsets on the trigger and the audio signal is measured on the oscilloscope |
| + | |
| + | === Precision test === |
| + | This test does not measure the audio delay itself, but only the precision. It can be combined with the previous tests. |
| + | The difference is that step 3 and 4 are exchanged. This effectively deducts the time that sending the audio stimulus |
| + | takes is deducted from the audio delay. If the audio is made with a synchronous function then this test is similar to |
| + | how visual delay is measured. |
| + | |
| + | = Examples = |
| == Neurobs presentation == | | == Neurobs presentation == |
| These are measurements of the audio delay in Neurobs Presentation on the Faculty of Social Sciences (DCC and BSI) labcomputer | | These are measurements of the audio delay in Neurobs Presentation on the Faculty of Social Sciences (DCC and BSI) labcomputer |
| with three different settings ([https://gitlab.socsci.ru.nl/tsg/performance-tests/tree/master/Presentation/audio/SoundLatencyTest download the script here]). Note that exclusive mode is most used in experiments and is the mode best comparable with for | | with three different settings ([https://gitlab.socsci.ru.nl/tsg/performance-tests/tree/master/Presentation/audio/SoundLatencyTest download the script here]). Note that exclusive mode is most used in experiments and is the mode best comparable with for |
| instance Linux Alsa. Shared mode is best comparable with Linux Jack. | | instance Linux Alsa. Shared mode is best comparable with Linux Jack. |
− |
| |
| | | |
| In exclusive mode the histogram is square. The minimum delay is 15 ms, the maximum delay is 24 ms. This is caused by a single 10 ms buffer. | | In exclusive mode the histogram is square. The minimum delay is 15 ms, the maximum delay is 24 ms. This is caused by a single 10 ms buffer. |
Line 15: |
Line 43: |
| Note that for most experiments this is more than good enough. | | Note that for most experiments this is more than good enough. |
| | | |
− | Since the audio call in Presentation is semi-synchronous (it waits till the sound starts playing) it is possible to know the audio onset with much
| |
− | higher precision by noting the time that the call ''ends''. This way a precision of better than 3 ms is possible.
| |
| === Presentation, Exclusive Mode === | | === Presentation, Exclusive Mode === |
| [[File:Exclusive mode.png|border|Exclusive mode delay]] | | [[File:Exclusive mode.png|border|Exclusive mode delay]] |
Line 24: |
Line 50: |
| [[File:Directx.png|border|DirectX mode delay]] | | [[File:Directx.png|border|DirectX mode delay]] |
| | | |
− | == Alternative definitions == | + | == Neurobs presentation, precision test == |
− | === Round trip test ===
| + | Since the audio call in Presentation is semi-synchronous (it waits till the sound starts playing) it is possible to know the audio onset with much |
− | This is the definition used above.
| + | higher precision by noting the time that the call ''ends''. This way a precision of better than 3 ms is possible. If one does not need to ''control'' |
− | # the audio stimulus is prepared
| + | the moment the audio starts but only needs to ''know'' the moment, this is the value that should be called the onset ''precision''. |
− | # a random delay is applied
| |
− | # the virtual stopwatch is started
| |
− | # the audio stimulus is started immediately after the stopwatch
| |
− | # the line output of the audio hardware is connected to the sound or voice detector of the buttonbox
| |
− | # the buttonbox reports receiving the audio, the virtual stopwatch is stopped
| |
− | This loop is repeated a number of times to get a good estimate of the statistical distribution of the delay.
| |
| | | |
− | === Oscilloscope test ===
| |
− | This test more accurately measures the delay, since no loop back to the computer is needed. The test is
| |
− | more work to perform and therefore less useful for determining the statistical distribution of the delay.
| |
− | # the audio stimulus is prepared
| |
− | # a random delay is applied
| |
− | # a trigger is sent to the buttonbox, the trigger show on one channel of the oscilloscope
| |
− | # the audio stimulus is started
| |
− | # the line output of the audio hardware is connected to another channel of the oscilloscope
| |
− | # the time difference between the onsets on the trigger and the audio signal is measured on the oscilloscope
| |
| | | |
− | This is an example of audio delay of 2 ms measured with the oscilloscope test. | + | == Linux, Alsa, oscilloscope test == |
| + | This is an example of an audio delay of 2 ms measured with the oscilloscope test. |
| | | |
| [[File:Alsa.png|border|Example audio delay of about 2ms using the osciloscope test.]] | | [[File:Alsa.png|border|Example audio delay of about 2ms using the osciloscope test.]] |
| | | |
− | === Precision test ===
| + | This particular test was done on the labcomputer with a python script using ALSA, which is comparable with true exclusive mode where the operating |
− | This test does not measure the audio delay itself, but only the precision. It can be combined with the previous tests. | + | system allows only one program to control the audio hardware. |
− | The difference is that step 3 and 4 are exchanged. This effectively deducts the time that sending the audio stimulus
| |
− | takes is deducted from the audio delay. If the audio is made with a synchronous function then this test is similar to
| |
− | how visual delay is measured.
| |