Plantilla discusión:Proyecto2
,,,,
Introducción
Construir sonidos colectivos para construir situaciones
La creación sonora para muchos puede parecer intimidante; es una actividad en la que se busca ser virtuoso, alguien excepcional en la ejecución de un instrumento o en la creación de melodías. Desafiando esos preceptos, se propone un juego colectivo donde no se puede ser virtuoso en su ejecución y que cualquiera puede usar. La idea de juego como “acción desinteresada, libre, improductiva, tendiente a lo bello” [1] es algo que está muy presente en esta propuesta. Ciertamente lo bello es algo relativo, pero se buscó crear una instancia totalmente libre; un refugio sonoro, una colaboración sin necesidad de ser un erudito musical. sonar))) es concebido como un juego colectivo donde el protagonista es el sonido construido colectivamente, por medio de un dispositivo electrónico el cual reacciona al movimiento de las manos y su posición respecto a un sensor de proximidad. Generada a partir de las observaciones realizadas, se mezcla con el interés personal por los instrumentos electrónicos.
sonar))) no es un juego normado en su sentido estricto; no busca un ganador, no es una competencia. Sus normas están relacionadas más bien a sus condiciones de uso, puesto que los sensores tienen un rango de acción; si esta condición no se cumple, el dispositivo no emite sonido. Referenciando a los Situacionistas, se propone la "desaparición total de los elementos competitivos que son clásicos en los juegos tradicionales, por medio de la creación común de los ambientes lúdicos elegidos" [2], para así favorecer el ocio creativo; un espacio de diversión sonora promovido por un dispositivo que también genera nuevas situaciones y oportunidades mediante su uso.
Este proyecto está hecho a partir de una placa Arduino, que es una plataforma que fomenta el desarrollo tecnológico y creatividad, con sus productos y entornos open source. Se propone que este trabajo sea colectivamente desarrollado en el tiempo; la posibilidad de que instrumentos de este tipo estén abiertos para que otros puedan explorar, contribuye al aprendizaje colectivo y el impulso de iniciativas de innovación que permitan el descubrimiento de nuevas posibilidades tecnológicas. Por eso el código de sonar))) está disponible en Github para que sea utilizado y modificado por quien se sienta interesado en este proyecto.
Observaciones
Destreza coordinada simétrica
Las observaciones realizadas fueron en el contexto de ejercicios de coordinación ante dos actividades: yoga y malabarismo. La particularidad del primer caso es que es una coordinación grupal, que parte de las indicaciones realizadas a viva voz por la instructora; ella da indicaciones y los otros responden moviéndose de acuerdo a lo solicitado. Al ver esto se puede apreciar una sincronía entre todos los participantes, un flujo equilibrado ya que cada postura debe repetirse por ambos lados del cuerpo y una reacción ante el ruido (indicaciones de la profesora). En el caso del malabarismo se puede apreciar otro fenómeno: el ejercicio lúdico solo por placer o paideia. La actividad realizada es libre, empieza en cualquier momento y termina cuando se rompe el flujo del movimiento de los elementos o cuando el jugador decide parar. No es que haya una regla definida, pero es necesario tener ciertas consideraciones para que los trucos resulten, es por eso que es un flujo normado, que usa todo el cuerpo para ser realizado y necesita la coordinación de todo el cuerpo. Es necesario que el cuerpo tenga cierta disposición al ejercicio, coordinación y destreza para ser ejecutado.
Coreografía sonora progresiva
La observación realizada a una banda de guerra muestra que hay una serie de señales sonoras que emiten las personas participantes que generan un movimiento rítmico, el cual también genera sonido. Este este flujo sonoro depende de la destreza de los participantes y de la coordinación. La banda para generar sonido empieza con los gestos del guaripola, luego en una progresión ascendente van incluyéndose las diversas líneas de instrumentos hasta sonar todos. Visto a la distancia se aprecia una coreografía que va desde el desplazamiento de todos los músicos hasta el movimiento generado por la interpretación del instrumento en cada línea. Esto genera un efecto visual donde convergen distintas capas de movimientos coordinados (piernas elevadas, movimientos de interpretación, desplazamiento de los participantes) liderados por el guaripola. Este flujo se rompe cuando se descoordinan en la interpretación, generando una disonancia en la melodía; cuando esta disonancia es demasiado prolongada, todo la secuencia se rompe y los participantes dejan de tocar. Cada participante vuelve a su lugar de inicio y espera hasta que les den nuevas instrucciones.
Esquema de flujo
Investigación
Theremin
Creado por León Theremin en 1920, es uno de los primeros instrumentos musicales electrónicos creados en la historia. Es una caja con dos antenas, una en la derecha en sentido vertical, sirve para controlar el tono y otra izquierda en sentido horizontal, controlando el volumen; ambas antenas son osciladores de radiofrecuencias. Se ejecuta acercando las manos sin tocar las antenas, con movimientos lentos y gestos particulares con las manos que permiten controlar ambos aspectos del instrumento.
Dato Duo
Dato Duo fue creado por Toon Welling y David Menting, diseñadores de Utrecht, Países Bajos. En su página web es descrito como un instrumento para personas desde 3 a 99 años, para que puedan crear música en conjunto sin tener que ser músicos experimentados. Se concibió como un proyecto para poder tocar música con sus hijos, que posteriormente fue concretado por medio de una campaña de Kickstarter en 2016.
The UFO Controller
Es un sintetizador y controlador MIDI creado por el finés Tommi Koskinen en 2015. Está basado en Arduino, usa cinco sensores ultrasónicos, modificando los sonidos que se emiten por medio de gestos con las manos; dependiendo de la distancia en la que se encuentran las manos de los sensores, estos emitirán variaciones de sonido. Este proyecto fue parte de su tesis The UFO Controler: Gestural Music Performance, para el MA en Sonidos en Nuevos Medios, en la Facultad de Artes, Diseño y Arquitectura de la Universidad de Aalto en Finlandia.
Prototipos
A partir de las observaciones levantadas, investigación previa e intereses personales, se decide realizar un juego musical de colaborativo. Los juegos de este tipo generalmente son electrónicos, por lo que se tuvo que iniciar un proceso iterativo que permitiese lograr una propuesta acorde a las intenciones iniciales.
Alfa
El primer prototipo consiste en un octógono de papel de 30 centímetros de diámetro por 10 centímetros de alto. Cuenta con 4 sensores de proximidad que reaccionan al movimiento de las manos, emitiendo un sonido a través de los parlantes incorporados.
Construcción
Materiales
Componentes electrónicos
- Arduino Uno
- 4 sensores ultrasónicos hc-sr04
- Parlante de 8ohms, 0,5w, 60mm
- Cables jumper
- Cable de alimentación USB
- Protoboard
Contenedor
- Cartón dúplex
- Pegamento agorex
Circuito
Código
Este código fue compartido para la primera exploración por Francisca Silva Piña, el cual fue utilizado su proyecto Exploración en oscilación rítmica para el Taller de Fabricación 2023
Código propuesta Alfa
{ int cm1 = 0; int cm2 = 0; int cm3 = 0; int cm4 = 0; const int pinSpeaker = 14; long readUltrasonicDistance(int triggerPin, int echoPin) { pinMode(triggerPin, OUTPUT); // Clear the trigger digitalWrite(triggerPin, LOW); delayMicroseconds(2); // Sets the trigger pin to HIGH state for 10 microseconds digitalWrite(triggerPin, HIGH); delayMicroseconds(10); digitalWrite(triggerPin, LOW); pinMode(echoPin, INPUT);// Reads the echo pin, and returns the sound wave travel time inmicroseconds return pulseIn(echoPin, HIGH); } void setup() { Serial.begin(9600); pinMode(2, OUTPUT); pinMode(3, OUTPUT); pinMode(4, OUTPUT); pinMode(pinSpeaker, OUTPUT); } void loop() { cm1 = 0.01723 * readUltrasonicDistance(2, 3); cm2 = 0.01723 * readUltrasonicDistance(4, 5); cm3 = 0.01723 * readUltrasonicDistance(6, 7); cm4 = 0.01723 * readUltrasonicDistance(8, 9); Serial.print("cm1: "); Serial.print(cm1); Serial.println("cm2: "); Serial.print(cm2); Serial.print("cm3: "); Serial.print(cm3); Serial.println("cm4: "); Serial.print(cm4); if(cm1 > 60){ noTone(pinSpeaker); } if(cm1 < 19 && cm1 > 10) { tone(pinSpeaker,130,813);// Do1 delay(1000); noTone(pinSpeaker); } if(cm1 < 29 && cm1 > 20) { tone(pinSpeaker,261,626);// Do2 delay(1000); noTone(pinSpeaker); } if(cm1 < 39 && cm1 > 30) { tone(pinSpeaker,523,251);// Do3 delay(1000); noTone(pinSpeaker); } if(cm1 < 49 && cm1 > 40) { tone(pinSpeaker,146,832);// Re1 delay(1000); noTone(pinSpeaker); } if(cm1 < 59 && cm1 > 50) { tone(pinSpeaker,293,665);// Re2 delay(1000); noTone(pinSpeaker); } if(cm2 < 19 && cm2 > 10) { tone(pinSpeaker,587,330);// Re3 delay(1000); noTone(pinSpeaker); } if(cm2 < 29 && cm2 > 20) { tone(pinSpeaker,164,814);// Mi1 delay(1000); noTone(pinSpeaker); } if(cm2 < 39 && cm2 > 30) { tone(pinSpeaker,329,628);// Mi2 delay(1000); noTone(pinSpeaker); } if(cm2 < 49 && cm2 > 40) { tone(pinSpeaker,659,255);// Mi3 delay(1000); noTone(pinSpeaker); } if(cm2 < 59 && cm2 > 50) { tone(pinSpeaker,174,614);// Fa1 delay(1000); noTone(pinSpeaker); } if(cm3 < 19 && cm3 > 10) { tone(pinSpeaker,349,228);// Fa2 delay(1000); noTone(pinSpeaker); } if(cm3 < 29 && cm3 > 20) { tone(pinSpeaker,698,456);// Fa3 delay(1000); noTone(pinSpeaker); } if(cm3 < 39 && cm3 > 30) { tone(pinSpeaker,195,998);// Sol1 delay(1000); noTone(pinSpeaker); } if(cm3 < 49 && cm3 > 40) { tone(pinSpeaker,391,995);// Sol2 delay(1000); noTone(pinSpeaker); } if(cm3 < 59 && cm3 > 50) { tone(pinSpeaker,783,991);// Sol3 delay(1000); noTone(pinSpeaker); } if(cm4 < 19 && cm4 > 10) { tone(pinSpeaker,220,000);// La1 delay(1000); noTone(pinSpeaker); } if(cm4 < 29 && cm4 > 20) { tone(pinSpeaker,440,000);// La2 delay(1000); noTone(pinSpeaker); } if(cm4 < 39 && cm4 > 30) { tone(pinSpeaker,880,000);// La3 delay(1000); noTone(pinSpeaker); } if(cm4 < 49 && cm4 > 40) { tone(pinSpeaker,246,942);// Si1 delay(1000); noTone(pinSpeaker); } if(cm4 < 59 && cm4 > 50) { tone(pinSpeaker,493,883);// Si2 delay(1000); noTone(pinSpeaker); } delay(10); }
Comentarios
Problemas
- Emite sonido aunque no esté un sensor siendo accionado por lo que resulta incómodo de utilizar y pierde su propósito.
- Su tamaño es demasiado grande y posee mucho espacio de sobra
- No posee ningún tipo de retroalimentación que permita al usuario saber cual de los sensores está activado
Corrección
- Arreglar el código para que pueda reaccionar solamente cuando se acciona de alguna manera, por ejemplo con un pulsador
- Agregar pulsadores para que emita sonido cuando son presionados y así uno mueva las manos para modular el sonido
Beta
El segundo prototipo consiste en un hexágono de cartón piedra de 22 centímetros de diámetro por 10 centímetros de alto. Cuenta con 3 sensores de proximidad y 3 pulsadores, distribuidos intercaladamente en cada cara del hexágono. La principal novedad es que se incluyeron dos librerías para Arduino, que permiten mejorar ciertos aspectos del código:
- ToneAC : Librería creada por Tim Eckel que crea un efecto push/pull entre dos pins de manera alternada que permite duplicar el voltaje diferencial, para así aumentar el volumen emitido por el parlante.
- New_Ping: También desarrollada por Tim Eckel, permite estabilizar y mejorar el funcionamiento de sensores ultrasónicos de proximidad.
Construcción
Materiales
Componentes electrónicos
- Arduino Uno
- 3 sensores ultrasónicos hc-sr04
- 3 pulsadores
- Parlante
- Cables jumper
- Cable de alimentación USB
- Protoboard
- Parlante de 8ohms, 0,5w, 60mm
Contenedor
- Cartón piedra
- Pegamento agorex
Circuito
Código
Código propuesta Beta
{ #include <NewPing.h> // Librería New_Ping #include <toneAC.h> // Librería Tone AC #define TRIGGER_PIN_1 2 #define ECHO_PIN_1 3 #define TRIGGER_PIN_2 4 #define ECHO_PIN_2 5 #define TRIGGER_PIN_3 6 #define ECHO_PIN_3 7 #define BUTTON_PIN_1 11 #define BUTTON_PIN_2 12 #define BUTTON_PIN_3 13 int scale[] = {261, 293, 329, 349, 392, 440, 493, 523}; NewPing sonar1(2, 3); NewPing sonar2(4, 5); NewPing sonar3(6, 7); void setup() { Serial.begin(9600); pinMode(11, INPUT_PULLUP); pinMode(12, INPUT_PULLUP); pinMode(13, INPUT_PULLUP); } void loop() { int duration1 = 0; int duration2 = 0; int duration3 = 0; if (digitalRead(11) == LOW) { duration1 = sonar1.ping_cm(); if (duration1 >= 5 && duration1 <= 85) { int note = getNoteForDistance(duration1); if (note != -1) { playTone(0, 100); } } } if (digitalRead(12) == LOW) { duration2 = sonar2.ping_cm(); if (duration2 >= 5 && duration2 <= 85) { int note = getNoteForDistance(duration2); if (note != -1) { playTone(0, 100); } } } if (digitalRead(13) == LOW) { duration3 = sonar3.ping_cm(); if (duration3 >= 5 && duration3 <= 85) { int note = getNoteForDistance(duration3); if (note != -1) { playTone(0, 100); } } } } int getNoteForDistance(int distance) { if (distance > 85){ noToneAC(); } if (distance >= 5 && distance < 15) { toneAC(261, 1000); delay(100); noToneAC(); return 0; } else if (distance >= 15 && distance < 25) { toneAC(293, 1000); delay(100); noToneAC(); return 1; } else if (distance >= 25 && distance < 35) { toneAC(329, 1000); delay(100); noToneAC(); return 2; } else if (distance >= 35 && distance < 45) { toneAC(349, 1000); delay(100); noToneAC(); return 3; } else if (distance >= 45 && distance < 55) { toneAC(392, 1000); delay(100); noToneAC(); return 4; } else if (distance >= 55 && distance <= 65) { toneAC(440, 1000); delay(100); noToneAC(); return 5; } else if (distance >= 65 && distance <= 75) { toneAC(493, 1000); delay(100); noToneAC(); return 6; } else if (distance >= 75 && distance <= 85) { toneAC(523, 1000); delay(100); noToneAC(); return 7; } else { return -1; } } void playTone(int note, int duration) { // Reproducir el tono con la frecuencia y duración especificadas toneAC(note, duration); delay(100); noToneAC(); }
Comentarios
Problemas
- Es difícil crear una dinámica de juego con el dispositivo como está, ya su sonido se ve opacado con la interacción del otro. Cuando un jugador acciona el botón y mueve su mano, inmediatamente ahoga el sonido de los otros participantes por lo que solo suena quién mantiene un movimiento más prolongado.
Corrección
- Modificar el sonido que emite a través del código para que sea más atractivo, ya sea modificando el delay o la frecuencias de las notas
- Crear alguna especie de polifonía, para que se escuchen voces distintas entre cada sensor
Propuesta Final
Flujo
Mecánica de juego
Los sensores ultrasónicos son aquellos que emiten una onda sonora inaudible por uno de los terminales, la cual rebota en los objetos y devuelve un eco, el cual es recibido por otro terminal, midiendo el tiempo de recepción de aquella onda; cuanto más se demora en recibir la onda rebotada, más lejos están los objetos. Usando ese principio, la mecánica del juego se basa en activar con una mano el sensor por medio de la pulsación del botón que lo acompaña, poniendo la mano al alcance del sensor simultáneamente, emitiendo un sonido. El sonido emitido está dentro de una escala diatónica y cada sensor se encuentra en distintas octavas (tercera, cuarta y quinta octava). El rango sensible de cada sensor está entre 5 cms y 85 cms, teniendo cada nota 10 cms de distancia. No emite sonido si la mano está fuera de ese rango. El área de juego comprende los 170 cms de diámetro.
Reglas
sonar))) es un juego colaborativo y exploratorio, que está pensado para personas mayores de 10 años, jugando hasta 3 personas. Siempre se empieza con una exploración inicial del dispositivo ya que es necesario que el usuario se familiarice con la mecánica del juego. No es un juego competitivo, no tiene partidas definidas y nadie gana; se gana cuando se es capaz de dominar el dispositivo y poder coordinarse entre todos para crear una melodía. Dicho lo anterior, es necesario también explicar que aunque no haya reglas definidas, si hay que mantenerse dentro del rango de acción de 5 a 85 cms para poder jugar.El juego finaliza cuando se decide dejar de interactuar con el dispositivo, pero cada partida tiene una duración variable entre 5 y 10 minutos.
Esquema del juego
Aspectos formales
Materialidad y circuito
Caja
La caja posee dos componentes: una cubierta y una tapa inferior donde se encaja la placa de arduino. Fue diseñada en Autodesk Inventor e impresa en 3D con filamento PLA negro de 1,75mm. Se decidió por esta forma hexagonal irregular ya que los sensores tienen que estas dispuestos de manera que su ángulo de alcance no choque con el del otro sensor, ya que si esto ocurriese no funcionaría apropiadamente. Esta forma también ayuda al encuentro entre los jugadores, permitiendo que se miren los gestos, las manos y las expresiones cuando van jugando. Esto fue impreso en Valparaíso Makerspace con la colaboración de Mariana Boubet
Tiempos de impresión:
- Tapa: 18 horas
- Base: 5 horas
Impresión sin montar
Planos
Cubierta
Base
Circuito
No se realizaron cambios al circuito en sí, pero si se modificaron los componentes para poder mejorar la apariencia y disminuir el tamaño del dispositivo en el mayor grado posible.
Componentes
- Arduino Uno
- Módulo shield con protoboard de 170 pins
- 3 Sensores ultrasónicos de proximidad
- 3 pulsadores de chasis de 12mm
- Cables jumper
- Parlante de 8ohms, 0,5w, 60mm
Código
Con la ayuda de César Cofré, coordinador técnico de Valparaíso Makerspace, se hicieron diversas modificaciones que permitieron que el juego mejorara mucho en su dinámica: Se ajustó el delay para que al activarse los sensores, todos pudiesen escucharse, sin que alguno tomara mayor protagonismo que los otros. También se configuró para que cada sensor está en distintas escalas, habiendo previamente determinado su frecuencia en hertz:
- Primer sensor: DO5 - RE5 - MI5 - FA5 - SOL5 - LA5 - SI5 - DO6
- Segundo sensor: DO4 - RE4 - MI4 - FA4 - SOL4 - LA4 - SI4 - DO3
- Tercer sensor: DO3 - RE3 - MI3 - FA3 - SOL3 - LA3 - SI3 - DO4
El repositorio del proyecto sonar))) está disponible en Github, junto con las librerías ToneAC y New_Ping.
Empaque
La propuesta de empaque se aborda como dos soportes que se encajan al dispositivo, con una función expositiva que permite mostrar el objeto y a la vez contiene las instrucciones de uso y leyendas que explican un poco acerca del juego (placa de desarrollo utilizada, quienes pueden jugarlo, etc). Cada soporte está hecho de cartón pluma de 5mm, que se forra con las etiquetas que están impresas en papel couché de 220 gr. La tipografía utilizada es Prompt en sus variables Bold, medium y light. Este soporte permite que sea firme en mantener la integridad el objeto, pero liviano y suave con él.
Presentación
Fotografías finales
Prueba de Usuario
Se realizó una prueba de usuario final, donde participaron 5 personas quienes contestaron una encuesta desarrollada para este propósito. La recepción del juego fue bastante positiva, los entrevistaron manifestaron en su mayoría que los objetivos propuestos como: rejugabilidad, belleza, emotividad, fluidez, destreza y ritmo se cumplían. Los aspectos más destacables son que en su mayoría valoraron la originalidad de la propuesta y consideraron que era emocionante poder lograr melodías en conjunto. Entre los aspectos negativos está en que consideraron que el diseño era muy sobrio y hubiesen valorado que tuviera colores más vistosos y/o adornos que fuesen más llamativos. Algunos usuarios valoraron la sensibilidad de los sensores, pero otros consideraron que era un aspecto que jugaba en contra.
Narrativa Positiva, el crear música en conjunto lo hace un momento de experimentación con momentos de distensión y de coordinación para oír que se puede hacer en el conjunto, desde una cacofonía a algo más estructurado o viceversa. Algo que está regulado netamente en los participantes y no tanto por cartas o el tablero por ejemplo se agradece. - David
Comunicabilidad No tiene dificultad amo eso - Javiera
Caracterización Todo es coherente, la forma es sobria y elegante, la impresión bien hecha dentro de su resolución (3D) todo se ve como un producto bien armado. - David
Ritmo Es entretenido, va cambiando todo el tiempo y se hace interesante tratar de crear una melodía o ritmo - Victoria
Fluidez - Destreza La destreza necesaria es baja por lo que da pie a que otros gestos y situaciones surjan del alejar y acercar que enriquecen el diálogo entre jugadores y el ritmo del juego - David
Re jugabilidad Lo usaría siempre que me sintiera bloqueada artísticamente y para mostrárselo a mucha gente - Javiera
Emotividad Sii, es muy emotivo a ser musical incide mucho en las sensaciones al jugar estuvimos muy emocionados y felices - Diego
Originalidad Es algo realmente nuevo para mí no sabía que se podía hacer algo así y está bien ejecutado quizás para 3 personas se hace un poco pequeño el espacio entre los botones - Juan
Video prueba de usuario
Referencias
- ↑ Pérez de Arce, R. (2009) Prólogo: La reinvención del juego; proyectos lúdicos de Manuel Casanueva. En “Libro de Torneos” de Manuel Casanueva. e[ad] Ediciones, Taller de Ediciones Gráficas. Viña del Mar, Chile.
- ↑ Internacional Situacionista. (1999) “Contribución a una definición situacionista del juego” en Internacional Situacionista. Textos íntegros de la revista Internationale Situationniste (1958 - 1968). Vol.1: La realización del arte. Internationale Situationniste # 1-6 más "Informe sobre la construcción de situaciones". Madrid, España