Silent sound-objects

In the cur­rent ver­sion of the Bol Processor, sound-objects con­tain either a stream of MIDI codes or a few lines of Csound score, or both. Each ter­mi­nal is either inter­pret­ed as either a sim­ple note (a NoteOn/NoteOff sequence) or linked to a sound-object, pro­vid­ed that one with the same name exists in a sound object descrip­tion file (e.g. "-so.MySounds").

When an item is played in real time using MIDI, a MIDI file or Csound, any ter­mi­nal not list­ed in the asso­ci­at­ed sound object descrip­tion file is ignored. The same applies to vari­ables that were not rewrit­ten or erased at the end of the pro­duc­tion process.

In ear­li­er ver­sions of BP3 (before 3.15), these unused sym­bols were erased before con­struct­ing the phase table con­tain­ing the list of sound events. At present, they are treat­ed as silent sound objects. While these objects car­ry nei­ther MIDI nor Csound instruc­tions, they have the same met­ric char­ac­ter­is­tics as a sim­ple note: a dura­tion of one unit, a piv­ot at the begin­ning for its loca­tion, and relocatability.

Silent sound-objects are of lit­tle or no util­i­ty in the MacOS, Windows and Linux imple­men­ta­tions of BP3. They are intend­ed for envi­ron­ments using the WebAssembly (WASM) archi­tec­ture. The idea is to use the Bol Processor's sophis­ti­cat­ed time-setting fea­tures to send the struc­ture to exter­nal devices and cre­ate sounds of great design. Read this page for more information.

Examples of data cre­at­ing silent sound-objects can be found in "-da.trySilentSoundObjects". The result­ing graphs are shown below.

The ter­mi­nal alpha­bet of this data project includes 'a', 'y', 'z', but only 'a' is found in "-so.trySilentSoundObjects". The note con­ven­tion is English.

z

'z' is treat­ed as a silent sound-object. It is dis­played as a hatched rec­tan­gle. Its dura­tion is 1 unit.

a z a C4

In this sequence, the silent sound-object 'z' occu­pies 1 unit but it does not pro­duce any sound.

a <<z>> a

Here, 'z' is an out-time silent sound-object (no dura­tion). No sound and no duration.

a <<a>> _tempo(2) z <<y>> a <<a>> C4

'z' has 1/2 beat dura­tion, due to the tem­po. 'y' is an out-time silent sound-object.

a Truc a

Variable 'Truc' is con­vert­ed to a silent sound-object. Its dura­tion is 1 unit.

{a Truc a, z C4}

In this poly­met­ric expres­sion, 'z' is resized to have the same sym­bol­ic dura­tion as C4.

a <<Truc>> z a

Variable 'Truc' is con­vert­ed to an out-time silent sound-object.

D4 z& a &z

Silent sound-object 'z' is tied to itself.
👉  Read the Tied notes page.

Truc& a &Truc

Variable 'Truc' is con­vert­ed to a silent sound-object and tied to itself.

The con­ver­sion of vari­ables to silent sound-objects may have an impact on gram­mars using sub­sti­tu­tion rules in which an erase rule can­not be used at each sub­sti­tu­tion. Check for instance "-gr.koto3":

Variable 'Y' hasn't been erased and it occu­pies a one-unit time seg­ment with­out pro­duc­ing any sound.

Leave a Reply

Your email address will not be published. Required fields are marked *