[Clam-devel] [Fwd: about CLAM audio]

Pau Arumi parumi at iua.upf.edu
Wed Aug 8 04:03:28 PDT 2007


En/na Xavier Amatriain ha escrit:
> If anybody feels like answering... Note that he reports the doxygen doc 
> being down (I guess a side effect of
> Pau's re-structuring)

Your guess is right, fixed now.

Globot, thanks for reporting it.
Your questions are interesting so let's keep the thread in the
clam-devel ml (you might need to subscribe)


> -------- Original Message --------
> Subject:     about CLAM audio
> From:     globot <gglobot at gmail.com>
> Hi,
> 
> i am starting to use CLAM audio for my project, or more precisely, i am 
> porting the audio code from FMOD to CLAM cause FMOD Ex have bugs under 
> linux 64bits and can't handle real time processing.
> 
> I have tested my needs with the NetworkEditor, it was good with less 
> than 3ms of latency for a simple network: input microphone with two 3 
> bands filters (1 for a stereo output and the other for a mono output)
> 
> but when i start coding, i quickly encounter difficulties with the 
> documentation...

We are working on improving the documentation. The current fronts
are, programming how-tos in the wiki and better doxygen doc.
http://clam.iua.upf.edu/wikis/clam/index.php/Main_Page
Feedback on concrete lacks of documentation is very important.

> so here my question is simple, is there a way to seek into a audio file 
> ? (i have a scroll barre to seek into the file like a lot of audio 
> player do)
> I can't find a way to set the position in frame or ms of the "reader" 
> (like multiChannelAudioFileReader)
> I can't find a function that will tell me where the reader is in the 
> file (in frames or ms)

This is a missing feature that we actually plan to add soon since
we needed it for Annotator (to use a network for playing audio file
and descriptors-audiolization, so we need to sync. the playhead
with the network audio source.).

However I can't say exactly when we will add this feature. So you
might be interested on implement it yourself and do a nice
contribution. We'll follow up and provide feedback.

First idea: I think the FileReader processings should need an
in-control with the seek time (samples or ms) and an out-control
with the playing time. We use libsndfile for most of the audiofile
formats and I guess it implements the seek functionality.

BTW, there is a related refactoring to-do in this area: Drop
MonoAudioFileReader since it can be the _default_
MultiChannelAudioFileReader (with a simpler name).


> 
> CLAM is a very good library, the only problem is the documentation that 
> is generated (lake of a lot of information and explaination).
> 
> --------------------------------------------------------
> ps: since yesterday, the doxygen doc on the web site can't be accessed  
> => "non- existant file"

Solved. Thanks for noticing.

> pps: is there a way to generate code from the NetworkEditor ? I have 
> only seen the graphical element for QT4 but nothing about audio processing.

We don't generate code from the NE (though maybe we'll do at some
point). However you can easily embed the NE defined clamnetworks in
any binary (including plugins). It's really simple. You can see an
example in NetworkEditor/src/OfflinePlayerMain.cxx
To have a real-time app just instantiate a JackNetworkPlayer (or
PortAudioNP) instead of the FreewheelingNetworkPlayer.

This article about visual prototyping with clam might also be of
interest:
http://www.kgw.tu-berlin.de/~lac2007/papers/lac07_garcia_arumi_amatriain.pdf

Feel free to explain what you're doing with Clam :)
Cheers!

pau




More information about the clam-devel mailing list