Difference between revisions of "User:Jrowell/220C"

From CCRMA Wiki
Jump to: navigation, search
(Project Overview)
(Non-Melodic Functions)
Line 9: Line 9:
 
== ''Non-Melodic Functions'' ==
 
== ''Non-Melodic Functions'' ==
  
===Drum Fills===
 
 
===Layering===
 
===Layering===
===Drum Styles===
+
====Steady Drums====
 +
Steady drums (mainly the kick and snare) are easy to implement; When the shred for a steady drum is sporked it randomly selects a timbre and then plays that sound in a steady loop until removed by Drums.
 
====Random Drums====
 
====Random Drums====
 +
Random drums (toms, aux percussion) are implemented by using a basic Markov code to select the time between hits based upon the previous time between hits.
 
====Patterned Drums====
 
====Patterned Drums====
====Steady Drums====
+
Patterned drums (hi-hat, aux percussion) have a number of pre-set rhythmic patterns held in an array. The patterns are then selected using Markov chains; once one is played through the next is selected.
 +
===Drum Fills===
 +
 
 
== ''Melodic Functions'' ==
 
== ''Melodic Functions'' ==
 
====Melody====
 
====Melody====

Revision as of 09:49, 24 April 2012

Charles is an attempt to make a non-repeating randomly driven music/soundscape generator. It is being written by Jeff Rowell for the Spring 2012 iteration of Music 220C.

Project Overview

The goal of this project is to create a program that, when executed and then left alone, will generate unique music for the length of the run time (ideal run time for installation will be 3-5 hours).

One of the problems with creating a generative and non-repeating music program is how to keep all the instruments on the same page sonically. My solution for this is to have a hierarchical program with several public classes to control the instruments. The base level holds the global variables (what level of intensity the music is at, what is the tempo). The next level consists of two programs- Drums, and Pitched. "Drums" holds the control variables for the drums- which sounds are playing, what the density of sound is, and then adds or removes shreds accordingly.

Non-Melodic Functions

Layering

Steady Drums

Steady drums (mainly the kick and snare) are easy to implement; When the shred for a steady drum is sporked it randomly selects a timbre and then plays that sound in a steady loop until removed by Drums.

Random Drums

Random drums (toms, aux percussion) are implemented by using a basic Markov code to select the time between hits based upon the previous time between hits.

Patterned Drums

Patterned drums (hi-hat, aux percussion) have a number of pre-set rhythmic patterns held in an array. The patterns are then selected using Markov chains; once one is played through the next is selected.

Drum Fills

Melodic Functions

Melody

Harmony

Bass

Chord Progression

Key Change

Instrumental Piece

Log Updates

4/24

-basic architecture coded -drum sounds added -mood control variable implemented