.

Hace unos meses Fer me señalaba un artículo titulado «Mosh pit: o la física en los conciertos de Heavy Metal» y poco después, recuperando lectura atrasada en Hacker News, me topé con moshpits.js, una «simulación de múltiples cuerpos traducida a JavaScript«.

Según el texto que acompaña a la demostración, la implementación refleja la simulación presentada en Collective Motion of Moshers at Heavy Metal Concerts y se pueden encontrar más detalles en la web del grupo de Itai Cohen, incluyendo vídeos, simulaciones completas y breves descripciones.

.

En palabras de su desarrollador, Teoria.js es una librería Javascript ligera y rápida para teoría musical. Su objetivo es proveer una interfaz de programación para software musical. Esto se traduce en cuatro objetos que abstraen notas, acordes, escalas e intervalos. Se puede operar entre ellos para buscar notas a partir de intervalos, crear escalas basadas en notas, parsear notas para crear acordes, calcular frecuencias, … Casi dan ganas de recuperar mi viejo mezclador de escalas y reprogramarlo entero. Casi.

.

ThreeAudio.js es una librería JavaScript creada por Steven Wittens que permite crear visualizaciones en Three.js, exponiendo los datos del audio como shaders GLSL. Puede leer de una fuente de sonido y proveer datos de tiempo y frecuencia en forma de texturas, al igual que valores derivados de volumen, bajos, medios y agudos. Incluye además un detector de pulsos en tiempo real basado en autocorrelación. Usa MicroEvent.js y DSP.js. Un ejemplo de lo que permite hacer se puede ver en su demo aunque sólo funciona en Google Chrome.

Hace una temporada señalaba un artículo donde se explicaba cómo visualizar sonidos con WebGL, para el que pueda tener interés en este tipo de ejercicios.

.

A mediados de noviembre del año pasado mencionaba brevemente Soundslice, una aplicación web para transcribir y compartir. Por aquel entonces no contaba con mucho tiempo para utilizarla y ahora, casi seis meses después, tampoco ando muy sobrado. Por fortuna, Adrian Holovaty, uno de los responsables del proyecto, se ha sentido en la necesidad de hablar sobre el uso de canvas en su aplicación y ha revelado algunas conclusiones interesantes:

Here’s what I’ve learned: <canvas> is not slow. In fact, I’ve been continually surprised by how fast it is — as long as you take care to do things right. Evan’s article mentions the «magical» sensation of instantaneous feedback; I invite you to play with the zoom slider on any Soundslice page (example) to experience this same magic, all drawn dynamically with <canvas>.

El texto completo se puede leer en su blog y es una lectura interesante para los que piensen utilizar canvas en sus aplicaciones.

.

Armada con un par de lenguajes de programación, un editor de audio, una impresora 3D y un tanto de tesón, Amanda Ghassaei ha encontrado una manera de convertir grabaciones digitalizadas en discos de 33rpm caseros. La calidad sonora de los resultados es algo escasa, a pesar de lo cual la pista de sonido sigue siendo identificable.

[…], the records have a sampling rate of 11kHz (a quarter of typical mp3 audio) and 5-6 bit resolution (less than one thousandth of typical 16 bit resolution). […]

Con todo, tanto la idea como el proceso me parecen interesantes. Usa Audacity para aumentar el volumen del audio y compensar posteriores pérdidas de nivel. Con ayuda de Python extrae la información que necesita desde ficheros WAV y la conforma, guardando el resultado en un fichero de texto. Tras esto, con un script en Processing, genera un fichero STL para poder pasárselo a la impresora 3D.

Los detalles, con algunos ejemplos, se pueden ver y oír en el artículo 3D Printed Record de Instructables.