11-05-2018, 10:51 PM | #81 | |
Human being with feelings
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,687
|
I asked Roli support and got this answer:
Quote:
dimension of touch -> https://support.roli.com/support/sol...t-is-5d-touch- ROLI & SWAM -> You can find more information on using the Seaboard RISE & GRAND with SWAM Engine here. Seemingly the Seaboard in fact does use a player's intention detecting algorithm called"intelligent Glide tracking". I guess a gesture such as a short glide in the appropriate direction followed by a key hit same pointed to and not too far might be used to detect a non-portamento legato (even tough the link below simply states: "Glide is transmitted as MIDI pitch bend" , which is not "intelligent" at all). I'll investigate .... I also asked about how to remote control the Seaboard parameters via Midi, but no answer yet, -Michael Last edited by mschnell; 11-05-2018 at 11:04 PM. |
|
11-06-2018, 09:28 AM | #82 |
-blänk-
Join Date: Jun 2008
Posts: 11,359
|
I think you're reading far too much into a buzzword there. I can say with confidence that the Blocks don't do anything like you describe and doubt that Rise will. Glide is translated to pitch pretty much directly, except that with Glide sensitivity less than maximum it will correct the pitch when it "thinks" that you stop the Glide movement, it sort of bends it to the nearest straight semitone.
|
11-06-2018, 02:56 PM | #83 |
Human being with feelings
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,687
|
Hmmm. Obviously, some magic needs to be going on making legato with multiple voices possible, as we do see in several videos.
I also asked in the SWAM (Audio Modeling) forum, as they do support Rise out of the box by providing a default "Seaboard" parameter setting that can be loaded. They say it works nice, but legato is a lot less easy to do than with a hard keyboard and needs some dedicated playing practice, and doing trills is really challenging. But the problem, they describe is about Expression (Mapped from Channel Pressure). Here of course finding the right pressure with the target key is not easy. I'll ask more about the latency detection. -Michael Last edited by mschnell; 11-06-2018 at 03:31 PM. |
11-06-2018, 10:40 PM | #84 |
-blänk-
Join Date: Jun 2008
Posts: 11,359
|
I am not certain we see multi-voice legato lines in the saxophone video. Without having listened again, I remember that multiple voices always come in chords and legato as a single line. They might use some time based processing, where notes that come in simultaneously (enough) are distributed to channels per note and when there is more time between notes they all go to the same channel. It is for sure not available in the box with Blocks, and very likely not with Rise, too. If that is what's happening, then by some additional in-line processing.
Re the pressure problem: Out of the box pressure will always ramp up from zero as you hit a new note. I don't find it that problematic with SWAM, but with some Kontakt instruments expression ramps up much more noticeably, so that the attack phase is suppressed far too much. maybe these instruments use a smoothing algorithm for expression that additionally slows down the ramp? In my script I use a parameter to alter the slope of the pressure values, pivoting around value 127. It basically raises the minimum pressure value, so that I can make pressure not start at zero. I control the parameter with an expression pedal. Not only does it make the problematic instruments much more playable and may ease playing thrills with SWAM, but it's also nice to have the additional control with Equator and the like. Last edited by gofer; 11-06-2018 at 10:49 PM. |
11-09-2018, 12:25 PM | #85 |
Human being with feelings
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,687
|
Did you check "PolyThru" -> https://www.strumentimusicali.net/ma...ndstage-en.pdf
Roli seems to provide some kind of pluging that leverages MPE for use with non MPE plugins. -Michael |
11-09-2018, 02:42 PM | #86 |
-blänk-
Join Date: Jun 2008
Posts: 11,359
|
I am using Windows. Also, I can't find any recent info on that program at all. Did it ever get out of beta?
|
11-09-2018, 04:22 PM | #87 |
Human being with feelings
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,687
|
Neither could I. That is why I asked. In fact I already did a JSFX that leverages MPE to a single channel and averages the three continuous per-key controls (Pitchbend, Channel-Pressure, CC74-Slide) for all "running" channels, to make standard polyphonic sound engines work nicely on MPE streams. I suppose this is what "PolyThru" would do.
Unfortunately I can't test it before I get a Seaboard . -Michael Last edited by mschnell; 11-10-2018 at 01:55 AM. |
11-10-2018, 01:02 AM | #88 |
-blänk-
Join Date: Jun 2008
Posts: 11,359
|
If PolyThru isn't mentioned in a recent Rise manual I think we can safely say it has been put on the back burner, or discontinued.
Any info I could find hints at PolyThru being a sort of Vst host which automatically holds multiple instances of the instrument you choose and links their parameters, so it's enough to tweak only one of the instances. Basically what the OP is about. I can't find any hint towards channel reduction and handling of control data for single channel usage. Re your JSFX: While I can imagine taking the average may be good for Press and Slide data, I think it's not ideal for Glide. It's a Seaboard paradigm that the keywave you glide to determins the target pitch. When using average pitch you'd always have to glide all active notes to get this behavior. If you for example have two notes running and glide only one of them, then the pitch bend will amount to half of the distance you are gliding, which I'd probably find unintuitive (glide two semitones up on the board amounts to pitch only raising a single semitone). I'd suppose taking the maximum current pitch value would be better. That way you'd also benefit from the "quantization" of the target pitch that happens on Seaboards. Thinking about it, the "quantization" may have an unfavourable effect on averaged pitch data, too. |
11-10-2018, 02:04 AM | #89 |
Human being with feelings
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,687
|
Of course the JSFX is configurable on which controls are averaged (up to three: of any CC, Pitch-Bend, and Channel-Pressure).
Making max / min / average configurable seems like a good idea ! I will implement this. (But it might trigger involuntarily harsher jumps than average.) Regarding slide: if you play a chord and move a finger just very slightly, this value will be the last and hence in a not preprocessed channel merger will be used for all pressed notes. This will force crazy jumps. I don't think that is decently playable. But as said not processing a control already can be configured. What do you mean by quantization ? -Michael |
11-10-2018, 02:37 AM | #90 | |
-blänk-
Join Date: Jun 2008
Posts: 11,359
|
Quote:
No value jumping in that situation with Press, because lifting the finger off a key will gradually lower the pressure value towards zero. [EDIT] Coming to think of it, I actually have a hunch that the Slide reset messages will cause jumps when taking the average value, while they are filtered when taking max (until all notes are stopped and a new one is coming in). If you choose to take min, then evey new note will make the Slide value jump down to zero. Similar weirdness will probably occur with pressure (it is also reset with new note). [/EDIT] When you set the Glide sensitivity to lower than maximum, Seaboard will round the pitch value towards a straight - properly pitched - semitone when it "thinks" that your Glide gesture is coming to an end. The upside is that it's easy to glide to a straight target note. The downside is, that with low glide sensitivity slow glides can sound a bit "wavey", when the rounding happens faster than the actual Glide gesture. Sorry for the rather heavy editing of this post... It's hard to put my thoughts into words. Last edited by gofer; 11-10-2018 at 02:52 AM. |
|
11-25-2018, 10:32 AM | #91 |
Human being with feelings
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,687
|
Finally, I did order a Rise 49, so next week I will know more...
-Michael |
11-29-2018, 08:40 AM | #92 | |
Human being with feelings
Join Date: Jan 2016
Posts: 428
|
Quote:
You mentioned earlier in this thread that you already made a plugin to force MPE to a single channel. Where can I get it? I considered doing something similar with a few plugins, but an all in one solution would be welcomed. I just got an Artiphon, which also has some cool MPE capabilities. It's really sweet, but takes some getting used to. And I also had to reset my exceptions of what I wanted it to be and what it is, but then it turned out to be even better than I'd hoped for. Last edited by Tiggerdyret; 11-29-2018 at 08:52 AM. |
|
11-29-2018, 02:42 PM | #93 | |
Human being with feelings
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,687
|
Quote:
-Michael |
|
11-30-2018, 10:24 AM | #94 |
Human being with feelings
Join Date: Jan 2016
Posts: 428
|
Cool, thanks.
|
12-02-2018, 07:19 AM | #95 |
Human being with feelings
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,687
|
Seems to work. Please test and let me know what you find -> http://schnellphoto.de/MPE_2_1
(ReaPack compatible Description in the beginning of the code.) -Michael Last edited by mschnell; 12-03-2018 at 07:21 AM. |
12-03-2018, 04:59 AM | #96 |
Human being with feelings
Join Date: Jan 2016
Posts: 428
|
So far it works like a charm. I'll post if issues arise.
Thanks |
12-04-2018, 06:24 AM | #97 |
Human being with feelings
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,687
|
Do you want me to add or modify anything, of should I commit it to ReaPack the way it is right now ?
Thanks, -Michael |
12-04-2018, 09:08 AM | #98 |
Human being with feelings
Join Date: Jan 2016
Posts: 428
|
It seems to work just like my midi controller does in Single Channel mode. But I haven't tested it thoroughly... I think it's good enough to upload.
What could be nice would be another plugin that sends midi channel 1 cc messages for mod Wheel, sustain pedal, breath, brightness and maybe a few other parameters to all other, bBasically all parameters that affect all voices at the same time. This would make all multi-channel software like Omnisphere or Kontakt MPE-compatible and still have the mod wheel affect all voices. And even if it isn't you could make separate tracks and make it MPE that way. Roli might have this feature already, but Artiphon I1 doesn't. I did it myself by using "JS: Midi Note Filter" and then "JS: Midi CC Channel Router" on a separate track with a send to my instrument track. I could do without the extra track plus one plugin is better than two, and it could be a bit easier to setup Edit: Here is my thread about the subject. Solger helped me out with the solution: https://forum.cockos.com/showthread.php?t=213960 Last edited by Tiggerdyret; 12-04-2018 at 09:35 AM. |
12-08-2018, 01:47 AM | #99 |
Human being with feelings
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,687
|
Please find "MIDI MPE to single Channel" in ReaPack !
-Michael |
12-08-2018, 03:05 AM | #100 |
Human being with feelings
Join Date: Jan 2016
Posts: 428
|
Yes, it was added to Reapack and works
|
01-09-2019, 05:02 AM | #101 |
Human being with feelings
Join Date: Feb 2009
Posts: 21
|
you guys ROCK, thanks for this! its great to be able to even monitor what the roli is outputting, and being able to taka an average etc is fantastic, thanks for the work.
do you think somehow being able to convert the non cc values like aftertouch and lift velocity to a usable CC could be incorporated into this? could be the all in one solution for ROLI REAPER heads! anyway cheers!
__________________
http://babyjaws.com |
01-09-2019, 06:38 AM | #102 | |
Human being with feelings
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,687
|
Quote:
[Edit: Bug fixed ! ] Reaper Rocks !!! -Michael Last edited by mschnell; 01-17-2019 at 06:25 AM. |
|
01-09-2019, 06:55 AM | #103 |
Human being with feelings
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,687
|
BTW.: Regarding Glide:
Now that I do have a Rise 49, and use it in standard configuration (no tweaking by the Dashboard): Hitting the Keywaves-pad anywhere always creates a not shifted semitone (PitchBend zero). Hitting a second spot does a glide when it is within a semitone distance, otherwise it starts a new note. Hence doing a decent trill is not possible in this setting even with the current version of "MIDI MPE to single Channel". I supposedly will try to enhance "MIDI MPE to single Channel" to detect a semitone hopping PitchBend and convert this to a note-on in "Mono" mode. To do a glide of any width you can instead use a "natural" gesture with a single finger, but for a keyboarder that is rather uncommon and it's hampered by the "keywave" structure. Alternatively I am still considering to try to send a "Dashboard" SysEx configuration message to the Rise when initiating a Patch change. -Michael Last edited by mschnell; 01-17-2019 at 06:28 AM. |
01-10-2019, 06:54 AM | #104 |
Human being with feelings
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,687
|
Edit:
Astonishingly, with some of the Equator stock sounds you can hit two adjacent semitones and get both notes (which would be good for trills). I need to research if/how Equator sends this configuration change to the Rise. -Michael Last edited by mschnell; 01-10-2019 at 01:43 PM. |
01-16-2019, 11:36 AM | #105 |
Human being with feelings
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,687
|
Edit again:
I found that the said behavior (glide instead of new note-on when pressing a semitone distance "key") occurs exactly when the "<>" slider is at maximum. Now Equator seems to send a Midi Message to the Rise and moves this slider when changing to a new patch. Now we need to find out the Midi messages that are at work here. -Michael |
01-16-2019, 02:38 PM | #106 | |
Human being with feelings
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,687
|
Quote:
The Equator VST does not seem to generate any Midi (hence the Rise's faders stay put when Equator changes a patch, and the ReaControlMidi log does not show any messages). The stand alone Equator software does have a menu to select the Midi source if there are more than just the Rise, but does not say anything about the Midi target. -Michael |
|
01-16-2019, 03:02 PM | #107 |
Human being with feelings
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,687
|
Edit:
(Using LoopMidi and Reaper) I found that with a some patch change Equator (stand-alone) sends a SysEx: F0 00 21 10 78 3d 17 XX F7 with e.g. XX = 32, 7B, 7C, or 7F. It seems like XX is the position of the "<>" slider of the Rise. Supposedly 7F meaning "full" -> Semitone glide. This does seem rather easy to support ... -Michael Last edited by mschnell; 01-17-2019 at 06:33 AM. |
01-16-2019, 04:11 PM | #108 |
Human being with feelings
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,687
|
Question:
Do the Grand and the Blocks also adhere to this parameter if sent as a SysEx, even though they don't feature a visible slider for it ? Another question: How is the setting visible/doable in an Equator patch ? -Michael |
01-17-2019, 09:31 AM | #109 | |
-blänk-
Join Date: Jun 2008
Posts: 11,359
|
Red, a mod at Roli's support forum said this about controlling Rise via MIDI:
Quote:
These are decimal values, in the SysEx cases you probably need to put them (converted to hex) at the place before XX and keep the rest of the header (17 in your example message translates neatly to 23 mentioned by Red as Glide sensitivity) Apparently Blocks are not supported , not sure about the Grand. |
|
01-18-2019, 07:23 AM | #110 |
Human being with feelings
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,687
|
Match ! -> 23 decimal = 17 Hex is "Glide sensitivity".
I'll do a littkle JSFX that converts Midi CCs to SysEx. I'll of course upload it to ReaPack. -Michael |
01-19-2019, 05:52 AM | #111 |
-blänk-
Join Date: Jun 2008
Posts: 11,359
|
It will be interesting whether that same header works for all Rises, or whether you'll have to change a device identifier byte in the SysEx header to address a different Rise.
In any case I think you should post the SysEx header you found works in that Roli forum thread, seeing that Red didn't mention it and that the parameter number without header is of little use for interested folk. Red also didn't fully specify RPN/NRPN (is the address he mentions MSB or LSB?). A little detective work will reveil them, I'm sure . |
01-20-2019, 12:26 AM | #112 |
Human being with feelings
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,687
|
Using this (including the "Midi CC to SysEX" JSFX), I was able to do a (three track) Reaper project for Live playing the Rise with the Equator VST, while using my XTouch Compact to change the patches in Equator.
My original JSFX "Live Rack with XTouch" infrastructure (in one track) sends out lots of CC messages with any patch change due to pressing a button. These now are converted to send a Program Change message to Equator to change it's patch and at the same time "Midi CC to SysEX" sends three SysEx messages to the Seaboard to set it's Glide-, Slide-, and Press- sensitivity according to my taste for the appropriate patch. (This perfectly solves the "Semitone to Glide or to second note" problem, which otherwise would prevent doing trills and similar sound engine based note transitions features.) Next tasks: - Integrate this in the "Life Rack" project used with the other keyboards and VSTs. - Allow for using other VSTs to be played with the Rise (by means of the "MPE to single channel" JSFX). - Allow for VSTs to be controlled by Rise and TC BBCv2 "Dimensions" at the same time. - Drop the second "hard" keyboard in my live setup . - Can I remotely switch the Rise "Faders" between "Dimension Control" and "CC" mode ? - Allow for live tweaking Equator parameters by the XTouch controlled knobs/faders/presets and/or the BBCv2. (Does Equator receive any CCs or would always DAW parameters need to be used ? ) -Michael Last edited by mschnell; 01-20-2019 at 02:29 AM. |
01-20-2019, 12:32 AM | #113 |
Human being with feelings
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,687
|
What exactly is RPN/NRPN after all ?
-Michael |
01-20-2019, 11:31 AM | #114 |
-blänk-
Join Date: Jun 2008
Posts: 11,359
|
In a nutshell, RPN and NRPN are a clutchy way to make more parameters controllable with the 128 possible CC numbers. Done by interpreting a combination of CC numbers as an address, the value of which is then changed by another combination of CC numbers.
- CC101 = RPN MSB - CC100 = RPN LSB - CC 99 = NRPN MSB - CC 98 = NRPN lSB both adresses share the same CC for the value change - CC6 = Data Entry MSB - CC38 = Data Entry LSB (optionally, if the value range extends 128) That means, you can have either one RPN or one NRPN address listen to data entry at any given time (but can rather rapidly switch between them). It also means that once you have specified a valid RPN or NRPN address, any spurious CC6 or CC38 will change that parameter. To clear the assigned address you can send CC101 = 127 CC100 = 127 CC99 = 127 CC98 =127 RPN (registered parameter numbers) are defined in the MIDI specs to have specific tasks, for example for setting the pitch bend range. That's similar to how CC10 is agreed to be MIDI channel pan. NRPN are open for developers to do what they want with. To do a pitch bend range change on a compatible device you send: - CC101 (RPN MSB) value 0 - CC100 (RPN LSB) value 0 (these two set the parameter address) - CC6 (Data Entry MSB) value n (n = semitones)This sets the value for the latest assigned address and optionally, to leave the place neat and clean: - CC101 127 - CC100 127 all on the channel you want the pitch bend range be changed on. Red doesn't mention the channel on which it should be sent for an MPE device, but I'd try the global channel first. Maybe it's even per zone? All RPNs in the MIDI specs have MSB = 0, so I assume that RPN 6 which sets the Zones in Red's post means the LSB is 6 and you send those messages on the channel you want to assign? The NRPN parameters look interesting, too. A patch change in your setup could for example also change the octave setting of the Rise to your liking. Red doesn't specify the channel, nor whether his address number is MSB or LSB but a little experiment should give you an answer. Too bad I can't do all that stuff with Blocks Last edited by gofer; 01-24-2019 at 06:17 AM. Reason: oopsie :) |
01-22-2019, 01:54 PM | #115 |
Human being with feelings
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,687
|
Uploaded "Midi CC to SysEX" to Reapack...
-Michael |
Thread Tools | |
Display Modes | |
|
|