-
dio_333
I would like to share with you my work from the past year on live drum transcription. There are patches for PD (linux, osx, win) and Max (osx and win).
I am using William Brent's library for feature processing, but I have also implemented externals for onset detection (using aubio), k-means online classifier(very useful for someone who wants to cluster vectors sequentially, without any prior training), and feature vecture averaging.
The patches and code are distributed under GPL license.http://smc-inesc.github.io/drumtranscription_pd/
http://smc-inesc.github.io/drumtranscription_maxmsp/Thanks to everyone in the list for your help! Some of the people here were really helpful (katjav,moog1). Thank you!
I realized that the github pages are sometimes down. So this is the actual project:
https://github.com/SMC-INESC/drumtranscription_pd -
dio_333
http://smc.inescporto.pt/research/demo_software/
The IBT beat tracker external for Pure Data is available for download in the Sound and Music Computing (University of Porto) webpage in "Research/Demos and Software". There are also versions for Max/MSP, Marsyas(C++) and SonicVisualiser, and of course the source code under GPL license.
-
dio_333
I am trying to build my first external and I was looking for some example that would use fft and windowing. I am trying to build something similar to bonk but using a different approach and some machine learning. I've looked at sigmund and hanning for windowing and trying to figure out. moog's and katja's externals were very helpful as well in understanding.
is there any other external that could give me some hints?
-
dio_333
hello!
I am trying to compile aubio pd externals, written by paul brossier from here: http://aubio.sourcearchive.com/documentation/0.3.2-2/aubiotempo~_8c-source.html
with Xcode 4.2 on mac os 10.7.I previously managed to compile several files which only had dependencies on m_pd.h.
Now I am including aubio.h and linking Header Search Paths, User Header Search Paths to the src directory where the aubio.h is located.
The project compiles ok and then when I try to use the object aubiotempo~ in pd I get this error:
Symbol not found: _aubio_tempo_do
Referenced from: /Applications/Pd-extended.app/Contents/Resources/extra/aubiotempo~.pd_darwin
Expected in: dynamic lookupI am not able to install aubio on this version of mac os when using macports because some libraries would not install. But, do I need aubio installed on my machine?
Thanks everyone!
-
dio_333
they claim that a linux sdk will be made available soon.
there is a max external:
https://github.com/akamatsu/aka.leapmotion
if everyone is happy with the general display, it should be easy to port it to pd
http://akamatsu.org/aka/wp-content/uploads/2012/12/aka.leapmotion.png -
dio_333
I might write an external for this. I don't know what exactly should I output. Because you have 2x5x3 values for tracking both hands. This gives you 30 values from the sensor!
-
dio_333
I doubt that it works better. tempo detection in discrete signals like midi is another different issue.
ibt and aubio were participating in mirex competitions and are more or less state of the art(at least ibt). there are a few algos which are better but there is no pd implementation.
http://www.music-ir.org/mirex/wiki/2012:MIREX2012_Resultsanyway, for audio at least and especially for non-pop music, beat-tracking is a difficult problem.
-
dio_333
there are a few "beat" trackers there which offer you tempo information
http://smc.inescporto.pt/research/demo_software/The IBT beat tracker external for Pure Data is available for download in the Sound and Music Computing (University of Porto) webpage in "Research/Demos and Software". There are also versions for Max/MSP, Marsyas(C++) and SonicVisualiser, and of course the source code under GPL license.
also check the aubio one
I managed to build an external for macosx. in linux you can use the pd-aubio library and you must have the aubio library installed:
http://puredata.hurleur.com/message-33998.html#p33998 -
dio_333
from what I know there are PD patches for this, but you need to have the stk library installed:
https://ccrma.stanford.edu/software/stk/classstk_1_1Sitar.html
http://ydegoyon.free.fr/software.html
Stksitar~/Stkdrone~ : indian music synthesis requiring STK library
( http://www-ccrma.stanford.edu/software/stk/ ).
Based on raggamatic/STK written by Perry R. Cook.previously discussed here: http://puredata.hurleur.com/sujet-3696-stk-library
-
dio_333
if anyone is still interested, I managed to have the aubio library compiled in the external on macosx. I wrote another external in which you can change the detection method, window, hop sizes and thresholds as described in paul brossier's phd thesis.
the usage is
aubioOnset~ hfc 512 128 -70 0.5 -
dio_333
are you using the 4.3..i compiled pd extended on ubuntu using the latest release from miller
Pd version 0.43-3 is available on http://crca.ucsd.edu/~msp/software.htm
or via git from sourceforge:
git clone git://pure-data.git.sourceforge.net/gitroot/pure-data/pure-data -
dio_333
I am posting the modified aubioonset for high frequency content onsets and with the threshold functioning (0.001-0.9 values). you need to compile it of course but I can provide the mac/linux externals for 32 bits if anyone needs them.
important edit!
I deleted the file because it had delay in detecting the onsets because I was calling the function to set the threshold every time each sample was processed. the threshold should be set somewhere at the beginning, anyway not while processing the audio because it can introduce latency -
dio_333
one more thing...I realized why it was not working for 64bits when I always got the error undefined symbol aubio_onset_do. It was because in the aubio source code I have aubio_onset instead of aubio_onset_do. It seems that Paul modified this and I have a older copy of aubio source code on my computer, even if I thought that I have a new one.
I had to rebuild the aubioonset because the threshold inlet didn't do anything and it should call the function aubio_onset_set_threshold(x->o,f);
There are many things missing from this pd-aubio library...I posted this just in case someone might need it someday if trying to compile the aubio library.
-
dio_333
thanks for sending me that! I think it also needed the libsamplerate and I finally decided to install everything with macports with 32 bit.
What I did was to edit the macports.conf file (in /opt/local/etc/macports/) and activate the build_arch line, seting it to 'build_arch i386'. One should also use this command "sudo port upgrade --enforce-variants whateverportlib +universal" for whatever libs for which macports claims that there are no 32bit versions.
of course, afterwards I copied the libs from /opt/local/lib to /usr/local/lib. if anyone knows a more elegant solution, please tell me.
anyway...thanks everyone, katja and moog especially!
I would mark this as SOLVED