Hi Paul,<br /><br />Thanks a lot for your hard work! What you are doing has already saved me plenty of time in area of onset detection. Can't say much about other parts of aubio, but this one performs great in 0.4.0. <br /><br />Using it with python is quite easy and blazingly fast thanks to implementation in C. Only remark I would have is to put some short description on "interfaces" to major blocks of aubio functionality. Just a moment ago I tried to figure out why I could not calculate 'mfcc' provided a numpy array, i.e.:<br /><br />
<style type="text/css">
p, li { white-space: pre-wrap; }
</style>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">m = aubio.mfcc(win_s, n_filters, n_coeffs, rate)</p><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">m(my_sample.astype('float32')) # throws ValueError: input array should be float32</p><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;"><br /></p><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">... while it seems it expects phase vocoder object (perhaps obvious for more competent user). I guess that's because 'mfcc' is based on short-term power spectrum of a sound and phase vocoder will do FFT? Anyway, nothing that cannot be figured out with given examples and source code. Must say these are of a great help in using aubio.</p><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;"><br /></p><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;"><br /></p><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">Thanks again!</p><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">Lucas<br /></p><br /><span>On 08/12/13, <b class="name">Paul Brossier </b> <piem@piem.org> wrote:</span><blockquote cite="mid:20131208192737.GB16751@coconut.piem.org" class="iwcQuote" style="border-left: 1px solid #00F; padding-left: 13px; margin-left: 0;" type="cite"><div class="mimepart text plain">Hi all!<br /><br />Finally, I have just tagged and published aubio-0.4.0~beta1.<br /><br />This can be considered as a release candidate before releasing the final<br />release, 0.4.0.<br /><br />Please download it and test it thoroughly!<br /><br />  <a href="http://aubio.org/pub/aubio-0.4.0~beta1.tar.bz2" target="l">http://aubio.org/pub/aubio-0.4.0~beta1.tar.bz2</a><br /><br />Here are the relevant ChangeLog entries:<br /><br />  * Overdue: After more than five years of development behind the curtain,<br />  time has come to release a new version of aubio.<br /><br />  * General: The library has been completely revised since 0.3.2. The API has<br />  seen a major clean up, and has been thoroughly tested. The following list of<br />  changes is not exhaustive.<br /><br />  * Memory management: allocation and freeing of memory has been optimized in<br />  many ways. Several memory leaks and out of bound access have been fixed.<br /><br />  * Optimization: the FFT, central to most algorithm, can now be computed<br />  using different optimized algorithms, depending on what is available on your<br />  platform (FFTW, Ooura, or vDSP). Other simple optimization tricks are<br />  included. Most can be deactivated by configuring the build accordingly.<br /><br />  * python/: The python interface has been completely rewritten to use numpy C<br />  interface, making the aubio python module order of magnitudes faster than<br />  the previous version. Several demos and tests are included.<br /><br />  * src/: source and header files are now organized in sub-directories.<br /><br />  * src/io/source.h: new source readers can now use any or all of libav,<br />  CoreAudio, and libsndfile. This means that aubio can now easily read most<br />  uncompressed and compressed formats. Compiled with libav, aubio can also<br />  read audio from video files, and over the network.<br /><br />  * src/io/sink.h: a new sink object lets you write wav files with any number<br />  of channels, at any samplerate, using libsndfile or CoreAudio.<br /><br />  * src/onset, src/tempo/, src/pitch: the different methods for onset, tempo,<br />  and pitch extraction have seen many bug-fixes and optimizations.<br /><br />  * src/spectral/specdesc.h: new onset distances and statistical measures have<br />  been added.<br /><br />  * src/spectral/filterbank.h: new filter bank to compute the energy in any<br />  custom-defined frequency bands.<br /><br />  * src/spectral/mfcc.h, examples/aubiomfcc.c: a standard implementation of<br />  the Mel-Frequency Cepstrum Coefficients algorithm has been added.<br /><br />  * src/temporal/{a,c}_weighting.h: standard implementation of the C-weighting<br />  and A-weighting pre-processing filters are now provided for most commons<br />  sampling rates.<br /><br />  * src/synth/wavetable.h, src/synth/sampler.h: provide basic ways to generate<br />  some sounds.<br /><br />  * src/fvec.h: fvec_t, the vector object central to most aubio algorithms, is<br />  now single channel. This simplifies the code of each algorithm greatly.<br /><br />  * src/lvec.h: lvec_t provides a double precision vector, required for some<br />  operations to avoid floating point overflow<br /><br />  * src/fmat.h: fmat_t provides a single precision matrix, useful for<br />  multi-channel operations and to some algorithms such as the spectral filter<br />  bank.<br /><br />  * examples/: several new options, including new programs, have been<br />  included. Refer to the documentation for details.<br /><br />  * tests/: several tests and examples programs have been added. This should<br />  be a good place to look at to understand how to use aubio.<br /><br />  * doc/web.cfg: a simplified Doxygen configuration produces a simpler html<br />  documentation.<br /><br />  * doc/*.txt: the manpages have been rewritten for txt2man.<br /><br />  * Build system: the build system has been switched from autotools/automake<br />  to waf. Type './waf' or see README.md for instructions on how to use waf.<br /><br />The final version will follow in a few days.<br /><br />Any comments and improvements welcome.<br /><br />Best wishes,<br />Paul<br /><br />_______________________________________________<br />aubio-user mailing list<br />aubio-user@aubio.org<br /><a href="https://lists.aubio.org/listinfo/aubio-user" target="l">https://lists.aubio.org/listinfo/aubio-user</a><br /></div></blockquote>