eKalimba Looper — a polyphonic “velocity sensitive” grid “kalimba”

eKalimba began as an attempt to wring more expressivity out of the ZOIA grid, an interface that notably lacks things like velocity (see also: fool’s errand). To mimic velocity, I arranged the four rows to have different resonance responses — since the patch uses a pinged filter/modal synthesis method, this results in the voices getting brighter, with longer decays as you move from bottom to top. It’s not the most subtle use of “velocity,” but it does allow for slightly more dynamic range and performance from an interface that really doesn’t provide those things natively.

There are eight notes arranged across the columns of the grid, which can play up to four notes at a time. To add more range, you can also transpose the “tines” up or down one octave from a button on the control page. The voices are fairly simple, with only two resonators per voice, but you can offset one of the resonators to bring out more tones, and you can offset that resonator’s resonance as well, to give it more or less emphasis than the resonator tied to the “keyboard.”

Since there was some CPU left over, I added a little overdubbing looper with some neat effects — speed control and playback direction, of course, but also a “rewind” effect (where it speeds up and goes in reverse while the button is held) and a tape stop effect (where the speed is lowered until it effectively stops and can’t be heard), along with a tape age and warble control to add some degradation effects.

It’s a neat little device that’s fun to play around with, I think. It’s a good, simple voice if you want to throw some really weird effects at it.

The output is mono, but it is replicated at both outputs. Audio passes through in stereo.


Stompswitches (all stompswitch behavior is mirror on the control page, using UI buttons, if you want to try this patch out on a Zebu

Left — arm record/end record. When the looper is empty, this arms the recording mechanism for the looper. It will begin recording when the next note is played on the keyboard/tines on the control page. When you are done recording, tap the stompswitch again (or the UI button on the control page).

When a loop is playing, this arms overdubbing, which once again begins when a note is played on the keyboard/tines, and once again ends when the stompswitch/UI button is pressed again.

When the loop is armed, the “ARM RECORD” UI button on the control page will go from off to faint red to bright red. When a loop is recording, the pixel beside the Arm record UI button will go from off/blank to bright red.

Middle — clear/reset. This clears and resets the looper. (There is once again a corresponding UI button on the control page.)

Control page 1:

The top four rows are taken up by the “tines” of the “kalimba.” As you play these, the resonators’ resonance will be affected by how far up or down the column you play. You can adjust the range of the resonance on the second page (more on that below).

Across the bottom row are controls for the looper (with one exception). Arm record button, the recording pixel, and the clear button are all covered above, in the stompswitch section.

The next two controls are for the PITCH-SPEED and DIRECTION. You can slow down or speed up the loop (affecting its pitch in the process) or change its playback direction.

Next is the TRANPOSE button. This allows you to transpose the tines up or down one octave. In the default condition (not transposition), the button is purple. When you transpose up an octave, it turns pink. When you transpose down an octave, it turns sky. The button works like a three-way switch: press once to move up an octave, press again to move back to no transposition, press again to transpose down an octave, and another press returns you to no transposition.

The last two buttons are looper effects. The REWIND button is momentary; as long as you hold it down, it will speed up the loop and reverse it, which creates a sound similar to a rewinding tape (there is a slight slew to the change in speed, to replicate the speeding up of the tape). The other button, TAPE STOP, is latching. It produces a sound like a tape slowing down to a stop and speeding up again by applying an inverted envelope to the speed/pitch input of the looper.

(The slew limiters used to control the rates of these effects are found on the page labeled:

Control page 2:

Arranged across the top row are the “tuners” for the “tines.” You can use these to tune each column to whatever note you like.

The next row has to do with the timbre of the “kalimba.” OFFSET determines the amount that the second resonator is offset from the first; this allows you to create different timbres as the frequencies add together. With more harmonic settings (~one octave, for instance) you get more harmonic results; with inharmonic settings, you get more atonal results, which move the “kalimba” into the realm of other idiophones, like a gamelan. OFFSET RESONANCE determines the amount that this second resonator’s resonance is offset from the amount determined by the keyboard. This allows you to place more or less emphasis on this second resonator.

There is also a control for the frequency of the high-pass filter at the end of the chain (pre-mixer). The low end of pinged filters can get a bit muddy, so this can be useful for cleaning up the output.

The row below controls the range of the front page keyboard’s resonance. HIGH RESONANCE sets the resonance of notes played on the most setting. LOW RESONANCE sets the resonance of the notes played on the less setting. The notes in between (some, more) are scaled between these two boundaries.

The next row is more looper effects: TAPE AGE adds a noise modulation to the looper’s speed, resulting in low audio rate vibratos and more destructive distortion as it’s turned up. WARBLE adds some complex modulation to the speed pitch, emulating the warp and warble of an old cassette (at extreme settings you get very pronounced pitch dives, etc. which has a sort of “funhouse mirrors” effect, but in more moderate settings it really just adds a nice, unobtrusive sense of novelty).

The bottom row is the mixer. LOOPER LEVEL determines the output of the looper. KALIMBA LEVEL is set prior to the looper input, so it can control the volume of audio sent into the looper, as well as the output level of the “kalimba.”

Leave a Reply

  • Platform:
  • Category: Synthesizer
  • Revision: 0.1
  • License: Creative Commons Attribution Share Alike 4.0
  • Modified: 7 months ago
  • Views: 1176
    Likes: 20
    Downloads: 376