| 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, as it existed in MS Windows Xp, 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.
| |