Overview
The SoundOut object is used to present pre-recorded audio sounds. The SoundOut object maintains and manages a buffer on a specific sound device.
The SoundOut object as it appears in the Toolbox.
NOTE: Please view AV: Supported Audio file formats [30571] for a listing of supported audio file extensions.
Interface
A new SoundOut object may be opened by clicking the SoundOut object icon in the Toolbox, and dragging the object to the Workspace or to a procedural timeline in the Structure. The SoundOut object does not have an interface through which properties are set. Dragging the SoundOut object icon to the Workspace, or double clicking a SoundOut object in the Structure view will open the object’s Property pages.
Property Pages
The properties for the SoundOut object may be set using the Property pages. The Property pages may be displayed by double-clicking the SoundOut object in the Structure view, or by clicking the elipses (…) in the Property Pages field in the Properties window.
General Tab
The General tab permits the setting of properties related to the audio file presented by the SoundOut object.
Property | Possible Values | Description |
Filename | Strings, Attribute references | Determines the audio file to be loaded by the SoundOut object. |
BufferSize | Integer values | Determines the size of the audio buffer in milliseconds. |
BufferMode |
Buffered, Streaming |
Determines whether the sound is preloaded in it's entirety or streamed in. Streaming is recommended. |
PositionTimeFormat | MilliSeconds, MicroSeconds, Bytes | Specifies the time format that CurrentPosition, StartOffset, and StopOffset will use. |
StartOffset | Integer values, Attribute references | Determines the offset (in bytes) from which audio playback will begin. |
StopOffset | Integer values, Attribute references | Determines the offset (in bytes) at which audio playback will terminate. |
Loop | Yes, No | Sets playback to loop continuously between the StartOffset and StopOffset property settings. |
StopAfter | Yes, No | Determines whether the playback will continue after the termination of the SoundOut object’s Run method. |
StopAfterMode |
NextOffsetTime, OffsetTime |
Indicates whether sound capture should end when the object stops executing (e.g. the time specified in the Duration property has elapsed). |
EndSoundAction | (none), Terminate, Jump | Determines the action to be taken upon termination of the playback. |
VolumeControl | Yes, No | Enables or disables control of the volume level for playback. |
Volume | -10000 to 0 | Sets the volume level for playback. |
PanControl | Yes, No | Enables or disables panning control for playback. |
Pan | -10000 to 10000 | Sets the panning level (i.e., balance) for playback. |
Properties Window
The Properties of the SoundOut object may be set using the fields in the Properties window. Properties to be set include information concerning the features of the SoundOut (e.g., PanControl, Volume), as well as the duration of the SoundOut, whether input is allowed, and the termination conditions for the playback of the SoundOut.
Property | Possible Values | Description |
(Name) | String values | Assigns a user-entered string as the name of the SoundOut object. |
(About) | --------- | Displays the About SoundOut dialog. |
(PropertyPages) | --------- | Opens the Property pages for the SoundOut object. |
BufferSize | Integer values | Determines the size of the audio buffer in milliseconds. |
DataLogging | None, Standard, Response Only, Time Audit Only, Custom | Determines the category of variables to be logged by the object. |
Duration | -1 (forever), Numeric values | Determines the duration of the object in milliseconds. |
EndSoundAction | (none), Terminate, Jump | Determines the action to be taken upon termination of the audio playback. |
Filename | String values (e.g., Filename.WAV), Attribute references. | Designates the name of the audio file to play. |
GeneratePostRun | Inherit, EndOfProcedure, AfterObjectRun | Where the postrun part of this object is generated in the script. |
GeneratePreRun | Inherit, TopOfProcedure, BeforeObjectRun | Where the prerun part of this object is generated in the script. |
HandlesConditionalExit | Yes, No | Determines whether or not the E-Object responds to the conditional exit event. |
JumpLabel | String values, Attribute references. | Identifies a Label object within the current Procedure to which program execution jumps when input is received on a mask that has an End Action of “Jump”. |
LoadTimeStatsEnabled | Yes, No | Determines if the LoadTime stats will be included in the Experiment Advisor report. |
Loop | Yes, No, Attribute references. | Determines whether the audio playback continues in a loop, or stops at the end of the data playback. |
Notes | String values | User-entered text useful for storing information or comments related to an object. |
OffsetSync | (none), Vertical blank | Sets the object or event with which the offset of the object is synchronized. |
OnsetDelayStatsEnabled | Yes, No | Determines if the OnsetDelay stats will be included in the ExperimentAdvisor experiment report. |
OnsetSync | (none), Vertical blank | Sets the object or event with which the onset of the object is synchronized. |
OnsetToOnsetStatsEnabled | Yes, No | Determines if the OnsetToOnset stats |
Pan | Numeric values, Attribute references. | Specifies the pan level in 100th decibels. Functionality is dependent on the PanControl property setting. |
PanControl | Yes, No | Enables or disables panning control. |
PositionTimeFormat | MilliSeconds, MicroSeconds, Bytes | Specifies the time format that CurrentPosition, StartOffset, and StopOffset will use. |
PreRelease | Numeric values (default in msec), Attribute references. | Amount of time released during the processing of the current object to allow for set up of the next object. |
ResetLoggingProperties | Yes, No | Determines if the logging properties should be reset at the top of the procedure. |
SoundMode | Streaming, Buffered | Determines if the buffer is fixed or permits streaming. |
StartOffset | Specific string values (e.g., "0"), Attribute references. | Determines the offset (in bytes) from which audio playback will begin. |
StopAfter | Yes, No, Attribute references. | Determines whether the playback will continue after the termination of the SoundOut object’s Run method. |
StopAfterMode | NextOnsetTime, Offset Time | Determines when the sound capture stops. |
StopOffset | Specific string values (e.g., "0"), Attribute references. | Determines the offset (in bytes) from which audio playback will terminate. |
Tag | String values, Attribute references. | User-defined string that is useful for associating information with an object. |
TimingMode | Event, Cumulative, Custom | Sets the timing method to be used by the object.Cumulative timing is used to absorb the processing time between events, and to maintain a certain interval duration between events or betweentrials. |
Volume | Numeric values, Attribute references. | Sets the volume of the SoundOut buffer. Currently specifies 100th decibels. Functionality is dependent upon the VolumeControl property setting. |
VolumeControl | Yes, No | Enables or disables volume control by the SoundOut object. |
Stop After Mode
The introduction of “same as duration” as the new default value for the PreRelease property may result in unexpected behavior of the MovieDisplay and Sound objects when these objects use the Stop After property. A new property, StopAfterMode, can be used in conjunction with PreRelease and StopAfter to obtain the expected experiment performance. The StopAfterMode property is available on the “General” tab of the MovieDisplay and SoundOut objects:
StopAfterMode may be set to one of two values: OffsetTime and NextOnsetTIme. The OffsetTime value mimics the functionality used in earlier versions of E-Prime . When StopAfterMode is set to OffsetTime, then StopAfter will stop the Movie/Sound when the object that invoked it ends. The OffsetTimes choice is no longer recommended because of how it is impacted when PreRelease is set to a non-zero value. In these cases, the movie or sound could be cut off prematurely; further, when PreRelease = “same as duration”, then the movie or sound could not be presented at all.
The NextOnsetTime choice provides the benefits of having a non-zero PreRelease value by stopping when the next object begins.
Next Article: E-STUDIO: FeedbackDisplay Object [22709]
Previous Article: E-STUDIO: SoundIn Object [22707]
Comments
1 comment
Note that in both E-Prime 2 and E-Prime 3, when you change Position Time Format it immediately also changes the format shown for Start Offset & Stop Offset (ms, µs, or bytes), but when you close the dialog and reopen it it will always show ms, even though Position Time Format stays where you set it.
Please sign in to leave a comment.