View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0007455 | ardour | features | public | 2017-08-25 08:05 | 2019-04-21 22:51 |
Reporter | naught101 | Assigned To | |||
Priority | normal | Severity | minor | Reproducibility | N/A |
Status | new | Resolution | open | ||
Product Version | 5.X git (version in description) | ||||
Summary | 0007455: Modulators | ||||
Description | Sometimes it is nice to be able to arbitrarily modulate midi controls of a plugin. For instance, if a plugin doesn't have an LFO, and it would be nice to have one for some parameter. In this case, it would be great if there was some way to create a "modulator" plugin (built-in?), that simply outputs a modulation signal that is mapped to the relevant input of the other plugin. Bitwig uses a system like this, for example: https://www.youtube.com/watch?v=Qr2gVHybc_4 I don't know whether this would make more sense as a built-in plugin, or if it could be an external plugin. But either way, the key important thing would be an easy way to map outputs (modulation signals) to inputs (named plugin parameters). Bitwig does this particularly well, but I doubt Ardour's current interface would allow something like that easily. Perhaps some kind of paired drop-down selector might work? It would be a fair bit clunkier than Bitwig's interface though. Key useful modulators: - LFO modulator (wave shape selection, rate (free/tempo synced), phase, depth/amplitude) - Envelope generator (ASDR etc. from midi, max amplitude) - Mathematical transform (this would take input from another modulator, and transform it, e.g. log/exp/power/trig functions, etc. Ideally could take more than one input, and add/multiply/divide/etc. Perhaps any Lua maths functions?) See also https://www.bitwig.com/en/bitwig-studio/bitwig-studio-2/modulators.html for some other options (many of which are not that necessary, as they can already be done in other ways). | ||||
Tags | No tags attached. | ||||
|
I can't give a big enough thumbs up for this, it's the one thing that keeps me from moving away from Renoise. This would be a huge improvement to Ardour and really modernize it. |
|
Another type of a modulator like this would be a universal envelope follower (for audio) - this way you could do sidechain processing with plugins that don't allow this by design. |
|
There is a plugin called The Infamous Envelope Tracker that generates a MIDI CC signal based on audio - but how to rout this to a control in another plugin? I have no idea. I guess this all could be done with maybe even Lua plugins. I think Ardour would need a convenient way to use such functionality to route something like this to a plugin control port. Maybe an extension on the Pin Connections? Maybe a "Control Port" tab in there to do stuff like that? |
|
Also, I don't know if this should be a separate issue or not, but containers would also be useful: - A "chain" container, that groups a set of sequential plugins (or layers). - A "layers" container, that groups a set of parallel plugins (or chains). Both of these should be able to be saved as templates for re-use. The reason I say I'm not sure if this should be a separate issue, is that a modulator could be designed as a special case of a chain - a grouping element, that also generates its own control signals. This is roughly how bitwig 1.X did it, and it worked reasonably well. Bitwig 2.x instead adds "modulation slots" to each plugin/chain/layer, and modulators can be put in to each slot and then mapped to parameters. I don't think I have a strong opinion about which version is better... |
|
A sub-type of layer container that would be really nice would be a drum machine container, that contains a separate instrument on each midi note - both Ableton and Bitwig have something like this, and it's awesome for layering up drums (in bitwig, the layers are also sub-busses, that have their own effects chain and mixer strip). |
|
You can route a MIDI CC signal to any plugin contro port via the MIDI-learn feature. I amusing that to manipulate stuff by a foot pedal while playing. You can even record those as automation. http://manual.ardour.org/using-control-surfaces/generic-midi/midi-learn/ Does that help? |
|
Yeeeesss.. in a way. I'm not just talking about control of a plugin though, I'm also talking about generating the control signal. A plugin that output modulation sources (e.g. an LFO or envelope) to MIDI CC, that could be routed to another plugin's control ports would be suitable. I guess that is probably already possible via careful MIDI CC routing. However, actually figuring out which CC value to send/recieve is not easy (or even always possible?). Also, there are plugins that take control inputs that aren't necessarily MIDI CC compatible (e.g. LV2's CV ports). Basically, it would be good to have a nice UI for routing signals with more granularity than just MIDI-from and MIDI-to. The chain/container/layers thing can't be solved by MIDI, and should be a separate issue. |
|
Split out the containers suggestion into a new issue: https://tracker.ardour.org/view.php?id=7753 |
|
You can use some external application to create the MIDI LFO signal. For example qmidiarp. |
|
Yep, it's possible. The external app workflow just doesn't work for me. Nor does it solve the routing UI problem mentioned in my previous comment. |
Date Modified | Username | Field | Change |
---|---|---|---|
2017-08-25 08:05 | naught101 | New Issue | |
2017-08-29 08:45 | beefheart | Note Added: 0019994 | |
2017-08-30 11:22 | unfa | Note Added: 0020001 | |
2017-08-30 11:53 | unfa | Note Edited: 0020001 | |
2017-08-30 11:54 | unfa | Note Edited: 0020001 | |
2017-08-30 13:20 | unfa | Note Added: 0020002 | |
2017-08-31 01:59 | naught101 | Note Added: 0020003 | |
2019-04-18 04:23 | naught101 | Note Added: 0020632 | |
2019-04-21 10:54 | johmue-eo | Note Added: 0020635 | |
2019-04-21 13:37 | naught101 | Note Added: 0020636 | |
2019-04-21 13:51 | naught101 | Note Added: 0020637 | |
2019-04-21 17:52 | johmue-eo | Note Added: 0020639 | |
2019-04-21 22:51 | naught101 | Note Added: 0020640 |