It sounds to me like the generic "Beat" Event would be a "TriggerEvent". Triggers could be for clock, gates, envelopes, etc.. At least I think this would model the way old modulars would interact fairly well. But: Is it modeled as an audio-port with peaks to denote the triggers, or as an event port with timed events? I'm leaning towards events personally.
-Paul On Tue, Dec 28, 2010 at 2:29 PM, JohnLM <[email protected]> wrote: > 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 <[email protected]> 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 > > _______________________________________________ > Linux-audio-dev mailing list > [email protected] > http://lists.linuxaudio.org/listinfo/linux-audio-dev >
_______________________________________________ Linux-audio-dev mailing list [email protected] http://lists.linuxaudio.org/listinfo/linux-audio-dev
