Midi Parameter Feedback

Hello everyone.

I know this has been brought up a few times, but I’m bringing it up again anyway.

Those of us who like to use external MIDI controllers with parameter feedback, have now virtually no options to make it work in Renoise. I myself bought a Behringer BCR2000 recently, and not being able to use it fully really pisses me off. Parameter feedback makes the difference between the old-fashioned and cumbersome workflow and a pleasant and seamless pleasure of external MIDI.

I think parameter feedback should be an industry standard, and I am sure many others would like to see it implemented in Renoise.

I know there is the Duplex tool which makes it work, but it has no customization, which makes it unusable for most people. Why, when possible, is parameter feedback only a part of a non-customizable addon? Why is it not part of Renoise by default? I doubt it’s a feature that’s hard to implement and/or time consuming to program.

When possible to implement in a plugin, why not take it one step further and make it part of the core MIDI mapping?

What do you mean by Duplex is not customisable?

Although I do agree it would be a nice thing to have native, the comment just confused me.

Not for a non-programmer. It’s not possible to map whatever slider/button to whatever knob on the external control, is it? That’s what I meant by non-customizable, not that it wouldn’t be possible to modify the code.

And feedback from VSTs that’s a whole another story which would probably become possible with native support.

I don’t understand.

Firstly, Duplex is a separate thing. It’s cool, it does awesome stuff, but it’s a plug and play framework with certain particularities.

In Renoise, you can MIDI MAP without Duplex.

To do so, you 1) click MIDI MAP in the upper right. 2) Click on an item on the screen. 3) Press the controller button you want to map. If you want to map a VSTi, use *Instrument MIDI Control, If you want to modify a VST, click the Show/Hide the plugin parameters arrow to expose the parameters in the Renoise GUI and map those.

Is this what you are asking?

MORE INFO: MIDI Mapping - Renoise User Manual

Ahh I see. I don’t think you can go CC-Valuve X (eg this knob on this page) control Y parameter on Z device in Track Q, but rather most the interface has been designed to allow you to work on anything with the controller without having to remap things (IE you select a new device and you have control of its parameters.) For live especially you may want to be controlling just a couple of parameters over a dozen different tracks or something so I guess it may not be so suited to that. Have to admit so far it’s not really something I’ve played with, haven’t even really had my keyboard plugged in much for ages.

As VST MIDI output routing doesn’t even exist yet… Fingers crossed though.

I believe he knows all that but you do not get MIDI feedback.

Imagine the BCF2000 for example. For the moment let’s just think about the 8 motorised faders (although the encoders with their LEDs are just as relevant.) Now it has multiple pages, each of which you can set each Fader to operate on a different MIDI CC/Channel etc.

So you assign Page1 to control multiple parameters across multiple tracks. Same with page 2. Now changing between page 1 and page 2 and the faders will stay where they were for the previous page and as soon as you change one your values jump. With Duplex they shouldn’t do this as it has MIDI Feedback, native MIDI Mapping does not. But Duplex doesn’t allow you to discretely assign each fader. Hence native MIDI Feedback is needed.

Ok, sure. But then:

Where is this industry standard? Thinking there is one, and there actually being one, are two different things. Enlighten us with a URL to the industry specification please?

Duplex is an addon for that reason. There is no specification. Every new controller requires a new hack. Resourceful users can do it themselves without waiting around. It’s maintained separately from Renoise so that, in theory, the updates can be faster. No?

No, you’re completely right on that matter, there is no standardised way to implement MIDI parameter feedback on hardware devices. Danoise has done a wonder job (from all reports) in getting this working with Duplex, I don’t know how much the communication needs to be adapted for each device, and I think many people would like to see some work done to try and get this working with native MIDI Mapping. I would be surprised if there are more than a handful of options that may be toggled for each device and might possibly make it into the MIDI Settings at some point in future to hopefully get it working for many devices… You would of though with most devices now being USB (even if class compliant MIDI devices) that this kind of thing could of been thought about and standardised by the industry. But not really that surprising it hasn’t :(

Not hard to find people running into similar problems and having to hack workaround with some controllers with pretty much any DAW out there, even ones that officially support MIDI Feedback…

Surely something like the MIDI DSP Device has to be two way though? (Never actually tried using external sounds with Renoise.) If you have it controlling an external synth whether you make adjustments on the physical device or the DSP Device in Renoise you really do need them to be following each other (and not going into an endless loop.)

By “industry standard” I meant that a feature like this should be part of any host out there, not that there actually ARE specifications. I don’t work in different DAWs and I’m not planning to (if I did, I wouldn’t bring this up here).

I’m not a programmer so I don’t know how much work needs to be done to implement it.

However, provided that it IS possible to make the LEDs (or sliders) move using MIDI Yoke and Bidule and MIDI CC Device in Renoise; AND provided that Duplex is able to supply feedback, I would think that it’s not too far from implementing.

I mean, if you use enough MIDI CC devices and hydras in renoise, plus Bidule and MIDID Yoke, you get the feedback working with no problems. But who wants to set up a couple of dozen hydras in every song?

As long as we’re talking basic one-to-one parameter mappings (a knob that control a parameter), most MIDI devices respond to the same message they send. So you basically need to make Renoise echo incoming messages back to whatever place they came from.

Unfortunately, this will screw up things for certain controllers. For example, a motorized fader like the BCF2000 shouldn’t receive this message, unless the change has happened from Renoise, or you’ll fight over Renoise about who should control the position!! Also, some controllers have different format for outgoing and incoming messages, so to answer you question there’s a lot of research work involved - more than actual development work.

Ah, that makes sense. But it’s a shame. So if I understand correctly it’s impossible to implement MIDI feedback for a “generic” device simply because there is nothing like a generic device?

Meh. I would LOVE to see feedback on my BCR :(

Isn’t there any light in the darkness that maybe it would be possible to assign any slider/button to any BCR knob/button through Duplex in the future? (instead of being stuck with the default “mixer” setup)

I think we then simply need some kind of bi-directional protocol that can be toggled turn-based so that is being checked from which point the messages originate.
If you are changing controllers simultaneously on both the hardware and software, the originating sender that gets in last will be ignored the values.
You can then pretty much prevent conflicts and allow controllers to be mapped the same way as non-feedback controllers can be mapped.

Though I don’t understand what you want to do exactly by BCR2000, maybe you don’t know well about what Duplex can do.

For example, have you already tried “Mixer parameters” option in the Effect app?? (see the image)
If you show the needed sliders in the effect box in the Renoise mixer, they will be mapped to the BCR’s knobs automatically. It’s a bit tricky solution though, it may be a useful workaround.

2505 BCR-effector.png

Also I tried to explain “how to start editing duplex files” before. Anyone can make a custom map (to some degree, though).
I agree that it’s not very easy for a non-programmer (actually I’m also a non-programmer ;) ), but I think it’s worth a try.

But on the other hand, It seems that the default control-map for BCR2000 has become slightly old now.
In the case of the workaround above, we need to map the Track Selector somewhere, for example.
Maybe we need more suitable custom BCR map for the current Duplex 0.98.
Shall I try to make it if needed ?? :huh:

I didn’t know the trick with “show sliders”, thanks.

What I miss about the Duplex setup is panning. It would be great if the uppermost 8 knobs would be for panning (because the leds can be set to panning display), then the top row of knobs for volume and the bottom two rows for effect parameters. The buttons are fine for mute/solo as they are I think.

Now as I think of it, this should be enough to have the basic “mixer” functionality on BCR.

Then again, it’s very far from feedback from VSTs, which would be marvelous. Imagine having different instruments on different channels (each preset on the external unit would correspond to different channel), with feedback. This way you could jump through the presets, instantly seeing what the settings for which VST instrument are, not caring about automation, because you have feedback… And on preset no.1 you could have the Renoise mixer control.

That is my dream.

Hmmm…as satobox points out, the configurations for the BCR were created a year ago, and may have left out a couple of minor details (what, no panning?!).
Perhaps the two of you should get together and work out an improved mixer configuration?

This is what the effect application does - remember, to Renoise a VST plugin is simply a list of parameters. On the BCR, you have the Effect and Mixer applications running side-by-side.
(OK, it doesn’t have buttons for selecting a preset - but this is featured in the upcoming version :slight_smile:

The Effect application displays DSP device/plugin parameters in one of the following ways:

  1. All parameters for the currently selected effect
  2. Display parameters which are visible in the mixer (track-wide).
  3. Display all automated parameters for the current track.

All of these methods supports paged navigation: when the effect has more parameters than can be displayed on a single screen, you can scroll between pages to see more.
One way the effect could be expanded even more, would be to include specific subsets for each type of effect. So you could have your favorite parameters appear for the Chorus device, or any particular VST you are using.
We could say that this was the 4th mode, a “user-defined view” on the parameters.

Danoise, when I was talking about feedback in the last post, I meant VST instruments, not effects.

I meant having one synth on MIDI channel 1 of the BCR, another synth on channel 2, etc.
For me, a hands-on approach of VST synthesizers is even more important than on VST effects.

I’ll brainstorm for a bit and PM satobox with a suggestions on improving the mixer preset.

And re. VST instruments - wouldn’t it be possible to map synth parameters to sliders in duplex using the VST “learn” function? Does this communication go through renoise, or is learning the BCR knobs to VST instrument parameters isolated?

To control parameters of a VST instrument, you need the Instrument Device, i guess if you set that one up on a track and assign it to the specific VST instrument you want to control (you can pick the instrument in the instrument device) and pick the parameters that you want to control of the instrument, i suspect the BCR mixer utility in Duplex is doing the rest for you.

Ah, thanks for the tip man. I’ll fiddle about with it.

I tried to make the new configs. Please check