Turning a Kaoss Pad into a Kaossilator




Chaosynth v0.9

Chaosynth is a template for Bome's MIDI Translator that adds Kaossilator-like functionality to a Korg KAOSS PAD 3 via MIDI, allowing for X-Y Pad control of software synths in Reason, Ableton and SONAR. Chaosynth also works as a controller for hardware synths, although doing so requires a USB/MIDI interface.

*PLEASE NOTE* Chaosynth is donationware, it's not perfect but I did spend a lot of time on it. If you like it and find yourself using it a lot please consider sending something my way via Paypal at salamanderanagram at gmail dot com. (If i get enough donations to cover it, I will upgrade my version of Bome's MT to the author edition so that I can make my templates work with the freeware version of MT, thus saving others the cost of getting a full version of MT Pro) Thanks and enjoy!

Also, the code is pretty simple to follow and is open source, if you find/fix any bugs please let me know!

GETTING STARTED

First off you will need a copy of Bome's MIDI Translator Pro. A free, 30 day trial is available at - http://www.bome.com/midi/translator/mt_pro.html
Instructions on getting a virtual MIDI router working with it (which is necessary) can be found here - http://www.bome.com/midi/translator/help/quickstart.html

Finally, you will need Chaosynth itself - kaossynth.bmtp

- Once you have Bome's MT and a virtual MIDI router set up, open Chaosynth and set the MIDI IN/OUT to the appropriate channels (you want to output MIDI data to whatever channel your synth is receiving on).

- Make sure your software or hardware is properly set up to receive MIDI data.

- Make sure your Kaoss Pad is in external controller mode (program 1) by pressing shift+8.

- For some reason my charts refuse to load properly into this text editor so you can download a version of this document here


CONTROLS

Chaosynth uses the HOLD, A-D and 1-8 buttons to perform a variety of functions, such as changing the scale, key, or chords being played, or simply sending along other MIDI data to your DAW or hardware. The LEVEL slider and DEPTH knob are also available to be custom-mapped to fit the user's needs. The X-Y pad is the heart of the machine, obviously. Each square on the X-axis triggers a note or chord, and normally the Y-axis controls the volume, but can be reprogrammed to work as a filter or other custom mapping as well).

The HOLD button may be used in conjunction with any other button to change the values being sent. To use it, make sure you press it before the other button and release it last, otherwise it won't work!

Buttons A-D and HOLD+A - HOLD+D act as "banks," once you enter a bank you may perform functions using the 1-8 and HOLD+1 - HOLD+8 buttons. You stay in that bank until you enter another one.

BUTTON BANK

A SCALE SELECTION BANK A
B SCALE SELECTION BANK B
C SCALE SELECTION BANK C
D SCALE SELECTION BANK D
HOLD+A KEY SELECTION BANK
HOLD+B CHORD SELECTION BANK
HOLD+C MIDI SEND BANK
HOLD+D OPTION BANK

And finally, Chaosynth sends along the clock signal so you can still MIDI sync and control tempo with the KP3.

SCALE SELECTION

Chaosynth has the same 31 built-in scales that come with the Kaossilator, however the functionality is slightly different. In Chaosynth each of the 8 squares along the X-axis plays a different note; sometimes in the Kaossilator a note will take up more or less space depending on the length of the scale. Functionally this means that the Chaosynth does not always start and end a scale on the same note, sometimes ending before or after the full octave has been reached (FOR EXAMPLE, C CHROMATIC, MAJOR BLUES, MINOR BLUES, etc). Below is a list of all available scales and the notes that they play, the default is chromatic.

TO SELECT A SCALE
1. PRESS A, B, C OR D
2. PRESS A BUTTON 1-8 TO SELECT A SCALE FROM THE LIST BELOW

PROG# SCALES NOTES MIDI TRANSLATION (HEX) DECIMAL

1.(A1) C CHROMATIC C C# D D# E F F# G 24 25 26 27 28 29 2A 2B 36 37 38 39 40 41 42 43

2.(A2) C MAJOR (IONIAN) C D E F G A B C 24 26 28 29 2B 2D 2F 30 36 38 40 41 43 45 47 48

3.(A3) C DORIAN C D D# F G A A# C 24 26 27 29 2B 2D 2E 30 36 38 39 41 43 45 46 48

4.(A4) C PHRYGIAN C C# D# F G G# A# C 24 25 27 29 2B 2C 2E 30 36 37 39 41 43 44 46 48

5.(A5) C LYDIAN C D E F# G A B C 24 26 28 2A 2B 2D 2F 30 36 38 40 42 43 45 47 48

6.(A6) C MIXOLYDIAN C D E F G A A# C 24 26 28 29 2B 2D 2E 30 36 38 40 41 43 45 46 48

7.(A7) C AEOLIAN C D D# F G G# A# C 24 26 27 29 2B 2C 2E 30 36 38 39 41 43 44 46 48

8.(A8) C LOCRIAN C C# D# F F# G# A# C 24 25 27 29 2A 2C 2E 30 36 37 39 41 42 44 46 48

9.(B1) C MAJ BLUES C D# E G A A# C D# 24 27 28 2B 2D 2E 30 33 36 39 40 43 45 46 48 51

10.(B2) C MIN BLUES C D# F F# G A# C D# 24 27 29 2A 2B 2E 30 33 36 39 41 42 43 46 48 51

11.(B3) C DIMINSHED C D D# F F# G# A B 24 26 27 29 2A 2C 2D 2F 36 38 39 41 42 44 45 47

12.(B4) C COMBINED DIM C C# D# E F# G A A# 24 25 27 28 2A 2B 2D 2E 36 37 39 40 42 43 45 46

13.(B5) C MAJOR PENT. C D E G A C D E 24 26 28 2B 2D 30 32 34 36 38 40 43 45 48 50 52

14.(B6) C MINOR PENT. C D# F G A# C D# F 24 27 29 2B 2E 30 33 35 36 39 41 43 46 48 51 53

15.(B7) C RAGA BHAIRAV C C# E F G G# B C 24 25 28 29 2B 2C 2F 30 36 37 40 41 43 44 47 48

16.(B8) C RAGA GAMAN... C C# E F# G A B C 24 25 28 2A 2B 2D 2F 30 36 37 40 42 43 45 47 48

17.(C1) C RAGA TODI C C# D# F# G G# B C 24 25 27 2A 2B 2C 2F 30 36 37 39 42 43 44 47 48

18.(C2) C SPANISH C C# D# E F G G# A# 24 25 27 28 29 2B 2C 2E 36 37 39 40 41 43 44 46

19.(C3) C GYPSY C D D# F# G G# B C 24 26 27 2A 2B 2C 2F 30 36 38 39 42 43 44 47 48

20.(C4) C ARABIAN C D E F F# G# A# C 24 26 28 29 2A 2C 2E 30 36 38 40 41 42 44 46 48

21.(C5) C EGYPTIAN C D F G A# C D F 24 26 29 2B 2E 30 32 35 36 38 41 43 46 48 50 53

22.(C6) C HAWAIIAN C D D# G A C D D# 24 26 27 2B 2D 30 32 33 36 38 39 43 45 48 50 51

23.(C7) C BALI PELOG C C# D# G G# C C# D# 24 25 27 2B 2C 30 31 33 36 37 39 43 44 48 49 51

24.(C8) C JAPANESE C C# F G G# C C# F 24 25 29 2B 2C 30 31 35 36 37 41 43 44 48 49 53

25.(D1) C RYUKYU C E F G B C E F 24 28 29 2B 2F 30 34 35 36 40 41 43 47 48 52 53

26.(D2) C WHOLETONE C D E F# G# A# C D 24 26 28 2A 2C 2E 30 32 36 38 40 42 44 46 48 50

27.(D3) C MINOR 3rd INT. C D# F# A C D# F# A 24 27 2A 2D 30 33 36 39 36 39 42 45 48 51 54 57

28.(D4) C 3rd INTERVAL C E G# C E G# C E 24 28 2C 30 34 38 3C 40 36 40 44 48 52 56 60 64

29.(D5) C 4th INTERVAL C F A# C F A# C F 24 29 2E 30 35 3A 3C 41 36 41 46 48 53 58 60 65

30.(D6) C 5th INTERVAL C G C G C G C G 24 2B 30 37 3C 43 48 4F 36 43 48 55 60 67 72 79

31.(D7) C OCTAVE C C C C 24 30 3C 48 36 48 60 72 84 96 108 120

32.(D8) C OCTAVE C C C C 24 30 3C 48 36 48 60 72 84 96 108 120



KEY BANK

Chaosynth starts defaulted to play in the key of C. The key bank allows to play in whatever key you like.

TO SELECT A KEY
1. PRESS HOLD+A
2. SELECT WHICH KEY FROM THE LIST BELOW USING HOLD AND BUTTONS 1-8

BUTTON KEY

1 C
HOLD+1 C#/Db
2 D
HOLD+2 D#/Eb
3 E
4 F
HOLD+4 F#/Gb
5 G
HOLD+5 G#/Ab
6 A
HOLD+6 A#/Bb
7 B
8 +1 Octave
HOLD+8 -1 OCtave


CHORD BANK (HOLD+B)

Unlike the Kaossilator, Chaosynth can play chords! Each note pressed will instead play the selected chord starting with that note, examples below are given for C chords.

TO PLAY CHORDS
1. PRESS HOLD+B
2. SELECT A CHORD FROM THE LIST BELOW USING HOLD AND BUTTONS 1-7
3. TURN CHORDS ON BY PRESSING BUTTON 8 (PRESS HOLD+8 to turn them off again)

BUTTON CHORD NOTES

1 MAJOR C E G
HOLD+1 MAJOR 7th C E G B
2 MINOR C D# G
HOLD+2 MINOR 7th C D# G A#
3 DIMINISHED C D# F#
HOLD+3 AUGMENTED C E G#
4 SUSPENDED 2nd C D G
HOLD+4 SUSPENDED 4th C F G
5 FLAT 5th C E F#
HOLD+5 6th C E G A
6 MINOR 6th C D# G A
HOLD+6 7/6 C E G A A#
7 7th C E G A#
HOLD+7 minor/M7 C D# G B
8 TURN CHORDS ON
HOLD+8 TURN CHORDS OFF

CONTROLLER BANK (HOLD+C)

In this mode the 1-8 and HOLD + 1-8 buttons simply transmit along MIDI data, for a total of 16 different buttons. These can then be assigned within the user's DAW for custom purposes, such as toggling between different synths. Don't forget also that the DEPTH knob and LEVEL fader are available to be assigned to custom variables as well.

BUTTON MIDI MESSAGE
1 31
2 32
3 33
4 34
5 35
6 36
7 37
8 38
HOLD+1 23
HOLD+2 24
HOLD+3 25
HOLD+4 26
HOLD+5 27
HOLD+6 28
HOLD+7 29
HOLD+8 30

OPTION BANK (HOLD+D)

Currently this mode is unimplemented and empty. Eventually it will contain other modules, so you will be able to switch between Chaossynth and other KP3 controller software that I'll be working on over the winter...


MIDI NOTE VALUE REFERENCE

Use these values for programming in your own scales and chords if you so desire. Here is a list of hexadecimal numbers and the MIDI notes that they represent.

24 - C2 30 - C3 3C - C4 48 - C5
25 - C#2 31 - C#3 3D - C#4 49 - c#5
26 - D2 32 - D3 3E - D4 4A - D5
27 - D#2 33 - D#3 3F - D#4 4B - D#5
28 - E2 34 - E3 40 - E4 4C - E5
29 - F2 35 - F3 41 - F4 4D - F5
2A - F#2 36 - F#3 42 - F#4 4E - F#5
2B - G2 37 - G3 43 - G4 4F - G5
2C - G#2 38 - G#3 44 - G#4
2D - A3 39 - A4 45 - A5
2E - A#3 3A - A#4 46 - A#5
2F - B3 3B - B4 47 - B5