Meta-Data commands

'Meta-data' commands are commands added in-line to the tree file which changes the function of that part of the language. For example, we have commands that stop the tree automatically going back to the top - and commands that help with spelling. For example, If you want to change create a command to go back you would type this in your file

	Go Back <meta data-back-n-branch="1">	   			

This is the Control data command - back-n-branch. This means you can set an action on the press of this command to go back up n levels. Maybe one or two branches if necessary.

The following is an example markdown for a metadata in a node

I have something to say<meta data-audio="some/audio/file.mp3" auditory-cue="<TEXT>">

It's the replacement text for utterance for cue

Stay in Branch commands

To stay in a branch simply add this at the top level item:

<meta data-stay-in-branch>


I would like<meta data-stay-in-branch>
	with Cheese
	with Pepperoni 

To go back one level or several you can use use back-n-branch=N where N = number of branches to step back to. e.g.

<meta data-back-n-branch="1" data-back-n-branch-notify>

And lastly, to select an item and then exit use select-utterance

<meta data-select-utterance>

Spell metadata

Spelling is possible. To start it you need a branch that defines a alphabet. So the root node should have spell-branch:

I'll spell it <meta data-spell-branch>

To spell a letter use spell-letter e.g. <meta data-spell-letter=" ">

spell-letter="<A LETTER>"

It's the replacement for the text existed in that node. Instead this value will be added to list of letters


The option to delete the last letter selected


The option to remove last inserted character in spelling queue


Considers all leaf of that branch to be as spell letters, It used for defining where spell function should be used.

Spelling with prediction

Firstly we need to tell pasco that there will be changes to the layout after each selection:

<meta data-spell-branch  data-spell-update-dyn-onchange>

Next we need to define some aspects of prediction. For Word prediction we define it with data-dyn=spell-word-prediction:

<meta data-dyn="spell-word-prediction" data-words-file="trees/Spell_Prediction/bncfrequency.json" data-max-nodes="3" data-spell-finish data-predict-after-n-chars="3"

We need to define a corpus to predict from. There are a range of Corpus' already in pasco (see here for some examples. These are effectively a list of words with their frequency.)


Next we say the number of predictions that are going to be presented:


And lastly, we can define after how many letters are spelt before we get predictions:


We can also use next letter prediction. This is done with data-dyn=spell-letter-prediction:

<meta data-dyn="spell-letter-prediction" data-words-file="trees/Spell_Prediction/bncfrequency.json">

(A full example can be seen here)

Audio metadata


Plays the selected audio for cue and main voice


Plays the selected audio for cue voice


Plays the selected audio for main voice

Last updated