-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy path03-funzioni.tidal
63 lines (36 loc) · 1.96 KB
/
03-funzioni.tidal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
setcps (120/120/2)
-- è possibile utilizzare un gran numero di funzioni che permettono di modificare in molti modi un pattern
d1 $ fast 2 $ s "bd sn"
-- fast aumenterà la velocità di esecuzione di un pattern per un dato valore
d1 $ slow 2 $ s "bd sn"
-- similmente slow diminuirà la velocità del pattern per un dato valore
-- queste due scritture sono analoghe
d1 $ fast 2 $ s "bd sn"
d1 $ slow (1/2) $ s "bd sn"
-- vediamo altre funzioni:
d1 $ jux (fast 2) $ s "bd sn hh"
-- in questo caso la funzione jux prende come argomento un'altra funzione al suo interno (che in questo caso è fast 2)
-- la funzione contenuta in jux viene applicata solo al canale destro lasciando inalterato il canale sinistro
d1 $ every 3 (fast 2) $ s "bd sn hh"
-- anche every prende come secondo argomento un'altra funzione e la applica al pattern ogni X cicli dove X è
-- il primo argomento di every
-- possiamo anche fare così, ma occhio alle parentesi!
d1 $ every 3 (jux (fast 2)) $ s "bd sn hh"
-- questa scrittura può essere semplificata utilizzando il $ al posto delle () come abbiamo già visto prima
d1 $ every 3 (jux $ fast 2) $ s "bd sn hh"
-- allo stesso modo in cui scriviamo un pattern di samples è possibile assegnare un pattern al valore di una funzione
d1
$ fast "1 2"
$ s "[bd sn, hh*4]"
-- in questo modo durante la prima metà del ciclo il pattern di samples viene riprodotto a velocità 1,
-- nella seconda metà a velocità 2 (questo perchè il pattern occupa sempre l'intera durata del ciclo)
-- se quindi avessimo 3 elementi nel pattern corrispondente al valore di fast?
d1
$ fast "1 2 0.5"
$ s "[bd sn, hh*4]"
-- semplice! il primo terzo del ciclo verebbe riprodotto a velocità 1, il secondo terzo a velocità 2 e l'ultimo terzo
-- a velocità 0.5 (sempre perchè il pattern occupa l'intera durata del ciclo)
-- in questi casi useremo spesso le parentesi uncinate <>, in modo tale da avere esattamente un valore per ciclo:
d1
$ fast "<1 2 0.5>"
$ s "[bd sn, hh*4]"