General Overview
Topiary consists of a series of plugins, called modules. Different modules may do very different things, but the principle is always the same
(insert diagram: keyboard/controller -into PC into host (show host transport controllers) host has keybs/controller and transport into module, module into sound source, sounds source into output).
Module setup
Typical setup of a Topiary module is the following:
- You have one or more input devices. There can be input devices for notes, pitch bends etc (keyboards), or controllers that generate midi CC messages, or even MCC messages (like transport Start/Stop commands).
- Input devices are hooked up to a plugin host. E.g. Cantabile (or other, for live performance) or a DAW.
- A topiary plugin is loaded into the host, and typically both input devices and host controllers (like the hosts transport) are hooked up to the Topiary Plugin (by means of midi routes)
- Topiary output is midi messages, so Topiary outputs are routed to sound sources (e.g. software synths like Kontakt, Diva etc) or sound effect plugins.
What Topiary does is take the midi input, be that from you playing notes (and note related events like channel pressure, after touch, pitch bend etc), or from manipulating controllers (knobs, switches on your keyboard or controller, or software buttons/dials in your host), and generate midi messages to be processed by the sound sources.
For example: the “command” to the plugin to actually start/change doing something might be:
- A CC message, e.g. the press of a button on a controller
- A note (any note on any channel, or a particular one on a particular midi channel)
- A transport command, coming from a mouse click on a button on the host’s transport bar
- A transport command, coming from an external controller
What exactly those outgoing midi messages really do, can be programmed into the plugin, and the effects can differ wildly, depending on the plugin – different Topiary plugins do different things. Some examples:
- Topiary Presetz reacts to incoming triggers – which can be individual notes, or CC messages) and sends mix signals to the sound source. Mix signals include volume settings, pan settings, but may also include FX control messages that change e.g. the amount of overdrive, or length of delays. Topiary Presetz does not produce any note data!
- Topiary Beatz produces MIDI (drum) patterns and it reacts to incoming triggers to decide which or what kind of drum pattern to output (e.g. an intro, a fill, a verse or a chorus pattern).
- Topiary Chordz reacts in 2 ways:
- It processes incoming note data, typically the player playing one or more notes (i.e; a chord – hence the name), and output a musical pattern, based on the notes in. Think of it like an arranger: you play a chord, with a root and some qualities (say a Dminor) and the musical pattern the plugin outputs will be a pattern in Dminor. Change input chord to F and the output pattern will be in F.
- It also processes CC messages, to alter – in real time – certain qualities of the generated output pattern. It allows you e.g. to perhaps change occurrences of certain (or all) notes, or vary note velocity, or even change the nature of the generated pattern completely.
- It processes incoming note data, typically the player playing one or more notes (i.e; a chord – hence the name), and output a musical pattern, based on the notes in. Think of it like an arranger: you play a chord, with a root and some qualities (say a Dminor) and the musical pattern the plugin outputs will be a pattern in Dminor. Change input chord to F and the output pattern will be in F.