Workshop 3 - Notes


back to schedule


H.C. Steiner introduced some basic concepts about the use of HID devices to create digital music instruments.

Resources

Hans prepared the following materials for the session:

Disclaimers

  • Windows is very limited in the information it allows you to control coming from HID devices. It is not possible to capture either the mouse or the keyboard. Gamepads, joysticks, etc will work fine. Mac and Linux will allow using keyboards and mice

Dispostivos HID [in Spanish]

Primero hay que presentar lo que son lo dispositivos interface humano. Mucha gente sabe lo que son aunque desconocen la terminologia. Teclado y raton son los HIDs mas comunes. Hay todo tipo de dispositivos como gamepads, knobs, joysticks, tablets, trackball, etc.

Todos estos aparatos comunican por USB y tienen un sistema estándar de comunicación.

Los diferentes aparatos aparecen dentro de Pd como objetos. Por ejemplo, el objeto MouseState obtiene las coordenadas X Y del raton y los valores que ha cambiado desde el ultimo muestreo.

Por regla general el mapeo directo de variables de entrada a parametros de un patch no nos da un instrumento demasiado interesante. Necesitamos conectar mas de un control a un solo parametro para reproducir cualidades como por ejemplo la cuerda de la guitarra que cuanto mas fuerte la tocamos, cambiara no solo el volumen, pero tambien las componentes frecuenciales.

Por lo tanto, en la mayor parte de las ocasiones nos interesara conectar mas de un control de un patch a la entrada de un dato de un dispositivo HID. Aqui Hans explica la utilizacion del objeto SEGMENT para separar una sola entrada en subgrupos de valores escalados entre 0 y 1. Ademas explica como utlizar ROUTE para separar los mensajes que salen de SEGMENT.

Los HID envian datos aproximadamente cada 10ms, gracias a esto podemos estimar la velocidad y direccion del movimiento. Al trabajar con el raton puede ser interesante utilizar la velocidad del movimiento del raton para estimar pej. el volumen del sonido en el objeto.

Algo que sucede con los dispositvos HID es que no reportan "0" en la velocidad cuando dejan de moverse. Esto hace que necesitemos de un pequeño hack en PD para parar el sonido tras un determinado tiempo en el que el sistema detecte que no hubo ningun cambio en la señal.

Declaraciones finales

- primero vimos como capturar la informacion del raton, mas adelante la de diferentes dispositivos. En esencia es lo mismo y la proxima revision de la libreria permitira no solo leer los datos de los dispositivos sino tambien enviar. Esto permitira controlar los LEDs en los aparatos, los motores del force feeback, etc

- BT: lo que este objeto hace con BT es una traduccion de la informacion ofrecida por el sistema operativo. En Linux BT y USB se mapean a la misma libreria. Sin embargo en Mac y en Linux los dispositivos HID en BT no van a funcionar de la misma forma

- para cerrar, muestra un par de ejemplos de proyectos hechos con aparatos: el lechero (August Black), Younnat.com on the steeringwheel