Prototip d’instrument visual/sonor amb LeapMotion

Leapsajous
Prototip del Leapsajous en funcionament

Autor de la pràctica: Pere Amengual

Descripció

L’aplicació presentada consisteix en un sintetitzador proveït d’oscil·ladors de quadratura implementat sota Processing i la llibreria Minim. El paràmetres del sintetitzador es controlen amb gestos de les mans mitjançant la interfície LeapMotion. Els sons generats, a més de sentir-se, controlen la visualització de patrons Lissajous projectats amb llums làser entre les mans de l’usuari.

Les corbes de Lissajous són gràfiques de sistemes d’equacions paramètriques corresponents a la superposició de dos moviments harmònics simples en direccions perpendiculars. Per implementar un generador de sons que alhora permeti generar aquest tipus de figures s’ha de fer servir un oscil·lador de quadratura, en el que les seves dues sortides presenten un desfasament de 90º. Així, un parell de formes d’ona sinus/cosinus generen una imatge circular, dues formes d’ona quadrades amb el mateix desfasament una imatge semblant a un quadrat, etc. Per aconseguir figures més complexes es fan servir dos oscil·ladors amb relació de freqüència variable i també altres recursos com distorsió no lineal, o waveshaping.

La interfície física d’entrada és proporcionada pel controlador LeapMotion, un petit dispositiu perifèric proveït de connector USB que es situa entre les mans de l’usuari i, mitjançant dues càmeres d’infraroigs i tres LEDs emissors d’infraroigs, pot observar una àrea circular aproximadament d’un metre. El firmware del dispositiu sintetitza dades de la posició dels dits i les mans, l’objecte físic principal del prototip, en 3D mitjançant la comparació dels quadres en 2D generats per les dues càmeres.

La interfície física de sortida principal és un projector làser equipat amb interfície ILDA que mostra els patrons Lissajous sobre la taula, entre les mans de l’usuari, creant un notable grau d’immersió sense recórrer a tècniques de projecció estereogràfiques. Com el prototip és, bàsicament, un sistema generador de sons no podem obviar el sistema de so com una de les interfícies de sortida principals. El monitor de l’ordinador serveix com a interfície física de sortida secundària, i ens mostra una GUI amb tots els paràmetres del sintetitzador, permetent la modificació amb el ratolí d’altres característiques del so no controlades per la interfície de posició espacial. La interfície lògica (representació virtual de la interfície física) és un esquelet de les mans de l’usuari que es presenta en pantalla com objecte virtual principal i que dóna referència directa a l’usuari de les accions que duu a terme amb la interfície física i que es correspon, en darrer terme, amb les seves pròpies mans.

Les propietats del subjecte virtual s’han d’entendre com les que correspondrien a la interpretació d’un instrument musical convencional. Així, podem establir una analogia entre la interfície lògica (l’element informàtic que dóna referència directa a l’usuari de les accions que duu a terme amb la interfície física) i el conjunt de sensacions tàctils (hàptiques) i sonores que genera un instrument acústic quan es fa sonar. Degut a la reduïda fisicitat de la interfície física, i amb la finalitat de maximitzar la sensació d’agència, s’ha optat per proporcionar un feedback visual dels paràmetres del sintetitzador sobre la pantalla de l’ordinador, a més de la generació directa dels sons i les imatges que és realment l’objectiu final de les accions de l’usuari. Per establir les regles de comportament de l’entorn virtual de la forma més inequívoca possible i facilitar la sensació de control de l’usuari, s’ha procurat simplificar el nombre de paràmetres a controlar i s’han assignat uns mapatges que resultin entenedors i intuïtius de cara a controlar les característiques sonores bàsiques: altura tonal, volum i timbre.

En el cas del prototip desenvolupat ha estat necessari investigar la manera que l’usuari sigui conscient en tot moment que ell és qui està executant les accions que donen lloc als canvis de la interfície lògica i les característiques del so i la seva corresponent representació gràfica.

En darrer terme, cal destacar la importància dels mapatges (forma en que s’enllacen els nostres canals sensorials amb les accions que controlem i els estímuls que rebem en l’experiència d’interacció) ja que els moviments de les mans es corresponen amb els paràmetres del sintetitzador, però aquesta correspondència no es pot establir de forma directa i, per millorar l’efectivitat del prototip, s’han establert límits als rangs de lectura de dades del sensor, transposició dels valors a rangs útils i aprofitables de cara a l’experiència d’usuari i, finalment, mecanismes d’estabilització i suavitzat dels valors, que s’explicaran més detalladament en un apartat posterior.

Principis tecnològics

El prototip es basa en un sistema de posició espacial, dos sistemes de projecció i un sistema d’àudio. Aquestes són les seves característiques principals:

  1. Sistema de posició espacial:
    LeapMotion, sensor de curt i mitjà abast amb càmeres d’infrarojos estereogràfiques.
    – Detecta el moviment i la posició de les mans de l’usuari en tres dimensions i també gestos com “passar pàgina”, “tancament del puny”, etc.
    – La connexió a l’ordinador es realitza mitjançant USB.
    – Realitza un mesurament absolut (no relatiu) de la posició de dits, mans i avantbraços.
    – Presenta una latència molt reduïda, el que ens permet aplicar algorismes de suavitzat de les dades sense alentir massa la lectura de les dades dels sensors.
    – Les mesuraments són molt precisos i repetibles, però en algunes posicions es perd la lectura i s’atura la recepció de dades.
    – El firmware implementa un sistema de detecció d’interferències que avisa a l’usuari quan es detecten noves fonts de llum infraroig o el sensor no es troba prou net per permetre una lectura correcta.
  2. Sistemes de projecció:
    a) Monitor d’ordinador, que mostra una interfície d’usuari gràfica (GUI) amb els paràmetres del sintetitzador.
    b) Projector làser amb interfície analògica ILDA, que mou un feix de llum sobre els eixos x i y en funció dels valors instantanis del so generat pel sintetitzador en els seus canals dret i esquerre, respectivament. Per adaptar els valors provinents de la tarja de so de l’ordinador i per crear els offsets de voltatge corresponents als canals de color RGB, es fa servir un sistema modular en format euro-rack. A més, aquest sistema incorpora un mòdul que realitza el canvi de format i connector per dirigir el senyal elèctric de control al projector làser.
  3.  Sistema d’àudio:
    La tarja de so de l’ordinador genera tant els sons com els voltatges de control del projector làser. L’àudio generat és estereofònic i no fa servir tècniques d’espacialització.
  4.  Sistemes de programari:
    Per la realització d’aquest prototip s’ha fet servir el llenguatge de programació de codi obert Processing, basat sobre Java.
    https://processing.org/
    La llibreria Minim proporciona les classes per la creació i manipulació de sons. S’ha escollit aquesta llibreria en comptes de la integrada amb Processing 3.0 ja que permet el control de la fase dels oscil·ladors.
    http://code.compartmental.net/tools/minim/
    La llibreria ControlP5 permet la creació d’una GUI de forma ràpida i senzilla amb botons virtuals per visualitzar i/o modificar els paràmetres del sintetitzador.
    http://www.sojamo.de/libraries/controlP5/
    La llibreria “Leap Motion for Processing” ens permet realitzar una lectura en temps real de les dades proporcionades pel sensor.
    https://github.com/nok/leap-motion-processing

Guió d’interacció – mapatges

El prototip no disposa d’estats diferenciats ni, conseqüentment, transicions entre ells ja que tota la interacció té lloc en l’únic estat de funcionament disponible al posar en marxa el prototip: marxa amb tota la funcionalitat disponible i operativa. Per tant, resulta més adient detallar com es corresponen els moviments tipificats de les mans amb el resultat sonor obtingut i amb el graf final ja que aquesta resulta una definició més rellevant de les regles de comportament de l’entorn virtual.

amplitud
Tancament del puny: augment de l’amplitud de l’oscil·lador, que implica un augment del volum sonor i de les mides del graf

 

freqüència
Desplaçament en l’eix x (horitzontal) cap al centre: augment de la freqüència de l’oscil·lador, que implica una major altura tonal i diferents patrons d’interferència quan els tons dels oscil·ladors són diferents, segons l’interval musical generat

 

forma d'ona
Desplaçament en l’eix y (vertical): canvi de la forma d’ona generada per l’oscil·lador, sinusoïdal en posició central, dent de serra en posició elevada i quadrada en posició inferior. Implica un canvi en el timbre del so generat i un canvi de la figura base del graf, cercle, triangle i quadrada, respectivament

 

waveshaping
Rotació del puny cap al centre: augment de la quantitat de distorsió no lineal (waveshaping), que implica un canvi del contingut espectral del so generat i variacions similars a plegaments de la figura representada en el graf

Cal destacar que s’ha realitzat un mapatge dels valors proporcionats pel sensor per tenir en compte el valor absolut de les distàncies respecte del centre del cos de l’usuari i així realitzar una lectura “simètrica” de la posició de les mans. També s’han transposat i escalat els valors de lectura per aconseguir rangs dels valors dels paràmetres del sintetitzador més útils i rellevants des del punt de vista estètic.

 

Referents

a) origen
La base d’aquest treball ha estat la pràctica realitzada per l’assignatura “Disseny d’Interacció” on vaig desenvolupar un prototip de sintetitzador visual/sonor controlat mitjançant els sensors del comandament de jocs “nunchuck”: acceleròmetres, botons, joysticks

En la primera PAC de la present assignatura “Realitat Virtual” vaig analitzar l’adequació de tres projectes relacionats a la definició del que s’entén per Realitat Virtual, el videojoc DJ Hero, l’aplicació de RV immersiva “The music room” i el prototip de flauta interactiva desenvolupat per Gelineck, Böttcher et al. Després d’estudiar el funcionament i l’adequació d’aquestes aplicacions a les definicions i principis que hem vist en el curs, vaig arribar a la conclusió de que no era estrictament necessari realitzar una aplicació immersiva per desenvolupar un projecte de Realitat Virtual, si es donaven les condicions fonamentals de creació d’estímuls sonors i visuals en temps real en resposta a les interaccions de l’usuari.

Un dels motius pels que estic cursant els estudis del Grau Multimèdia és incorporar els coneixements que hi adquireixi en processos de creació artística, especialment aquells que integren generació sonora i visual de tipus performatiu. Aprofitant que al semestre anterior vàrem estudiar les possibilitats de creació sonora amb Processing i la llibreria Minim a l’assignatura “Tractament i Publicació d’Àudio” he volgut continuar amb el desenvolupament d’aquest prototip i avançar en el descobriment de les possibilitats que ofereix la interacció amb entorns virtuals pel que fa a la creació d’eines de creació sonora/visual en temps real.

b) replanteig
A la PAC2 havia previst fer servir un entorn de visualització híbrid basat en un monitor convencional (no immersiu), també conegut amb el nom de WoW <em<(“window on the world”), en el que les imatges generades per l’ordinador es sobreposassin a les obtingudes per la càmera del dispositiu Leap Motion i la pantalla mostraria a l’usuari tant les seves mans reals com un un model tridimensional d’aquestes. Com la finalitat d’aquesta visualització era bàsicament obtenir un feedback de la lectura dels sensors, una vegada desenvolupant el prototip, aquesta representació ha resultat redundant i s’ha optat per mostrar en pantalla únicament els valors dels paràmetres del sintetitzador mitjançant una GUI proveïda de botons i valors numèrics. La generació del graf entre les mans de l’usuari mitjançant una projecció zenital sobre la taula i el material sonor creat en temps real són prou rellevants en sí mateixos com per representar el resultat d’una interacció rica en matisos i capacitat d’immersió.

c) experiments descartats
En el procés de desenvolupament s’han descartat algunes de les idees previstes en la descripció del prototip original. En primer lloc, encara que existeixen llibreries que permeten una lectura de la posició de les mans amb el sensor situat sobre el front de l’usuari, el seu ús es troba limitat a entorns de desenvolupament com Unity; per tant, finalment s’ha optat per situar el sensor en la seva posició habitual, entre les mans de l’usuari i sobre la taula.

També s’han provat algunes alternatives al suavitzat de valors mitjançant interpolació lineal dels valors (n) i (n-1) amb la funció lerp(), com arrays de flotants que proporcionassin la mitja dels darrers “x” valors, però finalment s’ha optat per la primera solució degut a la seva facilitat d’implementació i menor latència.

Una part important del procés de treball ha estat la experimentació amb el mapatge de la lectura dels valors dels sensors respecte de les accions a realitzar pel prototip. S’han escollit els rangs i escalaments més adients des del punt de vista expressiu i estètic.

Impacte

El prototip proposat es pot classificar com un instrument sono-visual emmarcat dins l’àmbit de la música visual, en laque es tradueixen els sons o la música en una presentació visual relacionada. Presenta similituds amb l’instrument electrònic conegut amb el nom de Theremin, que permet la creació de sons amb una altura tonal i volum determinats per la distància de les mans a les dues antenes de l’instrument. En canvi, el Leapsajous permet un control molt més extens dels paràmetres sonors ja que es pot modificar també el timbre del so generat i, a més, permet la creació simultània de dues notes, cosa impossible de dur a terme amb el Theremin.

Amb uns mapatges més perfeccionats que permetin un control més precís dels paràmetres sonors i la incorporació dels altres gestos i punts de seguiment que permet incorporar el dispositiu LeapMotion es podria aconseguir la creació d’un instrument musical prou fiable i expressiu com per ser incorporat en actuacions musicals-visuals en l’àmbit de la música electrònica experimental en directe.

Hacks

En aquests moments, la lectura de les dades proporcionades pels sensors es trasllada directament al sintetitzador implementat en Processing. Però es podria implementar amb facilitat la transmissió de paràmetres de control mitjançant OSC (Open Sound Control) fent servir llibreries com OSCP5  amb la finalitat de controlar qualsevol instrument musical proveït d’aquest protocol de comunicació, com per exemple el sistema Kyma, de Symbolic Sound, o un patcher programat en els entorns Max o PureData. Aquests dos darrers entorns de programació també permetrien la creació d’altres imatges, fins i tot en 3D, que respondrien al so de manera similar a com ho fa el projector làser en el prototip actual.

 

Resultat final

 

Totes les imatges CC BY-SA Pere Amengual. Icones mans (c) Freepik

Leave a comment

Your email address will not be published. Required fields are marked *