Teclados

  • Santiago Vilanova Ángeles

    Formado como diseñador gráfico, alterna el desarrollo de proyectos artísticos basados en la programación de software, el diseño interactivo y la investigación sonora con su actividad como grafista e ilustrador. Miembro del colectivo Telenoika, ha participado como creativo en numerosos proyectos relacionados con el mapping audiovisual; la aplicación de tecnologías interactivas en el teatro con la compañía Playmodes; el reciclaje creativo de deshechos tecnológicos, como miembro de los Luthiers Drapaires; la robótica, la música experimental y la docencia en estos campos. Sus trabajos se han expuesto en salas de teatro, exposiciones y festivales como Sónar (2006 y 2009), Palau Euskalduna de Bilbao, Kunst Akademie de Berlín, Mapping Festival de Ginebra, Primavera Sound, CCCB, CaixaFòrum, Palau de la Música, Laboral, MIAC, Festival VAD o Mercat de les Flors, entre otros. Actualmente es profesor en distintas universidades catalanas en materias relacionadas con el diseño interactivo y la creatividad audiovisual. Parte de su trabajo se puede consultar en las siguientes direcciones: https://www.playmodes.com, https://www.telenoika.net/drapaires, https://vimeo.com/ox.

PID_00287691
Segunda edición: febrero 2022
© de esta edición, Fundació Universitat Oberta de Catalunya (FUOC)
Av. Tibidabo, 39-43, 08035 Barcelona
Autoría: Santiago Vilanova Ángeles
Producción: FUOC
Todos los derechos reservados
Ninguna parte de esta publicación, incluido el diseño general y la cubierta, puede ser copiada, reproducida, almacenada o transmitida de ninguna forma, ni por ningún medio, sea este eléctrico, mecánico, óptico, grabación, fotocopia, o cualquier otro, sin la previa autorización escrita del titular de los derechos.

Introducción

Hay muchos tipos de teclados, desde el típico teclado de ordenador hasta la botonera del ascensor, las botoneras de máquinas industriales, pasando por pasando por los teclados de los teléfonos inteligentes o smartphones o las calculadoras. Todos estos dispositivos interactivos requieren una atención específica, y a lo largo de este módulo haremos un repaso de ellos, fijándonos en sus características específicas y en sus potencialidades a la hora de afrontar un diseño de interacción.
Un teclado, en su definición más genérica, consiste en un conjunto de teclas que tienen como función servir de interfaz de interacción con un instrumento, aparato o mecanismo.
Hemos de entender los teclados alfanuméricos modernos como "metáforas" de la máquina de escribir, siendo conscientes de la flexibilidad inherente a los dispositivos digitales. Al contrario de lo que sucede en las antiguas máquinas de escribir, los teclados digitales nos permiten el remapeo de cada una de las teclas y, por lo tanto, tenemos todo un campo abierto de posibilidades creativas a la hora de asignar funcionalidades a las teclas o a las combinaciones entre ellas.
Además de los teclados alfanuméricos, en esta definición amplia del concepto teclado, hemos querido incluir los teclados musicales MIDI, de manera que haremos también un repaso rápido de este protocolo de comunicación, muy extendido en el mundo de la interactividad relacionada con la música y las artes visuales.
Así pues, hemos dividido este módulo en dos partes: la primera hará referencia a los teclados alfanuméricos, y en la segunda estudiaremos las características de los teclados y el protocolo MIDI.

Objetivos

  1. Aprender de las diferentes características de los teclados más habituales.

  2. Analizar sus sistemas de comunicación y la manera en que codifican los datos.

  3. Orientar diseños de interacción basados en teclados que tengan en cuenta factores como la usabilidad o el mapeado.

1.Teclados alfanuméricos

1.1.Conceptos teóricos

Hoy en día estamos rodeados de centenares de teclados alfanuméricos, desde los de los teléfonos móviles o las calculadoras, hasta los teclados QWERTY de los ordenadores. Cada uno de ellos presenta funciones muy definidas, como por ejemplo la marcación de números de teléfono, la introducción de dígitos en un cajero automático o la escritura en un procesador de textos para programar.
En el teclado más común para nosotros, el de los ordenadores, la disposición de las teclas se remonta a las primeras máquinas de escribir, que eran completamente mecánicas. Al pulsar una letra en el teclado, se movía un pequeño martillo mecánico que golpeaba el papel a través de una cinta impregnada de tinta. Sobre la distribución de los caracteres en el teclado, surgieron dos variantes principales: la francesa AZERTY y la alemana QWERTZ. Ambas respondían a cambios en la disposición, según las teclas más frecuentemente usadas en cada idioma. Para evitar el encallamiento de teclas en las antiguas máquinas de escribir, se eligió una disposición que permitiera que las teclas más frecuentes se encontraran tan alejadas como fuera posible, lo que provocó también una gran alternancia entre el uso de ambas manos.
A los teclados en la versión para el idioma español, los más habituales para nosotros, además de la ñ, se les añadieron los caracteres de acento abierto (`), acento cerrado (´), diéresis (¨) y acento circunflejo (^), aparte de la cedilla (ç), aunque estos caracteres se usan más en francés, portugués o catalán.
Actualmente, los teclados de ordenador convencional, que normalmente conectamos por USB al ordenador, disponen de un microcontrolador interno que se encarga de traducir cada pulsación de teclado a un mensaje numérico codificado según el protocolo ASCII.
Fuente: Wikipedia (cc)
Fuente: Wikipedia (cc)
Para cada pulsación o liberación de una tecla, el microcontrolador envía un código identificativo que se llama código de escaneo o scan code. Con el fin de permitir la pulsación simultánea de varias teclas, el teclado genera un código diferente cuando una tecla es pulsada y cuando es liberada.

1.2.Las herramientas

1.2.1.QWERTY
En cuanto a estructura, los teclados clásicos de ordenador están divididos en cuatro bloques diferenciados, cada uno de los cuales presenta funcionalidades definidas. Es importante que tengamos en cuenta esta estructuración a la hora de plantear un diseño de interacción con teclado, tratando de seguir las convenciones para facilitar que el sistema sea intuitivo y próximo a los usuarios a los usuarios o, al contrario, saltándonos completamente estas convenciones de modo justificado. En general, podríamos estructurar un teclado QWERTY en las siguientes partes:
1) Bloque de funciones. Va desde la tecla F1 hasta la tecla F12, y está estructurado en tres bloques de cuatro teclas: de F1 a F4, de F5 a F8, y de F9 a F12. Estas teclas funcionan de acuerdo con el programa que esté abierto.
2) Bloque alfanumérico. Está situado en la parte inferior del bloque de funciones, y contiene los números arábigos del 1 al 0 y el alfabeto, organizado como en una máquina de escribir, aparte de algunas teclas especiales.
3) Bloque especial. Se halla a la derecha del bloque alfanumérico y contiene algunas teclas especiales, como Imp Pant, Bloq, teclas de desplazamiento, pausa, inicio, fin, insertar, suprimir, RePág y AvPág, y las flechas direccionales, que permiten mover el punto de inserción en las cuatro direcciones.
4) Bloque numérico. Se encuentra a la derecha del bloque especial, se activa pulsando la tecla Bloq Núm y contiene los números arábigos organizados como en una calculadora para facilitar la digitación de cifras. Además, recoge los signos de las cuatro operaciones básicas: suma (+), resta (–), multiplicación (*) y división (/); también contiene una tecla Retorno o Enter.
76541_m2_02.gif
1.2.2.Teclados de teléfonos móviles (smartphones)
La mayoría de teléfonos móviles de hoy en día disponen de teclados alfanuméricos para marcar números de teléfono, escribir SMS o acceder a las funcionalidades de los menús internos. A pesar de que existen tantos tipos de teclados como teléfonos móviles (desde teclados físicos hasta teclados táctiles integrados en las pantallas gráficas o graphic displays), la mayoría de teclados utilizan un sistema que permite que cada tecla pueda alojar diferentes caracteres alfanuméricos o funciones, normalmente con el análisis del tiempo de pulsación o la doble/triple pulsación.
Hay que decir que en ciertos países, como Estados Unidos, la telefonía fija también dispone de este sistema que permite escribir textos a partir de la repetición de las pulsaciones de teclado.
1.2.3.Teclados numéricos
Los teclados numéricos sencillos de las máquinas calculadoras o de las teclas de cursor o keypads pueden ser útiles en determinadas situaciones. Muchos sistemas de alarma, intercomunicadores o artículos electrónicos de consumo incorporan estos teclados sencillos para ofrecer una vía de interacción con los usuarios.
Vale la pena remarcar que la mayoría de estos dispositivos numéricos son sencillamente conectables a Arduino y pueden ser útiles en la confección de objetos interactivos.
1.2.4.Botoneras
Más extensamente, podríamos considerar mandos a distancia, botoneras de ascensor, botoneras de maquinaria industrial o intercomunicadores de bloques de pisos como casos muy específicos de teclado.
La popularización de los sistemas DIY
La popularización de los sistemas DIY (do it yourself, 'hágalo usted mismo') en el campo de la electrónica ha llevado a un gran número de usuarios al diseño de sus propios artefactos. Entre los compositores de música electrónica, son muy populares estos sistemas personalizados, y muchos músicos construyen sus propios instrumentos adaptando los diseños de teclados a sus necesidades interpretativas.
1.2.5.Teclado braille
Un teclado braille es un dispositivo electrónico que, conectado a otro dispositivo, permite la introducción de código braille en este. Cualquier persona que conozca la escritura braille puede utilizar estos teclados. Hay muchas personas del colectivo de discapacitados visuales que escriben con un teclado convencional, pero todavía es alto el número de personas que, por su edad o por otras causas, no utilizan teclados convencionales.

1.3.Diseñando interacciones

1.3.1.Tecla a tecla
La interacción más básica que podemos diseñar usando un teclado es la detección de la tecla pulsada.
Como hemos visto, cada tecla o combinación de teclas tiene asociado un valor ASCII diferente que es enviado cada vez que se pulsa una tecla.
Dependiendo del entorno de diseño interactivo en el que trabajemos, también podemos recibir datos cuando la tecla se haya dejado de pulsar; por lo tanto, cada acción de pulsación de una tecla nos da tres parámetros:
  • Inicio de la pulsación

  • Valor ASCII de la tecla

  • Fin de la pulsación

A partir de estos datos, se pueden generar diversas interacciones, asignando distintas acciones a las pulsaciones / finales de pulsación de cada tecla.
1.3.2.Tiempo de pulsación
Otro método sencillo de diseño interactivo basado en el teclado es el cálculo del tiempo de pulsación de las teclas, que nos puede ayudar a distinguir entre toques cortos y toques largos de las mismas.
1.3.3.Combinaciones de teclas
Asimismo, la pulsación combinada de distintas teclas puede ser un recurso más a la hora de plantear una interacción mediante el teclado. De hecho, es común encontrar este tipo de interacción basada en combinaciones de teclas en todos los sistemas operativos.
1.3.4.Palabras
Otro método interesante de interactividad con los usuarios puede ser la introducción de palabras o cadenas de caracteres.
Mediante la confección previa de una base de datos con palabras clave (por ejemplo, izquierda, derecha, grande, pequeño...), podemos diseñar un sistema interactivo que "escuche" las peticiones textuales de los usuarios y actúe en consecuencia.
Un diseño de este tipo requiere la construcción de un espacio de memoria en el que almacenar los caracteres y la comparación de los caracteres introducidos en la base de datos.
Frecuentemente se utiliza la tecla Enter como indicador de que se ha acabado de introducir la secuencia de caracteres pertinentes.
1.3.5.Predicción de texto
El texto predictivo es una herramienta que mediante un algoritmo trata de agilizar y mejorar el tiempo de escritura a un usuario proporcionándole propuestas de palabras antes de que este las escriba de manera completa.

2.Teclados MIDI

2.1.Conceptos teóricos

MIDI
Siglas de musical instrument digital interface, 'lenguaje de control y comunicación entre instrumentos musicales digitales'.
MIDI se creó en los años ochenta, en plena eclosión de la microelectrónica digital, para centralizar y secuenciar diversos aparatos generadores de sonidos en un controlador principal. Si queremos secuenciar una canción que conste de ocho instrumentos diferentes, necesitaremos un secuenciador que se entienda con los ocho instrumentos por medio de un lenguaje estándar. Esto era MIDI originariamente. Actualmente, la mayoría de los sistemas de informática musical incorporan puertos MIDI (MIDI 1.0 comenzó con conectores DIN de cinco pines, pero vio estandarizarse a lo largo del tiempo muy variadas formas de transmisión física: USB-MIDI class compliant, MIDI sobre Bluetooth LE, sobre Firewire, sobre Ethernet o sobre un conector TRS de 1/8 de pulgada) para la comunicación con sintetizadores externos o el control mediante controladores. Hoy en día hay muchos aparatos que no son estrictamente musicales y que permiten el control MIDI: mesas de luces, controladores de servomotores, robots, etc. MIDI no transmite datos de audio, solo datos de control, organizados tal como sigue:
  • Notas. Es la información que se genera cuando presionamos una tecla del piano. El tipo de mensaje puede ser Note ON o Note OFF, y el valor de estas notas varía en función de la nota que toquemos. Por ejemplo, C5 (do de la quinta octava) es la nota 60, C # 5 = 61, D5 = 62, D # 5 = 63... Hay ciento veintiocho notas diferentes (0-127).

  • Controladores continuos (CC). Es la información que se genera cuando movemos un potenciómetro o fader. A diferencia de los datos de nota, que son binarios (puesta en marcha / apagado), estos datos son continuos y trabajan en un rango de 0 a 127. Esto quiere decir que si tenemos el potenciómetro al mínimo, enviará un valor 0; si lo tenemos a la mitad, enviará un valor 64, y si lo tenemos al máximo, enviará un valor 127.

Además de estos dos tipos de mensaje, hay unos cuantos más (SysEx, Program Change, NRPN, Pitch Bend), con unas propiedades diferentes y que, de momento, no nos serán útiles.
Todos estos datos corren por un canal MIDI (1-16).
La tecnología MIDI fue estandarizada en 1983 con MIDI 1.0. En enero de 2020 se presentó el estándar MIDI 2.0 en una sesión titulada "Strategic Overview and Introduction to MIDI 2.0" realizada por representantes de Yamaha, Roli, Microsoft, Google y la MIDI Association.
Características de MIDI 2.0: la actualización de MIDI 1.0 añade comunicación bidireccional y mantiene la compatibilidad con el estándar anterior, ya que los mensajes MIDI 1.0 existen como una parte dentro de los mensajes MIDI 2.0. Cualquier dispositivo que no reconozca las funciones MIDI extendidas habilitadas con la nueva versión seguirá funcionando con el estándar anterior. Los dispositivos MIDI 2.0 pueden comunicarse entre sí, conocer sus capacidades y configurarse automáticamente para trabajar juntos, con el ahorro de configuraciones manuales en los dispositivos que eso supone, así como comunicarse por MIDI 1.0 con los receptores no compatibles. MIDI 2.0 cuenta con mayor resolución, más controladores, una mejor sincronización y mayor facilidad de uso (ver especificaciones completas en www.midi.org). Algunos equipos MIDI 1.0 pueden beneficiarse de ciertas funciones del estándar superior.

2.2.Las herramientas

2.2.1.Teclado o controlador MIDI
Para prototipar nuestros primeros diseños interactivos basados en MIDI, recomendamos usar un teclado MIDI (que suele reproducir la estructura de un piano tradicional, en pequeño tamaño y con menos octavas) o un controlador (constituido normalmente por una caja con botones y potenciómetros). La configuración o setup más común es aquella en la que se utiliza el teclado o el controlador MIDI como dispositivo de mando de los sistemas de software o electrónicos.
Actualmente, los teclados y controladores MIDI se conectan a los ordenadores mediante USB, en vez de hacerlo mediante el cable MIDI, lo que nos ahorra el uso de una interfaz MIDI-USB.
Fuente: audiomidicontroller.com
Fuente: audiomidicontroller.com
2.2.2.Interfaz MIDI
Pieza de hardware que actúa de mediadora entre un sistema de secuenciación MIDI (normalmente un PC) y los instrumentos secuenciados, o entre un controlador y los sintetizadores, muestreadores (samplers), etc.
Normalmente, dispone de varias entradas y salidas.
La mayoría de tarjetas de audio profesional incorporan puertos de entrada y salida MIDI, y actúan como interfaces MIDI.
Fuente: foromusicos.es
Fuente: foromusicos.es
2.2.3.Controladores o drivers MIDI virtuales
"Tubos" de comunicación interna dentro de un mismo ordenador.
Son útiles para comunicar dos programas MIDI, porque los configuran a uno como maestro y al otro como esclavo. La compañía MIDI-OX desarrolla controladores virtuales (MIDI Yoke) y gestores (MIDI-OX) que permiten comunicación interna y múltiples transformaciones en los datos de control.
2.2.4.Transmisión de datos MIDI
Durante muchos años, el modo de transmitir datos MIDI era por cable MIDI. Con la llegada de las aplicaciones de MIDI por Ethernet (UDP> TCP> UDP), se abrió un gran número de posibilidades impensables en los primeros tiempos. De esta manera podemos enviar datos de control MIDI en tiempo real a otra parte de la red local, y crear una matriz de ordenadores interconectados sin necesidad de disponer de interfaces MIDI tan caras. Y todo ello lo podemos hacer a través del cable de red y direccionadores o routers. Además, los datos TCP viajan mucho más rápido que los datos MIDI, de modo que se recortan muchísimo las latencias (1) (inferiores a 1 ms). Dado que los ordenadores se han convertido en componentes centrales de muchos sistemas MIDI, USB se ha convertido en el protocolo más utilizado para transportar datos MIDI.
2.2.5.Software de monitorización
Midi-OX (PC), MIDI Monitor (Mac)
Una herramienta útil a la hora de visualizar los datos MIDI que enviamos o recibimos son los monitores MIDI. Existen varios softwares que cumplen esta función, la mayoría de los cuales son gratuitos bajo licencia freeware o shareware.
2.2.6.Hardware compatible con MIDI
Actualmente, podemos encontrar en el mercado diferentes dispositivos compatibles con MIDI. Estos se pueden manejar por medio de mensajes MIDI de modo remoto. Es el caso de un gran número de sintetizadores de sonido, mesas de control de iluminación espectacular o mezcladores de vídeo, entre muchos otros.
Fuente: Wikipedia (cc)
Fuente: Wikipedia (cc)
2.2.7.Software compatible con MIDI
Asimismo, hay una gran cantidad de software que permite la automatización mediante mensajes MIDI. La mayoría de softwares orientados a la creación o la manipulación musical ofrecen esta opción. Sin embargo, la mayoría de softwares de manipulación de vídeo en tiempo real, softwares de control de iluminación y casi todos los entornos de programación interactiva incluyen la posibilidad de entrada de datos MIDI.
Fuente: Wikipedia (cc).
Fuente: Wikipedia (cc).

2.3.Diseñando interacciones

2.3.1.Mapeo
Entendemos por mapeo la asignación de teclas o valores de los potenciómetros a parámetros concretos de un sistema de software.
Pongamos por caso que queremos asignar el valor del potenciómetro 1 de nuestro controlador MIDI a la velocidad de reproducción de un vídeo o a la medida de un círculo. Al proceso de asignación del valor del uno al otro lo denominaremos mapeo.
Para poder mapar un parámetro, necesitaremos tener habilitada en el software receptor la entrada MIDI y estar seguros de que está recibiendo los datos correctamente. Para ello, podemos usar algún software de monitorización de datos MIDI (MIDI Monitor, Midi-Ox).
Una vez habilitada la entrada de datos MIDI en el software receptor, solo se trata de asignar el tipo (Nota o CC) y el número de mensaje MIDI (0-127) al parámetro deseado.
Dependiendo del entorno en el que estemos trabajando, este procedimiento se hará de diferentes maneras.
Muchos entornos comerciales de composición y directo de audio, así como softwares de manipulación de vídeo en tiempo real, incorporan una funcionalidad llamada MIDI Learn que facilita mucho este proceso de mapeo de parámetros. En la mayoría de casos, solo se trata de activar el sistema de aprendizaje (MIDI Learn), seleccionar el parámetro receptor y tocar la tecla o el potenciómetro que queramos asignar a ese parámetro. Así podemos reasignar muy rápidamente las funciones del teclado o dispositivo físico.
2.3.2.Fórmulas y transformación de datos entrantes
En determinadas situaciones, nos puede convenir transformar los datos de control: invertirlos, asignarles determinados valores o convertirlos en curvas exponenciales, por ejemplo. Mediante el uso de distintas fórmulas y algoritmos matemáticos, podemos transformar los datos entrantes según nuestras necesidades, permitiéndonos cambiar la forma en la que los datos MIDI se reproducen. Puede interesarnos realizar cambios de tonalidad, realizar fundidos y envolventes para controles de volumen, suprimir frecuencias... Las posibilidades son infinitas.

3.Más allá. Recursos y bibliografía específica

3.1.Secuenciadores y partituras: líneas de tiempo (timelines)

Más allá del uso directo de controladores y teclados, el estándar MIDI abre un abanico de posibilidades que es muy interesante explorar.
Una de estas posibilidades es la de la escritura de partituras de acontecimientos o events. Como el lenguaje MIDI se emplea mayoritariamente en plataformas de composición musical basadas en líneas de tiempo, disponemos de toda una serie de herramientas, pensadas para la escritura de acontecimientos en el tiempo, que podemos utilizar para secuenciar cualquier tipo de acontecimiento con una dinámica temporal.
Captura del software libre y código abierto de notación musical MuseScore
Fuente: Wikipedia (cc).
Fuente: Wikipedia (cc).
Este tipo de escritura es muy útil en contextos como el teatro, la automatización de proyectos museísticos o el diseño de artefactos electrónicos (escultura cinética, autómatas musicales...).
Si os interesa seguir explorando las posibilidades de este tipo de escritura temporal, os recomendamos que echéis una ojeada a entornos de composición musical asistida por ordenador, como Ableton Live, Cubase o IanniX.

Bibliografía

Jordà Puig, Sergi (1997). Audio digital y MIDI. Anaya Multimedia.
Lehrman, Paul D.; Tully, Tim (2017). MIDI For The Professional.
Webs recomendadas