SLOrk/Instruments/Permutations

From CCRMA Wiki
Revision as of 02:21, 27 April 2009 by Jnriggs (Talk | contribs) (Score/Performance Ideas)

Jump to: navigation, search

by J3 (Jason Riggs, Jacob Shenker, and Jay Bhat)

Permutations.png

Overview

This is a unique instrument whose player controls note playback as well as scoring. It works by displaying a GUI (shown at top of page) through which the slorker plays with algorithms for note-playback. Extensive real-time controls affect the texture and rhythm of the sound.

How to Play

Keyboard Controls

The keyboard primarily controls the shape of the sound.

"[" and "]" change the timbre of the sound. "[" scrolls down through the list of timbres, while "]" scrolls up. As you scroll upward, the sound becomes more harmonically rich.

"<-" and "->" (arrow keys) change the register (in octaves).

"-^" and "-v" (arrow keys) increase and decrease tempo.

"1, 2, ... 9, 0" (digits) set the amplitude envelope of the notes. The digits are arranged in a logical progression such that the sound become less percussive and more fluid/pad-like as the digits move to the right.

Trackpad Controls (hold "." to activate!)

IMPORTANT: For the following trackpad commands to be active, you must be holding down the "." key.

X-axis: Traversing the x-axis sweeps a low-pass filter with a moderate resonance.

Y-axis: Traversing the y-axis detunes the pitch slightly around its base frequency.

GUI Controls

The GUI is controlled through clicks (with optional keyboard shortcuts).

Click on a square: Swaps the value in that square the value in the square immediately to its right.

" " (spacebar) or clicking "next note" plays the next note in the sequence.

"`" (tildé) or clicking "play" sets the GUI to loop through the sequence.

Sweet Spots

If you are playing around with the instrument and you come across a sound texture that works well, it belongs in this sweet spot list. A large collection of sweet spots can be a good way to craft an entire score by aiming for the spots as midway-marks and finding creative, coherent ways to transition between them. Sweet spots should be given in the following format:

(title of sweet spot):

Timbre: (# of timbre)

Register: (# of register)

Envelope: (# of digit selected)

Filter: (closed/midway/open)

Detuning: (none/low/medium/high)

Tempo: (value of tempo in console)

The Sweet Spot List

Eerie Triangle Pads:

Timbre: 1

Register: 4 or 5

Envelope: 9

Filter: open

Detuning: high

Tempo: 1.0

Score/Performance Ideas

Jot down any ideas for a performance or its score here. Possible issues to consider:

The role of the conductor (which gestures? use a computer to spread information?)

The format of the score (gestures alone? hold up signs? server-based instructions sent to each player?)

List of Score/Performance Ideas

Conductor-controlled timbre w/ Server-based tone selection

A master server runs and controls the overall evolution of the piece. As the piece transitions from one stage to the next, performers will see their GUIs transition from one set of permutations to another. The conductor can control parameters of the sound such as texture, density, etc., while the server-based score controls the overall tonal evolution of the piece. The server can fade the piece away by itself when the score is over.

Known Bugs

Priority 1 (absolutely needs to be fixed asap):

- Polyphony issue. If you set the envelope to a longer decay (3 or above) and then loop notes at a fast tempo, many of the notes get skipped because when they are triggered, a "kMaxPolyphony" amount of notes is already playing. This needs to be fixed.

Priority 2 (Would make the instrument run more smoothly/efficiently):

- We can make the instrument able to handle more of a payload by eliminating MAUI entirely and using command-line Chuck to run it. This means that we need to use a GUI (probably an altered version of the Gamelan-Taiko-Fusion piece's GUI) via OSC messages from the command-line version.

Priority 3 (Minor issues):

- The current envelope setting for the digit "5" doesn't fit within the aesthetic progression of the other envelopes.

Whiteboard

Priority 1 (Should be in there asap):

- A server needs to synchronize the machines to a master rhythmic meter.

- Currently, all oscillators are sent out all channels (in function "playSound"). We should make it so that each time an oscillator is created, it gets randomly sent to one of the six channels. This is crucial to spatializing the sound.

- There should be a toggle that kills the sound. If pressed again, it resumes at the previous volume.

Priority 2 (Would definitely be nice):

- The list of available timbres should be expanded, and those currently in place should be improved.

Priority 3 (Might consider experimenting with):

Files

Here is the chuck file:

permutations.ck

Related Projects

This permutations project was created out of a merging of three prior projects.

Jason's Supersaw project is located here: Supersaw

Jacob's Permutations code is located here: permutations_original.ck

Jay's Arpeggiator code is located here: arpeggiator.ck