Documentation Wiki

An Introduction to Belcanto

The EigenD software system is designed to be fully functional without using a computer screen. In many circumstances,
such as rehersal, or if one is sitting or standing behind musical equipment, using a computer screen and mouse is quite
acceptable. In others, such as performing center stage in front of a large audience, there is a need to be able to make arbitary
changes to the performing environment on the fly without the use of screen or mouse. Eigenlabs have introduced the Belcanto
command and control language to enable this. Every element of the EigenD performance system may be controlled or changed using
Belcanto in real time. There are a number of very useful features implemented in EigenD that make the Belcanto language
extremely useful to the performer, often in circumstances when they do not use the language directly. These include the
ability to run scripts written in Belcanto at the tap of a key and the ability to attach multiple sentences in the language to
specific keys on an instrument for use during performance. Smart processing in EigenD also allows many of these commands to
be evaluated ahead of time, making often complex instructions occur in a short enough time (less than a millisecond for the
technical) to be musically useful.

Belcanto is a simple language. It is not a full computer programming language and is designed to be easy to learn
for the beginner. Those that have mastered the skill have found it to be a powerful extension to their ability to perform with an Eigenharp.

You do not need to learn Belcanto to play an Eigenharp using the Factory Setups or if you are happy to change and control
your system using a computer screen and mouse.

Speaking Belcanto

You can communicate Belcanto commands to agents running in EigenD in one of two ways. Firstly, you can type commands using a computer keyboard
by using the Commander, an application that ships with EigenD as standard. The Commander also contains a browsable lexicon of
the full Belcanto vocabulary and a staff view. The commander may be found in the 'Tools' menu.

The second and often more useful way is to play the Belcanto commands in on the Eigenharp keyboard. Belcanto words are defined
as short sequences of notes on the major scale. Each word is terminated by playing the last note of that word more loudly. For
those who wish to begin learning Belcanto, there are factory setups that add a Belcantop Keygroup to some of the splits in our
standard setups.

You will see that Belcanto words are often shown as text, a sequence of numbers or a small staff. The numbers
represent intervals. For example, the word 'start' might be written as '5 6'. In the key of C this would mean play G followed
by a louder A. The small staff views are shown in the key of C, like this:

metronome

start

We advise you to run the Commander at all times to start with as the staff view allows you to see the notes as you play and
to tell if you have played the right word in. It also shows you the full dictionary in a scrollable view, which you will
definitely need for your first few weeks.

Belcanto sentences always have a verb at the end. This may be something as simple as 'set' if you want to set a value, or
something as complex as 'connect'. Verbs may only appear at the end of Belcanto sentences - they are like a full stop and tell
the Interpreter to go off and do what you have asked.

Belcanto Conversations and Asides

If you wish to issue a single Belcanto commmand to one Agent, you can do this by using an Aside.
You create an Aside by using the Belcanto word 'hey'. It only lasts for the next sentence. If you want to change the scale
that sampler 1 is playing to the blues scale, you can do this using an Aside like so:

sampler

1

hey

scale

to

blues

set

This is the simplest way to issue a Belcanto command. It is however a little longwinded if you wish to make lots of changes to
one Agent as you have to keep saying 'hey'. It is also limited to single agents, so it isn't useful if you want to change the
scale of all instruments to the blues scale, for example. To make this easier you can use a Conversation. A Conversation
defines exactly which Agents listen when you speak your command. There are a number of predefiined conversations and they can
be joined by using the Belcanto word 'join'. The most useful to start with are the 'all' conversation and the 'empty'
conversation. If you say

all

join

then from that moment onwards every Agent in your system has joined your conversation and you are (unless you use an aside)
simultaneously talking to them all. This is powerful (you could say 'volume down' for example and every volume control in the
system will be turned down by on tick) but can also lead to unexpected effects so it is best used with caution. The empty
conversation is just that, it has no Agents in at all. It is a good starting point to build your own conversations up.

You can add Agents into a conversation by using the word 'listen', and remove them by saying 'un listen'. So saying:

empty

join

sampler

1

listen

sampler

2

listen

has made a conversation that contain just the two samplers, 1 and 2. If you then said

scale

to

major

set

then those two samplers, and nothing else, would change to the major scale. If you then said

sampler

1

un

listen

scale

to

pentatonic

set

then only sampler 2 would change to the pentatonic scale.

You can save handy conversations using any name you like (or make up) in Belcanto. So saying

conversation

remember

would save a conversation with the name '1 5 5 6' containing sampler 2 and nothing else. At any time after you had done that
you could say:

join

and you would rejoin that conversation. The default conversation can always be joined by simply saying 'join' on it's own.
This conversation contains the Browser and the Metronome in the Factory setups. You can easily customise it by making the
conversation you want then saying