Chord Effect Rack

BuleriaChk's icon

Here's a beginning document describing what I'd like to see in a chord effect rack.

(Imagine a drum rack that would play chords instead of audio hits):

(The Live Midi Chord Effect Device will NOT work for this, since the drum rack triggers are passed as part of the chord - one can do this by using only trigger notes in the chord one is making, but one has no control over its pitch (position in the chord).

I also feel VERY strongly that Ableton should be the one who provides this (and an instrument tuner, come to think of it) as part of their software.

That said, even better would be a VST that could be used with ANY DAW.....

====================
(I've just begun thinking about this; so the following is just a first cut at an approach).

One would need:

1. The equivalent of a Drum Rack that could be converted to an instrument in Max4Live (there is a beta video device in M4L built using Java Script that might be convertible - I think I understand how it works)

2. An accompanying UI input section from which one could drag/drop a user-constructed chord to a pad.

-----------------------------------------

I really don't want to learn JS and M4L myself (I'm still practicing Flamenco scales - on the guitar)..., but it might be a start for a programmer who wants to do it right (I can send some more material if you pm me); I can help out with harmony and what I'd like to see in the UI....

Chord Matrix

By “Flamenco Chuck” Keyser

Purpose

The purpose of this document is to provide an initial description of a “chorder”; a device that will accept a MIDI note and build a chord constructed according to user specification that will sound when the pad of an 4x4 or 8x8 Matrix is struck. The "chorder" is envisioned as a Live Chord Rack (similar in concept to a Live Drum Rack), or as a similar VST instrument independent of DAW.

Input - The input to the matrix (a single midi note or strike on the pad) simply selects the pad which contains the notes of the chord to be voiced, and sends these notes to the output.

Output – The output consists of the notes of the chord of the pad that has been struck. These notes can then be used to sound the chord on any multi timbral instrument (e.g. Sylenth1).

Global Reference – The Global Reference Value is the reference MIDI pitch for all the notes in the Matrix. It is initially set to a value of 0 (C-1). If a different value is selected by the user, the offset is calculated and added/subtracted from all the notes in the matrix, preserving the forms of all the chords while resetting the global pitch. It thus functions as a Pitch Device, or the capo of the guitar.

Chord Definition – A chord consists of 10 notes in 10 input slots constructed as follows:
1. Slots 1 & 2 – These notes are suggested as the Bass notes below a guitar
a. (Initialization: Blank)
2. Slots 3 - 8 – These notes are suggested as the notes of a Guitar
a. (Initialization: (E2,A2,D3,G3,B3,E4) : (40, 45. 50, 55, 59, 64)
3. Slots 9 & 10 – These notes are suggested as Treble notes above E4 on the guitar
a. (initialization: Blank)

A slot consists of 3 entries. The first two entries are the note of the chromatic scale (e.g, E_, or F#), and the last slot is the octave in which the note occurs.(These could all be one field if a MIDI M4L number object is used for selection).

a. The first slot of the guitar section sets the “0” reference for the chord. If it is set to C_1, all the notes of the remaining slots are initialized to 0. Otherwise, the notes of the chord are calculated with this slot as reference. That is, a “chord” made up of the open strings of the guitar would be the notes above: : (E2,A2,D3,G3,B3,E4) : (40, 45. 50, 55, 59, 64)
b. All the notes of the chord (including the Bass and Treble notes if any) can be changed by incrementing/decrementing the chord reference note, which will reset
c. the notes by calculating the offset relative to 0. (This functions as a “Barred” chord on the guitar.)

If a slot is blank, its corresponding note will be muted, and its value assigned -1.
Initialization (New Chord): ( ___¬, __¬_ ) ( E_2, A_2, D_3, G_3, B_3, E _4 ) ( ___, ___ )
E.g. E7 Chord ): ( ___¬, __¬_ ) ( E_2, B_2, E_3,G#3, B_3, E _4 ) ( ___, ___ )
The corresponding midi notes, together with a user defined label and info string are stored in the buffer corresponding to the Midi pad.
(Pad), (-1,-1), (40,47,52,56,59,64) (-1,-1),”E7”, “E7 Chord (Guitar, First position) “:
(P,B1,B2,G1,G2,G3,G4,G5,G6,T1,T2,”Lable”(5),” Info”(25)
    When user has completed entry, he presses a “Chord Set” button, which writes the information into the buffer for the selected pad. If the “Label” Field is blank, it is filled with the chord reference note (G1) as a text field). The user can then modify it and set again if desired.

Pad Selection - Selecting a pad will fill the chord definition field with the information from the pad. For example, selecting the D#3 pad will assign P = 51 in the buffer, and set focus to that pad in the matrix.

Pad Trigger – Triggering a pad will send the notes B1 – T2 to the output to be voiced as a chord in an external multi-timbral instrument.
Chord Increment – Each pad will have increment buttons (replacing the “mute” and “solo” equivalents on a pad), which will increment all the notes of the chord, setting the Label to the new chord name (but leaving the Info Field intact). There will also be increment buttons on the Input Form that accomplish the same purpose. All relevant fields will be refreshed except the Info field.
(Possible Enhancement) Each note can have a “Fix” button which will prevent it from being incremented if enabled.
(Possible Enhancement) The notes of the chord can be examined to see if they for a recognizable major, minor, 7th, or dominant 7th and suggest the label accordingly,
A list of common chord types can be provided, which can calculate the notes of the chord in reference to the chord reference G1. An additional option could be provided so the user can provide his own chord form by saving the interval relations and (user defined) chord type (text(8)) to the list. The user should be able to edit and delete the user chord types on the list.
Changing the pad number will assign the chord in the chord form to that pad, while leaving the original intact. (The original pad can be re-initialized or edited as required.)
Users should also be allowed to select colors for the pads, (e.g.) to arrange chords in a key by their usage in chord progressions for substitution.

===============================================
I have some additional suggestions that I will make available on my site: I'll announce it here when they are ready...