AudioResearchBlog

Covering all audio related stuff with special focus on programming and digital signal processing

Archive for the 'libraries' Category

Interactive CLAM programming (with python)

Posted by hordia on 3rd August 2008

Recently I been playing with python bindings for the CLAM library. Here is a demo demonstrating how to interactively build a network and play a file using the IPython shell:


 
Related scripts: playfile.py fft_example.py.
 
PyCLAM source. INSTALL.


, , , , , , , , , , ,

Posted in audio, signal processing, free software, programming, GPL, c++, libraries, python, projects, English, CLAM, ideas | No Comments »

LADSPA versions of my recent simple distortions

Posted by hordia on 17th December 2007

After prototype different kind of simple distortions in NetworkEditor i managed to port all them to ladspa plugins. Despite the fact that the task was less difficult than i had expected at first, prototype with CLAM first worth a lot. Probably, if i had begun coding directly to ladspa source, reach the same status would be taken to me 10 or more times more. I think also was very interesting as “development process”, instead of modeling for example with matlab, you could easy modeling (among other things) in CLAM, and then, if you want/need make your final product by your own.

More, the other day i learned that is already possible to compile ladspa plugins directly from CLAM networks… very cool! Though i think this feature is not completely ready yet and i’m still have to dig in it, i don’t think that i have lost time porting manually because now i have a better knowledge and understanding about ladspa specification that for sure will be useful to work with this (for me “new”) feature, that probably needs some fixes.

About the ladspa plugins programming, i just downloaded the sdk from ladspa.org, read some of the ladspa.h file and some basic examples (the ones from sdk) and that was enough to handle the basis. Ah, i had to ask for some ladspa ID’s for my plugins here: ladspa at muse.demon.co.uk

On the other hand i’ve forwarded my distortion examples to musix distro folks and some of them indeed have tried it and made a couple of jack-rack presets and audio demos. More info about this here: DSP-es#Presets, ogg demos and jack-rack presets, and patchs review.

Next step (in my TODO list): produce ladspa binaries directly from CLAM networks.

I have uploaded these plugins here: disthordian ladspa plugins.


, , , , , , , , , ,

Posted in audio, algorithms, effects, free software, programming, c++, libraries, English, CLAM, plugins, specifications | No Comments »

My presentation at the “VI Jornadas de Acústica, Electroacústica y áreas vinculadas (CADAE)”

Posted by hordia on 27th October 2007

Yesterday I had the opportunity to give a talk about my recent work in the google summer of code at the VI Jornadas de Acústica, Electroacústica y áreas vinculadas (CADAE). The given time was short, so was a little hard to explain all in only 20 minutes, but seems that all went well (at least seemed like the people). Here my presentation (in Spanish):

 

Transformaciones espectrales en tiempo real para CLAM

 

Download: Transformaciones espectrales en tiempo real para CLAM.pdf

 


, , , , , , , , , , , , , , , , , ,

Posted in audio, acoustics, algorithms, effects, signal processing, free software, programming, GPL, c++, libraries, midi, English, CLAM, GSoC2007, GUI, talks, dissertation, events, conferences | No Comments »

Presentación en las VI Jornadas de Acústica, Electroacústica y áreas vinculadas (CADAE)

Posted by hordia on 27th October 2007

Ayer tuve la oportunidad de presentar mi trabajo realizado para el google summer of code en el marco de las VI Jornadas de Acústica, Electroacústica y áreas vinculadas (CADAE), les dejó la presentación de la misma:

 

Transformaciones espectrales en tiempo real para CLAM

 

Download: Transformaciones espectrales en tiempo real para CLAM.pdf


, , , , , , , , , , , , , , , , , , , , , ,

Posted in audio, acoustics, algorithms, effects, signal processing, music, free software, programming, GNU/Linux, GPL, open source, c++, libraries, midi, python, projects, Castellano, CLAM, GSoC2007, GUI, talks, dissertation, conferences | No Comments »

Introducción a CLAM

Posted by hordia on 12th July 2007

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 una Universidad 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 (pero mucho más amigable), MaxMSP o Reaktor (o para los que usan matlab, tipo simulink). Estas redes se ejecutan en tiempo real y se pueden correr con jack, portaudio, LADSPA o VST 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 (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:

 
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:

 
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.

 
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:

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)

Otro links interesantes:


, , , , , , , , , , , , , , , , , , , , ,

Posted in audio, algorithms, effects, signal processing, music, free software, programming, GNU/Linux, GPL, c++, noise, libraries, midi, publications, projects, Castellano, CLAM, standards, speech, GSoC2007, GUI, library | No Comments »

Starts a ’summer’ of code for me

Posted by hordia on 17th April 2007

Last week I got accepted into google’s summer of code program, so I will be with this on summer… ehm s/summer/winter here… ;-)

I’m very happy with that!

Google granted 6 students to CLAM, so it’s a big success!!! All applications are listed here.

The scope of my app may vary (or change totally! see below) because I still have to have a meeting with my mentor and adjust some details. Indeed seems that maybe could be another of my gsoc’s applications. Beyond that, of course it will be released under GPL.

ATM, it will be:

Title: Educative Vowel Synthesizer
Mentor: Pau Arumí Albó
License: GNU General Public License (GPL)
Abstract: The main goal of this project is to build an application that let the user to synthesizing different vowels by placing a point within the vowel triangle, and the reverse, given an input vowel from the microphone place a dot on the triangle. For example, this is useful to students who can check their pronunciation. This includes displaying the mouth position for the vowel, visualizing the spectral peaks (and identify the effect), changing the pitch and vocal track characteristics.
A teacher could limit the set of vowels to the ones used for a particular language such as Catalan or English, so that the students just see the relevant ones for the exercise. Also includes some didactict games about identify the vowels by his spectral content.

I really don’t know ATM if it’s going to change or not, but that is what the gsoc page says so far ;-)

CONFIRMED: it’s going to change, maybe something with real time sms transformations and real time voice2midi, news soon… here: “My GSoC2007 application: Real-time spectral transformations

My mentor will be Pau Arumí Albó, one of the main developers of CLAM project and part of Universitat Pompeu Fabra (Barcelona, Spain). I meet him recently on irc channels and mailing lists and he seems very kind. He’s a free software enthusiastic and teachs software engineering. He also developed other free software like testfarm and MiniCppUnit and has many publications. Recently, for example, he was at LAC2007 conference with David García Garzón both showing the work: “Visual prototyping of audio applications“.

I had heard some about CLAM before this GSoC (i had played a little with it too) and indeed starting developing with was in my (long)ToDo. But i didn’t knew that they were open to new developers too, so as fast i get know about its GSoC participation (the bad thing was that was not much before the deadline) i had no doubts about try to apply. For luck, google extended the deadline a little and the time was enough to present (’at least only’) 4 app’s, but i had presented 20 (GSoC limit!) if i had enought time. That time i was thinking, researching about CLAM, imagining, reading some source code and documentation and writing proposals of course, hehehe. Seems that i overstating but is true :-) I had discarded from first the idea of apply to a different organization.

My first goal was to have a good opportunity to develop to or under this framework and even I was decided to keep close to the project beyond the results. I came here to learn a lot and give my best. They gave me a warm welocome from the beginning. I wish to be able continue developing to CLAM after completing GSoC (and completing it well of course!).

Some days ago, I already introduced me to the CLAM community here and also I have become member of his planet! Great!

And last but not least i want to express all my thanks for the opportunity to the entire CLAM development group! thanks!!!


, , , , , , , , , , ,

Posted in audio, algorithms, programming, GNU/Linux, GPL, c++, libraries, projects, English, CLAM, speech, GSoC2007 | No Comments »

Hello CLAM!

Posted by hordia on 11th April 2007

Hi all! I’m Hernán Ordiales, this is my first post to Planet CLAM but not my first post at all, I’m blogging since last year but mostly in spanish

what to say about me?
I live in Buenos Aires, Argentina. Among other things, I love programming, audio and music. I’m studying (mainly)Electronics Engineering and Computer Engineering at FIUBA and for luck (and my fun) I’ve a work in a project related with audio, programming and GNU/Linux. I also have interest in communications (networking, protocols, etc) and all kind of digital systems.

I enjoy very much using/developing under Free Software (of course GNU/Linux is my OS of choice) and I also help with the linux audio distribution called Musix GNU+Linux.

After a long time of follow Xavier Amatriain blog, last weeks I’m started to get involved with CLAM and with every step I’m discovering a lot of new wonderful things and designs that it had never seen by me in another audio projects.
I expect to contribute to and/or develop under CLAM ASAP. I think I’ll start blogging about my progress or new things developed with this framework soon (among other things).

For those who still don’t know much about CLAM project, I’d recommend you:

Here, the “magic sentence” to start developing:

svn co http://iua-share.upf.edu/svn/clam/trunk clam 

I also encourage you suscribe to user & dev mailing lists, and log in #clam channel at freenode.net!

See you!


, , , , , , , , , , , , , , , ,

Posted in audio, algorithms, effects, signal processing, music, free software, programming, GPL, c++, libraries, midi, publications, projects, English, CLAM, GSoC2007, sound | 1 Comment »

Repercusiones de la LAC2007 y un nuevo MusikMesse

Posted by hordia on 29th March 2007

Algunos ecos de lo que fue LAC2007:

Parece que todo el “streaming recolectado” va a estar disponible para bajar en esta dir: link.

Por otra parte, estos días (del 27 al 31 de marzo) se esta llevando a cabo en Frankfurt, Alemania, la exposición (creo más grande del mundo) de instrumentos, software y hardware musical y accesorios denominada Musikmesse.

Conclusión: LAC2007 en Berlin, Musikmesse en Frankfurt, parece que todo pasa por Alemania…


, , , , , , , , , , , , , , , , , , , , , , , , ,

Posted in audio, algorithms, effects, signal processing, free culture, music, free software, programming, instruments, GNU/Linux, GPL, open source, c++, hardware, codecs, libraries, formats, alsa, midi, lutheria, python, publications, Castellano, talks, events, conferences | No Comments »

LAC2007 - 5tas jornadas internacionales sobre linux y audio

Posted by hordia on 5th March 2007

Del 22 al 25 de marzo de este año se desarrollaran las 5tas jornadas de Linux Audio Conference (LAC) en Berlin, Alemania.

LAC2007 tiene como objetivo reunir a desarrolladores y usuarios de linux y software de audio open source con el objetivo de compartir información y discutir sobre proyectos y música.

Puntos más importantes:

  • Charlas públicas y workshops
  • Conciertos
  • Tutoriales
  • Presentación de papers
  • Audio en vivo/streaming de video
  • Entrada gratuita a todos los eventos (excepto para los conciertos)

(info de prensa del evento aqui)

El programa detallado del evento aca (por días)

Títulos de las charlas y workshops:

  • A Tetrahedral Microphone Processor for Ambisonic Recording
    Fons Adriaensen
  • Renewed architecture of the sWONDER software for Wave Field Synthesis on large scale systems
    Marije Baalman, Simon Schampijer, Torben Hohn, Thilo Koch, Daniel Plewe, Eddie Mond
  • Music Composition through Spectral Modeling Synthesis and Pure Data.
    Edgar Barroso
  • A Software-based Mixing Desk for Acousmatic Sound Diffusion
    André Bartetzki
  • pnpd, a new audio synthesis engine with a dataflow language
    Tim Blechman
  • openSUSE JAD - Tutorials for installation and producing music
    Michael Bohle
  • Integrating Documentation, End-User Support, and Developer Resources using *.linuxaudio.org
    Ivica Ico Bukvic, Robin Gareus, Daniel James
  • Audio Metering and Linux
    Andres Cabrera
  • Qtractor - A Audio/MIDI multi-track sequencer
    Rui Nuno Capela
  • Compiling Simulink Models as SuperCollider UnitGenerators
    Martin Carlé, Sönke Hahn
  • Python for Sound Manipulation - A versatile creation environment Tutorial
    Renato Fabbri and Fábio Furlanete
  • Developing Shared Tools: a Researchers Integration Medium Workshop
    Fábio Furlanete and Renato Fabbri
  • Visual prototyping of audio applications (CLAM)
    David Garcia, Pau Arumi, Xavier Amatriain
  • Interfacing Pure Data with Faust
    Albert Gräf
  • Faust Hands On Demo
    Yann Orlarey and Albert Gräf
  • Proposal for an XML format for Time, Positions and Parts of Audio Waveforms
    Jens Gulden and Hanns Holger Rutz
  • JJack: Using the JACK Audio Connection Kit with Java
    Jens Gulden
  • Model Driven Software Development with SuperCollider and UML
    Jens Gulden
  • Offener Schaltkreis, An interactive Sound Installation
    Christoph Haag, Martin Rumori, Franziska Windisch, Ludwig Zeller
  • Stereo, Multichannel and Binaural Sound Spatialization in Pure-Data
    Georg Holzmann
  • Canorus - a music score editor - Workshop
    Reinhard Katzmann, Matevz Jekovec
  • Buzztard Music Production Environment Demo
    Stefan Kost and Thomas Wabner
  • The One Laptop Per Child (OLPC) Audio Subsystem
    Jaya Kumar
  • Musical Signal Scripting with PySndObj
    Victor Lazzarini
  • Stochastic Composition with SuperCollider
    Sergio Luque
  • Beyond open source music software: extending open source philosophy to the music with CODES
    Evandro Manara MILETTO, Luciano Vargas FLORES, Daniel Eugenio KUCK, Marcelo Soares PIMENTA and Jerome RUTILY
  • pure-dyne
    Aymeric Mansoux, Antonios Galanopoulos and Chun Lee
  • Getting Linux to produce Music fast and powerful
    Hartmut Noack
  • Firewire Audio on Linux - Demo
    Pieter Palmers
  • The Linux MIDI Studio - A workshop with Dave Phillips
    Dave Philips
  • From resistors to samples: Developing open hardware instruments using Arduino, Pure Data and Processing - Workshop
    Recursive Dog collective (Dolo Piqueras, Emanuele Mazza and Enrique Tomás)
  • Video Editing with the Open Movie Editor
    Richard Spindler
  • Developing LADSPA Plugins with Csound
    Rory Walsh and Victor Lazzarini
  • Real-Time Multiple-Description Coding of Speech Signals
    Jan Weil, Kai Clüver, and Thomas Sikora
  • blue: a music composition environment for Csound
    Steven Yi
  • Livecoding with SuperCollider
    Alberto de Campo

Link a las descripciones de cada uno de los papers: abstracts

Update:

Update 2:
Hay streaming de audio y video en tiempo real de todas las conferencias y conciertos (luego también estará en diferido)



, , , , , , , , , , , , , , , , , , , , ,

Posted in audio, acoustics, algorithms, effects, signal processing, music, free software, programming, GNU/Linux, open source, c++, codecs, libraries, midi, python, publications, Castellano, CLAM, talks, events, conferences | No Comments »

Scripts para procesar masivamente con SoX

Posted by hordia on 24th February 2007

SoX (Sound eXchange) es un conjunto de comandos muy potentes para procesar archivos de audio. Estos resultan tan diversos que normalmente esta herramienta se hace conocer como “la navaja suiza de las herramientas de sonido”.

Entre otras cosas, permite conversión entre formatos, aplicar efectos (por ejemplo distintos tipos de filtros), resamplear, grabar, reproducir, etc.

Otra cosa curiosa que tiene es que estas funcionalidades también estan disponibles como biblioteca (denominada libst). Se trata de una biblioteca estática que puede ser usada desde otras aplicaciones.

Recientemente hice algunos scripts para Musix que valiéndose de esta herramienta convierten en forma masiva de formato y resamplean desde el menú contextual de konqueror (ver mi otro post).
Los .desktop hay que agregarlos en “~/.kde/share/apps/konqueror/servicemenus/” para que este solo disponible para un usuario y en “/usr/share/apps/konqueror/servicemenus/” para que lo este para todos los usuarios del sistema. También hay que editar los .desktop con el path correcto donde van a estar ubicados los .sh, nada más.

Tres tienen acciones sobre directorios, convierten todo lo que tenga extensión mp3 o wav (según se elija) dentro del directorio a wav 44kHz o 48kHz y hay uno que actua sobre archivos individuales mp3 convirtiendolos a wav.

Se pueden hacer muchas variaciones de todo esto y es aplicar la misma idea.

(bajar conv_masiva_sox.tar.gz)

Otros ejemplos:

Grabar lo que entra por la entrada de línea: rec -c 2 -r 44100 -s w my_file.wav

Resampleo (resamplea a 44100Hz): sox test.wav -r 44100 test_44100.wav resample

Cambiar el bitrate a 16bits: sox test.wav -w test_out.wav

Convertir a PCM: sox test.wav -u -w test_44100_pcm.wav

Pasa bajo (frecuencia de corte): sox test.wav test_LP.wav lowpass 1000


, , , , , ,

Posted in audio, free software, GNU/Linux, codecs, libraries, formats, Castellano | No Comments »

 
Cerrar
Enviar por Correo