CLAM
De Musix
Contenido |
Introducción a CLAM
CLAM es un completo framework para hacer investigación y desarrollo sobre audio y música (esto también incluye aplicaciones para usuarios finales). Ofrece un modelo conceptual y herramientas para el análisis, la síntesis y el procesamiento de señales de audio. Tiene una interfaz muy amigable, es software libre, multiplataforma y esta escrito en C++ (en muchas de sus aplicaciones utiliza tiempo real).
A pesar de que tuvo su origen en la Universidad Pompeu Fabra de Barcelona, España, la documentación en español sobre este framework es escasa, asi que me decidí a hacer una pequeña introducción sobre las cosas básicas, pero con links (eso si, la mayoria en inglés) para el que quiera ir más allá. Pienso que le puede servir a más de uno para empezar.
Básicamente hay dos perfiles: el de usuario final (de las aplicaciones) y el de desarrolladores que quieran escribir sus propios programas sobre este framework.
En este momento se compone de 4 programas principales:
NetworkEditor
Es una aplicación que permite conectar módulos en forma de red de procesamiento al estilo pd Puredata (pero mucho más amigable), MaxMSP o Reaktor (o para los que usan matlab, tipo simulink). Estas redes corren en modo realtime con Jack o portaudio como backend.
Una de las características más interesantes es que esta red se puede exportar y después correr con una interfaz gráfica diseñada con TDesigner (ambos programas exportan a un xml que luego se corre con la aplicación Prototyper)
Recomiendo ver esta presentación: "Visual prototyping of audio applications"
Es decir, un usuario que no es programador puede armar complejos plugins o aplicaciones sin escribir una sola línea de código. También es muy útil para armar prototipos de futuras aplicaciones o desarrollos. En este momento se esta integrando con LADSPA, lv2 y se planea reforzar aún más la posibilidad de usar plugins externos (como un módulo más) dentro del *NetworkEditor* y vicerversa, usar estas redes como plugins en otras aplicaciones.
Para el que quiera empezar, recomiendo esto:
- NetworkEditor tutorial
- Jugar con las varias redes de ejemplo que están en el directorio 'example-data'
Annotator
Es un programa para hacer transcripciones, en el estilo de Sonic Visualizer. Muy potente y con características que lo hacen único.
Para conocer más:
- Annotator tutorial
- Annotator: reconocedor de acordes en canciones
- Artículo en linuxjournal: http://www.linuxjournal.com/node/1000239
- CLAM Music Annotator, chord analyzer
- CLAM, reconocedor de acordes
SMSTools
Un analizador de señales de audio en el estilo de wavesurfer que soporta diferentes tipos de visualización como spectogramas, y todas las derivadas del módelo Sinusoides + Residuo asi como trasnformaciones complejas basadas en este modelo (gender change, pitch-shifting, morph, etc) y muchas otras cosas más (ver tutorial).
Voice2MIDI
Convierte voz en MIDI. Esta comentado en este artículo de linuxjournal: http://www.linuxjournal.com/node/1000147/.
Desarrolladores/programadores
Para desarrolladores, sirve como entorno para realizar sus propias aplicaciones de forma fácil o como herramienta para hacer prototipos de sus futuras implementaciones.
Recomiendo:
- Empezar por la página wiki de desarrollo: http://clam.iua.upf.edu/wikis/clam/index.php/Devel
- Anotarse en la lista de desarrollo: http://clam.iua.upf.edu/mailinglist.html y unirse al canal #clam en freenode
- Leer estos tutoriales
- El código esta bastante bien documentado, se puede consultar la versión online.
Si uno quiere, puede aportar al proyecto mandando 'patchs' de código a los desarrolladores principales y hasta convertirse en 'developer' luego de haber mandado varios de ellos.
En fin, es un proyecto bastante grande y ambicioso. Incluso hay miles de desarrollos más sobre el mismo que no están en el 'paquete principal', pero me pareció útil dar un panorama general porque tal vez sea tan abarcativo que maree un poco para el que recién escucha algo de él.
Como ya dije, es multiplataforma y esta disponible para GNU/Linux (con paquetes para varias distribuciones), Windows y Mac.
Otro links interesantes
Paquetes en Musix
Para instalar todo CLAM:
apt-get install clam-annotator clam-annotator-examples clam-networkeditor clam-networkeditor-examples clam-smstools
sources.list:
deb ftp://musix.ourproject.org/pub/musix/deb/ ./

