#picaxe 08m disablebod data (89,89,87,84,82,80,73,71,68,66,64,105,103,100,98,96,96,96) 'Pentatonic 1/8 notes data (90,88,85,84,83,81,74,72,69,68,67,65,106,104,101,100,99,97) 'Blues scale 1/8 data (86,83,82,80,75,72,71,70,67,66,64,107,104,103,102,99,98,96) 'Hungarian data (90,88,86,84,82,80,75,74,72,70,68,66,64,107,106,104,102,100)'Arabic data (88,85,83,82,80,75,72,71,69,67,66,64,107,104,103,101,99,98) 'Hejaz data (69,68,67,66,65,64,107,106,105,104,103,102,101,100,99,98,97,96) 'Chromatic 1/8 symbol LED = 1 symbol PCnt = w6 symbol Tmp2 = b9 symbol sptr = b8 symbol Perc = b7 symbol Tmp1 = b6 symbol Num = b5 symbol Note = b4 symbol Tempo = b3 symbol Scale = b2 symbol Key = b1 symbol ADC = b0 tempo = 4 scale = 0 pwrsave: input 4 do sleep 4 loop until pin4 = 1 tune 0,4,(84,89) main: do readadc 4, adc inc PCnt if PCnt = 15000 then tune 0,4,(89,84) goto pwrsave end if loop until adc > 5 if adc >253 then goto settempo key = adc * 150 / 1000 min 0 max 17 + sptr read key,note tune 0,tempo,(note) PCnt=0 goto main settempo: tempo = tempo //10+1 high led pause 5 low led pause 400 if tempo=1 then scale = scale + 1 // 6 sptr = scale * 18 high led pause 500 low led tmp1 = scale + 1 for tmp2 = 1 to tmp1 tune 0,1,(144,143) next tmp2 end if goto main