Open mxmilkiib opened 4 years ago
I'm not that familiar with this (and it seems very linux oriented as well), but it could be interesting, though it also seems to be a bit too advanced for Chataigne, meaning that it's something that you will want to control from an actual DAW, or someting dedicated to music. The audio support in Chataigne is very basic and allows for basic mic analysis (as a sensor), and audio playback so you don't need a DAW to play a soundtrack, but I'm not sure about integrating more advanced functions in it, as its primary role is to only control other, dedicated systems. But maybe I'm wrong and this would fit perfectly its purpose ?
General JACK audio support would seem disconnected from the control theme, but CV port/signal support (essentially an "audio" signal that doesn't ever get sent to the speaker) is not to far from that.
CV support would allow interfacing with hardware modular synths. The concept of a "higher resolution than MIDI" control signal can be translated to drive other systems (see MIDIMonster).
JACK and LV2 are multiplatform. A problem though might be any non-Linux platform audio backend library used in Chataigne.
LV2 itself is a system that has been used for various purposes. Potentially even direct support might be advantageous?
On the subject of JACK; JACK MIDI, with its graph routing and lower latency, might also be of interest.
It looks interesting for sure, I personally have a lot of other priorities for this dev right now, if you feel like taking on this part as a new module or integrated in the Sound Card module, this would be great !
Seems old enough, anybody still willing to do something ?
JUCE7 now supports LV2 at least ;)
(no CV ports yet though)
But LV2 is a VST right ? What would you do with that in Chataigne, as it's not an DAW ?
True, I haven't fully grokked how to use Chataigne so where this would make sense in this case ;)
However being able to route/manage CV ports, could certainly be useful. VST3 technically also has a CV specification (which is just a tag on regular audio ports).
Ultimately these can be used to do audio-rate modulation and connect to physical hardware. Rather than using normal audio ports, as you can seriously damage equipment using CV signals.
LV2 is a plugin format, like VST, though it's more open and has some better features.
Chataigne can be used to sequence/compose many protocols.
The ability to output a digital CV signal to a [JACK] port would allow it to be patched to and drive modular softsynths, or mmodulate parameters in other software, or could be connected to the outside world via an appropriate soundcard, in a "DAW-less" manner.
I was about to post a new feature request until I noticed that this topic is extremely similar.
An example of using a plugin to pass parameters to an intermediary software is EMU by ENTTEC, that includes a VST plugin for this exact purpose. It's GUI-less, and it simply declares 512 faders plus a handful of additional parameters (tempo, bar length, PPQ, bank, program). The purpose of this is to use DAW FX automation to write very precise, MIDI-synchronized sequences. This is useful for effects lights that are song-specific and are part of the live show, when the band is in control of this.
It is possible to do something very similar to this manually, declaring 512 OSC parameters as a sort of 'virtual console' and mapping them on both the DAW and Chataigne; but it's extremely time consuming, and it would have to be done per project and per universe. The advantage of a plugin over this, is that one can choose the refresh speed. OSC has speed limitations; whereas a plugin can read the parameter in a sample-accurate way and send the data packages with little to no delay. Additionally, an universe selection could allow for multiple plugins to be run simultaneously, one per universe; which is not possible with any other solutions that I'm aware of.
I can imagine a multi-format plugin (VST2/3, AU, CLAP, LV2) that declares 512 parameters (one DMX universe), allows to select the universe to send data on, and then emits this parameters either through ART-NET (for direct output) or into Chataigne. The EMU VST plugin I mentioned sends the raw parameter values through local network and the controller software picks this data up then processes it.
@cabaleiro how is this similar? It doesn't relate to sample-accurate CV ports at all, but to plugin parameters.
The JACK system (along with the LV2 plugin format) has support for passing audio rate parameter control "CV" signals between apps (and plugins) for uses including gate/triggers and modulation.
This port type ("CV" in JACK, "CVPort" in LV2) has more recently started seeing support in various software projects. More details on the subject can be found on this post.
Might this be something Chataigne could get support for?