Pico key as momentary button?

Sorry to bother you with beginner’s questions, but there is not much documentation of EigenD/Workbench.

I want to make octave keys like on Yamaha windcontrollers. Means, I hold down one (control-)key and the octave for all playing keys goes up. Releasing the (control-)key brings the octave to it’s default state.

Sounds like a job for a talker. But how do I interpret the key action pressed/released? Tried with those 0-1 pressure settings to no avail. Also tried do define a mod-key but couldn’t get the momentary behavior.

I did something along these lines with the fingerer. You have three “mod keys” that together define the tuning of the upper eight keys on pico, giving you 64 effective playing keys (thus more than five octaves with chromatic tuning or eight octaves with diatonic tuning). This is imho better than “octave up/down” toggles, because it allows you (with some practise) to instantly jump to any octave of your choice. Still my most favourite Pico setup :slight_smile:

You also need my User Fingerings.txt to get this to work:

There are three fingerers with different configurations in that setup.
The imho most interesting one uses the “alternative 2” fingerings together with the clarinette oscillator. This one is chosen by default.
I can remember that this alternative fingerer setup had some problems with some audio units, (could lead to hanging notes), it works without problems with the clarinette oscillator though.

If you prefer diatonic over chromatic tuning then consider to change to user fingering “alternative” (instead of “alternative 2”). That one keeps each note in the diatonic scale at a distinct playing key, so the mod keys just configure octaves 1-8. “alternative 2” on the other side gives you a 4x16 “strings” playing field with each string being a major third apart from the neighbour. So you can play it like a Tau/Alpha in chromatic mode.

Regarding your initial question with the talkers: I am not aware of a way how you can trigger a belcanto phrase “on release”. But perhaps @keymanpal knows a trick, of the still active people he has probably made the most sophisticated EigenD setups.

What you could easily make is e.g. a setup with eight playing keys and eight keys that toggle the playing keys to a defined range per toggle key “on press” (so no “on release” is needed). This would give you the same playing range as my fingerer based setup and retains the capability to press several keys in the play-key area together (the fingerer variant is mono - plus the three poly keys with defined intervals).
There is one caveat though: The talkers and the interpreter are running in the non-realtime thread of EigenD, so if you are playing fast with fast jumps between octaves it could happen that the playing key isn’t “retuned” yet when you press it.
In contrast the fingerer based variant is running everything in the realtime thread, so you can jump between octaves as fast as you can play :slight_smile:

1 Like

Thank you, this was very informative.

I think what I tried to describe is similar to what your configurations do. I thought I would need press/release for that but maybe this is not true.

I am not at home for a couple of days now but will try your settings asap. Maybe they solve what I see as another problem yet: Using a relatively big tone-range with scales but still beeing able to play foreign semitones when needed.

The info about realtime vs. non-realtime is important, I will only go with the fingerer variant.

Well, the [fingerer] is fine and I often want monophonic, but since it does currently not work well with plugins, I cannot use it.

However, your preset showed me a couple of ideas and techniques. Thanks again for that.

For the records:
I managed the press/release thing (= momentary button) by sending pressure values to Max, which generates one note for >0 (key pressed) and another for 0 (key released). These notes are sent to EigenD and feed a [talker]. Latency is ok for most tasks, ‘Scale factor’ and ‘Data decimation’ fully up in [midi converter] reduce data traffic to just a few events per press.

Yepp, unfortunately the Fingerer has some problems with conversion to MIDI (and thus also VSTs) - well, at least my custom layout has. Haven’t found out yet what the reason is, was mainly using it with EigenD internal components because of that. Btw., the clarinette is not the only cool EigenD internal phsysical modelling component, the cello and the modular synth components are also quite nice.
Have a look at @thetechnobear’s youtube channel, you can find some helpful tutorials how to use the EigenD synth components to build usual subtractive stuff.
EigenD is quite powerful and useful as a self contained environment actually. Getting “deep” and reaching undocumented ground quite fast as you also experienced though…
The Fingerer was written by the owner of Eigenlabs who isn’t the greatest fan of midi - so I can imagine that scenario wasn’t in the focus of testing… :wink:

Well, simulating real instruments is not in my focus, so we will probably never meet :slight_smile:

The Clarinet and the Cello are pretty good though. And I will have a close look at the internal modular stuff once I got the Pico running and stop swearing the whole day.

I still don’t know what kind of instrument that is. In German I would say it is a Blasdrückwackler.

Got Pico momentary keys working with Max, even with just 2 keys for semitone and octave up/down:

Key 9 on the Pico can be rolled forwards and backwards to shift a semitone up or down, similar with Key 18 for the octave. Does not change the tone on a pressed key of course and will need some training. You got to press the shifting key slightly before you play a note, then you can release it.

Bonus in polyphony: You can hold notes, roll the octave key and play one octave apart on other keys. The more fingers you have, the better :slightly_smiling_face:

For people who use Max, here is a screenshot of the patch that works flawlessly so far. Latency is ok. I use a separate midi line for controller data, so this stuff does neither mix with nor steal channels from playing data.

Here is the EigenD output configuration.
Scale factor at maximum keeps data traffic low:

Output notes 0-3 should not say
“scaler 1 hey semitone …” (= wrong Belcanto)
They should say
“scaler 1 hey modifier …”

Just a note to Max users:
The example above sends single note-on. This works in this case but not in other cases. Better (generally) use [makenote 127 0 1] instead, to get a valid note on/off.