Cómo controlar MIDIPoet con un teléfono móvil
(en realidad hay muchas maneras, ésta es solamente una de ellas...)

La idea general:

* Generar señales Bluetooth cuando se oprime una tecla en el teléfono
* Recibir estas señales en un ordenador y convertirlas a señales MIDI
* Enviar estas señales MIDI a MIDIPoet usando un puerto virtual

Necesitas:

* Un teléfono con conectividad Bluetooth y compatible con Java
* Un PC/Windows con antena Bluetooth
* MIDIYoke
* Eyesweb 3.2.0
* MIDIPoet

OK. Vamos a ver...

1. Señales Bluetooth desde el teléfono

Antes que nada, hay que asegurarse que el teléfono en cuestión sea un Smartphone, compatible con Java. Usaremos Mobile Processing, así que el teléfono debe ser compatible con la versión CLDC 1.0, MIDP 1.0 de J2ME. Yo utilicé un viejo Nokia 6680 (Series 60 2nd Edition)

Aquí está el código para la aplicación de control de MIDIPoet. El código está basado en esta aplicación para controlar la aspiradora Roomba via Bluetooth. Si quieres modificar la aplicación de control de MIDIPoet, necesitas reemplazar la librería Bluetooth que viene por defecto con Mobile Processing por esta versión.

Si no tienes ganas de aprender a programar en Mobile Processing, puedes descargarte el MIDlet directamente aquí.

Para instalar la aplicación en el teléfono, normalmente basta con enviar el archivo .jar via Bluetooth... el teléfono debería reconocer que es una aplicación e instalarla automáticamente. Sin embargo, esto puede variar según el modelo.

La aplicación de control de MIDIPoet es muy simple: detecta la tecla que se ha oprimido, y envía a través de Bluetooth el correspondiente código ASCII.

2. Recibiendo las señales en la PC

Lo primero es contar con una antena Bluetooth en el PC. Cada antena es diferente, así que tendrás que investigar cómo se configura el servicio de puerto serie de tu modelo. Cuando lo hayas configurado, Windows debería informarte que número de puerto serie está siendo utilizado por Bluetooth (por ejemplo COM3, COM7, etc.) ... toma nota de esto.

Instala Eyesweb y MIDIYoke. Usaremos Eyesweb para recibir los mensajes del puerto serie Bluetooth, y convertirlos en mensajes MIDI. Después, usaremos un puerto virtual de MIDIYoke para enviar los mensajes MIDI de Eyesweb a MIDIPoet.

Aquí tienes el patch de Eyesweb que recibe las señales del teléfono y las convierte a MIDI. En el bloque 'Serial input' deberás introducir el número del puerto serie que estás usando para Bluetooth. De la misma manera, deberás cambiar el bloque 'MIDI output' para enviar los mensajes MIDI por el puerto virtual que desees (por defecto, el patch los envía por el puerto virtual número 1) ... El patch hace una conversión muy sencilla de serie a MIDI: recibe el código ASCII de la tecla oprimida en el teléfono (por ejemplo 48, que corresponde a la tecla '0') y lo toma como el valor de la nota MIDI, con una intensidad de 127 en el canal 1.

3. Listo!

Cuando lo tengas todo preparado, sigue estos pasos para empezar a controlar MIDIPoet con tu teléfono:

1. Activa la antena Bluetooth en tu PC
2. Ejecuta la aplicación 'Midipoet control' en tu teléfono. La aplicación buscará tu PC, y cuando la encuentre te permitirá elegirla de una lista de dispositivos encontrados (presionando el número correspondiente) ... una vez hecho esto, la aplicación está lista para ser utilizada.
3. Ejecuta el patch de Eyesweb y déjalo andando... puedes minimizar la ventana.
4. Ejecuta MIDIPoet y, antes de interpretar la composición a controlar con el teléfono, recuerda seleccionar el puerto MIDI virtual correspondiente como entrada MIDI.

Aquí tienes una composición en MIDIPoet que responde al teléfono. Utiliza las teclas 0,2,4,5,6,7,8 y 9, y descubre tu mismo como funciona!

todas las fotos: Chris Funkhouser // Interrupt 08