Welcome Guest, you are in: Login

ScrewTurn Wiki



Search the wiki


Beeper Element

Modified on 2016/05/08 15:45 by Maria Categorized as Auditory Stimuli, Base Elements, Elements

Element Icon Beeper Element
Category: Auditory stimuli AddIn: Base Elements
Creator: OkazoLab Team Scope: Parent Event
Owns Snippets: no Usage: Runtime Screen,Snippets

Generic properties

NameDescriptionAttributesValue Type
Working modeDefines the working mode for the element. One of two modes can be selected: Manual – the sound playback is initiated manually by a request from code snippets. Auto- the start of sound playback is synchronized with activation of the parent event.DInt32
Test beepUse this action at the design time to initiate a beep in PC speaker with the current beep settings.Design-time action
FrequencyThe beep frequency,in Hz (greater than 0).D,RInt32
DurationDefines the beep duration (in ms). The valid range is (0..10000).D,RUint64
Is PlayingIndicates, if a beep is currently playing. In the manual mode, if assigned to true, initiates a new playback.RBoolean
Runtime info
Start timeIndicates the local event time when a beep has been started (in ms). In the auto mode, is expected to be 0.D,RUint64

+=== Properties inherited from clElement === Inherited properties of clElement
NameDescriptionConstraintsValue TypeUpon Change
Is EnabledIf set to false the element is completely omitted when the experiment is run.Boolean
TitleTitle of the element.String

Beeper element can generate and play a square sound wave (beep) of the requested frequency and duration.


Beeps are played by a hardware tone generator called PC speaker. Due to simple hardware implementation, the sound generation and playback via PC speaker is characterized by a high temporal precision which is barely possible with the conventional sound cards. However, PC speaker cannot play complex sounds other than single tones and also has a little control on the playback process. You can use this element to generate auditory stimuli in the experimental scenarios where very accurate timing is important and simple sounds are sufficient. If you wish to have more controllable and complex auditory stimuli (still with a good temporal precision of playback) use the DirectSound element. Alternatively, in scenarios where temporal precision is not necessary you can use the Audio Player element that supports the widest range of sound formats.

Practical Use

The Beeper element can work in one of two working modes that define the synchronization of the sound playback:

Manual working mode

In this mode the element plays a beep on a manual request made in code snippets at will time. The playback is initiated as the element's property [IsPlaying] is assigned to true. Later, the same property can be used to monitor if the initiated beep is still currently playing. [IsPlaying] property automatically turns to false when the initiated playback ends. At this moment and later you can initiate a new playback under a condition that the parent event is still active.

Auto working mode

In this mode the element starts to play a beep synchronously with activation of the parent event. IsPlaying property can be used to monitor if the initiated beep is still currently playing. In this working mode you can initiate a playback manually (by assigning true to IsPlaying property) only after the synchronized playback ends.


  • If the element starts generating and playing a beep, it becomes locked in hardware- the playback cannot be stopped before the predefined beep duration is exceeded, even if the parent event is deactivated at that time. Be always aware about how the requested duration matches a flow of your experiment. However, you can initiate a beep in another Beeper element in order to overwrite the currently playing sound in PC speaker. For instance, with this technique, you can initiate a short beep with frequency 1 (unheard) to force the actual silence of the PC speaker at any time.
  • For better synchronization of the initiated playback (Auto working mode), move the Beeper element at the top of the elements list in the parent event. Elements in the list get to work one by one, as soon as the parent event is activated, so the top position in the list will minimize possible delays. )))

ScrewTurn Wiki version Some of the icons created by FamFamFam.