Terminology: Sequence, Overlay, Stream, Sound, and Tone
In Erie, a stream
is a unit specification for a sonification, similar to a facet or view in visualizations.
Multiple stream
s can be combined as a sequence
or an overlay
(see the relevant documentations).
Repeated stream
(with a repeat
channel in encoding
) is still a stream
or repeated stream
.
The term, sound
, is an actual output audio.
A tone
is a unit sound that has no puase (except the pause between two tapping sounds) in it.
For a continuous tone, itself is a sound; whereas for a discrete tone, it is multiple sounds compose a stream
.
Composition
Erie offers two primary options for concatenation-based composition: sequence
and overlay
.
Sequence: concatenate streams serially
Multiple streams concatenated using sequence
are played one by one.
JSON
{
...
"sequence" : [
{ ... },
{ ... },
]
...
}
JavaScript
let stream1 = new Erie.Stream();
...
let stream2 = new Erie.Stream();
...
let sequence = new Erie.Sequence(stream1, stream2);
// alternatively
let sequence = new Erie.Sequence([stream1, stream2]);
Overlay: play streams parallelly
Multiple streams joined using overlay
are played simultaneously together.
Note: using a speech encoding channel may result in uncoordinated scheduling.
JSON
{
...
"overlay" : [
{ ... },
{ ... },
]
...
}
JavaScript
let stream1 = new Erie.Stream();
...
let stream2 = new Erie.Stream();
...
let overlay = new Erie.Overlay(stream1, stream2);
// alternatively
let overlay = new Erie.Overlay([stream1, stream2]);
Patterns
Erie supports the following patterns for composing multiple streams.
- ✅ A
sequence
ofoverlay
s and/orstream
s - ✅ An
overlay
ofstream
s (without arepeat
channel byoverlay
)
The following patterns are not supported (mostly because it may cause unexpected browser malfunctioning).
- ❌ An
overlay
ofsequences
s. Usesequences
ofoverlay
instead. - ❌ An
overlay
ofstream
s (with arepeat
channel byoverlay
).