Programmazione realtime audio-video

Da OpenVideo.

Programmazione realtime audio-video.


Tra i software liberi per la creazione e la manipolazione in tempo reale di audio/video possiamo distinguere diverse tipologie distinte:

1) Ambienti di programmazione basati sull'utilizzo di codice scritto o di "live coding", come per esempio, processing e fluxsus.

2) Ambienti di programmazione grafico/visuali ("graphical programming environment" o "patcher programming languages") come pure data.


PURE DATA

Pure data è un ambiente grafico di programmazione per la maniploazione in tempo reale di audio, video, grafica e altri media. L'autore di pd è Miller Puckette, lo stesso autore di Max. Max è un software che, nato più di dieci anni fa nell'ambito delle attività di ricerca dell'IRCAM di Parigi, attualmente è di proprietà di una ditta americana che lo commercializza (Max/msp), quindi non è software libero e non è open source.

Pd (pure data) è software libero e open source. Pd è al 99% coperto da licenza BSD e per il restante (alcuni external) da licenze GPL, LGPL etc.

Miller Puckette oggi continua a sviluppare il "core" di pd (la versione base), riconoscibile col nome di "pd-vanilla" ma tantissimi programmatori di diverse parti del mondo hanno sviluppato numerosi oggetti (externals) e librerie che possono essere caricate sia singolarmente, installandole nelle appostite cartelle e configurando adeguatamente lo startup di pd e sia collettivamente, utilizzando la versione estesa di pd detta "pd-extended". Il curatore della versione estesa di pd è Hans-Christoph Steiner che è anche autore di diversi esternals.

Con pd è possibile creare/manipolare in tempo reale flussi di dati di ogni tipo: audio, video, immagini, grafica 3D, si possono manipolare e gestire dati di controllo come il midi e l'osc (open sound control), si possono utilizzare protocolli di trasmissione come tcp e udp, si può gestire lo streaming audio e video, si possono controllare periferiche HID (Human interface device) come joystick, touchscreen, graphic tablet etc. , periferiche seriali o microcontroller come arduino etc. Per ognuna di queste funzionalità esiste un external o una libreria di external "dedicata".

Pd dispone di un sistema integrato di documentazione estremamente efficace, poichè si basa su diverse centinaia di patch, corredate di commento testuale (in lingua inglese), che possono essere aperte, studiate e modificate secondo le proprie necessità. Si può accedere a queste patch in due modi: contestualmente con gli help inline che si attivano cliccando col bottone destro del mouse sull'oggetto che si desidera conoscere e in maniera "organizzata" aprendo l'"help browser" dal menu "help", dove oltre agli help sui singoli oggetti (situati nella directory 5.reference), vi sono tantissimi esempi interattivi categorizzati per ambito di utilizzo e grado di complessità.

Pd è disponibile per diversi sistemi operativi (pd-extended è disponibile per linux, MacOSX e window) e per diverse architetture di processori.