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 streams 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
sequenceofoverlays and/orstreams - ✅ An
overlayofstreams (without arepeatchannel byoverlay)
The following patterns are not supported (mostly because it may cause unexpected browser malfunctioning).
- ❌ An
overlayofsequencess. Usesequencesofoverlayinstead. - ❌ An
overlayofstreams (with arepeatchannel byoverlay).
Erie Documentation (Future)