[Musix-usuarios] Introducción a CLAM

Hernán Ordiales hordiales en gmail.com
Jue Jul 12 19:36:17 CEST 2007


 Introducción a CLAM <http://audiores.uint8.com.ar/blog/?p=111>

CLAM <http://clam.iua.upf.edu/> 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<http://es.wikipedia.org/wiki/Software_Libre>,
multiplataforma y esta escrito en C++ (en muchas de sus aplicaciones utiliza
tiempo real).

A pesar de que tuvo su origen en una Universidad de Barcelona<http://upf.edu/>,
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<http://iua-share.upf.es/wikis/clam/index.php/Network_Editor_tutorial>
*
Es una aplicación que permite conectar módulos en forma de red de
procesamiento al estilo pd <http://es.wikipedia.org/wiki/Puredata> (pero
mucho más amigable), MaxMSP<http://en.wikipedia.org/wiki/Max_%28software%29>o
Reaktor <http://es.wikipedia.org/wiki/Matlab> (o para los que usan matlab,
tipo simulink <http://en.wikipedia.org/wiki/Simulink>). Estas redes corren
en modo realtime con
jack<http://en.wikipedia.org/wiki/JACK_Audio_Connection_Kit>o
portaudio <http://www.portaudio.com/> 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
QTDesigner<http://trolltech.com/products/qt/features/designer>(ambos
programas exportan a un xml que luego se corre con la aplicación
*Prototyper*)

Recomiendo ver estas slides: "Visual prototyping of audio applications
<http://clam.iua.upf.edu/download/misc/lac07_slides_Garcia_Arumi_Amatriain.pdf>
"

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
<http://www.ladspa.org/>, lv2<http://lv2plug.in/>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<http://iua-share.upf.es/wikis/clam/index.php/Network_Editor_tutorial>
   - Jugar con las varias redes de ejemplo que están en el directorio
   'example-data'

*Annotator<http://iua-share.upf.es/wikis/clam/index.php/Music_Annotator_tutorial>
*
Es un programa para hacer transcripciones, en el estilo de Sonic
Visualizer<http://www.sonicvisualiser.org/>.
Muy potente y con características que lo hacen único.

Para conocer más:

   - Annotator tutorial<http://iua-share.upf.es/wikis/clam/index.php/Music_Annotator_tutorial>
   - Annotator: reconocedor de acordes en
canciones<http://www.genbeta.com/2006/05/18-clam-annotator-reconocedor-de-acordes-en-canciones>
   - Artículo en linuxjournal <http://www.linuxjournal.com/node/1000239>
   - CLAM Music Annotator, chord
analyzer<http://www.musicgadgets.net/2006/05/09/clam-music-annotator-chord-analyzer>

*SMSTools <http://iua-share.upf.es/wikis/clam/index.php/SMSTools_tutorial>*
Un analizador de señales de audio en el estilo de
wavesurfer<http://www.speech.kth.se/wavesurfer/>que soporta diferentes
tipos de visualización como spectogramas, y todas las
derivadas del módelo Sinusoides +
Residuo<http://audiores.uint8.com.ar/blog/?p=105>asi como
trasnformaciones complejas basadas en este modelo (gender change,
pitch-shifting, morph, etc) y muchas otras cosas más (ver
tutorial<http://iua-share.upf.es/wikis/clam/index.php/SMSTools_tutorial>
).

*Voice2MIDI*
Convierte voz en MIDI. Esta comentado en este artículo de
linuxjournal<http://www.linuxjournal.com/node/1000147/>
.

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 "Constructing and playing a simple network
   <http://clam.iua.upf.edu/wikis/clam/index.php/Constructing_and_playing_a_simple_network>",
   "Loading and playing a simple
network<http://clam.iua.upf.edu/wikis/clam/index.php/Loading_and_playing_a_simple_network>",
"Creating
   a minimal processing
object<http://clam.iua.upf.edu/wikis/clam/index.php/Creating_a_minimal_processing_object>"
   (hay varios más)
   - El código esta bastante bien documentado, se puede consultar la versión
   online <http://clam.iua.upf.edu/doc/CLAM-devel-doxygen/>

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 ( ver más y
descargar<http://clam.iua.upf.edu/download.html>
)

Otro links interesantes:

   - Página principal <http://clam.iua.upf.edu/>
   - Wiki <http://clam.iua.upf.edu/wikis/clam/index.php/Main_Page>
   - Approaching CLAM, where to
start<http://clam.iua.upf.edu/wikis/clam/index.php/Approaching_CLAM>
   - Artículo en linuxjournal <http://www.linuxjournal.com/node/1000239>






-- 
Hernán
http://h.ordia.com.ar
GnuPG: 0xEE8A3FE9
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: /pipermail/musix-usuarios/attachments/20070712/c242a146/attachment-0001.html


Más información sobre la lista de distribución Musix-usuarios