KeyKit :: Tools :: Typo

The typo tool is an interactive instrument controlled entirely from the typing keyboard. You start it up by typing "typo()" in the console. From then on, the typing keyboard will be completely taken-over by typo(), and will be played like an instrument. To exit from typo(), you press control-X and then Q.

When playing typo(), the letter keys (A-Z) are the ones that actually play notes, chords, and phrases. When the shift key is pressed, the things played by the letter keys will be recorded - but they will only be recorded *while* the shift key is pressed.

The number keys will switch between channels - e.g. pressing 2 will switch to channel 2. Pressing 0 will switch to channel 10 (drums).

When the control key is pressed, the letter keys then become "command" keys. Most of the command keys then require additional keys to be pressed for the actual operation. For example, when you press control-X, you then (after releasing control-X) press Q in order to quit.

When you first start, the letter keys will be assigned to a new-agey scale. You may hear a snare drum on channel 10, keeping a beat. To change the drum pattern, press control-D (D for drum) and then press "r" (r for random) - it will generate a new (algorithmic) drum pattern and start repeating it. If you don't like the pattern it produces, just press control-D and R to generate a new one.

Now start pressing the letters, to get a feel for what the notes are. When you're ready to start recording a loop of notes, hold down the shift key, and start pressing the letters (in time with the drum pattern). When you want to start looping the notes, release the shift key and press the RETURN key. The first note you played (after the shift key was held down) will be the first note of the loop. The length of the loop will be determined by the time between the first note you record and the time at which you press the RETURN key. The loop time will be quantized to the length of the drum pattern.

When you have a loop going (i.e. after recording something and hitting RETURN), switch to a different channel by pressing one of the number keys (e.g. "2"). Set your synthesizer to produce a different sound on channel 2, and play with the notes. When you're ready to add to the looped notes, hold down the SHIFT key and play the notes - whatever you play when the SHIFT key is pressed will be added to the looped phrase.

The length of a loop is determined by the first thing you record in it (i.e. the first time you press RETURN after recording something). All additional notes you add, on different channels, will not change the loop length. To completely clear a loop - delete everything and forget the loop length - press DEL. You can then start recording again and press RETURN to set a new loop length.

The loop you are constructing is "pattern 1". To switch to a different pattern, press control-P (P for pattern) and then a number (say, 2). The current pattern will stop playing, and pattern 2 (currently blank) will start playing - you should hear only the initial snare drum beat. Go through the same process of changing the drum pattern (if you want) and adding some melodic notes to the pattern. When you have another pattern you like, you can return to pattern 1 by pressing control-P,1 . You have 10 patterns (number keys 0-9) to play with.

The command control-A lets you "assign" different notes/chords/phrases to the letters A-Z. For example, control-A,K,N assigns a "newage" scale to the notes. Control-A,K,M assigns a "melodic minor" scale.

You can change the pitch offset of everything being played by pressing control-O (o for offset) and then pressing a letter (a-z). The letter 'm' corresponds to 0 offset, and letters above and below 'm' correspond to pitch offsets above and below 0. To return to the original offset, press control-O,M .

If you get any "stuck" notes, you can press the END key to send an "all-notes-off" message, at any time.

If you want to assign a different note or chord to a letter, press that note or chord on your MIDI controller, and then press control-G (g for grab) and then the letter to which you want to assign that note or chord. In other words, to assign a C chord to the letter a, you would press the C chord on your MIDI controller, then press control-G,A .

If you have a file containing music, and you want to assign the notes and chords in that piece of music to the letters, you can press control-A (A for assign), and then press "M" (M for midi file). You will get an "Open" dialog box, and you can select a MIDI file whose initial few bars will be assigned to the letters (in the order QAZWSXEDCRFVTGBYHNUJMIKOLP).


Summary of typo key mappings

Most things involve a control-character followed by another character. Occasionally a third character is needed to complete the operation (e.g. when setting a scale). In all of the descriptions below, upper-case characters are shown for clarity, but the shift key does not need to be held unless explicitly noted).

control-DDrums
0-9Drum patterns
Rgenerated 2-measure pattern
Tgenerated 1-measure pattern
control-MSwitch Mode
LLooper
RRepeater
control-OOffset
A-ZOffset value (M is 0 offset)
control-NPan
LLeft
RRight
CCenter
control-QQuantize already-recorded notes
HHalf
QQuarter
EEight
SSixteenth
TThirtysecond
NNone (1 click)
control-PPattern, switch between patterns
0-9
control-AAssign things to the keys
MMidi file
KScale
OOrnament
CChord
IInversions
BBeatStep algorithm
PRandom choice from patterns
WWrite file of assignments
RRead file of assignments
ACopy current channel's assignments to All channels
Y(followed by 0-9) Copy current channel's assignments to 1 chan
control-FFile, read/write all settings
RRead
WWrite
control-SSound
ARandom from All patches
RRandom from selected patches
SRandom from selected patches
HRandom from "hard" patches
BRandom from "bass" patches
CRandom from "perCussive" patches
VRandom from "vocal" patches
DRandom from "drum" patches
PRandom from "pad" patches
DRandom from "drum" patches
control-TTransitions
0-9Fixed transition sequences
control-XXecute
QQuit
TTimer start/restart
control-LLength
DDouble
HHalf
control-WWarp
WReset (i.e. remove) warp
FFractal
EEchoes
HComb in half
SSpaces
TStutter
AWarp applys to all channels
CWarp applys to current channel
control-GGrab
A-ZAssign grabbed note/chord/phrase to letter A-Z
> and <Increase and Decrease (Hold down > and < while pressing these)
VVelocity (on played notes)
LLoudness (volume controller)
BBrightness
OOctave
EExpression (expression controller)
RReverb amount
TReverb time
CChorus amount
ENDAll-Notes-OFF
BACKSPACEErase all recorded notes on current channel
DELCompletely reset current pattern