perm filename MUSIC.SAI[2,TES] blob
sn#035514 filedate 1973-04-12 generic text, type T, neo UTF8
BEGIN COMMENT MUSIC: COMPUTE THE ETA LENGTH OF EACH NOTE ;
INTEGER N, TT, U ;
REAL ALPHA, DELTA ;
LABEL L1, L3 ;
INTEGER I, J ;
PROCEDURE OUTINT(INTEGER I, DIGITS) ;
BEGIN
STRING S ;
S ← CVS(I) ;
OUTSTR(" "[1 FOR DIGITS-LENGTH(S)]) ;
OUTSTR(S) ;
END ;
INTEGER PROCEDURE ERROF(INTEGER T) ;
RETURN( ( ABS(
( (I←ALPHA*(U+T+1)+DELTA) - (J←ALPHA*(U+1)+DELTA) ) / T
-ALPHA
) /ALPHA
) * 1000000
) ;
BOOLEAN PROCEDURE TRYOUT(INTEGER T) ;
BEGIN
INTEGER J ;
IF (J ← ERROF(T)) < 750 THEN
BEGIN
OUTINT(U+1, 3) ; OUTSTR("-") ; OUTINT(U+T,3) ;
OUTINT(10*DELTA, 4) ;
OUTINT(J, 6) ;
RETURN(TRUE) ;
END ;
RETURN(FALSE) ;
END ;
OUTSTR('15) ; OUTSTR('12) ;
OUTSTR("NOTE TERMS DEL ERROR TERMS DEL ERROR") ;
FOR N ← 0 STEP 1 UNTIL 36 DO
BEGIN
ALPHA ← 2.0↑(N/12) ;
OUTSTR('15) ; OUTSTR('12) ; OUTINT(N, 3) ;
U ← 0 ;
FOR TT ← 1 STEP 1 UNTIL 900 DO
FOR DELTA ← 0.0 STEP 0.1 UNTIL 0.9 DO
IF TRYOUT(TT) THEN GO TO L1 ;
OUTSTR(" ") ;
L1:
DELTA ← 0.0 ;
FOR TT ← 1 STEP 1 UNTIL 900 DO
IF TRYOUT(TT) THEN GO TO L3 ;
OUTSTR(" ") ;
L3:
END ;
END ;
OUTSTR('15) ; OUTSTR('12) ;
END