Generalities about score

The score language was originally designed as an interactive interface to Soundblaster Pro. It has, therefore, some limitations, such as: In the millenia since, Soundblaster Pro became unusable, as it conflicts with multitasking Windows. So I remap the score results to a midi file, which is quite general, but:

Some basic details:



Sample score: the etude g#minDGM

 {
 ... rnd_3747 fit ...
 

SRAND=	3747
fit
odds for changes:
   new 1st 108
   new 2nd 114
   swap12 52
   transpo 306
   cancer 40
   table 31
   mirror 32
time signature=	8/8
2 beats, subdivided into 4

}

names abc
 
The file colophon.txt, various details about the piece
 gosub before
 
The introduction; see score below.
send 4 here
here:

tra_all = -4 { cmin ==>   g#min }

{ 105:  new2nd	0 0 0 0 x 3 0	=	3 0 3 0 3 0 3 0 
tonality cmin9 4013  }

if cur=0 ( sound 4; vvol rand/8+ 32 7/8;
 c5 1/8 eb5  c5  eb5  c5  eb5  c5  eb5 
)
if cur=4 ( vvol rand/10 + 30 7/8;
 ab4,c4,eb4 4/8  r /16  r /16  eb4 /16  ab4 /16  c4 /16  eb4 /16  ab4 /16  c4 /16  {xden8} 
halt; )
halt 4; send 04 end105;
end105:

{ 104:  transpo	0 0 0 0 x 10 12	=	0 2 0 2 0 2 0 2 
tonality cmin9 4013  }

if cur=0 ( sound 4; vvol rand/8+ 32 7/8;
 c5 1/8 d5  c5  d5  c5  d5  c5  d5 
)
if cur=4 ( vvol rand/10 + 30 7/8;
 d4,f4,ab4,c4 4/8  r /16  r /16  r /16  r /16  f4 /16  a4 /16  c4 /16  d4 /16  {xden8} 
halt; )
halt 4; send 04 end104;
end104:
 
: :
{ 102: new2nd 0 0 0 0 x 10 12 = 10 12 10 12 10 12 10 12 tonality cmin9 4013 } if cur=0 ( sound 4; vvol rand/8+ 32 7/8; c6 1/8 bb5 c6 bb5 c6 bb5 c6 bb5 ) if cur=4 ( vvol rand/10 + 30 7/8; r /16 r /16 r /16 r /16 g4 /16 bb4 /16 eb4 /16 c4 /16 {xden8} c4,eb4,g4,bb4 4/8 halt; ) halt 4; send 04 end102; end102: { 101: transpo 0 0 0 0 x 0 0 0 0 = 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 tonality cmin9 4013 } if cur=0 ( sound 4; vvol rand/8+ 32 7/8; f5 1/8 f5 f5 f5 f5 f5 f5 f5 ) if cur=4 ( vvol rand/10 + 30 7/8; bb4,d4,f4 4/8 f4,ab4,c4 4/8 halt; ) halt 4; send 04 end101; end101: tra_all = -1
Establishing G# minor at etude's start.

Several measures, originally in C minor, now transposed to G# minor. Ident 101 corresponds to ident 1, 102 to 2, ... etc.

{ 0:  START	0 0 0 0 x 0 0 0 0	=	0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
tonality cmin9 4013  }

if cur=0 ( sound 4; vvol rand/8+ 32 7/8;
 c5 1/8 c5  c5  c5  c5  c5  c5  c5 
)
if cur=4 ( vvol rand/10 + 30 7/8;
 {xSPLIT}  ab2 2/8  c3,eb3 2/8  r 1/8  eb4,g4,c4 3/8 
halt; )
halt 4; send 04 end0;
end0:

{ 1:  transpo	0 0 0 0 x 0 0 0 0	=	5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 
tonality cmin9 4013  }

if cur=0 ( sound 4; vvol rand/8+ 32 7/8;
 f5 1/8 f5  f5  f5  f5  f5  f5  f5 
)
if cur=4 ( vvol rand/10 + 30 7/8;
 bb4,d4,f4 4/8  f4,ab4,c4 4/8 
halt; )
halt 4; send 04 end1;
end1:

{ 2:  new2nd	0 0 0 0 x 10 12	=	10 12 10 12 10 12 10 12 
tonality cmin9 4013  }

if cur=0 ( sound 4; vvol rand/8+ 32 7/8;
 c6 1/8 bb5  c6  bb5  c6  bb5  c6  bb5 
)
if cur=4 ( vvol rand/10 + 30 7/8;
 {xDOWN}  c5  1/8  eb4  g3  bb2  c5  1/8  eb4  g3  bb2 
halt; )
halt 4; send 04 end2;
end2:
 
: :
{ 7: transpo 0 0 0 0 x 3 0 = 0 9 0 9 0 9 0 9 chords ABOVE melody tonality cmin9 4013 } if cur=0 ( sound 4; vvol rand/8+ 32 7/8; c4 1/8 a4 c4 a4 c4 a4 c4 a4 ) if cur=4 ( vvol rand/10 + 30 7/8; {xSPLIT} r 1/8 c5,f5,a5 3/8 f4 2/8 a5,c5 2/8 halt; ) halt 4; send 04 end7; end7: { 8: transpo 0 0 0 0 x 3 0 = 5 2 5 2 5 2 5 2 tonality cmin9 4013 } if cur=0 ( sound 4; vvol rand/8+ 32 7/8; d5 1/8 f5 d5 f5 d5 f5 d5 f5 ) if cur=4 ( vvol rand/10 + 30 7/8; d4,f4,a4 4/8 bb4,d4,f4 4/8 halt; ) halt 4; send 04 end8; end8:
Measures with idents 0 to 8, all in C minor
 
{ 9:  new1st	12 5 x 3 0	=	15 12 8 5 
				new tonality ebmaj }
if cur=0 ( sound 4; vvol rand/8+ 32 7/8;
 f5 1/8 eb6  c6  ab5  f5  eb6  c6  ab5 
)
if cur=4 ( vvol rand/10 + 30 7/8;
 f4,ab4,c4,eb4 4/8  r 1/8  eb4,f4,ab4,c4 3/8 
halt; )
halt 4; send 04 end9;
end9:

{ 10:  transpo	12 5 x 3 0	=	10 7 3 0 
tonality ebmaj 1453  }

if cur=0 ( sound 4; vvol rand/8+ 32 7/8;
 c5 1/8 bb5  g5  eb5  c5  bb5  g5  eb5 
)
if cur=4 ( vvol rand/10 + 30 7/8;
 c4,eb4,g4,bb4 2/8  c4,eb4,g4 3/8  eb4,g4,bb4 3/8 
halt; )
halt 4; send 04 end10;
end10:
 
: :
{ 12: new2nd 12 5 x 12 5 = 24 17 17 10 chords ABOVE melody tonality ebmaj 1453 } if cur=0 ( sound 4; vvol rand/8+ 32 7/8; bb3 1/8 c5 f4 f4 bb3 c5 f4 f4 ) if cur=4 ( vvol rand/10 + 30 7/8; {xSPLIT} bb5 2/8 d4,ab4 2/8 bb5,d5 2/8 ab4 2/8 halt; ) halt 4; send 04 end12; end12: { 13: swap12 12 5 x 12 5 = 24 17 17 10 tonality ebmaj 1453 } if cur=0 ( sound 4; vvol rand/8+ 32 7/8; f6 1/8 bb5 c7 f6 f6 bb5 c7 f6 ) if cur=4 ( vvol rand/10 + 30 7/8; bb3,d4,ab4 4/8 bb3,d4,ab4 4/8 halt; ) halt 4; send 04 end13; end13:
Measures with idents 9 to 13, in Eb major
  
: : :
 { 24:  transpo	12 5 x 12 5	=	11 4 4 9 
				new tonality dmin }
if cur=0 ( sound 4; vvol rand/8+ 32 7/8;
 b5 1/8 e5  e5  a5  b5  e5  e5  a5 
)
if cur=4 ( vvol rand/10 + 30 7/8;
 a3,c#4,e4,g4 4/8  a3,c#4,e4,g4 4/8 
halt; )
halt 4; send 04 end24;
end24:
 
Measure with id 24, in D minor
 { 25:  transpo	12 5 x 12 5	=	10 3 3 8 
				chords ABOVE melody
				new tonality ebmaj }
if cur=0 ( sound 4; vvol rand/8+ 32 7/8;
 bb4 1/8 eb4  eb4  ab4  bb4  eb4  eb4  ab4 
)
if cur=4 ( vvol rand/10 + 30 7/8;
 r /16  r /16  ab4 /16  bb3 /16  d4 /16  ab4 /16  bb3 /16  d4 /16  {xden8}  bb4,d5,ab5 4/8 
halt; )
halt 4; send 04 end25;
end25:
 
Measure with id 25, in Eb major
 
tra_all = 1 { gmin ==>  g#min  }

{ 106:  table	12 5 x 12 5	=	4 9 9 2 
				new tonality gmin }
if cur=0 ( sound 4; vvol rand/8+ 32 7/8;
 a5 1/8 d5  e5  a5  a5  d5  e5  a5 
)
if cur=4 ( vvol rand/10 + 30 7/8;
 r 2/8  c2 /8  f3 /8  d4,a4,c5 4/8 
halt; )
halt 4; send 04 end106;
end106:

tra_all = -6 { dmin ==> g#min }

{ 107:  transpo	12 5 x 12 5	=	11 4 4 9 
				new tonality dmin }
if cur=0 ( sound 4; vvol rand/8+ 32 7/8;
 a5 1/8 b5  e5  e5  a5  b5  e5  e5 
)
if cur=4 ( vvol rand/10 + 30 7/8;
 a3,c#4,e4,g4 4/8  a3,c#4,e4,g4 4/8 
halt; )
halt 4; send 04 end107;
end107:

tra_all =  -1 { amin ==> g#min }

{ 108:  transpo	12 5 x 12 5	=	6 11 11 4 
				new tonality amin }
if cur=0 ( sound 4; vvol rand/8+ 32 7/8;
 b5 1/8 e5  f#5  b5  b5  e5  f#5  b5 
)
if cur=4 ( vvol rand/10 + 30 7/8;
 a3,c4,e4 4/8  a3,c4,e4 4/8 
halt; )
halt 4; send 04 end108;
end108:


 
Establishing G# minor at etude's end.

Measures with idents 106 to 108. Each in a different scale – see new tonality comment – but all minor. The instructions tra_all = n transpose all of them to G# minor.

gosub after
halt all;
 
Play coda (see score below) then stop.
 

before:
tra_all=-1

send 1  sca1; sound 1;
sca1:  vvol rand/8+31 2/1;

if cur=0  (
 a6  1/16  a6  a6  a6  g6  f6  e6  d6  c6  r 
 a5  g5  f5  e5  d5  r  b4  a4  g4  f4 
 e4  r  c4  b3  a3  b3  c4  r  e4  f#4 
 g#4  a4  b4  r  d5  e5  f#5  g#5  a5  r 
 r  r  r  r  r  r  r  r 	)

if cur=1  (
 r  1/16  r  r  r  r  r  r  r  r  r 
 r  r  a4  b4  c5  r  e5  f#5  r  a5 
 b5  r  d6  e6  r  g#6  a6  r  c7  d7 
 r  f#7  g#7  r  g6  f6  r  d6  c6  r 
 a5  g5  r  e5  d5  r  b4  a4 halt;	)

 a4,e5,c6,a6 1/1 
		r/2
ret

 
The introduction consists of G# minor scales in both hands, and the chord G#,D#,B,G#. The scales go in opposite directions.

Notice tra_all=-1, which means transpose down one semitone; written A actually sounds G#, etc.


after:
tra_all=-1


send 1  sca2; sound 1;
sca2:  vvol rand/8+31 2/1;

if cur=0  (
 a4  1/16  a4  a4  a4  a4  a4  a4  a4  a4  a4 
 a4  a4  a4  b4  c5  d5  e5  r  g#5  a5 
 b5  c6  r  e6  f#6  g#6  a6  r  c7  d7 
 e7  f#7  r  a6  g6  f6  e6  r  c6  b5 
 a5  g5  r  e5  d5  c5  b4  r 	)

if cur=1  (
 a6  1/16  a6  a6  a6  a6  a6  a6  a6  a6  a6 
 a6  a6  a6  g6  f6  r  d6  c6  r  a5 
 g5  r  e5  d5  r  b4  a4  r  f4  e4 
 r  c4  b3  r  b3  c4  r  e4  f#4  r 
 a4  b4  r  d5  e5  r  g#5  a5 halt;	)


send 1  arp3; sound 1;
arp3:  vvol rand/8+31 2/1;

if cur=0  (
 a7  1/16  a7  a7  e7  c7  a6  r  a1  e2  c2 
 a1  r  a1  e2  c2  a1  r  a1  e2  c2 
 a1  r  a1  e2  c2  a1  a1  r  r  r 
 r  r 	)

if cur=1  (
 r  1/16  r  r  r  r  r  r  a7  e7  c7 
 a6  a6  e6  c6  a5  a5  e5  c5  a4  a4 
 e4  c4  a3  a3  e3  c3  a2  a2  e2  c2 
 a1  a1 halt;	)

 a2,c3,e3,a3 /1 

ret 
 
The coda consists of G# minor scales in both hands, arpeggios G#,D#,B,G# in both hands, and a final chord G#,B,D#,G#.

Notice tra_all=-1, which means transpose down one semitone; written A actually sounds G#, etc.