kostacivos | ||
parser | ||
presentazione | ||
.gitignore | ||
Armonia.py | ||
LICENSE | ||
note.csv | ||
Prova_main.py | ||
README.md | ||
test.py | ||
visit_superpotente.py |
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 puoassumere 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.