Music from python abstract syntax trees
Go to file
2017-11-20 18:14:17 +00:00
kostacivos initial commit 2017-11-20 18:08:55 +00:00
parser initial commit 2017-11-20 18:08:55 +00:00
presentazione presentazione usata a Connessioni Caotiche 2017-11-20 18:11:04 +00:00
.gitignore Initial commit 2017-11-20 17:53:05 +01:00
Armonia.py initial commit 2017-11-20 18:08:55 +00:00
LICENSE Initial commit 2017-11-20 17:53:05 +01:00
note.csv initial commit 2017-11-20 18:08:55 +00:00
Prova_main.py initial commit 2017-11-20 18:08:55 +00:00
README.md readme 2017-11-20 18:14:17 +00:00
test.py initial commit 2017-11-20 18:08:55 +00:00
visit_superpotente.py initial commit 2017-11-20 18:08:55 +00:00

Analisi dinamica del codice

  • Isomorfismi sinestetici Partendo dalla domanda "come si identifica un suono?" si identificano quattro componenti. Ci si pone l'obiettivo di scegliere come queste componenti possano essere rappresentate dal codice. Una breve proposta di seguito/

+--------------------------------+ | SUONI CODICE | | | | timbro tipo di dato | | altezza valore | | velocita` ??? costante??? | | durata elementi contenuti | | | | chiave classe | | tempo metodo/funzione | | pausa ??? | +--------------------------------+

Problemi da risolvere:

  • altezza: range troppo alti. In python ad esempio il valore int massimo e 9223372036854775807. Quindi non ha senso associare una nota ad ogni possibile valore. Una soluzione puo essere quella di analizzare nel codice valori massimi e minimi che ogni variabile puo assumere con un dato input e creare un range usando quelle come estremi. Con i float il discorso si complica leggermente, ma per risolverlo e possibile stabilire quali siano
  • maggior valore
  • minor valore
  • minimo scarto tra valori e aggiustare la scala di conseguenza. Con questo metodo si ottiene qualcosa di udibile sempre ma e` possibile ottenere spesso qualcosa di non fedele (ad esempio, una variabile intera che assume i valori 9223372036854775807 e 9223372036854775007 che rumore fa rispetto ad una che assume i valori 2 e 30?).

Durata: elementi contenuti Dipende. Riempire un array di 100000 elementi a suonare impiega lo stesso tempo di riempirne uno di 2? NO! Ma uno da 100000 deve risultare secondo me ben piu acelerato di uno da due (direi massimo 10 volte di piu). Per calcolare l'acelerazione si fa tipo log2(n). Onesto.