Manual for Space Toad MIDI Sequencer 1.2.3

Contents:

How to install

How to register

How to use the numerical controls

How to setup the VST engine (VST version only)

The Transport Window

The Track Window

The Piano Window

The List Window

Editing time signature events

Global edit commands

The Grid Quantize function

The Groove Quantize function

The Logical Filter & Logical Transform pages

Options

Other features

The VST Mixer Window (VST version only)

Complete List of Shortcuts

How to install

There is no special installation procedure needed. Just unzip the downloaded file into a folder of your choice and run 'SpacetoadMIDI.exe'. If you are using some external MIDI device, don't forget to specify it via the MIDI/MIDI Out Settings menu option. Since the 'A' port is considered as the standard output, it is advisable to choose this port for the MIDI device you are likely to use most. If you have an external MIDI keyboard attached to your PC, choose the it's device name from the list in MIDI/MIDI In Settings as well. On the top at the right side of the main window you will notice two displays with some yellow text inside. These are MIDI monitors you can use to check if your MIDI equipment is properly connected. The left display will always show the last MIDI in message that was received, the other one does the same for the MIDI out ports.

How to register

After having purchased the program, you will receive a license key. This key you must enter in the text box that will appear by choosing About/Unlock Full Version from the main menu. Be careful to enter the key as it is without any initial or trailing spaces. Then close the program, launch it again and all full version features will be accessible.

How to use the numerical controls

Most configurable parameters in this program become accessible through special rectangular control boxes. They all work the same way: To change a parameter, grab the number with a left-click and drag the mouse either upwards or downwards. Dragging upwards lowers the value, dragging downwards does the opposite. To traverse larger ranges, move the mouse horizontally, too. The larger the horizontal distance between the displayed number and the actual mouse position, the larger the intervals between the successive values. An exception are those controls, that are surrounded by blue frames. Those with one frame only are menu buttons. Simply click on them to open a popup menu with all possible values listed and choose one of them. Those with two frames around them are simple push buttons.

How to setup the VST engine (VST version only)

In case there is more than one sound card in your computer, you should first of all setup an audio output device with the VST/Audio Out Settings option.

Next you will have to choose the latency with which the audio engine will run. 'Latency' means the time interval that elapses between the moment the audio engine is told to produce a note and the moment when this note actually becomes audible through the loadspeakers. Digitally processed audio always has some latency, but that can range from a few hardly-to-be-noticed milliseconds to a clearly audible lagging behing of audio output, that will make it virtually impossible to play a piece of music on a keyboard and hear it rendered on a VST plug-in simultaneously. So one might be tempted to think that one should keep latency always as low as possible. But on the other hand a high latency always brings more stability to a performance. When CPU load becomes critical during a performance, audio drop-outs and similar undesirable effects resulting from CPU overload can much more easily creep in when latency is low.

So choose wisely between the two different audio rendering modes, that you will find listed under VST/Buffer Scheme:

'Rotary (DirectSound)' is the minimum-latency mode. This mode requires a fast CPU as well as a fast implementation of DirectX (so it probably won't run at all on Windows emulators as WINE). The downside of this method is that already an CPU overload of even one sequencer cycle (such a cycle lasts only 5 milliseconds) will bring the engine down to its knees. When this happens, sequencing is temporarily stopped and a 'Time Out' warning is issued. After you have received this warning, you should mute some tracks or take similar measures to make the CPU load less severe, before you press 'OK', otherwise you might immediately run into the next warning after the sequencer restarted. You can keep yourself informed about the current CPU load by consulting the CPU monitor, which is located on the far right of the main frame window. The number displayed there shows the percentage of CPU time used by the plug-ins (always taken form the last sequencer cycle). It very much depends on the quality of the plug-ins you use, but generally CPU load should be kept below 40 % to be on the safe side.

'Double (MME)' is the maximum-stability (but at the same time maximum-latency) mode. This uses the very safe, but also very slow native Windows driver, so most probably there are no restrictions concerning the machines on which it will run. In this mode the audible sound will always lag behind the sequencer for a considerable amount of time, so plug-ins have ample opportunity to mutually compensate fluctuations of their CPU time needs. Note that plug-ins that require host synchronization (as e.g. MIDI-producing plug-ins, that are expected to perform in sync with the sequencer tracks) may not work properly in this mode, since synchronization info might become outdated, before the plug-in even gets a chance to process it. Overloading the CPU will not result in playback termination using this method, but will produce distored audio output, which comes from unfinished sound data thrown out into loudspeakers (some people are afraid of these noises, thinking they would hear their computer melting down, but it's just data junk made audible und totally harmless). Also general performance of the computer might slow down, when there is too much work for the audio engine.

'Buffer Size' If you hear pops, crackles (Double Mode) or the whole audio sounds sounds as if chopped into tiny pieces (Rotary Mode) the buffer(s) may be too small. But having smaller buffers results in less latency, so keep this as low as possible.

'Bit Depth' In case your soundcard does support it, you may increase the bit resolution of the audio output (but only when running 'Rotary Mode', as Windows drivers never support 32-bit). Having 32-bit results in better sound quality (negative effects on latency are there, but they are quite neglegible).

Loading and Unloading VST Plug-Ins

In order to make a VST plug-in known to the Space Toad it has to be copied into the VSTs folder that is located just where your copy of "SpacetoadMIDI.exe" resides. When the program starts all .dll files in this directory are searched and it is checked, if these are really VST plug-ins. If so, they are either moved to the list of possible VST instruments or the list of possible VST effects. The Space Toad possesses 16 virtual audio channels on which VSTi plug-ins can be mounted as well as 6 effect slots for VST effects. To load a VST instrument onto a channel use VST/Load / Unload VST Instrument, Having done so, the instument is ready for playback and you can make it the target of any sequencer track. Do so by choosing 'VST' as the output port together with the audio channel number as track channel in the Track Parameter dialog. For loading an effect similarily use the VST/Load / Unload VST Effect option. To unload an instrument or an effect proceed as with loading, but then select 'none' from the VST list.

Main windows

Concerning the sequencer there are four main windows, track, piano, event list & transport, which are evoked and closed by left-clicking with the mouse on the respective buttons on the top of the screen or by pressing F1-F4.

The Transport Window

Starting and stopping the sequencer

The buttons found in the lower right side do not only look very much like those of a tape recorder, they also function like these: On the left there are three more sequencer-specific switches: Master, Loop & Click. These can also be toggled by the key "m", "l" and "c".

Changing the play position

There are several ways to manipulate the play position of the sequencer:

Recording techniques

The Track Window

The Track Window is divided in two halves. The left half is the Track List, the other one is called the Arrange Window.

What you can do with the Track List

Track Parameters

The Track Parameters define real-time alterations of outgoing MIDI data.

The visibility of the respective panel is toggled by right-clicks on the VU display (that's where the bouncing bars appear during playback). On this panel you can edit the parameters through the Numerical Controls appearing there. The displayed values always refer to the currently selected track.

The first two parameters sets (those with a greenish colour) are static, but the last set (the reddish one) is dynamic and its members can be recorded just the way tempo you may record information.

Recorded Parameter Change Events can be edited via the List Window. It is also possible to produce these events directly there.

If you want to apply the modifications introduced by track parameters to the events in memory (so they become visible in the editors), use the Functions/Freeze Track Parameters option. This will permanently modify all MIDI events, reset the track parameters to their default values and delete all parameter change events on affected tracks. You may either do this globally, i.e. for all tracks (advisable before exporting to Standard MIDI File format) or locally, i.e. only for the selected track.

What you can do in the Arrange Window

In this half of the Track Window you will find an overview of all events present on each track. Here events can be grouped into parts, which can be copied, moved, deleted etc. This is also the place, where controller events can be edited using the Draw Mode (one of the different mouse modes). To edit note events, you will have to resort to the Piano Window, for inserting and changing text events the List Window is the appropriate choice.
AZoom in & out
BMinimal zoom
CMaximal zoom & focus on selected track
DThe event type to be drawn in Draw Mode
EWhich action the mouse will perform
FTo which resolution the mouse will be mapped
GLeft-click to set new play position, right-click to open context menu
HRight-click to open track parameters
ILeft-click to select a track, right-click to change the track name

The Locator Range

The Locator Range - visible as a green strip in the time bar - has a twofold function: While the sequencer is in Loop mode, it determines the start & end points of the actual playback loop. When using the Global Edit commands, it designates the range which is to be affected by these commands. Both locators points can be set by right-clicking on the time bar at the desired position (see picture above). The start point must - of course - precede the stop point (if it doesn't, the program flips the two points around). With Loop Bar start and stop are set to beginning and end of the bar you have clicked on. Loop All locates the start point at the position of the first event of the composition and the stop point at the last. The locator points may also be moved in steps of exactly one bar by pressing the left or right arrow key with the control-key held down. This feature becomes useful, when the sequencer is held in a tight loop, as it enables quick auditioning of adjacent passages.

Dealing with Parts

The arrangement of large bulks of MIDI events becomes easier, when related MIDI data can be grouped together in some way. In this application, this need is fulfilled by so the called Parts. These designate regions either containing MIDI events or being empty and are shown as yellowish boxes in the Arrange Window. Operations performed on a part will be performed on every event it encloses, so when a part is selected, all events residing within its limits are selected, too, when it is moved, all events within it move, too. Parts will in most cases be created by the user himself, but the program can create them automatically as well, e.g. when a Standard MIDI File is imported or events are added outside the current part ranges by using the other editors. It is not, as with most other sequencers, allowed, that parts overlap, but you don't have to worry too much about this, because in case of conclicting part ranges (as it may occur - for instance - after drag & drop operations) the program will dissolve the conflict automatically by slicing existing parts and/or creating new parts.

Drawing events

Choose Draw as mouse mode and specifiy the event type you wish to edit. Then enter the maximum zoom level via the Maximum Zoom & Focus push button in the toolbar at the top of the Track Window (not required, but recommended). Create an empty part to receive the new data, if necessary. To enter single events, left-click into the part with the mouse, which now functions as pen. The extact position of the created events is again dependent on to the snap value settings (if set to Bar events will always be inserted at the start of the previous bar etc.) To enter continuous controller changes click & drag with the mouse from the intended start point to the stop point and then release the mouse button. A straight line of control data will appear (and controller data already present inside the range covered by the line will eventually have disappeared, since it has been overwritten). If you want to reduce the amount of control data generated use larger snap values, e.g. when snap value is 1/16, control data will be inserted only at every 1/16 beat etc. To create more complex controller movements just draw more lines, until you arrive at the desired shape. If you want smoother transitions between different value levels, use the Smooth mouse mode to draw a selection box across the drawn events and watch their shape turn from 'edgy' to 'curvy'. Finally you may use the Erase mouse mode to delete events of the specified Edit type inside a certain range.

The Piano Window

The Piano Window looks much like the Arrange Window with the difference that it cam fully display only one track at a time and that from this track only the note events are shown. The resolution of the screen is much finer than that of the Arrange Window, so notes can be inserted and manipulated at precise pitches and intervals.
AZoom in & out
BDisplay all tracks
CPlay only displayed track
DOne track up / down
EWhich action the mouse will perform
FTo which resolution the mouse will be mapped
GStarting length of drawn notes
HClick on keys to play or record notes
ILeft-click to set new play position, right-click to open context menu

When 'Display all Tracks' option is selected, notes of other tracks are shown, too. But you still cannot edit these notes until you have selected the track, that contains them. To find the track that contains a note, scroll through the tracks using the arrow keys until the note turns from pale to deep green (or blue).

Possible mouse actions in this window are:

The List Window

In this window the events of one track are simply listed one after the other. Here events are displayed and can be edited which are not shown in the other editors, e.g. text events. In addition there is a red "audition" frame, that can moved with the ctrl+up-arrow and ctrl+down-arrow. When this frame arrives at a new note, the sequencer will play it immediately. This features will make it easier to identify the displayed passages.
APosition with bar, beats & subticks
BThe name field (event type)
C1st value
D2nd value
EChannel & length
FOne track up / down
GWhich type of event to insert
HUncheck event types you don't want to be displayed

Editing Time Signature Events

As you may notice shifting or duplicating a part will never touches any time signature event that may be contained in it. This is, because simply relocating a time signature event in time could result in a meter context that is either ambiguous or (even worse) imcomplete (and many MIDI sequencer are fond of crashing at that point). The only exception from this otherwise general rule are the Global Edit commands. Since these commands operate on whole portions of a composition, they cannot produce ambiguous meter information, so they affect time signature events as well. For modifying the meter structure of a composition manually there is only one way. Invoke the Insert Time Signature command by right-clicking on the time bar of either the Arrange Window or the Piano Window. You should place the click right after the start of the first bar, which is going to receive the new time signature. Choose the meter and press 'OK'. In case of compositions with heavily changing meters the program may occasionally create some additional time signature events before a subsequent meter change, so these will not be eventually get relocated in time. Besides this operation erases superfluous time signature changes as well, so a special 'Delete Time Signature' command isn't really needed: just overwrite time signature changes you don't want to see anymore with the previous meter and they will disappear.

Global Edit commands

Global edit commands do not operate on selected events or on one selected track only, but on a whole piece of a composition. Where this piece starts and ends, is determined by the currently chosen Locator Range. Note that unlike editing operations affecting individual events, these commands will also affect any time signature events found within their range.

The Grid Quantize function

During this operation all notes get aligned on a specific time grid.

There are four different Quantize parameters accessible through the Functions/Quantize Settings dialog:

The Quantize operation is a virtual operation. This means that the program does not forget about the original position of the note, so it can be restored at any time. This is done by the Functions/Undo Quantize command (note has to be selected). The opposite of this command is the Functions/Freeze Quantize command, that will make the program forget about the original position of all selected notes and replace it by the quantized position. Standard MIDI files do not support virtual attributes, so "freezing" is a prerequisite before exporting into a Standard MIDI files. Note that a virtual operation cannot be accumulative, which means that the results of virtual operations don't add up, but rather replace each other. If you want to apply different forms of quantization successively, already present quantization effects must first be "freezed".

Apart from normal quantization you can also use Functions/Length Quantize to make the length of all selected note events a multiple of the quantization value specified in the Quantize Settings Dialog, Functions/Fixed Length to replace all lengths with that value and Functions/Convert To Legato, which makes each selected note stop right at the start of the next one. These are non-virtual and behave just like normal edit commands.

The Groove Quantize Funtion

The Groove Quantize function basically performs the same operation as Grid Quantization does. The difference is, that the quantization points that will attract the notes do not have to be equally distributed in time. Rather they can be placed individually and as an extra can be associated with indivdual accents, either added to or subtracted from the loudness of affected notes, when quantization is applied.

AMove the knobs within this area
BRight-click somewhere here to alter number of divisions belonging to this beat
CRight-click somewhere here to change total number of beats

When you open the Groove Quantize dialog, you will see four rectangles arranged in clockwise fashion, each enclosing four smaller rectangles. This is a representation of how a bar will be divided by the Groove Quantize function. The small rectangles represent single beats, the larger ones stand for beat groups. You can change the number of beats contained within a single beat group (2-4 are possible) by right-clicking into the respective rectangle. The number of beat groups (again 2-4 are possible) can be altered by right-clicking somewhere at the edge of the diagram (outside the white rectangles representing beat groups). So you may work with simple as well as composite meters (as e.g. 3+3+2) with a total number of beats ranging from 4 to 16. Note that this function will ignore the division given by the current meter context of any event, i.e. that of the preceeding Time Signature event - it will always use its own.

Setting up the Groove structure

Now in each of the smaller rectangles there is a little knob, which can be dragged horizontally as well as vertically. By moving these knobs you achieve something similar to raising the Swing level with Grid Quantization: Notes are put before or after their "proper" positions. Similarily the heaviness of a beat can be controlled by the vertical placement of the knob. The exact translation of the coordinates is:

above: light
left: "before the beat" right: "after the beat"
below: heavy

The four coloured lines, which link the sixteen knobs with each other, can provide a first-glance impression of the internal symetry (or lack of symetry) inside the Groove structure.

The remaining buttons combine the application of the pattern with some previous fine-tuning. With the help of of these fine-tune buttons you may only displace a few selected beats and let the program adjust the other positions automatically:

The "Range" & "Attraction" controls do the same thing they do with Grid Quantization.

Loading and Saving of Groove Structures

As with Grid Quantization, Groove Quantization is virtual, too. So you must "freeze" it before exporting to a MIDI File etc.

Logical Filter, Logical Transform & Logical Interpolation

These two pages allow complex edits and manipulations of MIDI events.

The Logical Filter searches through all selected MIDI data and (depending on the mode it is set to) deletes all events, which fullfill certain conditions or (if set to 'select') deselects all events, which do not fullfill them.

The attributes tested are:

The Logical Transformer searches through all selected MIDI data, marks those events, that match the specified conditions, and (depending on the mode it is set to) either alters them in some way or adds new altered versions of these events to the MIDI data store.

Each of the attributes given above can be modified by the following operations:

The Logical Interpolator does quite the same as the Transformer, with the exception that it does not operate with static values but with dynamic ones. These are interpolated from a given start and stop value in reference to the currently set Locator Range. Accordingly the Interpolator has two double-rows of numbers instead of one, the upper one for the start values and the lower one for the end values. If e.g. the operation is to multiply note velocities with a given multiplicator and this is set to a start value of 1.0 and a stop value of 2.0, there will be no modification before and at the beginning of the selected range, then a gradual increase of the loudness of notes within the range itself, until note velocities end up being doubled at the end of the range and beyond - a crescendo has been created.

Options

There are some optional features, that can be turned on and off via the Options menu:

Other features

The VST Mixer Window (VST Version only)

AInstrument Column
BEffect Column
CMain Control
DInstrument Control
ERouting Control
FVoltmeter for audio channel input
GVoltmeter for master output
HToggle between page 1 and page 2

The Mixer Window consists of the following regions:

Complete List of Shortcuts

Display Commands
F1 Show/hide Track Window
F2 Show/hide Piano Window
F3 Show/hide Event List Window
F4 Show/hide Transport Panel
Ctrl+Shift+Q Open Quantize Dialog
Ctrl+Shift+F Open Filter Dialog
Ctrl+Shift+T Open Transform Dialog
Ctrl+Shift+I Open Interpolator Dialog
Sequencer Commands
F Toggle Follow Mode
M Toggle Master Mode
L Toggle Loop Mode
C Metronome on/off
Shift + SPACE / Num 0 Start playback from beginning
ENTER / Num 1 Stop playback
SPACE / Num 2 Continue playback
INSERT / Num * Toggle Record Mode
Arrow Up One track up
Arrow Down One track down
Arrow Left Move to previous bar
Arrow Right Move to next bar
Control + Arrow Left Move locator points one bar to the left
Control + Arrow Right Move locator points one bar to the right
Edit Commands
U Undo
Ctrl+A Select All
Alt+S Choose Select Mode (Track Window)
Alt+D Choose Duplicate Mode (Track Window)
Alt+H Choose Shift Mode (Track Window)
Alt+L Choose Split Mode (Track Window)
Alt+M Choose Merge Mode (Track Window)
Alt+Z Choose Size Mode (Track Window)
Alt+W Choose Draw Mode (Track Window)
Alt+E Choose Erase Mode (Track Window)
Alt+O Choose Smooth Mode (Track Window)
Alt+T Choose Transpose Mode (Piano Window)
Alt+R Choose Draw Mode (Piano Window)
Alt+V Choose Length / Velocity Mode (Piano Window)
0 Snap off
1 Snap Value: Bar
2-7 Snap Value: 1/2 - 1/64
Ctrl+2 - Ctrl+7 Snap Value 1/2T - 1/64T
Alt+2 - Alt+7 Snap Value: 1/2D - 1/64D
Structure Commands
N Create new track
Ctrl+Alt+N Create new part
Ctrl+Alt+D Delete selected parts
Ctrl+Alt+R Repeat selected parts
Del Delete selected track
Alt+Del Delete selected events
Alt+Shift+D Duplicate range
Alt+Shift+S Shift range
Alt+Shift+C Global Cut
Alt+Shift+I Global Insert
Alt+Shift+Del Global Delete
Function Commands
P Freeze Track Parameters
Q Quantize
File Commands
Ctrl+N New File
Ctrl+O Open File
Ctrl+S Save File
Ctrl+Shift+S Save File as
Ctrl+I Import Standard MIDI File
Ctrl+E Export Standard MIDI File
Ctrl+Q Exit Program