Codici
TAUmus
TAUMus
TAUmus è un software scritto in FORTRAN per IBM370 da Pietro Grossi a metà degli anni '70.
Il software serviva a pilotare TAU2, che era un sintetizzatore musicale analogico con una modulo digitale collegato al mainframe IBM. Il progetto era frutto di una collaborazione tra Grossi, l'Istituto Elaborazione Informazioni del CNR di Pisa e il CNUCE ed era una delle punte più avanzate, a livello mondiale, del lavoro di ricerca sulle applicazioni della nascente informatica alla musica elettronica.
TAUmus dava la possibilità di "svolgere tutte le funzioni di codifica di brani musicali classici, di creare di strutture musicali algoritmiche originali e di operare trasformazioni di vario tipo come ad esempio: esecuzioni in modo retrogrado, inversione intervallare rispetto ad una nota, espansione e/o compressione intervallare, cambio di velocità esecutiva, ecc ." (Magrini, Tarabella, Bertini: Un exhibit interattivo dimostratore del Sistema TAU2/TAUMUS, ISTI CNR, 2020).
Questo è un frammento della subroutine CALMUS, dedicata alla generazione di disposizioni, alla scelta e alla correlazione con i suoni, tratto dal repository GitHub dove è stato riportato grazie al lavoro di Carlo Montangero, Guido Scatena, Laura Bussi del Dipartimento di Informatica dell'Università di Pisa:
SUBROUTINE CALMUS COMMON FR,T ,R,S,INIZ,IFIN,IPAS,IDENT(2),BATS,RDCND,MA,KS *ALR,DURA,NOA,IP,KONT DIMENSION NNN(1700),I(10),NN(10),FFRE(20),TT(20),III(20), 1 FR (5000) ,T(5000) NPLLOD REAL KFT(8) READ(5,10)N,N1,N2 10 FORMAT(3I4) N=4 LN=1 KK=0 KONT=0 KKONT=0 L=0 LL=0 KP=0 8 K=0 11 K=K+1 IF(K.LE.N)GO TO 12 LN=LN+1 IF(LN.GT.5)GO TO 50 GO TO 8 12 DO L5 M=1,K 15 I(M)=1 20 KK=KK+1 NNN(KK)=0 DO 30 J=1,K NN(J)=I(J)*(10**(J-1)) 30 NNN(KK)=NNN(KK)+NN(J) LL=LL+1 III(LL)=NNN(KK) IF(LL.LT.20)GO TO 33 WR ITF(6,1)(III(LL),LL=1,20) 1 FORMAT(1X,20I6) LL=0 33 DO 35 M=1,K I(M)=I(M)+1 IF(I(M).LE.N) GO TO 20 35 I(M)=1 GO TO 11 50 N2=N2*23 N1=(N1*23)+(N2/10000) N2=IABS(M0D(N2,10000)-(N1/10000)) IF(N2.LE.0)N2=1000 N1=MOD(N1,10000) IF(N1.LE.0)N1=1000 NP(2)=N1/100 NP(4)=MOD(NT,100) NP(6)=N2/100 NP(8)=M0D(N2,100} DO 40 II=2,8,2 IF(NP(II).EQ.0)NP(II)=1Il codice è stato digitalizzato a partire da una copia stampata e commentata presumibilmente dallo stesso Grossi: Ancora oggi, presso il Museo degli Strumenti per il Calcolo dell'Università di Pisa, è possibile provare TAUmus sulla macchina originale per la quale è stato scritto, cioè un IBM/370. Nel 2020, durante un'esposizione temporanea curata da Magrini, Tarabella e Bertini, ne è stata realizzata un versione su Raspberry PI, un micro computer che sta tutto su una singola scheda.
In alternativa, si può avere un'esperienza virtuale del sistema TAU2/TAUmus attraverso una delle Software Stories del progetto Software heritage, realizzata con il supporto di sciencestories.io, che potete esplorare qui sotto oppure sul sito originale:
Prossima stanza: ⇨ Contesti
© Codexpo.org - Content released under Creative Commons 4.0 BY/SA/NC
Versione: 02/02/2022 - 09:41:25
Parole: 259Pannelli
Codici |
Hello World |
99 bottles of beer |
Haiku |
Apollo |
Colossal Cave |
Zork |
TAUmus |