Programmer Guide/General Descriptions/Segment Expressions: Difference between revisions
No edit summary |
No edit summary |
||
Line 3: | Line 3: | ||
;Segment expression: A ''segment expression'' addresses a part of a soundfile with a non-zero duration. It can consist of (1) a segment name or (2) of two label expressions specifying the beginning and end or (3) two label expressions specifying a position and the duration. | ;Segment expression: A ''segment expression'' addresses a part of a soundfile with a non-zero duration. It can consist of (1) a segment name or (2) of two label expressions specifying the beginning and end or (3) two label expressions specifying a position and the duration. | ||
{| style="margin-left:1.5em;" | |||
|- | |||
|segment expression | |||
|explanation | |||
|- | |||
|labelexpression_labelexpression | |||
|(beginning and end) | |||
|- | |||
|labelexpression_+labelexpression | |||
|(beginning and duration) | |||
|- | |||
|labelexpression_<nowiki>-</nowiki>labelexpression | |||
|(end and duration) | |||
|} | |||
;Labels: A ''label expression'' is a position in a sound file (e.g. the begin/end of a segment) or the duration of a segment. A label expression may consist of a sign (+/-) and one or more values formatted as described below and combined with the operators + (add) or – (subtract). If a label expression contains blanks, it must be quoted when used as an argument. | ;Labels: A ''label expression'' is a position in a sound file (e.g. the begin/end of a segment) or the duration of a segment. A label expression may consist of a sign (+/-) and one or more values formatted as described below and combined with the operators + (add) or – (subtract). If a label expression contains blanks, it must be quoted when used as an argument. | ||
Line 29: | Line 43: | ||
|} | |} | ||
The segment expression <var>segexpr</var> specifies a label (position) in a signal or a segment (part) of a signal. The command evaluates the segment expression and returns the label position or the begin, end and length of the segment. | The segment expression <var>segexpr</var> specifies a label (position) in a signal or a segment (part) of a signal. The command evaluates the segment expression and returns the label position or the begin, end and length of the segment. |
Revision as of 19:05, 28 April 2014
STx uses a special syntax to address a segment of a sound file. The syntax allows for the mixed use of segment names and time values in a complex expression known as a "segment expression". Segment expressions can be used in all commands and dialogs where a signal segment (or position/duration) can be specified (exceptions are described in the Command Reference). In dialogs, the supported value formats/types are always described in the control/dialog caption.
- Segment expression
- A segment expression addresses a part of a soundfile with a non-zero duration. It can consist of (1) a segment name or (2) of two label expressions specifying the beginning and end or (3) two label expressions specifying a position and the duration.
segment expression | explanation |
labelexpression_labelexpression | (beginning and end) |
labelexpression_+labelexpression | (beginning and duration) |
labelexpression_-labelexpression | (end and duration) |
- Labels
- A label expression is a position in a sound file (e.g. the begin/end of a segment) or the duration of a segment. A label expression may consist of a sign (+/-) and one or more values formatted as described below and combined with the operators + (add) or – (subtract). If a label expression contains blanks, it must be quoted when used as an argument.
label expression | explanation |
segmentname:B | start time of segment segmentname |
segmentname:E | end time of segment segmentname |
segmentname:L | duration (length) of segment segmentname |
numberS | time in seconds |
numberMS | time in milliseconds |
number | number of samples |
The segment expression segexpr specifies a label (position) in a signal or a segment (part) of a signal. The command evaluates the segment expression and returns the label position or the begin, end and length of the segment.
segexpr description bexpr
a position (label) at bexpr bexpr_eexpr
a segment with begin bexpr and end expr bexpr_+lexpr
a segment with begin bexpr and length lexpr (end = bexpr+lexpr) eexpr_-lexpr
a segment with end eexpr and length lexpr (begin = eexpr-lexpr)
Each part (bexpr, eexpr and lexpr) of the segment expression specifies a time in samples and may consist of one or more time values which are joined with the operator + (add) or - (subtract).
value description value in samples comment x x samples x xs x seconds x * sr xms x milliseconds x / 1000 * sr xHz periode of a signal with x Hz sr / x xkHz periode of a signal with x kHz sr / (x * 1000) x% x percent of the signal length l * x / 100 usage 1 and 2 only x%% x per mill of the signal length l * x / 1000 usage 1 and 2 only segid begin and length of the segment with id segid usage 3 only segid:b begin of the segment with id segid usage 3 only segid:e end of the segment with id segid usage 3 only segid:l length of the segment with id segid usage 3 only
with: x = a number sr = signal sampling rate in Hz l = signal length in samples (e.g. soundfile length) segid = id of a segment defined in the xml-file item
Examples
0_4s
addresses 0 samples to 4 seconds
SegmentA:B+100_+10s
addresses 100 samples after the beginning of SegmentB for a duration of 10 seconds
SegmentB
addresses SegmentB
SegmentA:B_SegmentB:E
addresses the beginning of SegmentA to the end of SegmentB
SegmentB:E_-100ms
addresses 100 milliseconds before the end of SegmentB to the end of SegmentB
Notes: For some expressions, the values number%
(percentage of the full duration) and number%%
(thousandths of the full duration) can be used, but only if the 'full signal' is available/defined (e.g. for envelopes of sequence signals).A segmentname
can only be used if a sound file or an audio-element of an XML-file is involved in the expression evaluation.Segment names are case sensitive!