Pictoboard Actions

Actions

In pictoboard pictos can be clicked and start actions:

  • Open another pictosheet or pictopage
  • Play one of the included pictoboard sounds
  • Play some music defined with MML
  • Speak some text, using installed Sapi 5 voice

In pictopages object can also perform those actions (play a sound when clicking a arrow for example)

In the Administrator settings > Pictoboard there are 2 options:

  • Midi out device: for selecting the midi instrument to use with the MML actions
  • Sapi 5 voice: for selecting the voice (which also defines the language that can be spoken) to use for the speak actions

Sapi 5 voices are not free, I have found some nice voices on https://www.cereproc.com/en

Better midi devices can be installed in Windows by using VirtualMIDISynth

Modern MML

A way of describing the music with text using cdefgab for notes, o for octave, r for rest etc. Text can be uppercase or lowercase, spaces are ignored but can be used for easier reading.

The syntax of the music can be complicated:

CDEFGAB
The letters a to g correspond to the musical pitches and cause the corresponding note to be played. Sharp notes are produced by appending a + or #, and flat notes by appending a -. The length of a note is specified by appending a number representing its length as a fraction of a whole note — for example, c8 represents a C eighth note, and f+2 an F# half note.

P or R
A pause or rest. The length of the rest is specified in the same manner as the length of a note — for example, r1 produces a whole rest.

O
Followed by a number <0..10>, o selects the octave the instrument will play in.

>, <
Used to step up or down one octave.

L
Followed by a number, specifies the default length used by notes or rests which do not explicitly define one.
For example, l8 g a b g l16 g a b g produces a series of four eighth notes followed by a series of four sixteenth notes.

V
Followed by a number <0..127>, sets the volume of the instrument.

T
Followed by a number, sets the tempo in beats per minute.

S[+-] - + stop note before playing new / - do not finish notes

I
Instrument <0..127>, or percussion instrument <35..81> on channel 9

Q
all notes off

@
select channel <0..15>, channel 9 is percussion channel, use this to play notes simultaneously @0a @1d plays a on channel 0 and d on channel 1 at the same time

| (pipe symbol)
sync channel, use a | for each channel to let the channel wait for synchronizing with all other channels. Make sure to use | in all channels the same number of times

!
play percussion instrument <35-81>, default percussion instrument, there is no length option, use ^ or rest to put time between percussion events

^
rest on percussion channel, works as p or r

Examples

Plays C, C6 and C7 chords with a beat in the rest between the chords:
@0     C R  C R    C
@1     D R  D R    D
@2     F R  F R    F
@3     R R  G R    B-
@9 I63 R !R R !43R R

Fur Elise, using | for syncing channels
@0 T120 L8 V100 I0 O5
@1 T120 L8 V100 I0 O2
@0 E D+ | E D+ E < B > D C |
@1      |                  |
@0 < A4    R C E A | B4   R  E G+ B |
@1   A > E A       |<E> E G+        |
@0 > C4 <   R E > E D+ | E D+ E < B > D C
@1   A  > E A          | R R  R   R   R R