ossia / score

ossia score, an interactive sequencer for the intermedia arts
https://ossia.io
Other
1.52k stars 104 forks source link

Support for sequencing JACK/LV2 CV? #982

Open mxmilkiib opened 5 years ago

mxmilkiib commented 5 years ago

Both JACK and LV2 support CV signals for finer-than-MIDI automation. More recently, carla-git has started supporting CV internally and zrythm-git has added CV support. Being able to sequence CV in ossia score would allow for some neat opportunities.

In the LV2 spec and Ingen paper:

Host commits:

Plugins with CV support so far:

lad on Freenode IRC if you're so inclined.

jcelerier commented 5 years ago

Hello, good idea, adding it to the roadmap :-) won't be hard to implement in ossia score since the internal control rate is already at audio rate

mxmilkiib commented 5 years ago

More info on https://linuxmusicians.com/viewtopic.php?f=1&t=20701

mxmilkiib commented 4 years ago

Just to clarify, this would be enabled through support for JACK port metadata.

jcelerier commented 4 years ago

hm, so we would create (or detect) the jack CV ports available in other software, and make them available to connection to LV2 "CV" ports ?

One thing I'm surprised is - the JACK doc seems to say that they shouldn't be exposed as audio outputs, but isn't a big point of CV to also send it to e.g. a hardware modular synth through actual sound hardware ? (or also use audio data as a control ?) (pinging @jln- as a modular reference person :p)

mxmilkiib commented 4 years ago

CV shouldn't be routed to a speaker, I believe that's what that msg was trying to communicate.

The CV propriety can be used to indicate in a graph what ports are expecting a CV (i.e. possibly DC at times) signal. It could also be used to allow further forms of UX.

Edit: a CV generator can produce an AC audio rate signal that is of the form of an audio wave which can be routed to a speaker, but DC signal to a speaker is bad.

jln- commented 4 years ago

(pinging @jln- as a modular reference person :p)

:-D Indeed, sending DC voltage can cause damages. That's why most soundcards filter out DC to prevent this (and thus cannot be used to control modular synth).

But a few soundcards do not (Motu being main, not to say only, example).

mxmilkiib commented 4 years ago

I'm not sure what mechanism is used to see what ports other JACK clients have available.

To mark JACK outputs as CV, the signal-type metadata keyvalue is used.

mxmilkiib commented 3 years ago

The "Linux / BSD" label is not really on the mark, as both LV2 and JACK are multiplatform. An "Enhancement" tag would be nice though.

jcelerier commented 3 years ago

hm, in the software, how would marking a port available as jack CV be most meaningful ? should it be for instance a new separate device ?