Anyway, for the benefit of the community, I’ve just released the first version of my own LV2 plugin to generate Euclidean rhythms. I hope ye all find it useful, and have fun with it. Comments, suggestions, constructive critique, always welcome.
The suggested pattern of use is:
Create a MIDI track. Use some drumkit as the instrument (I recommend any of the excellent x42 AVL drumkits).
Create several MIDI buses, with no instrument.
Add an instance of the Euclidean rhythms plugin in each of MIDI buses.
Route the output of each MIDI bus to the MIDI track with the drumkit.
Hello and thanks for sharing! Will definitely package this for openSUSE.
I think your README.md is very thorough. The only thing which I think would help is a video of the plugin running, since it’s not really immediate concept and it would be easier to hear something (since we’re talking about music).
On github I’m only packaging and distributing the source code, because the particulars of binary production and installation are distribution-specific.
I’m on arch-linux too. I’d love to see the project contributed to the distribution (to the AUR at first, I guess). For your installation, did you create a PKGBUILD file? If so, would you mind sharing it with me, or contributing it to the AUR, if that’s not much to ask?
Thanks, I got it built fine on Ubuntu 22.04. The install location is unusual (/usr/local/lib/x86_64-linux-gnu/lv2). It would make more sense for it to be /usr/lib/lv2 or if you can, /usr/lib/lv2 when the command “ninja install” is run as root and ~/.lv2 when it’s not. These are the usual locations for lv2.
Agree, /usr/local/lib/lv2 would be the appropriate place. I had emphasized the mention of /usr/lib/lv2 but failed to highlight that the original path is indeed unusual for the inclusion of the architecture name in the path.
Thanks for the insight. I’ve added an environment file to the project, for meson to use. Due to the plugin’s lifecycle, that change will reach develop and then when enough features have been coded, will reach master and a release will be cut.
In the meanwhile, perhaps ye would like to add the option --libdir=/usr/local/lib to meson setup?
Oh, don’t worry, I just was uncertain about what you were asking! We already promoted your plugin on our Telegram group and as for our wiki, we usually share information about configuration so we really don’t mention single programs often, but if the chance comes, sure, we’ll mention your plugin!
With the plugin functional (even if in early stages), I’ve discovered that its use from Ardour doesn’t feel very natural. It has no inputs (signal or MIDI, though it reads time position from the host), and having to create several buses just to feed one instrument feels anomalous.
So a question for more experienced users of Ardour than I am: since Ardour is my DAW of choice, and I would like to follow the Ardour way, which would be a good use pattern for this plugin? In other words: what should I change in the plugin to make Ardour users more comfortable using it, and getting more benefit from it?
what should I change in the plugin to make Ardour users more comfortable using it, and getting more benefit from it?
I think you are correct that the current requirement to create multiple MIDI busses to host different instances is a barrier to using the plugin.
I’m still not positive how I would use it, but having the plugin function as a single, MIDI-generating plugin “above” the drum instrument in the MIDI track seems like the most natural use:
The UI for the plugin would need to allow specifying multiple rhythms.
Ideally, each rhythm would map to a single MIDI note (i.e., C1 for the bass drum, D1 for the snare, etc.).
Or perhaps a given rhythm would select among multiple MIDI notes (via round robin, random, or some kind of weighting)?
Being able to set a MIDI channel for each rhythm might also be useful, especially if the composer was thinking to generate non-percussive patterns (horn hits, arpeggios, etc.) by putting the plugin in front of a multi-channel synth like Yoshimi.