Linux Day Milano 2016

Strumenti Liberi per l’Interaction Design

Da sempre limulo.net sceglie il software libero e open source non solo come strumento d’uso quotidiano, ma anche (e soprattutto) come sistema operativo e ambiente di sviluppo per la realizzazione di video, musica, installazioni interattive e lavori di sound design.

Dall’interazione con oggetti alla creazione di visual in tempo reale, dalla sintesi audio alla computer vision, limulo.net, il 22 Ottobre 2016 porta al Linux Day alcune opere come esempi di lavori creati con tecnologia libera e aperta.

Osserveremo le tecnologie all’opera, discuteremo del loro funzionamento e dell’implementazione dei vari strumenti in quello che sarà un divertente momento di confronto e di scambio di idee.

GitHub Repo!

Tools

Alcuni strumenti con cui sperimentiamo

Linguaggi di programmazione pensati per la grafica

Processing Processing: linguaggio di programmazione e ambiente di sviluppo multipiattaforma pensato originariamente per l’apprendimento della scrittura di codice nel contesto dell’arte visiva. Processing è uno strumento facile da imparare e molto versatile e permette di creare progetti articolati, capaci di elaborare immagini, video, suoni, dati, connessioni e molto altro.
OpenFrameworks openFrameworks: framework di librerie basato su C++. Uno strumento multipiattaforma che rende disponibili metodi e classi di tantissime librerie software come OpenGL, OpenCV, FMOD, ArtToolKit, Boost e molti altri. Analogo a Processing, è uno dei più noti strumenti per la realizzazione di applicazioni multimediali interattive.


Linguaggi di programmazione pensati per il sonoro

PureData Pure Data: nato dal lavoro di Miller Puckette all’IRCAM di Parigi, si tratta di un linguaggio di programmazione così detto a nodi. Specializzato nella generazione e nella manipolazione del suono, permette la programmazione da semplici tool a moduli DSP complessi. Molto utilizzato nella realizzazione di audio e musica generativa e/o procedurale.
SuperCollider Supercollider: linguaggio di scripting per la programmazione audio, come Pure Data, è anch’esso un potente strumento per generare e manipolare il segnale audio. Il software è strutturato con architettura client/server, predisposto per l’utilizzo in molteplici configurazioni.
Sonic-Pi Sonic-Pi: strumento di live coding e di creazione di musica algoritmica per RaspberryPi e i principali sistemi operativi e distro GNU/Linux. Software leggero e poco dispendioso in termini di risorse computazionali.


Microcontroller e schede per prototipazione

Arduino Arduino: il microcontroller più conosciuto. Basato sulla filosofia Open Source, se connesso al proprio computer, permette di ampliare le sue funzionalità, rendendolo capace di captare stimoli e registrare dati provenienti dal mondo fisico. Grazie alle sue diverse versioni, si presta ad essere utilizzato come cuore per tantissimi progetti di Physical Computing.
RaspberryPi RaspberryPi: in pratica un computer miniaturizzato e dal costo molto contenuto! Offre un’ampia scelta di sistemi operativi dedicati, tutti basati su distro GNU/Linux o altro software libero. Si tratta di un ottima soluzione dove sia necessaria più potenza di calcolo rispetto ad un Arduino pur mantenendo un’occupazione di spazio ridotta. Perfetto come strumento per imparare la programmazione, soprattutto grazie ai numerosi strumenti messi a disposizione dal sistema operativo.
Front-Desk

Stazioni interattive

Ecco alcune delle stazioni interattive a disposizione degli avventori durante tutta la durata dell’evento:

Front-desk

stazione 7

Benvenuti: al front desk troverete un simpatico pinguino a fare gli onori di casa! I sostenitori del software libero saranno ripagati da un trillo di campanelli e da un simpatico cenno di saluto da parte del pinguino: uno per ogni nuova donazione!

Un sensore capacitivo posto al di sotto del coperchio della scatola delle donazioni rileva la prossimità della mano del donatore. Il segnale innesca il movimento di due servomotori che producono da una parte il trillare di alcuni campanelli e dall’altra il cenno di saluto del pinguino pupazzo.

Software

  • Arduino

Hardware

  • Bareconductive TouchBoard
Station 1

Stazione 1

stazione 1

La stazione 1 presenta una particolarissima esperienza interattiva tattile, sonora e visiva. Tutta la stazione è costruita attorno a SoundFace, una superificie interattiva musicale che limulo.net ha realizzato ispirandosi al progetto reacTIVision e ai lavori dell’università Pompeu Fabra di Barcellona.

In breve: posizionando sulla superificie alcuni particolari oggetti chiamati fiducials, l’utente è in grado di eseguire in tempo reale una performance musicale ricevendo in più un feedback visivo dalla superficie stessa.

SoundFace

Per l’occasione abbiamo anche preparato uno sketch, in esecuzione su di una scheda Arduino UNO, che invia segnali ad una catena di due LED Pixie ad alta luminosità. Le luci dei 2 Pixie si accendo a tempo con la musica e cambiano colore in relazione allo strumento musicale attivo, aggiungendo un’ulteriore dimensione all’esperienza SoundFace. Ancora più coinvolgente!

Software

  • OpenFrameworks
  • PureData
  • Arduino

Hardware

  • Arduino UNO
Station 2

Stazione 2

stazione 2

Con la stazione 2 sperimentiamo con altre possibili interazioni, tutte gestite da una scheda Arduino Mega:

  • Alcuni elettrodi fungono da sensori capacitivi, ognuno dei quali associato con un diverso comportamento. Alcuni causano l’invio di messaggi ad uno sketch di Processing in esecuzione su di un computer che comunica con Arduino tramite protocollo seriale via Bluetooth. Il tocco sugli elettrodi causa la generazione di una figura colorata a schermo.
  • Altri elettrodi invece provocano l’invio di messaggi OSC ad un altro ocomputer. Quest’ultimo è connesso alla stessa rete locale rispetto a quelo che comunica serialmente con Arduino, e si occupa di interpretare i messaggi OSC in ingresso come suoni generati in tempo reale da alcuni sintetizzatori programmati con SuperCollider.
  • Infine un ultimo elettrodo provoca l’accensione di una lampadina, connessa ad Arduino grazie ad un modulo relay.

Software

  • Processing
  • Arduino

Hardware

  • Arduino Mega
Station 3

Stazione 3

stazione 3

La stazione 3 mostra le grandi capacità creative dell’ambiente di programmazione Sonic Pi, un ambiente per ‘programmazione dal vivo’ (live coding, ovvero quando il confine tra programmazione e performance musicale dal vivo diventa sempre più sottile!)

Il tutto in esecuzione sul microcomputer RaspberryPi!

Software

  • SonicPi

Hardware

  • Raspberry Pi 3 mod. B
Station 4

Stazione 4

stazione 4

La stazione 4 presenta una serie di sintetizzatori programmati in SuperCollider i quali vengono sollecitati da messaggi OSC provenienti dal computer della [stazione 2].

Software

  • SuperCollider
note

Note

Tutti i codoci sorgente relativi ai programmi in esecuzione sulle varie stazioni sono disponibili e scaricabili dal nostro Repository GitHub. Se sei interessato, clicca sulla fascia colorata nell’angolo in alto a destra.

Il codice sorgente per il progetto SoundFace è disponibile su quest’altro repository.

Per ogni richiesta, dubbio o suggerimento, ti invitiamo a scriverci all’indirizzo info[at]limulo.net o a visitare il nostro sito web limulo.net.