aUCBLogo Demos and Tests / convert_guitar_to_notes


setCaseIgnored false

be convert_guitar_to_notes
   
be convert_g2n in [addNote 0][volume 127]
      
out=[]
      
stab=Table 
      
[   E -17
         
a -12
         
d -7
         
g -2
         
h 2
         
e 7
      
]
      
s="g
      
len=1
      
note=256
      
while [in != []]
      
[   n=first in
         
ifelse Number? n
         
[   out=(se out note len*tempo volume)
            
note=s+n+addNote
            
len=1
         
][   while [(first n)==".]
            
[   len=len+1
               
n=butFirst n
            
]
            
if not empty? n
            
[   s=stab.n
            
]
         
]
         
in=butfirst in
      
]
      
out=(se out note len*tempo volume)
      
output out
   
end
   
be drawLines
      
p0=Pos
      
for [i 0 4]
      
[   right 90
         
PenDown 
         
forward 800
         
PenUp
         
back 800
         
left 90
         
forward lineSpacing
      
]
      
setPos p0
   
end
   
be newline
      
setX -380
      
back lineSpacing*10
      
drawLines
   
end
   
be drawNotes notes base with_Bs tonart
;   ct
;   show notes
      
if empty? notes [stop]
      
ntab#=Table
      
[
         
-24   -14
         
-23   #-14
         
-22   -13
         
-21   -12
         
-20   #-12
         
-19   -11
         
-18   #-11
         
-17   -10
         
-16   -9
         
-15   #-9
         
-14   -8
         
-13   #-8

         
-12   -7
         
-11   #-7
         
-10   -6
         
-9   -5
         
-8   #-5
         
-7   -4
         
-6   #-4
         
-5   -3
         
-4   -2
         
-3   #-2
         
-2   -1
         
-1   #-1

         
0   0
         
1   #0
         
2   1
         
3   2
         
4   #2
         
5   3
         
6   #3
         
7   4
         
8   5
         
9   #5
         
10   6
         
11   #6

         
12   7
         
13   #7
         
14   8
         
15   9
         
16   #9
         
17   10
         
18   #10
         
19   11
         
20   12
         
21   #12
         
22   13
         
23   #13
      
]
      
ntabB=Table
      
[
         
-12   -7
         
-11   b-6
         
-10   -6
         
-9   -5
         
-8   b-4
         
-7   -4
         
-6   b-3
         
-5   -3
         
-4   -2
         
-3   b-1
         
-2   -1
         
-1   b0

         
0   0
         
1   b1
         
2   1
         
3   2
         
4   b3
         
5   3
         
6   b4
         
7   4
         
8   5
         
9   b6
         
10   6
         
11   b7

         
12   7
         
13   b8
         
14   8
         
15   9
         
16   b10
         
17   10
         
18   b11
         
19   11
         
20   12
         
21   b13
         
22   13
         
23   b14
      
]
      
ntab=ifelse with_Bs [ntabB][ntab#]
      
      
be octaves t
         
output (se t t-12 t+12 t-24)
      
end
      
      
b=1
      
es=6
      
as=11
      
des=4
      
ges=9
      
ces=3
      
fes=7
      
      
btab=Table 7
      
btab'F=b
      
btab'B=(se b es)
      
btab'Es=(se b es as)
      
btab'As=(se b es as des)
      
btab'Des=(se b es as des ges)
      
btab'Ges=(se b es as des ges ces)
      
btab'Ces=(se b es as des ges ces fes)
      
      
fis=9
      
cis=4
      
gis=11
      
dis=6
      
ais=1
      
eis=8
      
his=4
      
      
stab=Table 7
      
stab'G=fis
      
stab'D=(se fis cis)
      
stab'A=(se fis cis gis)
      
stab'E=(se fis cis gis dis)
      
stab'H=(se fis cis gis dis ais)
      
stab'Fis=(se fis cis gis dis ais eis)
      
stab'Cis=(se fis cis gis dis ais eis his)
      
      
newline
      
foreach btab.tonart
      
[   n=ntab.?
         
if (first n)=="b
         
[   b=true
            
n=butFirst n
         
]
         
p0=Pos
         
forward (n+3)*lineSpacing/2
         
right 90
         
PenDown
         
label "b
         
PenUp
         
setPos p0
         
forward noteSpacing*0.7
         
left 90
      
]
      
foreach stab.tonart
      
[   n=ntab.?
         
if (first n)=="#
         
[   sharp=true
            
n=butFirst n
         
]
         
p0=Pos
         
forward (n+3)*lineSpacing/2
         
right 90
         
PenDown
         
label "#
         
PenUp
         
setPos p0
         
forward noteSpacing*0.7
         
left 90
      
]
      
right 90
      
forward noteSpacing
      
left 90
      
btab'F=octaves btab'F
      
btab'B=octaves btab'B
      
btab'Es=octaves btab'Es
      
btab'As=octaves btab'As
      
btab'Des=octaves btab'Des
      
btab'Ges=octaves btab'Ges
      
btab'Ces=octaves btab'Ces
      
      
stab'G=octaves stab'G
      
stab'D=octaves stab'D
      
stab'A=octaves stab'A
      
stab'E=octaves stab'E
      
stab'H=octaves stab'H
      
stab'Fis=octaves stab'Fis
      
stab'Cis=octaves stab'Cis
      
n=0
      
if (first notes) > 255 
      
[   notes=butFirst butFirst butFirst notes
      
]
      
while [not empty? notes]
      
[   p0=Pos
         
no=n
         
n=first notes
         
notes=butFirst notes
         
len=first notes
         
nn=base+modulo (n-base) 12
         
nq=7*int (n-base)/12
         
n=ntab.nn
;(type n " )
         
sharp=false
         
aufloes=false
         
ifelse (first n)=="#
         
[   sharp=true
            
n=butFirst n
            
if member? nn stab.tonart
            
[   sharp=false
               
ston=true
            
]
         
][
            
if member? nn+1 stab.tonart
            
[   aufloes=true
            
]
         
]
         
b=false
         
ifelse (first n)=="b
         
[   b=true
            
n=butFirst n
            
if member? nn btab.tonart
            
[   b=false
               
bton=true
            
]
         
][
            
if member? nn-1 btab.tonart
            
[   aufloes=true
            
]
         
]
         
forward (n+nq+3)*lineSpacing/2
         
extraSpace=0
         
if sharp or2 b or2 aufloes
         
[   right 90
            
PenDown
            
if sharp [label "#]
            
if b [label "b]
            
if aufloes [label "%]
            
PenUp
            
forward noteSpacing*0.7
            
left 90
            
extraSpace=noteSpacing
         
]
         
PenDown
         
circle lineSpacing/3
         
right 90
         
setPenSize 3
         
forward noteSpacing*len/70/3
         
setPenSize 0
         
left 90
         
PenUp
         
setPos p0
         
right 90
         
forward noteSpacing*(0.5+len/70/4)+extraSpace
         
left 90
         
if xCor > 400-noteSpacing*2
         
[   newline
         
]
         
if key? [break]
         
notes=butFirst butFirst notes
      
]
      
updateGraph
   
end
   
be drawStrings
      
p0=Pos
      
for [i 1 6]
      
[   right 90
         
PenDown 
         
Label [E A D g h e].i
         
ops=first PenSize
         
setPenSize 0
         
forward 800
         
setPenSize ops
         
PenUp
         
back 800
         
left 90
         
forward stringSpacing
      
]
      
setPos p0
   
end
   
be drawGit in addNote
      
newstrings
      
stab=Table 
      
[   E 0
         
a 1
         
d 2
         
g 3
         
h 4
         
e 5
      
]
      
len=1
      
s=3
      
snew=3
      
note=0
      
while [in != []]
      
[   n=first in
         
ifelse Number? n
         
[   if number? s
            
[   p0=Pos
               
forward s*stringSpacing
               
right 90
               
PenDown
               
label note
               
PenUp
               
setPos p0
               
forward noteSpacing*1.7
               
left 90
               
s=snew
            
]
            
note=n+addNote
            
len=1
         
][   while [(first n)==".]
            
[   len=len+1
               
n=butFirst n
            
]
            
if not empty? n and2 not number? n
            
[   snew=stab.n
            
]
         
]
         
if xCor > 400-noteSpacing*2
         
[   newstrings
         
]
         
in=butFirst in
      
]
      
if number? s
      
[   p0=Pos
         
forward s*stringSpacing
         
right 90
         
PenDown
         
label note
         
PenUp
         
setPos p0
         
forward noteSpacing*1.7
         
left 90
         
s=snew
      
]
   
end
   
be newstrings
      
setX -380
      
back stringSpacing*10
      
drawStrings
   
end
   
be tune1
      
m1=[]
      
m2=[]
      
m3=[]
      
m4=[]
      
m5=[]
      
m6=[]
      
bass1=[]
      
bass2=[]
      
bass=[]
      
akk1=[]
      
m1=[.... g 9 ... h 8 .. 12 . 8 .. 12 . 8 .. 12 . 8 .. 12 . 8 .. g 9 .. 10 ... h 10 .. 13 . 10 .. 13 . 10 ...........]
      
m2=[h 12 ... e 12 ..... h 12 .... e 12 ... e 8 ..... h 10 .... e 8 ... h 12 ..... 8 .... 12 ... 10 ..... 7 ..... .... 8 ..... ... g 9 ..... h 7 ..... g 7 ... h 7 .... g 9 ..]
      
m22=[g 9 .......................................................]
      
m3=[.... g 9 . 11 . 12 . h 10 . 12 ... 12 ... 12 . 10 . g 12 . 11 . 9 ..... h 10 . 12 . 13 . e 10 . 12 ... 12 ... 12 . 10 h 13 . 12 . 10 ...]
      
m4=[.... e 7 .. 12 ... 7 .. 12 .. 7 ... 12 .... 12 .... 7 .. 8 .... 8 .... h 10 .. e 8 .... 8 .... h 10 ..]
      
m5=[.... g 9 .. h 8 .. e 7 .. 12 .. 7 . 12 .. 11 . 7 . 11 .. 10 .. 7 . 10 .. 9 h . 10 . e 8 . 7 .. h 8 .. g 9 .. d 9 ......]
      
melo=(se m1 m1 m3 m1 m1 m2 m22 m5 m4 m4 m1 m1 m2 m22)
   
;   melo=m2
      
bass1=[a 6 ... 7 ..... 7 .... E 7 ... a 7 ..... 7 .... 6 ... 5 ..... 5 .... E 5 ... a 5 ..... 5 ....]
      
bass2=[a 6 ... 7 ..... 7 .... 7 ... E 5 ..... 5 .... 5 ... 7 ..... 7 .... 7 ... 5 ..... 5 .... 5 ... 8 ..... 8 .... 8 ...  10 ..... 10 .... 10 ... a 7 ..... 7 .... 7 ... 7 ..... 7 .... 7 ... 7 ..... 7 .... 7 ... 7 ..... ..... 6 ...]
      
bass=(se bass1 bass1 bass1 bass1 bass1 bass2 bass1 bass1 bass1 bass1 bass1 bass2)
   
;   bass=bass2
      
akk11=[d 4 ... 5 ..... 5 .... . ...   5 ..... 5 .... 4 ... 3 ..... 3 .... . ... 3 ..... 3 ....]
      
akk12=[d 4 ... 5 ..... 5 .... 5 ... a 7 ..... 7 .... 7 ... 9 ..... 9 .... 9 ... 7 ..... 7 .... 7 ... 10 ..... 10 .... 10 ...  12 ..... 12 .... 12 ... d 5 ..... 5 .... 5 ... 5 ..... 5 .... 5 ... 5 ..... 5 .... 5 ... 5 ..... ..... 4 ...]
      
akk1=(se akk11 akk11 akk11 akk11 akk11 akk12 akk11 akk11 akk11 akk11 akk11 akk12)
      
akk21=[g 6 ... 7 ..... 7 .... . ...   7 ..... 7 .... 6 ... 5 ..... 5 .... . ... 5 ..... 5 ....]
      
akk22=[g 6 ... 7 ..... 7 .... 7 ... d 5 ..... 5 .... 5 ... 7 ..... 7 .... 7 ... 5 ..... 5 .... 5 ... 10 ..... 10 .... 10 ...  12 ..... 12 .... 12 ... g 7 ..... 7 .... 7 ... 7 ..... 7 .... 7 ... 7 ..... 7 .... 7 ... 7 ..... ..... 6 ...]
      
akk2=(se akk21 akk21 akk21 akk21 akk21 akk22 akk21 akk21 akk21 akk21 akk21 akk22)
      
tr=-2
      
tonart="F
      
melo=(convert_g2n melo 55+tr)
      
bass=(convert_g2n bass 55-12+tr)
      
akk1=(convert_g2n akk1 55+tr 63)
      
akk2=(convert_g2n akk2 55+tr 63)
      
setScreenRange -400 -400*4/3 400 400*4/3
      
clearScreen
      
PenUp
      
hideTurtle
      
disableRoundLineEnds
      
setLabelSize [1 1]*lineSpacing*2
      
setXY -380 500

      
drawTheGit=false
      
drawTheGit=true
      
if drawTheGit
      
[   drawGit m1 tr
         
drawGit m2 tr
         
drawGit m3 tr
         
drawGit m4 tr
         
drawGit m5 tr
      
]
      
drawTheNotes=false
;      drawTheNotes=true
      
if drawTheNotes
      
[   drawNotes (convert_g2n m1 -12+tr) 7 true tonart
         
drawNotes (convert_g2n m2 -12+tr) -9 true tonart
         
drawNotes (convert_g2n m3 -12+tr) -7 true tonart
         
drawNotes (convert_g2n m4 -12+tr) -7 true tonart
         
drawNotes (convert_g2n m5 -12+tr) -12 true tonart
      
]
      
drawTheNotesSax=false
;      drawTheNotesSax=true
      
tonart2="D
      
if drawTheNotesSax
      
[   drawNotes (convert_g2n m1 -12+tr-3) 11 false tonart2
         
drawNotes (convert_g2n m2 -12+tr-3) -12 false tonart2
         
drawNotes (convert_g2n m3 -12+tr-3) -12 false tonart2
         
drawNotes (convert_g2n m4 -12+tr-3) -12 false tonart2
         
drawNotes (convert_g2n m5 -12+tr-3) -15 false tonart2
      
]
      
useMidi=false
      
useMidi=true
      
if useMidi
      
[   MidiOpen 0
         
MidiProgramChange 0 0
         
MidiProgramChange 1 32
         
MidiProgramChange 2 24
         
MidiProgramChange 3 24
         
         
(MidiOutStream 0 melo)
         
(MidiOutStream 1 bass)
         
(MidiOutStream 2 akk1)
         
(MidiOutStream 3 akk2)
         
MidiOutStreamsStart
      
]
   
end
   
be tune2
      
m1=[]
      
m2=[]
      
m3=[]
      
m4=[]
      
m5=[]
      
m6=[]
      
bass1=[]
      
bass2=[]
      
bass3=[]
      
bass=[]
      
akk1=[]
      
m1=[d 7 ... g 7 .. h 5 ... 6 .. 5 ... g 7 .. 6 ... d 7 .. g 4 ... 6 .. 
         
7 .... 7 ... 7 ..... d 7 .. 7 ... 8 .. 7 .... 7 ... 7 ..... 5 .. 
         
a 8 .. 7 ... 5 .... 5 ... 5 .....]
      
m2=[a 5 . 8 . d 7 . g 7 ..... 6 ..... 7 ..... 9 ..... h 6 ... g 9 ..... 
         
h 6 ..... 8 ..... 9 ..... 10 ..... 6 ..... g 7 ..... h 6 ... g 7 ... 
         
d 7 ..... a 8 ..... ... h 6 ..... 6 .... 5 ..... 5 .... g 7 ... 7 .... 
         
d 7 ..... 7 . 7 .. 7 . 7 ... 5 ... a 8 ... 7 ... 5 .....]
      
m3=[
         
e 5 . 5 . 5 .. 6 ... 5 .. 4 ... 5 .. h 6 ... 3 .. 6 .. 6 .... 6 ..... 
         
h 6 ... e 4 .. h 6 ... 5 .. 5 .... 5 ..... 5 ... e 3 .. 
         
h 2 ... 3 ... g 3 ... 2 ... d 3 ... 2 ... a 4 ... E 5 ... d 3 ... 
         
d 0 ... 0 .. 2 ... 2 .. 3 ... 3 .. 5 ... 5 .. 6 ... 7 ... g 7 .....]
      
m4=[]
      
m5=[]
      
melo=(se m1 m2 m2 m1 m3)
;      melo=m3
;      bass1=[a 5 5 E 5 5 a 5 5 5 5 a 5 3 E 5 5 5 5 a 3 5 5 5 5]
;      bass2=[a 5 5 E 3 6 a 4 5 5 5 5 5 5 5 5 5 E 3 3 5 5 5 3 a 6 5 5]
;      bass3=[a 5 5 5 5 5 5 5 E 5 5 5 a 5 E 3 5 5 a 5 7 8 E 3 4 5 a 5]
      
bass=(se bass1 bass2 bass3)
   
;   bass=bass2
      
akk11=[]
      
akk12=[]
      
akk13=[]
      
akk1=(se akk11 akk12 akk13)
      
akk21=[]
      
akk22=[]
      
akk23=[]
      
akk2=(se akk21 akk22 akk23)
      
melo=(convert_g2n melo 55)
      
bass=(convert_g2n bass 55-12)
      
akk1=(convert_g2n akk1 55 63)
      
akk2=(convert_g2n akk2 55 63)
      
setScreenRange -400 -400*4/3 400 400*4/3
      
clearScreen
      
PenUp
      
hideTurtle
      
disableRoundLineEnds
      
setLabelSize [1 1]*lineSpacing*2
      
setXY -380 500
      
tonart="F
      
tr=0
      
drawTheGit=false
;      drawTheGit=true
      
if drawTheGit
      
[   drawGit m1 tr
         
drawGit m2 tr
         
drawGit m3 tr
      
]
      
drawTheNotes=false
;      drawTheNotes=true
      
if drawTheNotes
      
[   drawNotes (convert_g2n m1 -12+tr) -3 true tonart
         
drawNotes (convert_g2n m2 -12+tr) 1 true tonart
         
drawNotes (convert_g2n m3 0+tr) -12 true tonart
      
]
      
tonart="D
      
drawTheNotesSax=false
      
drawTheNotesSax=true
      
if drawTheNotesSax
      
[   drawNotes (convert_g2n m1 -12+tr-3) -6 false tonart
         
drawNotes (convert_g2n m2 -12+tr-3) -2 false tonart
         
drawNotes (convert_g2n m3 0+tr-3) -12 false tonart
      
]
      
useMidi=false
;      useMidi=true
      
if useMidi
      
[   MidiOpen 0
         
MidiProgramChange 0 0
         
MidiProgramChange 1 32
         
MidiProgramChange 2 24
         
MidiProgramChange 3 24
         
         
(MidiOutStream 0 melo)
         
(MidiOutStream 1 bass)
         
(MidiOutStream 2 akk1)
         
(MidiOutStream 3 akk2)
         
MidiOutStreamsStart
      
]
   
end
   
be tune3
      
m1=[]
      
m2=[]
      
m3=[]
      
m4=[]
      
m5=[]
      
m6=[]
      
bass1=[]
      
bass2=[]
      
bass3=[]
      
bass=[]
      
akk1=[]
      
m1=[g 5 6 .. h 5 ... 7 ... e 7 9 .. 7 ... 5 ... 
         
h 8 .. 7 .. 5 ... g 7 ... 5 . 6 .. h 8 ... 8 ... 7 .. 8 ...]
      
m2=[e 11 11 10 8 h 10 8 g 9 7 5 6 h 8 8 7 8]
      
m3=[h 10 g 9 h 8 7 g 9 7 5 7 9 5 6 d 7 7 5 7]
      
m4=[]
      
m5=[]
      
melo=(se m1 m2)
      
melo=m1
      
bass1=[E 5 ..... ........ 5 ..... ........ 5 ..... ........ 5 ..... 4 .......]
      
bass2=[E 4 ..... ........ 4 ..... ........ 4 ..... ........ 4 ..... 3 .......]
      
bass3=[E 2 2 0 0 1 0]
      
bass=(se bass1 bass2 bass3)
   
;   bass=bass2
      
akk11=[.... h 8 .. d 7 ... g 6 ..]
      
akk12=[.... h 7 .. d 6 ... g 5 ..]
      
akk13=[d 6 .....]
      
akk14=[d 5 .....]
      
akk1=(se akk11 akk11 akk11 akk11 akk13); akk12 akk12 akk12 akk12 akk14)
      
akk21=[]
      
akk22=[]
      
akk23=[]
      
akk2=(se akk21 akk22 akk23)
      
melo=(convert_g2n melo 55)
      
bass=(convert_g2n bass 55-12)
      
akk1=(convert_g2n akk1 55 63)
      
akk2=(convert_g2n akk2 55 63)
      
setScreenRange -400 -400*4/3 400 400*4/3
      
clearScreen
      
PenUp
      
hideTurtle
      
disableRoundLineEnds
      
setLabelSize [1 1]*lineSpacing*2
      
setXY -380 500

      
tonart="A
      
drawTheNotes=false
;      drawTheNotes=true
      
if drawTheNotes
      
[   drawNotes (convert_g2n m1 0) 3 false tonart
         
drawNotes (convert_g2n m2 -12) -7 false tonart
         
drawNotes (convert_g2n m3 0) -12 false tonart
      
]
      
useMidi=false
      
useMidi=true
      
if useMidi
      
[   MidiOpen 0
         
MidiProgramChange 0 0
         
MidiProgramChange 1 32
         
MidiProgramChange 2 24
         
MidiProgramChange 3 24
         
         
(MidiOutStream 0 melo)
         
(MidiOutStream 1 bass)
         
(MidiOutStream 2 akk1)
         
(MidiOutStream 3 akk2)
         
MidiOutStreamsStart
      
]
   
end
   
be tune4
      
; 24.07.2007
      
m1=[]
      
m2=[]
      
m3=[]
      
m4=[]
      
m5=[]
      
m6=[]
      
m7=[]
      
bass1=[]
      
bass2=[]
      
bass=[]
      
akk1=[]
      
akk2=[]
      
m1=[d 5 ....... g 5 ....... h 4 ....... e 3 ... 3 ....... h 4 ... e 3 ....... h 4 ... e 3 ....... ....
         
d 5 ....... g 5 ....... h 4 ....... e 3 ... 3 ....... h 4 ... e 3 ....... 4 ... h 6 ....... ....
         
d 5 ....... g 4 ....... h 3 ....... 6 ... 6 ........ 3 ... 6 ....... 3 ... 6 ....... .......
         
e 7 ....... ........ 3 ... 4 ... 3 ... h 6 ... 4 ... 3 ... g 5 ... 4 ... 5 ...]
      
m2=[h 8 .. 9 .. 8 ..  6 .. 8 .. 6 ..  g 8 .. 10 .. 8 .. 7 ....... 
         
h 6 .. 8 .. 6 .. g 8 .. 10 .. 8 ..  7 .. 8 .. 7 .. 5 .......
         
8 .. 10 .. 8 .. 7 .. 8 .. 7 ..  5 .. 7 .. 5 .. 4 .......]
      
m3=[d 5 . 5 . 6 ... 5 ... 4 ... 5 ... 3 . a 6 ... 5 ... 6 ... 3 .......]
      
m4=[a 3 . 6 . d 5 . 4 . 5 . g 5 . 4 . 5 .  7 . 5 . 4 . d 6 . 5 ...... 
         
5 . 6 . 5 .  4 . 5 . 3 . a 6 . d 3 . a 6 . 5 . 3 . 2 . 3 .......]
      
m5=[h 8 ... 7 ... 8 ... 9 ....... 8 ....... 6 ....... 4 .......  
         
6 . 8 . 6 . 4 . 3 .......  6 . 8 . 6 . 4 . 3 ....... ....
         
g 8 ... 7 ... 8 ... 10 ....... 8 ....... 7 ....... 5 ....... 
         
7 . 8 . 7 . 5 . 4 ....... 
         
7 . 8 . 7 . 5 . 4 ....... ....]
      
m6=[g 5 .. 4 .. 5 ..  7 .. 6 .. 7 ..  8 .. 7 .. 8 ..  7 .......  
         
8 .. 7 .. 8 ..  10 .. 9 .. 10 ..  12 .. 11 .. 12 ..  10 .......
         
12 .. 10 .. 8 .. 7 .. 8 .. 10 .. 8 .. 7 .. 5 .. 7 .......
         
8 .. 7 .. 5 .. 4 .. 5 .. 7 .. 5 ....... d 5 .......]
      
m71=[d 8 ....... 9 .......]
      
m72=[d 10 ... g 8 ... h 8 ... 11 ... e 8 ... 
         
h 11 ... 8 ... g 8 ... d 10 ....... 
         
a 10 ....... d 10 ....... 8 .......]
      
m73=[d 5 ... g 3 ... h 3 ... 6 ... e 3 ... 
         
h 6 ... 3 ... g 3 ... d 5 ....... 5 ....... a 5 .......]
      
m74=[d 3 .......]
      
m75=[d 3 ....... 1 .......
         
a 3 ....... d 5 ....... g 3 ....... h 4 ....... e 6 .......]
      
m7=(se m71 m72 m72 m73 m74 m73 m75)
      
melo=(se m1 m2 m3 m4 m5 m6 m7)
;      melo=m4
      
bass1=[]
      
bass2=[]
;      bass=(se bass1)
   ;   bass=bass2
      
akk11=[]
      
akk12=[]
;      akk1=(se akk11)
      
akk21=[]
      
akk22=[]
;      akk2=(se akk21)
      
tr=0
      
melo=(convert_g2n melo 55+tr)
      
bass=(convert_g2n bass 55-12+tr)
      
akk1=(convert_g2n akk1 55+tr 63)
      
akk2=(convert_g2n akk2 55+tr 63)
      
setScreenRange -400 -400*4/3 400 400*4/3
      
clearScreen
      
PenUp
      
hideTurtle
      
disableRoundLineEnds
      
setLabelSize [1 1]*lineSpacing*2
      
setXY -380 500

      
noteSpacing=12
      
drawTheGit=false
;      drawTheGit=true
      
if drawTheGit
      
[   drawGit m1 tr
         
drawGit m2 tr
         
drawGit m3 tr
         
drawGit m4 tr
         
drawGit m5 tr
         
drawGit m6 tr
         
drawGit m7 tr
      
]
      
noteSpacing=11
      
drawTheNotes=false
;      drawTheNotes=true
      
tonart="Es
      
if drawTheNotes
      
[   drawNotes (convert_g2n m1 -12+tr) 4 true tonart
         
drawNotes (convert_g2n m2 -12+tr) 4 true tonart
         
drawNotes (convert_g2n m3 -12+tr) 4 true tonart
         
drawNotes (convert_g2n m4 -12+tr) 4 true tonart
         
drawNotes (convert_g2n m5 -12+tr) 4 true tonart
         
drawNotes (convert_g2n m6 -12+tr) 12 true tonart
         
drawNotes (convert_g2n m7 -12+tr) 4 true tonart
      
]
      
drawTheNotesSax=false
      
drawTheNotesSax=true
      
tonart2="C
      
if drawTheNotesSax
      
[   drawNotes (convert_g2n m1 -12+tr-3) 1 false tonart2
         
drawNotes (convert_g2n m2 -12+tr-3) 1 false tonart2
         
drawNotes (convert_g2n m3 -12+tr-3) 1 false tonart2
         
drawNotes (convert_g2n m4 -12+tr-3) 1 false tonart2
         
drawNotes (convert_g2n m5 -12+tr-3) 1 false tonart2
         
drawNotes (convert_g2n m6 -12+tr-3) 9 false tonart2
         
drawNotes (convert_g2n m7 -12+tr-3) 1 false tonart2
      
]
      
useMidi=false
;      useMidi=true
      
if useMidi
      
[   MidiOpen 0
         
MidiProgramChange 0 0
         
MidiProgramChange 1 32
         
MidiProgramChange 2 24
         
MidiProgramChange 3 24
         
         
(MidiOutStream 0 melo)
         
(MidiOutStream 1 bass)
         
(MidiOutStream 2 akk1)
         
(MidiOutStream 3 akk2)
         
MidiOutStreamsStart
      
]
   
end
   
be tune5
      
; 16.08.2007
      
m1=[]
      
m2=[]
      
m3=[]
      
m4=[]
      
m5=[]
      
m6=[]
      
m7=[]
      
bass1=[]
      
bass2=[]
      
bass=[]
      
akk1=[]
      
akk2=[]
      
m1=[
         
g 4 ... 5 ... 7 ... h 4 ... 6 ... 8 ... 9 ... 8 ....... .... 4 ... 8 ....... ........ .... 
         
g 4 ... 5 ... 7 ... h 4 ... 6 ... 8 ... 9 ... 6 ....... .... 4 ... 6 ....... ........ ....
         
g 4 ... 7 ... h 6 ... 8 ... 6 ... 4 ... g 7 ... h 4 ....... .... g 7 ... h 4 ....... ........ ....
         
g 5 ... h 4 ... 8 ... 6 ... 4 ... g 7 ... 5 ... 7 ....... .... 4 ... 7 ....... ....... ....]
      
m2=[d 5 ... g 5 . 4 . 5 . 7 . 8 . 7 . 8 . h 6 . 8 . 9 . 8 . 4 . 8 .....
         
g 7 . h 8 . 9 . 8 . g 7 . e 7 ... d 5 ...
         
h 8 ... 8 . 9 . 8 . 7 . 8 ... 8 . 9 . 8 . 6 . 8 . 6 .
         
g 8 . 7 . 8 . 7 . 5 . 4 . 5 ...]
      
m3=[h 8 ... e 8 ... h 8 ... 9 . 8 . 6 . 9 . 8 . 6 .
         
g 8 . h 8 . 6 ... g 7 ... 8 ... 5 ... 7 . 5 . 4 . 7 . 5 .......]
      
m41=[d 5 ... 7 ... g 4 ... 5 ... 8 ... 8 ... 8 ... 
         
8 ... 7 . 5 ... 7 . 8 ... 7 ... 5 . 4 ... 5 . 7 ... 5 ...]
      
m42=[g 5 ... 7 ... 9 ... h 6 ... 9 ... 9 ... 9 ... 
         
9 ... 8 . 6 ... 8 . 9 ... 8 ... 6 . 5 ... 6 . 8 ... 6 ...]
      
m4=(se m41 m41 m42 m42)   
      
melo=(se m1 m2 m3 m4 m3)
;      melo=m4
      
bass1=[]
      
bass2=[]
;      bass=(se bass1)
   ;   bass=bass2
      
akk11=[]
      
akk12=[]
;      akk1=(se akk11)
      
akk21=[]
      
akk22=[]
;      akk2=(se akk21)
      
tr=0
      
melo=(convert_g2n melo 55+tr)
      
bass=(convert_g2n bass 55-12+tr)
      
akk1=(convert_g2n akk1 55+tr 63)
      
akk2=(convert_g2n akk2 55+tr 63)
      
setScreenRange -400 -400*4/3 400 400*4/3
      
clearScreen
      
PenUp
      
hideTurtle
      
disableRoundLineEnds
      
setLabelSize [1 1]*lineSpacing*2
      
setXY -380 500

      
noteSpacing=12
      
drawTheGit=false
;      drawTheGit=true
      
if drawTheGit
      
[   drawGit m1 tr
         
drawGit m2 tr
         
drawGit m3 tr
         
drawGit m4 tr
      
]
      
noteSpacing=11
      
drawTheNotes=false
      
drawTheNotes=true
      
tonart="Es
      
if drawTheNotes
      
[   drawNotes (convert_g2n m1 -12+tr) 4 true tonart
         
drawNotes (convert_g2n m2 -12+tr) 4 true tonart
         
drawNotes (convert_g2n m3 -12+tr) 4 true tonart
         
drawNotes (convert_g2n m4 -12+tr) 4 true tonart
      
]
      
drawTheNotesSax=false
;      drawTheNotesSax=true
      
tonart2="C
      
if drawTheNotesSax
      
[   drawNotes (convert_g2n m1 -12+tr-3) 1 false tonart2
         
drawNotes (convert_g2n m2 -12+tr-3) 1 false tonart2
         
drawNotes (convert_g2n m3 -12+tr-3) 1 false tonart2
         
drawNotes (convert_g2n m4 -12+tr-3) 1 false tonart2
      
]
      
useMidi=false
;      useMidi=true
      
if useMidi
      
[   MidiOpen 0
         
MidiProgramChange 0 0
         
MidiProgramChange 1 32
         
MidiProgramChange 2 24
         
MidiProgramChange 3 24
         
         
(MidiOutStream 0 melo)
         
(MidiOutStream 1 bass)
         
(MidiOutStream 2 akk1)
         
(MidiOutStream 3 akk2)
         
MidiOutStreamsStart
      
]
   
end
   
be tune6
      
; 2.08.2007
      
m1=[]
      
m2=[]
      
m3=[]
      
m4=[]
      
m5=[]
      
m6=[]
      
m7=[]
      
bass1=[]
      
bass2=[]
      
bass=[]
      
akk1=[]
      
akk2=[]
      
m1=[d 4 ... 7 ... g 4 ... 6 . 6 ....... 
         
4 ... 6 ... 7 ... 6 ...  
         
4 ... 6 ... 7 ... 6 ... 
         
4 ... 6 ... 7 ... h 5 ... 7 ... 8 . 5 .......]
      
m21=[g 4 . 7 . 4 . 4 . h 5 . g 4 . 4 . h 7 . g 4 . 4 . 
         
h 5 . g 4 . 4 . 7 . 4 . 4 .  6 ... 4 ...]
      
m22=[g 0 . 7 . 0 . 0 . h 5 . g 0 . 0 . h 7 . g 0 . 0 . 
         
h 5 . g 0 . 0 . 7 . 0 . 0 . 6 ... 0 ...]
      
m2=(se m21 m21 m22 m22)   
      
m3=[g 4 ... h 7 ... 7 ... 7 ...  7 ... 5 . g 7 ... 6 . 4 ... 
         
d 5 ... h 7 ... 7 ... 8 . 5 .......]
      
m4=[d 5 ... g 4 ... 7 ... h 7 ....... 5 ....... 
         
g 7 ... 6 ... 6 ... 6 ... 6 ... 6 ... 6 ... 6 ... 6 ...
         
h 7 ... 7 ... 7 ... 7 ... 7 ... 7 ... 7 ... 7 ... 
         
5 ... 5 ... 5 ... 5 ... 5 ... 5 ... 5 ... 5 ...]
      
m5=[g 4 . 7 . h 7 . e 7 ... 6 ... 5 ... 4 ... h 8 ... 7 ... 6 ... 7 ... 
         
g 7 ... 4 ... 7 .......  4 ....... 7 ....... 4 ... d 5 ... g 7 ....... 4 ...
         
a 7 ....... g 7 ... 4 ... a 7 ... g 7 ....... 4 ...]
      
m6=[g 4 ....... ........ ........ ........ d 4 ... g 4 ... 6 ... 
         
7 ... 6 ... 4 ... d 7 ... g 4 ... d 7 ... g 4 .
         
d 7 . 5 . 4 . 5 ....... a 7 . d 4 . 5 ... 4 . 5 . 7 ...]
      
melo=(se m1 m1 m2 m3 m3 m4 m4 m5 m6 m6 m1)
   
;   melo=m6
      
bass1=[]
      
bass2=[]
;      bass=(se bass1)
   ;   bass=bass2
      
akk11=[]
      
akk12=[]
;      akk1=(se akk11)
      
akk21=[]
      
akk22=[]
;      akk2=(se akk21)
      
tr=1
      
melo=(convert_g2n melo 55+tr)
      
bass=(convert_g2n bass 55-12+tr)
      
akk1=(convert_g2n akk1 55+tr 63)
      
akk2=(convert_g2n akk2 55+tr 63)
      
setScreenRange -400 -400*4/3 400 400*4/3
      
clearScreen
      
PenUp
      
hideTurtle
      
disableRoundLineEnds
      
setLabelSize [1 1]*lineSpacing*2
      
setXY -380 500

      
noteSpacing=12
      
drawTheGit=false
;      drawTheGit=true
      
if drawTheGit
      
[   drawGit m1 tr
         
drawGit m2 tr
         
drawGit m3 tr
         
drawGit m4 tr
         
drawGit m5 tr
         
drawGit m6 tr
      
]
      
noteSpacing=11
      
drawTheNotes=false
;      drawTheNotes=true
      
tonart="Es
      
if drawTheNotes
      
[   drawNotes (convert_g2n m1 -12+tr) 4 true tonart
         
drawNotes (convert_g2n m2 -12+tr) 4 true tonart
         
drawNotes (convert_g2n m3 -12+tr) 4 true tonart
         
drawNotes (convert_g2n m4 -12+tr) 4 true tonart
         
drawNotes (convert_g2n m5 -12+tr) 4 true tonart
         
drawNotes (convert_g2n m6 -12+tr) 4 true tonart
      
]
      
drawTheNotesSax=false
      
drawTheNotesSax=true
      
tonart2="C
      
if drawTheNotesSax
      
[   drawNotes (convert_g2n m1 -12+tr-3) 1 false tonart2
         
drawNotes (convert_g2n m2 -12+tr-3) 1 false tonart2
         
drawNotes (convert_g2n m3 -12+tr-3) 1 false tonart2
         
drawNotes (convert_g2n m4 -12+tr-3) 1 false tonart2
         
drawNotes (convert_g2n m5 -12+tr-3) 1 false tonart2
         
drawNotes (convert_g2n m6 -12+tr-3) 1 false tonart2
      
]
      
useMidi=false
;      useMidi=true
      
if useMidi
      
[   MidiOpen 0
         
MidiProgramChange 0 0
         
MidiProgramChange 1 32
         
MidiProgramChange 2 24
         
MidiProgramChange 3 24
         
         
(MidiOutStream 0 melo)
         
(MidiOutStream 1 bass)
         
(MidiOutStream 2 akk1)
         
(MidiOutStream 3 akk2)
         
MidiOutStreamsStart
      
]
   
end

   
WindowMode
   
lineSpacing=10
   
noteSpacing=15
   
stringSpacing=12
   
tempo=70
;   tune1
   
tempo=70
;   tune2
   
tempo=70
;   tune3
   
tempo=70
;   tune4
   
tempo=70
;   tune5
   
tempo=70
   
tune6
end