Granpoly 1.1 — a three-voice granular synth

Granpoly has two modes: in “grain mode,” the keyboard slices the sample up into approximately fifty grains. The origin loop (let’s call it the kernel) plays, except when a key is depressed, which causes the grain selected to loop (range approximately C2 to C6, although it can vary slightly per sample). When the key is released, the kernel loop continues to play. This mode is monophonic.

When you find a grain you like, however, you can switch to “multi-grain” mode. Then the ZOIA becomes a nice piece toast, and the pixels represent a variety of jams and… just kidding. Now you’ve locked the grain, and you can play it chromatically, with up to three voices. Because the grain loops will… loop, endless, they pass through an ADSR controlled VCA in this mode, which allows you to play them as “notes.”

Stompswitches:
Right, momentary: record loop
Middle, momentary: randomize start position (disabled in “grain” mode, not all outcomes produce sound).
Right, latching: switches between “grain” mode (monophonic, keyboard control over grain position) and “multi-grain” mode (keyboard control over three pitched grains).

Front page:

[RA][RR]………….[MI][A][D][S][R]
………………………………………….[V]
[GS]…………[MP]……………………..
[AM]…………………………[GD][KD]
[RD][RM]….[KV]………………[DM]

RA = randomize amount. This control allows for the randomization of start and grain size within a narrow range (larger ranges tend to produce lots of silence/bad noises). You might think of this as a sort of “drift” that can be applied to your grains.
RR = randomize rate

MI = white pixel. When on, in “multi-grain” mode. When off, in “grain” mode.

ADSR = ADSR control
V = velocity amount. See revision note 1.1.

GS = grain size (0 = no grains, because the loops too damn short, 1 = loop plays unaffected… “sweet spots” tend to be ~.01-.2).
AM = aftertouch amount. The degree to which aftertouch or channel pressure affects grain size. (If your controller doesn’t have aftertouch, routing this to the mod wheel might be fun.) Can be positive or negative. Small amounts recommended (larger amounts in either direction can either result in no sound or in the loop playing essentially unaffected).

MP* = monophonic pitch. Pitch/speed control over the monophonic grain loop in “grain” mode. Disabled during “multi-grain” mode.
KV* = kernel loop volume. This controls the volume of the kernel loop in “multi-grain” mode. By default, it is silent.

RD = reverb decay
RM = reverb mix

GD = global direction. Forward = .5 or lower, reverse = .5 or higher. See note on “DM”
KD = Kevin Durant. But also key direction control. Lower numbers = more likely to be forward, higher numbers = more likely to be reverse. See note on “DM”
DM = direction mode, latching pushbutton. When “off” (the light is dimmed) the direction of the patch is under global control, and you can choose whether your grains play forward or in reverse (does not effect the ‘kernel loop’ in ‘grain mode’ which will always play as it was originally recorded). When “on” (the light is bright), the direction of each loop is considered per key stroke. That is, each time you press a key, the result may either be forward or reverse. The likelihood of either scenario is determined by the ‘key direction’ control.

MIDI channel 1
Priority oldest (this helps it track with “grain” mode–I just didn’t have CPU to reroute/switch the other two MIDI notes!)

*mode dependent

Rather than map each item to CCs, I instead starred the controls, so that you might map as you see fit.

Revision note 1.1 (8/14/19):

Some relatively minor changes, that hopefully improve the user experience.

–ADDED: Named modules on the control page.

–FIXED: Velocity now works as expected, controlling the volume of a note. There is still a control for velocity amount; at 0, velocity will have full control over volume. As this value is increased, it is added to velocity, so that the dynamic range of velocity is decreased (although I mostly use it to make up for lost gain, as I rarely strike the keyboard at an amount that exceeds .7 or so). At above .75 or so, velocity should have no effect, although this may depend on the MIDI controller used.

Sound clip:

0:00-1:05–Old NASA audio. The first part is spent in “grain” mode, moving around the sample. At the end, I switch to “multi-grain” mode.
1:05-2:20–Harp clip. Again, I begin in “grain” mode. For this section, I make use of the “key direction” option. Notice how the grain moves forward, then reverses, etc. I switch to “multi-grain” to demonstrate how the patch can be useful monophonically to change the speed of a grain. (This can be done in “grain” mode, too, with the speed control.)
2:20-3:20–Using “multi-grain” mode to generate new melodies from the ratios of speed. Messing around with the envelope some at the end, using a much smaller grain size.
3:20-4:53–Thumb piano. In “multi-grain” mode it becomes an alien trilling sound. Then I introduce the “randomize” control to introduce random variations and blips (the sound of the grain size reducing to nearly nothing). Finally, more demonstrations of the “key direction” control.

Leave a Reply

  • Platform:
  • Category: Sampler Synthesizer
  • Revision: 1.1; see revision note at bottom of description
  • Modified: 5 years ago
  • Views: 532
    Likes: 12
    Downloads: 2078
Download
Chat