Switch Filter

A Switch which filters messages sent by all referring Ranks.

Properties

See Switch for properties.

References to

None.

Referenced from

  • Rank
    The Ranks which messages should be filtered by this element.

See Switch for further referrers.

Messages

  • Intercept
    Messages from Ranks to intercept, all other messages will be let through untouched.
  • Engaged
    Message to send to Sounds when this element was engaged or a Rank message was intercepted.
  • Disengaged
    Message to send to Sounds when this element was disengaged or a Rank message was intercepted.

See Switch for further messages.

In case a Switch Filter is just adding Messages to those of a Rank there's no need to use an Intercept message.

Sound Switch

By sending a Program Change or Bank Select message, the sound device can be directed to switch to completely different sounds. Note however that this change effects subsequent key presses only (as specified in the Midi protocol).

An example setup to use Program change Messages:

Name Status Data1 Data2
Intercept equal 192 get program
Engaged set 192 set program 0 | add 20
Disengaged set 192 set program 0

If engaged, the filter will shift the sound's program by 20.

An example setup to use Bank select Messages:

Name Status Data1 Data2
Intercept equal 176 equal 0 get bank
Engaged set 176 set 0 set bank 0 | add 1
Disengaged set 176 set0 set bank 0
Intercept equal 192 get program
Engaged set 192 set program 0
Disengaged set 192 set program 0

If engaged, the filter will shift the sound's bank by 1. Note that the current program is resent after each Bank select, otherwise the latter will have no effect as specified in the Midi protocol.

Tremulant

When a Switch Filter is engaged, it can send Messages that control the modulation of a sound device, e.g. a modulation controller message for a software synthesizer.

The LFO (low frequency oscillator) of a Creative Soundblaster can be controlled by the following NRPN messages:

Name Status Data1 Data2
Engaged set 176 set 99 set 127
Engaged set 176 set 98 set 1
Engaged set 176 set 38 set 60
Engaged set 176 set 99 set 127
Engaged set 176 set 98 set 17
Engaged set 176 set 38 set 1
Engaged set 176 set 99 set 127
Engaged set 176 set 98 set 20
Engaged set 176 set 38 set 2
Disengaged set 176 set 99 set 127
Disengaged set 176 set 98 set 17
Disengaged set 176 set 38 set 0
Disengaged set 176 set 99 set 127
Disengaged set 176 set 98 set 20
Disengaged set 176 set 38 set 0

With every package of three messages the device is configured with the value 60 for LFO frequency (1), 1 for LFO to pitch (17) and 2 for LFO to volume (20). Note that we reset LFO to pitch and LFO to volume to 0 when the filter was disengaged.

Alternatively you could switch to different sounds which have their Tremulant settings already applied. This gives the sound designer greater possibilities to fine-tune the sounds (in comparison to the rather limited capabilities of dynamic modulation).

Tuning Switch

A Switch Filter can be used to tune the sounds of referencing Ranks.

Utilizing a pitch bend (224) Midi message to switch between 127 and 64:

Name Status Data1 Data2
Engaged set 224 set 0 set 127
Disengaged set 224 set 0 set 64

Note that the tuning range depends on the pitch bend sensitivity of your Sounds producer.
Instead of pitch bend you might have to use another Midi Controller or NRPNs.

If you want to switch between different tunings, you can use several Switch Filters. Note that only one of them should be engaged at a time and you should only use Engaged messages, otherwise their messages will interfere with each other.

You can use a Regulator together with two Incrementers to conveniently alternate between your tunings.

For a continuous tuning see Tuning Wheel.

disposition/switchfilter.txt · Last modified: 2009/08/30 10:29 by svenmeier
Get jOrgan at SourceForge.net. Fast, secure and Free Open Source software downloads www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0