Chord Change "Synthesis" and Looping Playback in (sigh) ChucK - A Musical Practice Tool For To Make Benefit The Glorious Nation Chrizakhstan (Alternatively, it'll be some similar title to be determined at a later date)

From CCRMA Wiki
Revision as of 00:49, 7 April 2009 by Cweil (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Overview

The project will be a practice tool, created in ChucK, which will synthesis a set of chord changes and then return it to the user in a playback scheme with looping, allowing the user to play along with it to practice whatever they would like. The structure will be synthesis based on a large set of rules defined in the code to correspond to musical style (such as jazz or tonal music) so that the changes aren't random or nonsensical. For example, it will know how to move from one chord to another, what moves are allowed, how to modulate keys, how to resolve by the end of the structure, etc.


User Input

There will be a number of user-definable options for the output structure.

Format

The style who's rules are followed. If tonal music is picked, it will follow standard tonal music rules of chord structure/type, transition, resolution and modulation.

If jazz is picked, the rules will be much more open, while it will also follow standard accepted rules for easier difficulties, it will leave room for much more harmonic complexity and variation. This method is the true intention for this project, as it will produce a set of new chord changes to practice along with (for soloing, walking, comping, etc) or potentially even to compose around.

Doing a blues setting could also be done.

Key

Chose a specific starting key center, or allow it to chose randomly.

Length

Number of bars in the loop and, depending on difficulty, roughly the number of chord changes occuring.

Difficulty

The difficulty will vary the frequency of chord changes, frequency of key modulation, variation and complexity of chord voicing (for example, leaving out root, triads versus 13th chords, etc), etc. Essentially, it changes a combination of the parameters below all at once.

Frequency

How often the chords change per bar, roughly. IE, the higher the number, the more likely it is to change chords more frequently.

Density

How much the playback engine is playing notes. Is it holding the chord the whole way through the bar, is it playing staccato, leaving silence/rest, etc.

Complexity

Complexity of the chord shown, which can vary from simple triads in root position to M7b5#13 chords in 4th inversion. As the complexity increase, the more likely it is to use inversions and to leave out roots.

Rhythmic Complexity

Varies the amount of off-beat and syncopated rhythm in the chord playback.

Time Signature

Sets the beat length for each bar. Particularly useful for practicing in odd time signatures.