Forum rss-feed

Forum

Software: Belcanto verbs

Most Recent

written by: NothanUmber

I don't have my Tau at hand atm., so I can't verify whether disabling the "Always return to origin" option of the new midi matrix has an effect on the relative strip (there is an absolute and a relative strip source parameter in the matrix).
Back in the days I used a custom Bidule solution that filtered out the final midi message 64 (when it would lead to a big value jump - value 64 could only be "approached" when coming from values close to it).
Don't know whether a comparable effect can be achieved via Belcanto.

Greetings,
NothanUmber

written by: 0beron

Mon, 31 May 2010 11:09:07 +0100 BST

First of all, I'd like to thank Sam and the other developers that have been steadily filling up the EigenD/belcanto reference section of the wiki. I remain a little confused on some things:

Each of the many and varied agents within EigenD seem to have a wide variety of input and output ports, which are listed in detail so far. What I am unsure of is how to manipulate them to get certain things to happen, such as connecting things like the strip controllers and breath pipe to some of these ports. I have a vague memory of a belcanto demo that Dave gave at PMT in Birmingham (typed in at light speed from the interpreter keygroup!) which used the verb 'connect' to wire up the strip controller to one of the input ports of an AU (or a rig, or some other intermediate agent). I've experimented with some likely looking strings but the interpreter doesn't seem to like my bad grammar! Is there any chance of some further documentation on the general syntax and semantics of belcanto, and some further info on verbs?


written by: Tenebrous

Mon, 31 May 2010 11:53:45 +0100 BST

I believe we're missing a key component (as far as Wiki documentation goes), which I think is called the Plumber, and is responsible for joining all the components together, and has it's own set of verbs to link things up etc.


written by: john

Mon, 31 May 2010 13:06:55 +0100 BST

You are quite correct - we haven't yet got to documenting the Plumber, which hooks up Ports for you. It's on the list to do, I'll ask Sam to think about moving it up in priority, although the increasingly immanent arrival of the Workbench does make it less important as connecting Ports just involves the graphical use of a wiring tool in that environent...

John


written by: Tenebrous

Mon, 31 May 2010 13:51:36 +0100 BST

Looking forwards to having a play with the Workbench :)


written by: 0beron

Mon, 31 May 2010 16:44:24 +0100 BST

Does the workbench include any introspection tools at all? I'm thinking of the belcanto strings that pop up in the browser when you trigger certain talker keys. If a graphical action in the workbench could be viewed in terms of belcanto commands as well, it would serve as a great learning tool.
I envisage using the workbench a fair bit in graphical mode, but you always need the ability to write belcanto scripts using a good old text editor :)


written by: NothanUmber

Thu, 3 Jun 2010 13:55:04 +0100 BST

Aside from the plumber agent, documentation for the keyboard agent could be really helpful! (Is there e.g. a way to reconfigure the Pico pitch strip so that it already reacts to lower pressure? Currently some force is needed to get the strip to do anything and the pitch immediately jumps back to it's original value if the pressure is slightly loosened or the finger reaches the outer regions about 1 cm before the ends of the ribbon.)

Btw.: Is there some interface specification that allows us to write our own agents in Python? That would be awesome!


written by: john

Thu, 3 Jun 2010 17:30:29 +0100 BST

Hi

The Pico strip pressure is unfortunately not something that can be controlled - it's a function of the way the ribbon is made. We actually buy this technology in (it's patented) so it's unlikely that this will change in the near future - we don't have much control over how it is designed. It is apparently possible to make the strip more sensitive, but only at the cost of a substantially reduced lifetime due to wear, which we really didn't want. We have investigated a number of other sensor technologies for the ribbon (such as capacitive sensors) but none of them offer the resolution of this one, and when doing large pitchbends it turns out that the current resolution is very nice.

You will find that the Alpha (and to an extent the Tau) strips are easier to press as they're wider and that makes this technology more sensitive.

As for writing Agents in Python, this will be possible when we open source, although most useful Agents are a mixture of Python and C++. Most data manipulation is done in C++ for speed as Python simply isn't quick enough to keep latencies low. The C++ components are assembled and configured in Python.

Hope that helps...

John


written by: 0beron

Thu, 3 Jun 2010 17:49:46 +0100 BST

I've wondered about the touch strips on the Alpha, particularly the fact that they snap back to the default value when you run off the end, and there is no tactile indication of where the end is. (I think there might be a slight bump, but not enough to physically stop your finger, so you usually overshoot.).

Can EigenD interpret the strip controllers in relative / absolute mode but with an additional 'sticky' option, that leaves the strip controller value unchanged when it loses track of your finger? In relative mode this means you could do really long pitchbends (or other parameter changes) much like scrubbing a mouse over a short table - when you pick up and move your finger back to the top the relative motion continues where you left off. In absolute mode the strip becomes like a 1 dimensional pen-tablet, ie picking up your finger and placing it elsewehere will make the value 'jump', but only when the finger goes back down, not on release.


written by: NothanUmber

Thu, 3 Jun 2010 18:22:34 +0100 BST

Thanks for the info!
After some hours of playing I got more used to the ribbon now (keeping the pressure at the required level and not sliding up to the very end of the ribbon so that the pitch bending doesn't stop).

My plan was to partition the ribbon into two trigger areas that transpose the respective key group up and down by a minor sixth. (The transposing only triggers if the finger leaves the trigger area without having changed the pitch for more than a half tone - so pitch bending would still be possible without triggering the transpose function). That way one could play the Pico with one hand (having the other hand free e.g. for piano accompaniment). And it would allow to split the Tau/Alpha into two keygroups (with a height of 8 keys) that can be played and transposed by one hand each. (Transposing would be done with the thumb for Tau/Alpha)
So one could write pieces that can be played by a Pico duet or one Tau/Alpha player.

As this doesn't have to work at audio rate perhaps Python would be sufficient, will see. Looking forward to the open source version of EigenD, this is really a great piece of software!


written by: john

Thu, 3 Jun 2010 18:26:24 +0100 BST

We've actually added little dimples in the back of the Tau so that you know where the end of the active zone on the strip is. This isn't possible on the Alpha, but you do have the location guide dimples in the rear binding to help locate you. It's an unfortunate feature of the technology that there is a dead zone at each end.

There is an absolute mode possible in the strip controllers I believe, but not the behaviour that you're describing as far as I'm aware. I'll ask Sam and Dave tommorow.

John


written by: john

Thu, 3 Jun 2010 18:32:19 +0100 BST

The splitting of the strip controller is an interesting idea, though it's not multi-touch capable, so if you wanted to do two shifts simultaneously (one for each keygroup) that wouldn't work. There are some interesting developments in the pipeline (that unfortunately I can't tell you about as yet ) that may make this problem go away though. Keep an eye out later this summer...

John


written by: Tenebrous

Thu, 3 Jun 2010 20:36:19 +0100 BST

Personally, I added two very small strips of Sellotape at either end of the strip controller, where the 'dead zones' are, so I can feel them. You can't really see it and it's a great help. I've done this on the Alpha too (it's more noticeable on the Alpha because the strips extend for the length of the instrument, but the sensor ribbons don't).


written by: 0beron

Fri, 4 Jun 2010 01:59:31 +0100 BST

The 'sticky' behaviour would fix this, since if you run off the end, the strip position stays where you left it. I suppose it makes 'unpitchbending' back to exactly 0 very hard....


written by: GoneCaving

Thu, 31 Mar 2011 19:17:47 +0100 BST

This one seems to have dropped off the radar (or am I mistaken?).

Is it possible to have a "sticky" strip controller? ie. leave the control at the last point set.

Dunc


written by: NothanUmber

Thu, 31 Mar 2011 20:04:56 +0100 BST

I don't have my Tau at hand atm., so I can't verify whether disabling the "Always return to origin" option of the new midi matrix has an effect on the relative strip (there is an absolute and a relative strip source parameter in the matrix).
Back in the days I used a custom Bidule solution that filtered out the final midi message 64 (when it would lead to a big value jump - value 64 could only be "approached" when coming from values close to it).
Don't know whether a comparable effect can be achieved via Belcanto.

Greetings,
NothanUmber



Please log in to join the discussions