Thanks for downloading Zweeger !

This is the manual for the version 1.0, but the concepts are still the sames

This manual will explain you the key-concepts of Zweeger. If you prefer to discover the tool with an example-approach, consider looking at the Zweeger’s tutorial.

A few definitions

Zweeger is a modular extended MIDI filter and generator. A Zweeger file is called an Ensemble. It is composed of Modules that you can chain in various ways. Each module contains a set of Parameters that you can use to modify its behaviour.

Let’s start

The Zweeger main panel

If double-click on the Zweeger icon (or on the .jar file if you are not working in a Window environment), Zweeger opens.

The screen is split in two parts:

The menu File

The menu File allows you to open saved ensemble and to save ensemble. It also gives an access to the Preferences window.

Ensembles’ directory: where you want to save your ensembles

Quantization: the number of time (per beat) that Zweeger need to output values. The higher value, the biggest cpu-usage Zweeger will require, the smaller value, the less accurate Zweeger will be regarding triggering (if you work with a 2 ticks per beat and define a trigger that occurs 4 times per beat, you will have some strange behaviour)

Log from start: opens the Log tab (from menu Help|Log) at the startup.

Load automatically last used ensemble: remember the ensemble you used the last time you closed Zweeger and reopens it at the next start-up.

Log’s level: the level of the log displayed in the |Log tab.

The menu Ensemble

The menu Ensemble allows you to add new, delete, move and rename modules. It also gives an access to the Ensemble’s Properties window.

Default tempo: The tempo used by Zweeger when no external tempo information is sent to Zweeger (external tempo information can only be received in the VST mode)

Midi Thru: The incoming MIDI messages you want to let thru:

Piano’s pitch bend ratio: See below the Piano .

If you want to define default values for new ensembles, you can edit the properties of the Default.aes ensemble located in Zweenger’s root directory.

Module description

Let’s have a look at the module panel:

This module has been created with the menu Ensemble|Add|Envelop constant. It is the simplest module of Zweeger but it features all the basic items you will find in the other module:

The trigger zone

This zone let’s you specify which message will trigger, re-trigger or re-synchronize you module. You can select a message among all the Midi messages, all the tempo definition and among the existing module able to act as trigger (see each module type description to know whether a Special type can act as trigger).

The parameter zone

All the parameters are stacked up in this panel. They range from very simple non automatable parameters to more complex ones.

Simple

Whether displayed as a list or as text field, the simple parameter contains a single value that does not change during the play of the ensemble.

Automated parameters

Automated parameters are parameters whose value can change with the time. In order to make such parameter change, you have to define which message will automate it and what would be the ratio. Valid messages are MIDI messages where you defined what information is going to give its value, VST automation messages and some modules.

A word about Automation

The automation is a continuous process where a fix value is combined with the fluctuante value from another message in order to produce a new value. The ratio field indicates the effect of the external message on the final value.

The ratio is used in this way:

��������������� value = [initial value] + [automation message’s value] * [ratio]

In the previous example, the automation message is "CC #1: Modulation, Amount: Value, Ch Any". This means that every incoming "CC #1" MIDI messages will be used, whatever channel it is. The Amount will serve to automate the Start Value parameter.

Releasable parameters

Some time parameters are releasable. This means that their length is not define in terms of beats or seconds. This means that the parameter will wait until a Special message is received. There are various release messages: every MIDI message can act as a release message, most module can also act as release messages. There are also four “Special Releasers”: “Same Note Off”, “Last received trigger”, ... These Special releasers will be described in the Message selection chapter.

The Output zone

In most of the modules you can decide to output the value of the module as a MIDI message or as a VST automation message. The value is expected to be in the [0, 1] range, except for Pitch bend messages where the range is [-1, 1] . Every out-of-range values will crop to this range. It is up to you to manage your module’s value stays in this range.

The MIDI message you export have to be well defined, and must contain one-and-only-one information set to Value. This information will receive the module’s value.

In this case, the exported message will be a "CC #16" on channel 1. The Amount will be set to the value of the module.

Modules type

T: Can trigger

t : Can be triggered

A: Can automate

R: Can release

O: Can use its value to produce an output message

o: : Can use its value to produce an output message, but the message’s definition is enforced by the module.

Periodic modules

Periodic modules are modules that produce a periodical value. They run as soon as the application plays. There is no real triggering for these modules, even when there is a Trigger panel. Triggering of these modules means synchronization.

LFO T,t,A,R,O

The LFO module generates a periodic signal whose form can be set from Sinus to Square and fine-tuned by the slider on the right of the drop-down. Its default values make it goes from 0 to 1.

Trigger: An optional trigger. When this message is received, the signal is restarted with its phase set to its Phase parameter,

Form: The LFO’s form which is combination of a primary form (triangle, sinus, square) and a form factor,

Cycle’s length: The period of the signal. This value can be automated,

Phase: Where the signals starts when the Read button is pressed and at each trigger: 0%: , 25%: , 50% , 75%: , 100%: ,

Amplitude: Amplitude of the signal,

Amp. phase: Value around which the signal evolves

Random T,t,A,R,O

This module produces a random signal. With all its “randomizer” parameters set to 0, it produces a square LFO, that goes, with its default values, from 0 to 1.

Trigger: An optional controlling message. When you set this message, the module’s periodicity is controlled by the triggering message; the parameters Cycle’s length and Cycle’s randomizer become hence unavailable. Each time the triggering message is heard, the module gets a new value accordingly to the Amplitude, Amp. randomizer and Amp. phase parameters. This feature can be used to synchronize two random modules for example.

Cycle’s length: The period of the signal. This value can be automated,

Cycle’s randomizer: The random factor added to the cycle’s length. It ranges from 0% to 100%

Amplitude: Amplitude of the signal.

Amp. randomizer: The random factor added to the cycle’s length. It ranges from 0% to 100%

Amp. phase: Value around which the signal evolves

Envelops t,A,O

Envelops are module whose value goes from one value to another one each time it is triggered. Without trigger, �the envelope never runs.

Trigger: A trigger message that will start the envelope,

Start Value and Value: The start and end value of the envelope

Transition: The time needed to go from the start to the end value. This parameter can be automated and is releasable. If it is, the envelope’s value will remain constant and set to previous value until the expected releasing message is heard.

Trail:� The behaviour and value of the envelope when its total length has elapsed: start value, end value, zero, or looping mode.

Instruments

Piano t,o

The module Piano is the preferred module to produce Note On and Note Off messages with Zweeger.

Notes messages are special MIDI messages for which more than one single value needs to be specified. For such messages, the note, the volume, the duration and the channel worth being controlled. Furthermore, the module Piano is the only way to produce Notes messages if you want to control more than one parameter at the same time.

Trigger: A trigger message that once heard will start the play of the note described in the module (Note On message)

Note: The note to play when the trigger occurs

Duration: The length of note. When this time has elapsed, a Note Off message is sent. It can be automated and is releasable. If it is, the Note Off will only be sent when the expected releasing message is heard.

Volume: The volume level of the note,

Channel: The Channel of the note,

Polyphonic: In the polyphonic mode, all the notes are be played until their length have elapsed or there are released. Otherwise, in the monophonic mode, a note will be played until its length has elapsed, it is released or another trigger occurs. If a trigger occurs while a note is playing, a Note Off message is sent to stop the previous note, before playing the new one.

Adjust pitch with Pitch Bend messages: With the automation of the Note parameter, you can be in a situation where to note to play is an entire note. If the Note parameter equals 60.5, the note to play is between C4 and C#4. The "Adjust pitch with Pitch Bend messages" tells Zweeger to generate a C4 Note On and a Pitch Bend message to reach C4-and-a-quarter-note. This also works for "while-playing" rectifications. The Pitch Bend message that Zweeger generates depends on the "Piano’s pitch bend ratio" parameter from the Ensemble’s Properties. This value tells Zweeger when to generate a full Pitch Bend message. In this example, it will be for a 4 semi-tones deviation. Zweeger will hence generate, for a half-semi-tone deviation, a 0.125 Pitch Bend message. This is something to set accordingly with the Sample or Synthetizer used after Zweeger.

Tools

Delay T(*),t,R(*),o

(*): depending on the delayed messages.

The Delay module stacks up triggering messages fitting the definition set in the Trigger field for an amount of time defined in the Delay Time field.

Trigger: The definition for the messages to delay,

Delay Time: The amount time the messages will be delayed,

Output delayed midi messages: In this mode, the delayed Midi messages are output with their delayed time information. Otherwise, their delayed form is only used internally.

Remapper A,O

The remapper module re-scales the value of messages. In Zweeger, all the incoming messages have a [0,1] range (except the Pitch Bend message, which has a [-1, 1] range). It is therefore sometimes useful to re-scale their range to [-1, 1] for automation purpose. This is the aim of this module.

Message to remap: A message whose value will be re-scaled. It needs to define a VALUE to re-scale.

Max/Min and Max/Min: The values’ mapping.

Message selection

The Message selection dialog box allows selecting and defining the trigger, the automation and the releasing messages and as well as the outputs.

It presents the known messages (for the MIDI In messages and Beat synchronized messages) and existing ones (for the Zweeger modules and VST automation messages).

Depending on the dialog box’s purpose (Trigger message, Automation message, ...), it colours the messages in gray if they cannot be used (invalid definition for the purpose), in blue if it is already used somewhere for the same purpose and in black if usable but not yet used.

While new Zweeger modules and new VST Automation messages cannot be created from this dialog,, it is the place to define new Midi messages and new Beat Synchronized messages.

Double-clicking the “New ... Definition” line opens respectively

�and

where these messages can be described.

Trigger Messages

Any Midi, Beat Synchronized and VST Automation messages can be used. For the modules, it depends on their type. See above.

Automation messages

Midi messages and VST Automation messages can be used. Midi messages must provide one and only one VALUE field in their definition. They can provide any ANY field. The VALUE field will provide its value for automation. For the modules, it depends on their type. See above.

Release messages

Same behaviour as for the trigger messages with the addition of four “Special Releasers”.

Consider the following trigger "Note On, Note� ANY, Volume ANY, Channel 1" definition in a module, the received trigger "Note On, Note C4, Volume 100, Channel 1".

A parameter with the following Special Releaser

Will be released when this message definition is heard

Last received trigger

Note On, Note C4, Volume 100, Channel 1

Equivalent as trigger

Note On, Note ANY, Volume ANY, Channel 1

Equivalent as trigger’s Note Off

Note Off, Note ANY, Channel 1

Last trigger’s Note Off

Note Off, Note C4, Channel 1

The two first Special Releasers are different only with Midi triggers. The two last ones are only available with Midi Note On triggers.

Output messages

Only Midi and VST Automation messages can be used. For Midi messages, the definition must specify one and only one VALUE field and no ANY field. The VALUE field is the one that will be replaced by the module’s value.