[Clam-devel] formant extractor [PATCH]es

Pau Arumi parumi at iua.upf.edu
Thu Aug 2 05:00:46 PDT 2007


En/na abe kazemzadeh ha escrit:
> Hi All,
> 
> Here are patches that I"ve been working on
> 
Hi Abe,
I've just commited all you code (revision 10572).
But _caution_: not as it was in the patch. We can now take
advantage  of clam plugins and keep your code separated from the
main library. Afterwards we can decide to merge it into clam libs.

So do a svn up, change dir to CLAM/plugins/speech
and do scons (will ask for clam_prefix and prefix options)
then export CLAM_PLUGIN_PATH=. or absolute path to plugins/speech/
and start NetworkEditor (../../../NetworkEditor/NetworkEditor)
You'll realise that FormantExtractor appears on the CLAM Plugins
category.

In order to keep you changes separated I had to copy and rename the 
following classes:
  - AbeLPC_Autocorrelation
  - AbeLPModel
Eventually, after more review we'll merge them with those files in 
CLAM.

Actually this experiment-on-renamed-files could be considered a
general development pattern. The important thing here is never have
duplicated class names or file names.

I tried to run the example, but jackd kicks NE out. Does it works
for you? Have you tried with jack?

Cheers!
pau





> Polynomial_new_class.patch
> * root solving class Polynomial.*xx
> * now using std::vector instead of CLAM::Matrix
> * using float.h
> 
> LPModel_add_ToRoots.patch
> * member function 
> to LP model that calls the root solving function of the Polynomial class
> 
> FormantExtractor_for_NetworkEditor.patch
> *a network editor processing that outputs a SpectralPeakArray of formants
> 
> ProcessingTree_register_FormantExtractor.patch
> *registers the FormantExtractor processing in the Network Editor.
> (the attached clamnetwork files demo it).
> 
> One thing that I wanted to get feedback on for a possible future 
> refactoring of the root solving functionality.  Right now it's 
> implemented as a function call, but the more I get familiar with clam 
> methodology, it seems like it would be very clam-ish/clammy  to do it as 
> a processing, where the data in would be a polynomial and the output 
> would be an array of roots.  However, maybe this is overkill and it 
> makes more sense to just keep it as a member function.  
> 
> Thanks for any feedback,
> Abe
> 
> PS, when I was running scons in the test directory, I had compiling 
> problems, I think b/c of cppunit (the original error is
> scons: Reading SConscript files ...
> Package cppunit was not found in the pkg-config search path.
> Perhaps you should add the directory containing `cppunit.pc'
> to the PKG_CONFIG_PATH environment variable
> No package 'cppunit' found
> scons: done reading SConscript files.
> scons: Building targets ...
> g++ -DCLAM_FLOAT -DUSE_PTHREADS=1 -DUSE_XERCES=1 -DCLAM_USE_XML 
> -DUSE_LADSPA=1 -DUSE_FFTW=1 -DUSE_SNDFILE=1 -DUSE_OGGVORBIS=1 
> -DUSE_MAD=1 -DUSE_ID3=1 -DUSE_ALSA=1 -DUSE_JACK=1 -DUSE_PORTAUDIO=1 
> -DWITH_MAD=1 -DWITH_VORBIS=1 -O3 -fomit-frame-pointer -g -Wall 
> -DTEST_DATA_PATH="\"/home/abe/projects/clam/clam-test-data\"" 
> -DCLAM_MODULE="\"tests\"" -I/usr/local/include -I/usr/local/include/CLAM 
> -I/usr/local/include -IFunctionalTests/include -IUnitTests/CommonHelpers 
> -IUnitTests -IFunctionalTests/CommonHelpers -IFunctionalTests/include 
> -IFunctionalTests/include -c -o 
> FunctionalTests/ProcessingTests/TestMultiChannelAudioFileReader.o 
> FunctionalTests/ProcessingTests/TestMultiChannelAudioFileReader.cxx
> FunctionalTests/ProcessingTests/TestMultiChannelAudioFileReader.cxx: In 
> member function `void 
> CLAMTest::MultiChannelAudioFileReaderFunctionalTest::testConfigure_DefaultChannelSelection_PortNumberIsOK()':
> FunctionalTests/ProcessingTests/TestMultiChannelAudioFileReader.cxx:161: 
> error: no matching function for call to `assertEquals(int, ptrdiff_t, 
> CppUnit::SourceLine, const char[1])'
> FunctionalTests/ProcessingTests/TestMultiChannelAudioFileReader.cxx: In 
> member function `void 
> CLAMTest::MultiChannelAudioFileReaderFunctionalTest::testConfigure_ManualChannelSelection_PortNumberIsOK()':
> FunctionalTests/ProcessingTests/TestMultiChannelAudioFileReader.cxx:215: 
> error: no matching function for call to `assertEquals(int, ptrdiff_t, 
> CppUnit::SourceLine, const char[1])'
> scons: *** 
> [FunctionalTests/ProcessingTests/TestMultiChannelAudioFileReader.o] Error 1
> scons: building terminated because of errors.
> 
> I couldn't find cppunit.pc on my computer (I also tried installing 
> several cppunit version, 1.10.2 and 1.12.0).  I also tried specifying 
> different cppunit-prefix's to scons...  Anyone have some idea of what 
> might be wrong?
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> Clam-devel mailing list
> Clam-devel at llistes.projectes.lafarga.org
> https://llistes.projectes.lafarga.org/cgi-bin/mailman/listinfo/clam-devel





More information about the clam-devel mailing list