[HIRING] create an audio analysis plug-in simply mirroring the functionality of RhythmExtractor2013 function

in hiring •  4 years ago  (edited)

Rhythm Extractor

I am looking to have someone create a relatively-straightforward audio plug-in (64-bit Windows, preferably Mac-compatible as well) that simply mirrors the functionality of the RhythmExtractor2013 algorithm from the Essentia C++ library. If you are able to use that library, then all the hard work should be done for you and it would only be a simple matter of formatting the output to that of an audio plug-in.

  • The plug-in will accept 1 audio input, same as the RhythmExtractor2013 function.
  • The values derived for confidence and bpm will be streamed out as audio signals from audio outputs 1 and 2 respectively. Meaning, signals steady at those values, changing only when those values change (yes, it won't be very nice to listen to, but that's not what they will be used for).
  • If there is no audio input (== 0.0 or very close to it) both outputs should stream an arbitrary default value of -9.0.
  • All 5 of the Outputs mentioned in the RhythmExtractor2013 reference will need to be displayed on the UI.
  • confidence and bpm will need to be applied to and associated with named parameters in the plug-in. I will need clarification on the exact format all of the Outputs are given in, but it looks like ticks, estimates and bpmIntervals are lists and would not need parameter associations.
  • All 3 of the Parameters mentioned in the reference should also be user-selectable settings on the UI, as well as named parameters.
  • An option to have the bpm undergo a quick conversion before it's applied to the output signal or parameter. When enabled, the conversion would be from beats per minute to a beat interval in milliseconds (e.g. 60 would be converted to 1000, 120 to 500).
  • The UI can be as bare-bones as possible. This is really more of a prototyping tool at this point than a salable product.
  • Although I will want the plug-in to work in any ordinary DAW, I will actually primarily be utilizing it via the vst~ object in Max/MSP, so I will need to make sure it's functioning as expected there.

That should really be it. If you see any problems with what I'm suggesting, please let me know! Otherwise I think it should be pretty simple.

All code will need to be clean, organized and very well-commented. Please contact me if you have any questions or would like clarification about anything! If you see a better way to do something than what I'm suggesting, please bring it up!

There is no specific deadline, as long as we stay in constant communication about the progress of the project.

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!