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
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:
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.
Followed by a number <0..10>, o selects the octave the instrument will play in.
Used to step up or down one octave.
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.
Followed by a number <0..127>, sets the volume of the instrument.
Followed by a number, sets the tempo in beats per minute.
S[+-] - + stop note before playing new / - do not finish notes
Instrument <0..127>, or percussion instrument <35..81> on channel 9
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
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