' code for etude 2 REM $DYNAMIC '$INCLUDE: 'KONSTANT.BI' :' shared constants '$INCLUDE: 'COM_TYPE.BI' ' midi-support module CONST Madr% = &H330 ' procedure declaration for library: '$INCLUDE: 'HARMONY.BI' '$INCLUDE: 'HARM_ANA.BI' '$INCLUDE: 'HARM_FUZ.BI' COMMON SHARED P%() COMMON SHARED Stem() AS St DECLARE SUB MpuUart () DECLARE SUB ResetMpu () DECLARE SUB Uit (byte%) DECLARE SUB RdFil (Q$) DECLARE SUB WrFil (Q$) DECLARE SUB ReadAndConvertFile () REDIM SHARED P%(0 TO 4000, 0 TO 8): ' voorlopige dim. REDIM SHARED Stem(0 TO 4) AS St SCREEN 12 WIDTH 80, 60 MpuUart ' force initialisation of values from fuzzy data file HAR_FUZ.DAT: d! = Dishar!(60, 61) d! = Dismel!(60, 61) SUB FuzHarStudy2 ' This is Fuzzy Harmony: Study Nr2 norm! = .1 FOR i% = 48 TO 68 FOR j% = 51 TO 72 FOR k% = 54 TO 76 IF i% MOD 12 <> j% MOD 12 AND j% MOD 12 <> k% MOD 12 AND i% MOD 12 <> k% MOD 12 THEN dh! = Dishar3!(i%, j%, k%) IF dh! < .4 THEN PRINT i%, j%, k%, dh! Uit 144: Uit i%: Uit 64: P%(cnt&, 1) = i%: P%(cnt&, 2) = 64 Uit 145: Uit j%: Uit 64: P%(cnt&, 3) = j%: P%(cnt&, 4) = 64 Uit 146: Uit k%: Uit 64: P%(cnt&, 5) = k%: P%(cnt&, 6) = 64 cnt& = cnt& + 2 SOUND 20000, 3 END IF END IF NEXT k% NEXT j% NEXT i% ' add note off: P%(cnt&, 1) = P%(cnt& - 2, 1) P%(cnt&, 3) = P%(cnt& - 2, 3) P%(cnt&, 5) = P%(cnt& - 2, 5) 'REDIM PRESERVE P%(0 TO cnt&, 0 TO UBOUND(P%,2)) - works only on last dimension! WrFil "fuzhar2.bin" END SUB