This commit is contained in:
darkflash 2017-11-20 18:14:17 +00:00
parent 5ac763aa50
commit ff82ca5976
2 changed files with 43 additions and 46 deletions

View File

@ -1,3 +1,44 @@
# kostacivos
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/
Music from python abstract syntax trees
+--------------------------------+
| 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.

View File

@ -1,44 +0,0 @@
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.