[LAD] LV2 Beat reporting?

JohnLM johnlm at apollo.lv
Tue Dec 28 19:29:01 UTC 2010

Well I think the idea is quite good! I could think of few more uses,
including real-time DJ "crossfade/mix" sync by beats, and such.

I haven't looked into LV2 much yet, but one thing is sure. You can't
make the plugin universal. Any host dealing with such plugin must be
aware of it's purpose whether the output is simply audio clicks or some
kind of event interface.

As much as I understand LV2 does not mandate universal-use "filter"
plugins as LADSPA did, so you're good with extending it as you see fit.
Host code modifications will be required, but if you make it generic
enough, the interface could be picked up by various projects.

On Sun, 26 Dec 2010 01:58:13 -0500
Jeremy <jeremybubs at gmail.com> wrote:

> Hi all,
> So I'm writing some LV2 plugins to wrap up the Aubio audio analysis
> library<http://aubio.org/>,
> and I'm not sure exactly how to handle functions like "onset"
> detection. Currently, it just outputs clicks to an audio port (0 when
> no beat, 1 when beat is detected).  However, this doesn't take
> advantage of the power of LV2.  It is unclear to hosts and other
> plugins exactly what sort of data is coming out.
> I was thinking that maybe it would output MIDI, as midi matches the
> "event based" aspect of beat detection.  Perhaps sending out MIDI
> beat clock signals <http://en.wikipedia.org/wiki/MIDI_beat_clock>?
> However, that doesn't really match the sort of data that the Aubio
> functions detect. Maybe it could just send a midi note on event?
> It seems like maybe some sort of LV2 specific extension might be in
> order? The Event Port <http://lv2plug.in/ns/ext/event/#EventPort>
> extension seems to define everything I need: sending timestamped
> events with no extra information attached.  The question is: does it
> require some sort of further extension to define what a beat port is
> in the way the MidiEvent extension does?
> Of course, this raises the question: Is a port specific for "beats"
> even necessary?  I can think of a few cases:
>    - DAW uses beat signals to set up markers on a track
>    - DAW uses beat signals to break a percussive track up into beats.
>    - Delay effect uses beat signals to have a timed delay
>    - Automatic drummer adds on a percussion part to audio with
> varying tempo
>    - ? other beat-synchronous effects?
> Anyway, I'm wondering what you all think would be the best option, or
> whether you think functionality like this is even warranted in an LV2
> plugin (should analysis plugins stick to VAMP?).  So let me know what
> you think.
> Jeremy Salwen

More information about the Linux-audio-dev mailing list