Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
PURE DADA – PD -
Traduzione italiana di D’A. Roberta
ed Aiuto tecnico di S.Stefano
IL PROGRAMMA PD (PURE DATA)
Questo programma , così come altri similari appartenenti alla famiglia Max (Max/MSP, JMax) ,
rappresenta un sistema di programmazione ad oggetti per il controllo dei dati e dell’audio in
tempo reale. Il vantaggio del programma PD è che, oltre ad essere gratuito, funziona su più sistemi
operativi (Windows, Linux e Macintosh). Per progettare processi di programmazione , si riporta
una finestra denominata “patch” (letteralmente “pezza”) nella quale possiamo immettere differenti
elementi che soddisfano determinate funzioni e che sono correlati tra loro. Questi elementi si
raggruppano in cinque categorie di base : oggetti (objects) , messaggi (messages , ossia gli argomenti
che sono trattati nell’ object), numeri , simboli e commenti . Inoltre esiste una categoria speciale di
oggetti che hanno una “interfaccia grafica utente”(GUI), che ne permette il controllo con il mouse
e la configurazione del loro comportamento ed il loro aspetto.
Es.1 :
I messaggi possono contenere qualsiasi parola , numero o elenco che scriviamo in essi , e possono
essere inviati per la “via d’uscita” (output) facendo click con il mouse. Il contenuto di un messaggio
non cambia in uscita, mentre il contenuto dei numeri e dei simboli può cambiare a seconda se
inviamo messaggi oppure se definiamo in essi nuovi valori.
Gli oggetti sono gli elementi del patch che compiono una specifica funzione secondo la loro
definizione. Ciascun oggetto specifico ha un numero determinato di INPUT (in alto), attraverso
cui si attenderà di ricevere qualche messaggio, ed OUTPUT (in basso), attraverso i quali arriverà il
risultato dell’operazione eseguita con l’argomento.
Così l’oggetto “+” realizza la somma del messaggio numerico ricevuto da ciascuna delle sue due
entrate. Però se a seguito del “+” scriviamo un argomento numerico nell’oggetto, si ottiene la
stessa operazione di addizione del numero superiore + quello vicino l’operatore aritmetico.
-1-
Es.2
Nell’esempio precedente, così come in tutti gli oggetti, il processo che porta a capo dell’oggetto in
questione è attivato solamente all’arrivo del messaggio corrispondente all’entrata da sinistra
(chiamata entrata “calda” per la sua proprietà di causare un risultato). Anche le altre entrate
definiscono i parametri corrispondenti, però non producono alcun risultato.
In Pd incontriamo due tipi di oggetti : di controllo e di segnale. Quelli di controllo, per regola
generale, hanno una frequenza di campionamento pari a 1000 volte al secondo (1000/1sec), vale a
dire che l’oggetto “+” , presentato precedentemente, potrebbe portare fino a mille risultati per
secondo. Invece gli oggetti di segnale, che si identificano perché terminano sempre con la figura
“~”, hanno una frequenza di campionamento di 44.100 campioni al secondo (2*22Khz), anche se
questo può variare a seconda se lo configuriamo nelle selezioni audio.
Es.3 :
Si noti che i cavi virtuali che si collegano agli oggetti di segnale (quelli tra “osc~”,“*~ “e “dac~”)
sono più spessi di quelli che escono dal messaggio. Questa differenza ci mostra che alcuni
conducono il segnale (aggiornato a 44.100 volte al secondo) e altri conducono messaggi di controllo
(aggiornato solo a quando produciamo un messaggio, al massimo 1000 volte al secondo).
Evidentemente gli oggetti del segnale e le loro connessioni consumano molta più memoria del
computer rispetto a quelli di controllo. Dobbiamo tener presente che, sebbene a volte possiamo
collegare messaggi di controllo a oggetti audio, l’uscita dell’oggetto audio sarà sempre una
connessione di segnale e pertanto non possiamo collegarla a un oggetto di controllo.
-2-
Affinché Pd realizzi i processi audio che progettiamo nel patch, è necessario che attiviamo
l’opzione “computo audio” nella finestra del programma Pd (oppure selezioniamo sulla tastiera
ctrl-/ per accendere e ctrl-.per disattivare l’audio) .
IMPLICAZIONI o RICHIESTE
Es.4 :
Si noti che ora usiamo un moltiplicatore di segnale “*~” senza argomento numerico, come lo
utilizziamo per moltiplicare due segnali audio.
A partire da un solo click del mouse, come facciamo ora a produrre un suono di durata definita
con il suo attacco e con il suo corrispondente decadimento? Nell’esempio precedente bisogna
aggiungere una variabile che crei un lasso di tempo tra l’applicazione del messaggio “0, 1 50”, il
nostro attacco, e quello “1, 0 200”, la nostra diminuzione del suono.
Es.5 :
-3-
a
Ora utilizziamo lo stesso oggetto “line~” per produrre un glissando di una 5 giusta.
Es.6 :
MODULAZIONI
Es.7 :
Es.8 :
-4-
Es.9:
Possiamo aggiungere a uno qualsiasi di questi esempi una richiesta di Bang come abbiamo visto
nell’esempio 5.
Per una migliore ottimizzazione dello spazio visivo, in modo da mantenere i patches più ordinati,
possiamo creare in un patch dei subpatches che contengano parte dei processi che progettiamo.
Per creare un subpatch dobbiamo progettare un oggetto chiamato “pd” con un argomento
arbitrario che servirà per identificare questo subpatch.
-5-
Poniamo nel nostro patch un oggetto chiamato pd con l’argomento
“FrequenzaModulata”. Automaticamente si apre la finestra del subpatch
creato con lo stesso nome. In questo subpatch possiamo copiare l’esempio precedente.
Un’altra opzione è permettere al subpatch di mostrare gli oggetti grafici nel patch principale;
perciò dobbiamo fare click con il tasto destro in un qualunque spazio bianco del subpatch e
selezionare “graph on parent”.
-6-
Gli elementi che possiamo vedere dal
patch principale, situandoli nel quadrato
rosso del subpatch, sono : numero,
simbolo, commento e tutti gli oggetti
grafici GUI. Qualsiasi altro elemento,
anche quando sta nell’area rossa, non si
vedrà. Pertanto, per controllare il
messaggio “bang” dovremo usare la sua
versione grafica, l’oggetto grafico Bang
(ctrl-shift-B oppure un oggetto chiamato
“bng”) .
In questo modo l’aspetto dell’oggetto “pd FrequenzaModulata” situato nel patch principale è il
seguente, permettendo la modifica di ciascuno dei suoi elementi :
Possiamo fare quante copie vogliamo di questo oggetto nel medesimo patch, assegnandole
parametri diversi per ottenere una tavolozza più ampia dei suoni.
-7-
GUIDA RAPIDA ALL’ISTALLAZIONE E LA CONFIGURAZIONE DI PD
Dopo aver scaricato Pd compatibile con la versione del proprio sistema operativo (The Windows
version, Linux, Mac), si trova un file .zip da decomprimere. La cartella decompressa va posizionata
sull’drive principale “c”.
In Windows, Pd can be run the old-fashioned way, from a command-line interface. Until recently,
in fact, this was the only way to run it. But the latest version (0.38) can be run by double-clicking
on the program icon, just as with any other Windows program. The first time you run Pd, you may
want to open the Startup window (see Figure 2) and set some startup flags. The syntax for these is
the same as the syntax for command-line arguments (which are documented in the manual). The
most important flags are the ones that tell Pd what MIDI and audio hardware to use. My
soundcard uses an ASIO driver, so I've set my startup flags like this:
The other reason you used to have to keep the MS-DOS window open while Pd was running was
to display the program's message outputs. For diagnostic purposes, Pd includes a handy print
object whose output appears as text. This used to be in the MS-DOS window, but is now in the
main Pd window--hooray!
Figure 2.
Pd's Startup window allows you to enter command-line-style flags (in the bottom area).
Even with the text output, Pd's main window barely qualifies as a window at all. It does have
audio clipping indicators and a couple of checkboxes (see Figure 3). When you open an existing
file or load a new one, you'll be working in a separate patch window that looks more like Figure 1.
-8-
New objects can be added to a patch from a menu, or you can type Control-key commands, which
is faster.
Figure
3: The main window in Pd doesn't do much, other than display messages from the program. You
can send your own messages to this window from a patch (which is often useful during
debugging) using the print object. By adding a text argument to a print object, you can see at a
glance where the printout is coming from. Here, I'm looking at the data reaching a print object
called modenvseg ("modulation envelope segment").
When MIDI I/O is activated in Windows, the Pd window reports that "midi input is dangerous in
Microsoft Windows\; see Pd manual." Sounds ominous, but I haven't yet encountered any
difficulties.
-9-