ALSA (Advanced Linux Sound Architecture) proporciona la funcionalitat MIDI a Linux. Gràcies als drivers d’ALSA podem utilitzar moltes de les targetes de so comercials, i disposem d’una API per tal que els programadors puguin fer aplicacions d’audio i MIDI.
Els programadors poden construir aplicacions d’audio i midi utilitzant la API d’ALSA (alsa-lib, libasound), o d’altres llibreries que estan en capes d’abstracció més elevades. Nosaltres, en aquest video del projecte 50 Ways to Play Una Plata d’Enciam, mostrarem tres maneres diferents de poder tocar la nostra cançó peferida, Una Plata d’Enciam, acostant-nos tot el que puguem a la capa de hardware, a la targeta de so. Es tracta de poder enviar missatges MIDI directament a la targeta de so des de la shell de Linux.
Arduinotes es un sistema para tomar notas de forma rápida y fiable, basado en un teclado de ordenador estándar como sistema de escritura (para mi la única solución posible si se busca rapidez y comodidad), y en una memoria EEPROM como sistema de almacenaje. Es un sistema basado en el microcontrolador Arduino, con el que se están haciendo cosas muy interesantes. En un post anterior ya mostré cómo construir un sensor de temperatura basado en Arduino.
Este proyecto no deja de ser un poco académico (alguien discutirá la utilidad de un sistema para escribir sin una pantalla). Ahora bien, si yo fuese periodista, cogería mi Arduinotes, buscaría el mejor teclado posible (que fuese cómodo, con teclas que ofrezcan resistencia al apretarlas, lo más pequeño posible y si puede ser plegable), me iría a la rueda de prensa que tuviese que cubrir, y deslumbraría a los presentes con mi kit… Si Yo fuese aventurero y tuviese que cruzar el Sáhara a pie, en mi mochila seguro que llevaría el Arduinotes para escribir el dietario de mis aventuras.
Arduinotes es fiable y funcional porque utiliza un teclado de ordenador, económico porque está basado en Arduino y componentes electrónics básicos, portátil porque ocupa y pesa poco, y autónomo porque consume muy poca batería.
Además del hardware, hay que considerar el software que se ha desarrollado. Ante todo las librerías de Arduino que se utilizan: la librería para utilizar EEPROMs, y la librería para utilizar teclados PS2 (que se ha tenido que adaptar); el código fuente que se ha desarrollado, que junto con las librerías representa el firmware de Arduinotes, es decir, el software que se carga dentro del microcontrolador; y finalmente un ejecutable escrito en lenguage C que lee el puerto serie y así obtenemos en un fichero todo el contenido de la memoria EEPROM. Arduinotes utiliza una memoria EEPROM (aquí se ha utilizado una memoria de 64K, pero podría ser más grande), que se divide en 4 páginas y así poder escribir en cuatro documentos diferentes. Incorpora las funciones de escritura, borrado, guardar y lectura.
No dejes de visitar la wiki para tener más información, hacer sugerencias o leer la transcripción del video, o envíame un mail (joanqc@gmail.com) si te ha interesado el proyecto o quieres pedir más información o hacer cualquier sugerencia. Aquí os dejo el enlace del proyecto en wiki.joanillo.org y el video del proyecto.
Por fin he conseguido mi DIY Music Box que se puede comprar en ThinkGeek.com. La cosa no ha sido fácil: desde España no se puede comprar en ThinkGeek.com (dicen que tienen demasiadas devoluciones y no les sale a cuenta, somos unos impresentables…). Y es que tengo ganas de jugar con el cacharrito y tocar unas cuantas canciones infantile, a ver qué cara pone Pere!…
Antes de entrar a hacer música electrónica y meternos a trastear con hardware en el proyecto que estoy llevando a cabo (50 ways to play Una Plata d’Enciam), me ha parecido que tocar Una Plata d’Enciam con esta caja de música es una buena idea. Y el resultado que he obtenido es muy satisfactorio.
El grueso del trabajo ha sido hacer una pequeña aplicación en lenguaje C++ para convertir un fichero simplificado de lilypond (fichero de partitura musical) a las imágenes que, una vez impresas, serán las plantillas para perforar la tarjeta que codificará la música. Esta aplicación seguro que la utilitzaré más adelante en el proyecto, pues el tema de les cajas de música volverá a salir más adelante en el proyecto 50 ways to play Una Plata d’Enciam.
os dejo con el enlace del proyecto en la wiki (http://wiki.joanillo.org/index.php/50_ways…_DIY_punched_card_Music_Box), donde podréis encontrar información técnica, descargaros el aplicativo lilypond2musicbox.cpp, y consultar las transcripciones del vídeo en catalán y castellano.
Con este post inauguramos un nuevo proyecto: 50 maneras de tocar Una Plata d’Enciam. Una Plata d’Enciam es una canción infantil que cantan los niños en Cataluña, y que últimamente he tenido que cantar mucho con mi hija. Cómo últimamente me ha interesado las diferentes maneras de programar audio y midi en entornos linux, y me ha interesado la posibilidad de construir instrumentos musicales nuevos y nuevas interfícies hombre-máquina que producen sonido y música, es por esto que quiero recopilar y ordenar esta información y producir unos videotutoriales para mostrar las diferentes posibilidades y técnicas.
Espero poder ir produciendo los videotutoriales con cierta regularidad. No se si llegaré a 50 videos, o quizás me pasaré de este número… es sólo una intención, un número indicativo.
Aquí os dejo con el primer video, la introducción al proyecto y la primera manera de hacer sonar esta canción: cantando con la voz humana (el instrumento perfecto) y tocando con un instrumento (en este caso un instrumento de viento, una melódica).
Los videos son en inglés, pero siempre se facilitará la dirección del proyecto en la wiki donde encontraréis la transcripción del video al catalán y al castellano, e información técnica sobre el proyecto.
Las posibilidades que tiene Arduino para desarrollar rápidamente proyectos electrónicos son inmensas. Además hay mucha documentación y un creciente número de gente que está haciendo cosas con Arduino y que escoge esta pltaforma para desarrollar sus proyectos e interficies. Conscientes de la potencia que tenemos en las manos con este pequeño microcontrolador, os quiero mostrar el último experimento que he hecho con Arduino. Es un proyecto bastante académico: con un sensor LM35 leemos la temperatura, que mostramos en una pantalla de cristal líquido, y grabamos los datos cada 5 minutos en una memoria EEPROM externa. Estos tres módulos están ligados con el firmware que cargamos en el microcontrolador ATMEL que tiene la placa Arduino.
Sin lugar a dudas, Arduino dará mucho juego en futuros desarrollos, como el proyecto que estoy preparando: 50 Ways to Play Una Plata d’Enciam… dentro de poco vendrán los detalles…