.

Ben Frederickson, un desarrollador de software que vive en Vancouver, ha publicado un par de entradas en su blog sobre cómo calcular la similitud entre dos artistas en términos de distancia. Para ello hace uso de un conjunto de datos sacados de last.fm en 2008 para plantear y desarrollar distintos métodos.

En la primera entrada parte de un criterio de similitud sencillo: el número de usuarios que dos artistas tienen en común. Rápidamente identifica como problema que los grupos más populares los tendrán casi todos los usuarios, con lo que la métrica no resulta especialmente fiable. La solución más sencilla que propone es calcular el coeficiente de Jaccard, aunque también menciona el coeficiente de Sørensen–Dice y el coeficiente de Ochiai. Después explica cómo tratar el problema como uno geométrico, con sus beneficios y penalizaciones, para pasar a comentar y mostrar las ventajas de usar TF-IDF y, finalmente, Okapi BM25.

La segunda entrada se centra en el uso de factorización de matrices para reducir la dimensionalidad de los datos antes de calcular la similitud entre dos artistas. Partiendo de la descomposición en valores singulares para hacer análisis de semántica latente, pasa a explicar e implementar el método descrito en «Collaborative Filtering for Implicit Feedback Datasets».

Para el desarrollo ha usado python, acompañando los resultados de gráficos interactivos hechos con D3.js, lo que hace la lectura aún más interesante.

.

Veo el otro día en Hacker News una reseña de un proyecto denominado Pianette / “Sound Fighter”, cuya descripción abreviada es:

Transformamos dos pianos de pared en controladores para una Playstation 2 utilizando piezos adaptados, Raspberry Pi B+ y varias Arduino Uno, y creando un firmware específico en Python 3 para asociar un estilo clásico de tocar el piano a acciones de Street Fighter Alpha 3, incluyendo combos y cosas por el estilo.

Este resumen no hace justicia al trabajo que han realizado. También es cierto que se pueden tener opiniones bastante dispares sobre el resultado pero no deja de ser un proyecto interesante. Además, me recuerda un tanto a un diseño de camiseta que vi hace unos años.

También trae a la memoria el Tekken Piano [03m28s] visto en Geekologie hace algo más de un año, aunque este era un proyecto menos elaborado:

El piano envía una señal MIDI que es transferida a una Arduino. Según la señal, la Arduino dispara transistres que, a su vez, disparan las entradas en un PCB Paewang (el circuito impreso de un joystick). El Paewang está conectado a una Xbox360 (también lo puedes usar en una PS3).

Como precisaban en su momento en N2G, el juego es Tekken Tag Tournament 2 y el circuito salió de un Datel/Joytron Paewang Revolution.

Pero no son casos únicos.

Ambos proyectos tienen características en común con otro visto en Gamasutra a finales de 2013 denominado Doom Piano [01m33s]. Estuvo expuesto en la Eurogamer Expo 2013 y se presentó en el Virgin Media Game Space de Londres, siendo uno de sus organizadores co-autor del experimento. Según un mensaje en su cuenta de twitter el juego está “controlado por un piano, tres I-PAC y un montón de cableado.

.

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.