Forum rss-feed

Forum

General Discussion: New MIDI routing tool

Most Recent

written by: geert

Hi 0beron,

Just wanted to tell you that I tracked down the problem and that it will be fixed for the next release. Basically, you had to be able to set the low bound range to 100% independently of where the base offset is located. So I changed the GUI to have totally independent dials for all three values. From my testing this should give you all the control you need and behave the same by default as what you were used to in the 1.2 release.

Best regards,

Geert

written by: dhjdhj

Mon, 20 Dec 2010 20:39:32 +0000 GMT

OK --- just had a chance to try out the MIDI routing stuff....figured it would be better to put this in new thread rather than leave it in the Pico thread (I don't have a pico)

Initial impressions after playing with it for not more than 5 minutes

This is a GREAT step forward, at least for me....in particular I love that I can stop events from being sent out on all 16 MIDI channels. Following are some issues I encountered.

1) Need to be able to move the little dialog so you can see what other settings are enabled in the grid
2) Pitchwheel events are going through even if there's no mapping defined for it.
3) Would like to be able to reverse the Bounds direction
4) I don't quite understand what's going on with Roll, I'm unable to get symmetrical results, i.e, I can move all the way to one side to produce MIDI 0 but moving all the way to the other size does not give me 127 and in fact seems to fluctuate quite a lot. (I had to adjust the "scale" to even get that....the default value wouldn't allow values greater than about 60 or so.

Now, if there could be a matrix like this to control on what channel each key goes out, I think I would be very close to where I want to be. I understand the usefulness of switching to a new channel if there's already a key held down but there are places where that gets in the way.

I'm VERY encouraged by this.


written by: NothanUmber

Mon, 20 Dec 2010 21:16:22 +0000 GMT

what's going on with Roll, I'm unable to get symmetrical results

have you tried to move the default value to 50? (It is at 0 by default)

Also kudos to the dev team from my side for the midi matrix - well done and very helpful! (Especially the global/per key option is what I hoped for)


written by: john

Mon, 20 Dec 2010 21:26:03 +0000 GMT

Hi David

On the odd Roll behaviour, are you sure you're not confusing Roll and Yaw? Roll is the longitudinal movement of the keys (often used for pitchbend) and Yaw is the side to side. You will find that Roll moves about a bit as you Yaw the key, just because your finger is not accurate enough in direction.

You will find that achieving the full range of the Roll and Yaw is fairly subjective (requiring some practice), and if its important to you to make this completely consistent (and easier to play) then closing the active window on the keys down a little can help. The active window is the range of movement we use to calculate the output Roll and Yaw data. Jim recently added the facility to change this, you should be able to set it using Stage in 1.3, it's a value set in the Alpha Manager. I can't remember what it's called for the life of me, I don't have my Alpha to hand so I can't look it up (the Alpha Manager only becomes populated when the Alpha is plugged in) and we haven't yet documented this - its very new and not in general usage.

This can also help if you want a dead consistent pitchbend range, to always be able to easily bend to a semitone or tone exactly, for example. You lose a little sensitivity, but in certain cases (and if you're just driving 7 bit MIDI this is one of them) this is an OK trade off.

The pitchwheel thing looks like a bug, I'll mention it to Geert tommorow, thanks for finding it.

John


written by: dhjdhj

Mon, 20 Dec 2010 21:47:36 +0000 GMT

John, you're absolutely right --- I had them confused and since I was seeing SOME change, I thought something was screwed up.

This is a huge step forward for me.


written by: geert

Mon, 20 Dec 2010 22:22:50 +0000 GMT

Hi David,

Thanks for trying out the new mapping matrix and giving your thoughts about it, they're very useful. Here are some suggestions:

* You can disable the global pitch bend through Belcanto as it always used to be with:

"scaler X hey all k range to 0 set"

Pitch bend messages are being sent out since the Eigenharp really generates frequencies, not note numbers. Meaning that translated to MIDI this becomes note number + pitch bend (think microtonal tunings). I agree that it might be confusing to have no control over that particular aspect from the mapping matrix, we'll check internally what the best way might be to adress this. It might have to wait until after New Year though since most of the dev team (including me) is currently on vacation.

* About reversing the bounds, setting the scale factor to a negative value should give you exactly that behavior.

* Finally, I don't fully understand what you mean with "control on what channel each key goes out". Do you want to use a single channel for all the MIDI data or do you want to explicitly set which individual key goes to which channel?

If it's the former, this can be done through:

"midi converter X hey midi channel to Y set" (which Y is a number from 1 to 16, setting it to 0 turns on polyphonic mode)

You can also do this through the advanced configuration of your audio units/midi outputs, check the Alpha reference guide for this.

If it's the latter, would you mind providing us with a practical use case so that we can think about how this can be achieved best?

Take care,

Geert


written by: dhjdhj

Mon, 20 Dec 2010 23:08:33 +0000 GMT

Geert --- thanks for the responses, particularly since you're on vacation (grin).

I don't doubt that this can all be done through Belcanto but I argue that Belcanto is just far too complicated for average end users of the eigenharp (and I say this as a very experienced software developer but who is completely baffled by its design --- it's making Perl look simple ---- grin)

I understand now that I could use a negative scaling factor but from a usability perspective, that's a very awkward (and non-obvious) workaround particularly as it is awkward to get EXACTLY from +N to -N. If you don't want to allow the bounds sliders to be reversable, may I suggest adding a checkbox called "Invert" which would of course just invert the scaling factor.

With respect to controlling channels, yes, I meant the latter. However, my desire for this feature was based on the lack of easy configuration and so I wanted to be able to hack some Max scripts to get around such limitations. If you can provide EASY GUI tools that will let me configure various groups (like those splits) without having to get involved with Belcanto, then that almost solves the issue completely.

By the way, I haven't check this, but is it possible to send "Program Change" events INTO the EigenD to change configuration? For example, what I would love to be able to do (and you'd probably never hear me complain again on this forum!) is easily setup a few presets (with different splits and different mappings via the new grid) and then have MainStage send a program change when I switch songs so that the Alpha is instantly configured for the next song.

I think that with the above, the Alpha can be easily integrated into an existing performance environment without the need for significant learning curves related to programming Belcanto, etc. That would be an order of magnitude improvement in usability allowing people to focus on PLAYING rather than controlling.


D


written by: dhjdhj

Mon, 20 Dec 2010 23:37:50 +0000 GMT

I just tried making one of the ribbon strips send out CC 1 data but nothing comes out when I touch/slide on the ribbons.

I'm using MIDI Monitor to see the results of what I'm doing.


written by: carvingCode

Tue, 21 Dec 2010 00:32:11 +0000 GMT

Are these settings saved with user setups?


written by: dhjdhj

Tue, 21 Dec 2010 00:33:47 +0000 GMT

I seem to have caused something to break. I assigned CC1 to Yaw and was happily controlling the cutoff freq of a soft synth when all of a sudden, Yaw seemed to stop working.
MIDI Monitor indicated that only the occasional CC1 (always with value 0) was being sent out.
Eventually, the dialog box for the grid opened but with nothing inside it.
I would send you a picture but unfortunately there doesn't seem to be a way to insert images into these forums.

(Edit: EigenD no longer responds -- I had to force quit)


written by: dhjdhj

Tue, 21 Dec 2010 00:40:07 +0000 GMT

Suggestions
1) The grid needs an option to clear ALL mappings in one go.
2) Use conventional dialogs --- I can't tell you how many times I clicked the "Clear mapping" button as if it was the OK button.


written by: dhjdhj

Tue, 21 Dec 2010 01:07:51 +0000 GMT

OK --- getting really adventurous....I plugged in the breath controller for the first time. Used the grid to assign breath to CC1 and nothing happens when I blow.

After some experimentation that got me nowhere, I cleared that mapping and assigned breath to CC2, the actual breath parameter. In that mode, I was SOMETIMES able to get breath messages to appear if I was in global mode (and so for all 16 channels) but I could NEVER get it to work in the per-note mode.

Reassigning breath back to CC1, I couldn't get anything at all to happen.


written by: geert

Tue, 21 Dec 2010 07:32:26 +0000 GMT

Thanks for the reports David, I'll look at them all. Just a quick reply about the breath controller. Mapping that to per-note information does indeed not get any data to be sent out, which is normal, the breath pipe is a global controller and contains no per-note data. I thought about detecting that and not offering the scope configuration in these cases in the UI. This is not as easy as it sounds though since the routing input parameters are totally generic and can easily be changed in Belcanto if you want to route others parts of the system through MIDI. I'll bring it up after the holidays though to see what could be done to make this clearer.

Take care,

Geert


written by: geert

Tue, 21 Dec 2010 09:23:58 +0000 GMT

@carvingCode, yes the mappings are saved with the setups


written by: dhjdhj

Tue, 21 Dec 2010 12:07:04 +0000 GMT

Geert, I understand that the breath controller is not tied to a specific physical key and because the normal operation of the eigenharp is to use new midi channels as more notes are played, you don't necessarily know what midi channel to use. However, I would argue that one useful solution would be to provide a third option along with global and per- note. That option should be "channel" so that I can define a single channel on which cc messages not tied to keys should always be sent. What I don't really ever want is a mode where the cc message is sent out on All midi channels. That is what screws up a lot of stuff t the receiving end.

Cheers, d



geert said:
Thanks for the reports David, I'll look at them all. Just a quick reply about the breath controller. Mapping that to per-note information does indeed not get any data to be sent out, which is normal, the breath pipe is a global controller and contains no per-note data. I thought about detecting that and not offering the scope configuration in these cases in the UI. This is not as easy as it sounds though since the routing input parameters are totally generic and can easily be changed in Belcanto if you want to route others parts of the system through MIDI. I'll bring it up after the holidays though to see what could be done to make this clearer.

Take care,

Geert


written by: geert

Tue, 21 Dec 2010 13:21:28 +0000 GMT

Hi David,

That's quite a neat idea, I'll think about it and propose it to the team after the holidays.

Regarding your stability problem where you had to force quit and the loss of some CC messages, I tracked down a MIDI mapping bug that could be responsible for all these. I'll give it some more testing and try to get out a new testing release when possible.

Take care,

Geert


written by: mikemilton

Tue, 21 Dec 2010 15:07:36 +0000 GMT

"What I don't really ever want is a mode where the cc message is sent out on All midi channels. That is what screws up a lot of stuff t the receiving end. "

Actually, multiple channels (including all) might be useful for layering sounds with some common controls. Perhaps it would make sense to be able to check off the channel(s) rather than limit it to one


written by: dhjdhj

Tue, 21 Dec 2010 15:22:41 +0000 GMT

I understand completely why one MIGHT want multiple channels, but it shouldn't be the default....in particular, not if there's no way to turn it off easily.

More relevantly, it is far easier to use a tool like Max (if necessary) or in many cases just Omnimode with MainStage, to do the necessary interpretation rather than shove a ton of extra data into the system unnecessarily.


written by: dhjdhj

Tue, 21 Dec 2010 15:23:11 +0000 GMT

I assume that the same arguments will apply to the ribbon controllers.

geert said:
Hi David,

That's quite a neat idea, I'll think about it and propose it to the team after the holidays.

Regarding your stability problem where you had to force quit and the loss of some CC messages, I tracked down a MIDI mapping bug that could be responsible for all these. I'll give it some more testing and try to get out a new testing release when possible.

Take care,

Geert


written by: dhjdhj

Wed, 22 Dec 2010 15:08:45 +0000 GMT

I meant to respond to this one ---- with systems like MainStage, layering is handled extremely well even if you only send stuff on a single channel. You can even do splits with a single channel as well.....it's very rare that you actually need multiple channels with these environments.

mikemilton said:
Actually, multiple channels (including all) might be useful for layering sounds with some common controls. Perhaps it would make sense to be able to check off the channel(s) rather than limit it to one


written by: bl4cksun

Thu, 23 Dec 2010 00:59:32 +0000 GMT

one thing you can do with multiple channels (although you needthe same synth and sound on each channel), different pitch bend plus different values for whatever you have yaw set to, applied to different notes.



Please log in to join the discussions