By Harm Visser, 2007
Let us take a look to the ideas and hisยญtorยญiยญcal backยญground of BP2. At the end of the fifties the linยญguisยญtic sciยญenยญtist Noam Chomsky wrote his famous book 'Syntactic Structures'. It was an attempt to genยญerยญalยญize the strucยญture of lanยญguage in a sysยญtem of rewrite-rules, so called 'gramยญmars':
Sentence --> NP + VP
NP --> T + N
VP --> Verb + NP
T --> The
N --> man, ball..
Verb -> hit, tookโฆ
When we comยญputยญerยญize such a gramยญmar and we give the comยญmand 'derive' we should see that Sentence became NP + VP, NP became T + N, VP became Verb + NP etc. At the end we see that N became 'man' and Verb became 'hit'. No furยญther derivaยญtion is posยญsiยญble. The words 'man', 'hit' are thereยญfore called 'terยญmiยญnal symbols'.
After derivaยญtion of Sentence we should read: the man hitโฆ (or whatยญevยญer). Such a Chomsky 'gramยญmar' can be seen as a set of rules to genยญerยญate well-formed English sentences.
You can read a rule as 'X --> Y'. It gives the 'instrucยญtion' to rewrite X as Y (X becomes Y). Maybe you can imagยญine already that such a grammar-system can also apply to musiยญcal syntax.
Let us thereยญfore comยญpare the Chomsky-example with this BP2-example:
S(entence) --> X Y
X --> Motif1
Y --> Motif2
Motif1 --> C3
Motif2 --> D3
After derivaยญtion we should hear the terยญmiยญnal symยญbols C3 D3.
The main difยญferยญence between the 'Chomsky-grammar' and a BP2-grammar is that a BP2-grammar is excluยญsive. It is a forยญmalยญiยญsaยญtion of one parยญticยญuยญlar piece of music. Chomsky-grammars try to genยญerยญalยญize lanยญguage as a whole.
At the othยญer hand you can in BP2 'forยญmalยญize' the sonata-form:
S --> Sonata
Sonata --> Theme1 Theme2 Development Coda
Theme1 --> Notes1
Theme2 --> Notes2
Development VariateNotes1 VariateNotes2
Coda --> HalfTheme1 HalfTheme2
When we derive the Sonata, we shall hear nothยญing, because there are no terยญmiยญnal symยญbols i.c. 'real notes', like C3, D2, etc. So let's finยญish the Sonata:
S --> Sonata
Sonata --> Theme1 Theme2 Development Coda
Theme1 --> Notes1
Theme2 --> Notes2
Development --> VariateNotes1 VariateNotes2
Coda --> HalfTheme1 HalfTheme2
Notes1 --> A3 B3 A3 G3
Notes2 --> D3 E3 F3 A3
VariateNotes1 --> _transpose(2) Notes1
VariateNotes2 --> _retro Notes2
HalfTheme1 --> A3 B3
HalfTheme2 --> D3 E3
Note that we use for VariateNotes1 and VariateNotes2 the tools _transpose(2) and _retro.
_transpose(x) transยญposยญes up or down at a givยญen interยญval: _transpose(2) (two semiยญtone up), _transpose(6) (six semiยญtones up) _transpose(-7) (sevยญen semiยญtones down). You can also use valยญues like _transpose(0.2).
The _retro tool stands of course for 'retยญroยญgrade'. It turns the symยญbols backยญwards. You can read comยญmands like _transpose and _retro as 'transยญformยญers'.
Well, let's lisยญten to this Sonata! Select S and 'Play selection':
A3 B3 A3 G3 D3 E3 F3 A3 _transpose(2) A3 B3 A3 G3 E3 D3 B3 A3 A3 F3 E3 D3

There are two imporยญtant things to remember
- When you write a variยญable like Theme1 or VariateNotes2 or Sonata (yes, these are variยญables until you give them a 'conยญtent'), start the variยญable with a capยญiยญtal and don't use empยญty spaces between symยญbols. So Not 'sonata', but 'Sonata'. Not 'n1', but 'N1', not 'my piece', but 'Mypiece'.
- You can lisยญten to every stage or levยญel of your piece at every moment. So, instead selectยญing S, you can select Notes1 or Development, or G3โฆ In othยญer words, you can lisยญten to every comยญposยญiยญtoยญrยญiยญal detail! Try to make your own Sonata now!
Note that the example-Sonata is also a descripยญtion of the actuยญal piece. That is to say that the first half is the descripยญtion, the secยญond half is the 'realยญiยญsaยญtion' of the descripยญtion. This approach means that a descripยญtion can also have a 'subยญdeยญscripยญtion', while the subยญdeยญscripยญtion can haveโฆ indeed, a subยญsubยญdeยญcripยญtion. So BP2 is the perยญfect tool for hierยญarยญchiยญcal descripยญtions of musiยญcal structures.
