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 
      
[   -17
         
-12
         
-7
         
-2
         
2
         
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 [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-base12
         
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+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-btab.tonart
            
[   aufloes=true
            
]
         
]
         
forward (n+nq+3)*lineSpacing/2
         
extraSpace=0
         
if sharp or2 or2 aufloes
         
[   right 90
            
PenDown
            
if sharp [label "#]
            
if [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 [1 6]
      
[   right 90
         
PenDown 
         
Label [E A D g 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 
      
[   0
         
1
         
2
         
3
         
4
         
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? 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=[.... ... .. 12 .. 12 .. 12 .. 12 .. .. 10 ... 10 .. 13 10 .. 13 10 ...........]
      
m2=[12 ... 12 ..... 12 .... 12 ... ..... 10 .... ... 12 ..... .... 12 ... 10 ..... ..... .... ..... ... ..... ..... ... .... ..]
      
m22=[.......................................................]
      
m3=[.... 11 12 10 12 ... 12 ... 12 10 12 11 ..... 10 12 13 10 12 ... 12 ... 12 10 13 12 10 ...]
      
m4=[.... .. 12 ... .. 12 .. ... 12 .... 12 .... .. .... .... 10 .. .... .... 10 ..]
      
m5=[.... .. .. .. 12 .. 12 .. 11 11 .. 10 .. 10 .. 10 .. .. .. ......]
      
melo=(se m1 m1 m3 m1 m1 m2 m22 m5 m4 m4 m1 m1 m2 m22)
   
;   melo=m2
      
bass1=[... ..... .... ... ..... .... ... ..... .... ... ..... ....]
      
bass2=[... ..... .... ... ..... .... ... ..... .... ... ..... .... ... ..... .... ...  10 ..... 10 .... 10 ... ..... .... ... ..... .... ... ..... .... ... ..... ..... ...]
      
bass=(se bass1 bass1 bass1 bass1 bass1 bass2 bass1 bass1 bass1 bass1 bass1 bass2)
   
;   bass=bass2
      
akk11=[... ..... .... . ...   ..... .... ... ..... .... . ... ..... ....]
      
akk12=[... ..... .... ... ..... .... ... ..... .... ... ..... .... ... 10 ..... 10 .... 10 ...  12 ..... 12 .... 12 ... ..... .... ... ..... .... ... ..... .... ... ..... ..... ...]
      
akk1=(se akk11 akk11 akk11 akk11 akk11 akk12 akk11 akk11 akk11 akk11 akk11 akk12)
      
akk21=[... ..... .... . ...   ..... .... ... ..... .... . ... ..... ....]
      
akk22=[... ..... .... ... ..... .... ... ..... .... ... ..... .... ... 10 ..... 10 .... 10 ...  12 ..... 12 .... 12 ... ..... .... ... ..... .... ... ..... .... ... ..... ..... ...]
      
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+trtrue tonart
         
drawNotes (convert_g2n m2 -12+tr) -true tonart
         
drawNotes (convert_g2n m3 -12+tr) -true tonart
         
drawNotes (convert_g2n m4 -12+tr) -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-311 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 melo)
         
(MidiOutStream bass)
         
(MidiOutStream akk1)
         
(MidiOutStream akk2)
         
MidiOutStreamsStart
      
]
   
end
   
be tune2
      
m1=[]
      
m2=[]
      
m3=[]
      
m4=[]
      
m5=[]
      
m6=[]
      
bass1=[]
      
bass2=[]
      
bass3=[]
      
bass=[]
      
akk1=[]
      
m1=[... .. ... .. ... .. ... .. ... .. 
         
.... ... ..... .. ... .. .... ... ..... .. 
         
.. ... .... ... .....]
      
m2=[..... ..... ..... ..... ... ..... 
         
..... ..... ..... 10 ..... ..... ..... ... ... 
         
..... ..... ... ..... .... ..... .... ... .... 
         
..... .. ... ... ... ... .....]
      
m3=[
         
.. ... .. ... .. ... .. .. .... ..... 
         
... .. ... .. .... ..... ... .. 
         
... ... ... ... ... ... ... ... ... 
         
... .. ... .. ... .. ... .. ... ... .....]
      
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) -true tonart
         
drawNotes (convert_g2n m2 -12+trtrue 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) -false tonart
         
drawNotes (convert_g2n m2 -12+tr-3) -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 melo)
         
(MidiOutStream bass)
         
(MidiOutStream akk1)
         
(MidiOutStream akk2)
         
MidiOutStreamsStart
      
]
   
end
   
be tune3
      
m1=[]
      
m2=[]
      
m3=[]
      
m4=[]
      
m5=[]
      
m6=[]
      
bass1=[]
      
bass2=[]
      
bass3=[]
      
bass=[]
      
akk1=[]
      
m1=[5 6 .. ... ... 7 9 .. ... ... 
         
.. .. ... ... .. ... ... .. ...]
      
m2=[11 11 10 8 10 8 9 7 5 6 8 8 7 8]
      
m3=[10 8 7 9 7 5 7 9 5 6 7 7 5 7]
      
m4=[]
      
m5=[]
      
melo=(se m1 m2)
      
melo=m1
      
bass1=[..... ........ ..... ........ ..... ........ ..... .......]
      
bass2=[..... ........ ..... ........ ..... ........ ..... .......]
      
bass3=[2 2 0 0 1 0]
      
bass=(se bass1 bass2 bass3)
   
;   bass=bass2
      
akk11=[.... .. ... ..]
      
akk12=[.... .. ... ..]
      
akk13=[.....]
      
akk14=[.....]
      
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 0false tonart
         
drawNotes (convert_g2n m2 -12) -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 melo)
         
(MidiOutStream bass)
         
(MidiOutStream akk1)
         
(MidiOutStream akk2)
         
MidiOutStreamsStart
      
]
   
end
   
be tune4
      
; 24.07.2007
      
m1=[]
      
m2=[]
      
m3=[]
      
m4=[]
      
m5=[]
      
m6=[]
      
m7=[]
      
bass1=[]
      
bass2=[]
      
bass=[]
      
akk1=[]
      
akk2=[]
      
m1=[....... ....... ....... ... ....... ... ....... ... ....... ....
         
....... ....... ....... ... ....... ... ....... ... ....... ....
         
....... ....... ....... ... ........ ... ....... ... ....... .......
         
....... ........ ... ... ... ... ... ... ... ... ...]
      
m2=[.. .. ..  .. .. ..  .. 10 .. .. ....... 
         
.. .. .. .. 10 .. ..  .. .. .. .......
         
.. 10 .. .. .. .. ..  .. .. .. .......]
      
m3=[... ... ... ... ... ... ... .......]
      
m4=[.  ...... 
         
.  .......]
      
m5=[... ... ... ....... ....... ....... .......  
         
.......  ....... ....
         
... ... ... 10 ....... ....... ....... ....... 
         
....... 
         
....... ....]
      
m6=[.. .. ..  .. .. ..  .. .. ..  .......  
         
.. .. ..  10 .. .. 10 ..  12 .. 11 .. 12 ..  10 .......
         
12 .. 10 .. .. .. .. 10 .. .. .. .. .......
         
.. .. .. .. .. .. ....... .......]
      
m71=[....... .......]
      
m72=[10 ... ... ... 11 ... ... 
         
11 ... ... ... 10 ....... 
         
10 ....... 10 ....... .......]
      
m73=[... ... ... ... ... 
         
... ... ... ....... ....... .......]
      
m74=[.......]
      
m75=[....... .......
         
....... ....... ....... ....... .......]
      
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+trtrue tonart
         
drawNotes (convert_g2n m2 -12+trtrue tonart
         
drawNotes (convert_g2n m3 -12+trtrue tonart
         
drawNotes (convert_g2n m4 -12+trtrue tonart
         
drawNotes (convert_g2n m5 -12+trtrue tonart
         
drawNotes (convert_g2n m6 -12+tr12 true tonart
         
drawNotes (convert_g2n m7 -12+trtrue tonart
      
]
      
drawTheNotesSax=false
      
drawTheNotesSax=true
      
tonart2="C
      
if drawTheNotesSax
      
[   drawNotes (convert_g2n m1 -12+tr-3false tonart2
         
drawNotes (convert_g2n m2 -12+tr-3false tonart2
         
drawNotes (convert_g2n m3 -12+tr-3false tonart2
         
drawNotes (convert_g2n m4 -12+tr-3false tonart2
         
drawNotes (convert_g2n m5 -12+tr-3false tonart2
         
drawNotes (convert_g2n m6 -12+tr-3false tonart2
         
drawNotes (convert_g2n m7 -12+tr-3false tonart2
      
]
      
useMidi=false
;      useMidi=true
      
if useMidi
      
[   MidiOpen 0
         
MidiProgramChange 0 0
         
MidiProgramChange 1 32
         
MidiProgramChange 2 24
         
MidiProgramChange 3 24
         
         
(MidiOutStream melo)
         
(MidiOutStream bass)
         
(MidiOutStream akk1)
         
(MidiOutStream akk2)
         
MidiOutStreamsStart
      
]
   
end
   
be tune5
      
; 16.08.2007
      
m1=[]
      
m2=[]
      
m3=[]
      
m4=[]
      
m5=[]
      
m6=[]
      
m7=[]
      
bass1=[]
      
bass2=[]
      
bass=[]
      
akk1=[]
      
akk2=[]
      
m1=[
         
... ... ... ... ... ... ... ....... .... ... ....... ........ .... 
         
... ... ... ... ... ... ... ....... .... ... ....... ........ ....
         
... ... ... ... ... ... ... ....... .... ... ....... ........ ....
         
... ... ... ... ... ... ... ....... .... ... ....... ....... ....]
      
m2=[... .....
         
... ...
         
... ... .
         
...]
      
m3=[... ... ... .
         
... ... ... ... .......]
      
m41=[... ... ... ... ... ... ... 
         
... ... ... ... ... ... ...]
      
m42=[... ... ... ... ... ... ... 
         
... ... ... ... ... ... ...]
      
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+trtrue tonart
         
drawNotes (convert_g2n m2 -12+trtrue tonart
         
drawNotes (convert_g2n m3 -12+trtrue tonart
         
drawNotes (convert_g2n m4 -12+trtrue tonart
      
]
      
drawTheNotesSax=false
;      drawTheNotesSax=true
      
tonart2="C
      
if drawTheNotesSax
      
[   drawNotes (convert_g2n m1 -12+tr-3false tonart2
         
drawNotes (convert_g2n m2 -12+tr-3false tonart2
         
drawNotes (convert_g2n m3 -12+tr-3false tonart2
         
drawNotes (convert_g2n m4 -12+tr-3false tonart2
      
]
      
useMidi=false
;      useMidi=true
      
if useMidi
      
[   MidiOpen 0
         
MidiProgramChange 0 0
         
MidiProgramChange 1 32
         
MidiProgramChange 2 24
         
MidiProgramChange 3 24
         
         
(MidiOutStream melo)
         
(MidiOutStream bass)
         
(MidiOutStream akk1)
         
(MidiOutStream akk2)
         
MidiOutStreamsStart
      
]
   
end
   
be tune6
      
; 2.08.2007
      
m1=[]
      
m2=[]
      
m3=[]
      
m4=[]
      
m5=[]
      
m6=[]
      
m7=[]
      
bass1=[]
      
bass2=[]
      
bass=[]
      
akk1=[]
      
akk2=[]
      
m1=[... ... ... ....... 
         
... ... ... ...  
         
... ... ... ... 
         
... ... ... ... ... .......]
      
m21=[. 
         
.  ... ...]
      
m22=[. 
         
... ...]
      
m2=(se m21 m21 m22 m22)   
      
m3=[... ... ... ...  ... ... ... 
         
... ... ... .......]
      
m4=[... ... ... ....... ....... 
         
... ... ... ... ... ... ... ... ...
         
... ... ... ... ... ... ... ... 
         
... ... ... ... ... ... ... ...]
      
m5=[... ... ... ... ... ... ... ... 
         
... ... .......  ....... ....... ... ... ....... ...
         
....... ... ... ... ....... ...]
      
m6=[....... ........ ........ ........ ... ... ... 
         
... ... ... ... ... ... .
         
....... ... ...]
      
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+trtrue tonart
         
drawNotes (convert_g2n m2 -12+trtrue tonart
         
drawNotes (convert_g2n m3 -12+trtrue tonart
         
drawNotes (convert_g2n m4 -12+trtrue tonart
         
drawNotes (convert_g2n m5 -12+trtrue tonart
         
drawNotes (convert_g2n m6 -12+trtrue tonart
      
]
      
drawTheNotesSax=false
      
drawTheNotesSax=true
      
tonart2="C
      
if drawTheNotesSax
      
[   drawNotes (convert_g2n m1 -12+tr-3false tonart2
         
drawNotes (convert_g2n m2 -12+tr-3false tonart2
         
drawNotes (convert_g2n m3 -12+tr-3false tonart2
         
drawNotes (convert_g2n m4 -12+tr-3false tonart2
         
drawNotes (convert_g2n m5 -12+tr-3false tonart2
         
drawNotes (convert_g2n m6 -12+tr-3false tonart2
      
]
      
useMidi=false
;      useMidi=true
      
if useMidi
      
[   MidiOpen 0
         
MidiProgramChange 0 0
         
MidiProgramChange 1 32
         
MidiProgramChange 2 24
         
MidiProgramChange 3 24
         
         
(MidiOutStream melo)
         
(MidiOutStream bass)
         
(MidiOutStream akk1)
         
(MidiOutStream 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