Kelp

Micro-tuning plugins for Max and Kontakt Player

About

Kelp allows users to accu­rate­ly play micro­ton­al pitch mate­ri­als from bach.score or bach.roll objects with­in Max on instru­ments host­ed in Kon­takt. Kelp includes two parts: kelpA is a Max object that accepts Bach play­out mes­sages; kelpB is a Kon­takt Script that facil­i­tates micro­ton­al tuning.

kelpA con­verts midi-cent val­ues into pairs of midi pitch­es and poly-after­touch mes­sages, which con­trol tun­ing. For dense chords, where sev­er­al pitch­es require the same midi pitch to be tuned dif­fer­ent­ly, kelpA auto­mat­i­cal­ly gen­er­ates a new chord con­sist­ing of three midi pitch­es along with tun­ing infor­ma­tion for each pitch that recre­ates the desired sonority.

kelpB takes the poly-after­touch mes­sages sent by kelpA and uses them to alter the tun­ing of indi­vid­ual pitch­es. This approach facil­i­tates chords that include mul­ti­ple tun­ings of a sin­gle pitch class, whether in the same or dif­fer­ent octaves.

Kelp quan­tizes tun­ings to 8th-tones (25¢), but that quan­ti­za­tion hap­pens only at the last moment with­in kelpB. With some sim­ple mod­i­fi­ca­tions, kelpB could be mod­i­fied to accept any tun­ing sys­tem sup­port­ed by the Bach objects.

Instruc­tions

Place kelpA.maxpat in the same direc­to­ry of the max-patch with which you are work­ing, or else in your Max Library (typ­i­cal­ly at ~/Documents/Max\ 7/Library/).

Add the kelpA object to your work­ing max-patch and con­nect it to the play­out out­let of a bach.roll or bach.score object. 

Dou­ble-click on the kelpA object and edit the midi port name in the midiout object as nec­es­sary to route mes­sages to Kon­takt Player. 

Add kelpB.ksp to your Kon­takt scripts fold­er (typ­i­cal­ly at ~/Documents/Native\ Instruments/Kontakt\ VERSION/presets/Scripts/Tuning).

Add the kelpB script to what­ev­er instru­ment you want to detune. 

You can dis­able micro-tun­ing at any time from the script dis­play by tog­gling the tuning_active button. 

License

Copy­right 2018 Matthew Chamberlain

Per­mis­sion is here­by grant­ed, free of charge, to any per­son obtain­ing a copy of this soft­ware and asso­ci­at­ed doc­u­men­ta­tion files (the Soft­ware”), to deal in the Soft­ware with­out restric­tion, includ­ing with­out lim­i­ta­tion the rights to use, copy, mod­i­fy, merge, pub­lish, dis­trib­ute, sub­li­cense, and/​or sell copies of the Soft­ware, and to per­mit per­sons to whom the Soft­ware is fur­nished to do so, sub­ject to the fol­low­ing conditions:

The above copy­right notice and this per­mis­sion notice shall be includ­ed in all copies or sub­stan­tial por­tions of the Software.

THE SOFT­WARE IS PRO­VID­ED AS IS”, WITH­OUT WAR­RAN­TY OF ANY KIND, EXPRESS OR IMPLIED, INCLUD­ING BUT NOT LIM­IT­ED TO THE WAR­RANTIES OF MER­CHANTABIL­I­TY, FIT­NESS FORPAR­TIC­U­LAR PUR­POSE AND NON­IN­FRINGE­MENT. IN NO EVENT SHALL THE AUTHORS OR COPY­RIGHT HOLD­ERS BE LIABLE FOR ANY CLAIM, DAM­AGES OR OTH­ER LIA­BIL­I­TY, WHETHER IN AN ACTION OF CON­TRACT, TORT OR OTH­ER­WISE, ARIS­ING FROM, OUT OF OR IN CON­NEC­TION WITH THE SOFT­WARE OR THE USE OR OTH­ER DEAL­INGS IN THE SOFTWARE.