« | Main | »

Ganymed explained

By Jewe | January 1, 2000

A lot of people find Ganymed confusing, or even have a hard time to understand how certain things work in Ganymed.This may be partly due to the complexity of the synth, but is mostly due to the lack of concept in the user interface. It really shows that most of the programming energy and inventiveness went into the synth’s engine and not the GUI.

As it turned out, some people like the simple and minimalistic layout of the UI, however it is anything but “easy to get” and intuitive. It is only possible to figure out what the Synth does when you have spent lots of time playing around with it, trying out each parameter to check what it does.

Another thing that helps in not understanding the synth is that there is no user manual for it. I always wanted to, but well… I’m not a enthusiastic documentation writer, so…

In some of the sections here I will explain things “hands-on” style, so it helps if you load up Ganymed in the Vst-Host-Application of your choice while reading this, so you can directly follow the steps I’m explaining.

Document conventions: If I’m referring to a parameter of the synth, this will look like THIS.

Table of contents

  1. Mod-Wheel and negative modulations
  2. Gettin sumfin outa OSC2 !!?!
  3. The infamous pattern sequencer
  4. Recognized MIDI controller messages

Mod-Wheel and negative modulations

Some Ganymed users reported to me that Ganymed’s mod-wheel does not seem to behave right, others just said the mod-wheel in Ganymed has a bug.

Ganymed responds to the MIDI control-code (MIDI CC) #1 (mod-wheel), which is, according to the MIDI specs, an unipolar controller, meaning it just gives you control in one direction, namely the positive direction. This is unlike other controllers, which are bipolar like for example pitch-bend, which can go into the positive and negative direction. So unless the MIDI specs have changed, since the last time I used a MIDI keyboard, the mod-wheel response of Ganymed should be correct.

So since the mod-wheel controller of your MIDI keyboard or sequencer only sends positive values, you can add only positive mod-wheel values to Ganymed’s modulatable parameters. However, there is a way around this restriction by using a negative modulation amount. If you drag one of the modulation amount sliders in Ganymed to a negative amount, for example -100%, then the value from the mod-wheel will be actually subtracted from the parameter. If on the other hand, the modulation amount is +100% it will be added.

HOWEVER, in order to have something to subtract from, you must first select a constant value for the parameter you want to modulate. Here is a simple example:

Let’s go to an “Init” patch of the default bank (e.g. 127).

We want to apply reverse modulation on the feedback parameter of OSC3, so the first thing we need to do is give the synth something to subtract from, by dragging the parameter FEEDBACK LEVEL from the OSC3 section on the OSC page to 100%. If we now play a note, a sharp, nasty sound is heard.

OK, now we want to add modulation to that constant feedback, so we go to MOD3 page and select a modulation source for feedback (FB LEVEL MOD SRC). We select “wheel” as modulation source. Finally we need to specify an amount and thus drag the feedback modulation amount (FB LEVEL MOD LVL) to -100%. If we now hold a key and move the mod-wheel up, the sound gets less nasty and “warmer” the higher the mod-wheel is turned.

Now drag the modulation amount to +100% instead and try again. You’ll hear that the sound will actually go nuts and become some digital noise since the parameter will be set to 200% internally, 100% is the constant value from the OSC page, and 100% added from the mod-wheel.

Note that all of the modulatable parameters have a constant counter-part on the first page (OSC). So keep in mind that you need to select a constant value there, if you want to apply a negative (reversed) modulation.

Some parameters do not allow the internal value (the result of constant parameter value +/- modulation amount) to become negative, others do allow this. Volume, for example, will not allow you to go under 0%. If you select a constant volume of 10% and apply a modulation of -100%, then this will result in a volume of 0%, not -90%.

Gettin sumfin outa OSC2 !!?!

This is something most users do not understand (can’t blame them), so I’d like to point it out a little more, while I’m at it. When I first planned Ganymed, I had a simpler version in mind, where all 3 OSCs (the correct term would be operators) were connected in series.

However, it turned out that it would also be interesting if you could rewire the OSCs to have one modulator modulating two carriers, both with individual audio outputs. So I added some parameters that let you catch the signal from OSC2 before it modulates OSC3, and mix that to the audio outputs.

However, the default configuration is to have all 3 OSCs in series, the audio path from OSC2 to the outputs is switched OFF. So in order to actually hear audio output from OSC2, you must go to the MOD2 page and select one of the three envelope generators for OSC2 volume (OUT LEVEL ENV).

Without an envelope generator, the synth will refuse to give you an audio output for OSC2, otherwise you would hear an endless, static waveform that doesn’t care if you trigger a note or release it!

The infamous pattern sequencer

First, let’s step back and look at what we see on the MODSEQ page:

There’s a big “Excel sheet” displaying 5×16 cells. This is the pattern editor.
Then there is a single column displaying 16 rows of cells. This is the sequence editor.
And finally there are some sliders and buttons.

The pattern editor

Ok, what the pattern editor shows you, is basically a view at your current pattern data. For each patch (or preset, or program whatever you prefer) you can have up to 16 patterns. To add or remove patterns from/to the patch, you use the USED PATTERNS slider. To select a pattern for display / editing in the pattern editor, you use the CURRENT PATTERN slider. Note that if you drag this slider to a pattern that does not exist, the pattern editor will show only “–” entries. This indicates that you need to increase the USED PATTERNS parameter first, before you can edit.

Ok, back to the pattern editor.

Each pattern is made up of 4 modulation tracks (the columns) and 16 steps per track (the rows). There is NO WAY to have more or fewer steps in one pattern. This is a restriction of the synth.

As you can see, the 4 modulation tracks have the names P and M1 through M3. Each of these tracks is an individual modulation source in the synth. If you select a modulation source for the OSC3 feedback for example (MOD3 page, FB LEVEL MOD SRC) then you will encounter the modulation source names “SeqP” and “SeqM1” through “SeqM3”.

That means, if we would select “SeqM3”, then the parameter will get modulated with the data from the modulation track M3 from our pattern. The P track has a special meaning. It allows you to enter modulation data in semi-tones and cents, rather than in percent. So the P track is suitable for pitch-modulation.

The meaning of the “steps”

Your pattern will of course not be played all at once. Instead, each row represents a 1/16 note in time. So since we have 16 steps, one pattern is 16 x 1/16 = 1 bar. When a note is triggered, the sequencer will always restart at the first step in the first pattern. As you hold the note, the sequencer will then advance from step to step over time, sending the data from each modulation track to the parameters they should modulate.

Note the first column in the pattern editor labelled pos. It shows you the steps position in quarter notes and, seperated by a point, the position of a 1/16 note within that quarter note. You might wonder why it is possible to click and enter data in this column, even though this column is only used for display purposes – well, this is one of the many mysteries in this world.

The meaning of “SEQ” (the sequence editor)

The sequence editor allows you to change the ordering of your patterns as they will be played. Additionally, it determines, how many patterns you want to play, before the sequencer stops or automatically restarts the sequence (parameter PLAY MODE).

If you should be familiar with “MOD Trackers” then you can look at the sequence column as your “song”. While playing, the sequencer will look up the next pattern to play in this list. To add or remove entries to the sequence, you use the SEQUENCE LENGTH parameter.

As you move it, you will see how zeros appear in the SEQ list. This means, if you now play a note, all that you will ever hear is the synth playing pattern #0. If you have gone through the hassle to edit more than this pattern, for example #0 through 3, then you need to enter them into the SEQ list:


You might wonder what sense the SEQ makes at all… well it allows you to re-use and re-order patterns in your song without having to edit the pattern data again and again:


The meaning of the XFADE TIME parameters

For each modulation track in the pattern, there is a XFADE TIME parameter. This lets you specify how fast or slow the modulation from one step will transition to the next step.

For example, if the first step of track M3 is set to 100% and the second step is set to 0%, then this will result in a ramp over 3 milliseconds if the XFADE TIME is set to 0.003 seconds. However, if you set the XFADE TIME to 0.2 seconds, then the modulation will ramp from 100 to 0 over 200 milliseconds, creating a more smooth transition.

Note that this also depends on the tempo of the song you are playing. If a 1/16 note in your song is faster than 200 milliseconds, then the modulation will not really reach 0% in the second step. It will be probably at 10.33 or whatever, before the third step is played.

I definitely encourage you to play with this parameter and see how different your pattern will sound at different XFADE times.

To SYNC, or not to SYNC

Finally, there is the SYNC parameter. If this is on, then the synth will try to get the tempo and time information from your VST host application. If that fails (not all hosts do support this), then the synth will use the tempo you have specified for the TEMPO parameter.

Depending on your pattern, it can be nice to intentionally disable sync mode however, if you want to create slow, asynchronous transitions, for example.


There is alot of room to experiment with. For example, you don’t need to directly modulate one of the sound parameters of the synth. Experiment with modulating the LFO time or level with the pattern sequencer, or use the adders to sum up pattern modulation with other sources.

Also experiment with the adders. One good thing about having sample precise modulation (which is why Ganymed eats so much CPU) is that you can create interesting modulation feedback loops. For example, what happens if you use 99% from “Adder1” as source 1 for “Adder1” (yes, the same adder), and 1% from any other modulation source as source 2?

I used that on preset 50 and 51 “Sensitive Keys 1 + 2” of the default sound bank. Listen how the synth “wahhs” depending on the difference in note velocity. If you always hit with the same strength, the effect will vanish, but if you go from soft to hard and back, you’ll hear a nice, dynamic “wah” effect.

Recognized MIDI controller messages

As opposed to normal parameter automation, which is not interpolated in Ganymed, all received MIDI controller changes are sample precisely interpolated, meaning no crackling (“zipper noise”) is heard in the audio when the parameter is beeing changed.

Therefore you should prefer using MIDI controllers over using parameter automation whenever possible when you want to automate parameter changes in Ganymed.

CC # Name Description
1 Modulation Wheel Directly available as modulation source Wheel in Ganymed
7 Volume Controls the synthesizer’s main volume
10 Pan-Pot Controls the synthesizer’s position in the stereo field
11 Expression Affects the volume of the note(s) currently played
16 General purpose 1 Directly available as modulation source Midi1 in Ganymed
17 General purpose 2 Directly available as modulation source Midi2 in Ganymed
64 Footswitch If the footswitch is pressed, envelopes are kept at the end of the sustain phase; they will not enter the release phase unless the footswitch is released
121 Reset all controls If received, all MIDI controllers will be reset to their default values
123 All notes off If received, all playing notes are released
Channel pressure Also known as “Aftertouch”, directly available as modulation source Aftch in Ganymed
Pitch bend Pitch bend is automatically applied to all oscillators, however, the range of the effect (semitones) can be defined. See parameter BENDER RANGE on the global page.
Program change Changes the currently played program from the currently loaded bank. Already playing notes are not affected by this and will ring out normally.
Note on/off Directly available as modulation source Key in Ganymed
Note velocity Directly available as modulation source Velo in Ganymed

Topics: news, vst | Comments Off on Ganymed explained

Comments are closed.