User:Adamsmith

From Toplap

Jump to: navigation, search

Contents

[edit] Livecoding Narratives (Non-Fiction)

(things that I really did, reconstructed from memory)

[edit] "endless interesting claim generator"

  • launched impromptu
  • opened included speech example
  • noted calls used to make speech play
  • created a new text buffer
  • added expression to speak the string "cats" immediately
  • ran that expression a few times
  • defined a loop duration (1 sec)
  • created temporally recursive function using duration (loop)
  • started recursion (stays running unless otherwise specified)
  • modified loop to use "cats"-speaking expression
  • changed "cats" to a random selection of "cats" "hats" and some other words
  • defined two empty lists: subjects, modifiers
  • added a few silly plural nouns to subjects list
  • added a few silly prefixes to the modifers list
  • modified speaking expression to concatenate a random element of modifiers, a hypen, and a random element of subjects
  • extended loop duration a bit
  • heard "mega-cats", "ultra-packets", "super-hackers" and others
  • noted overly-repetitive sound
  • noted some awkward pauses in speech for the hyphen
  • added some adjectives to the modifiers list
  • heard "alternative-pods", "fluffy-networks", "negated-cats" occasionally, subject to chance
  • modified loop to use faster tempo but only initiate next utterance every 4 beats
  • defined an empty drum part function
  • added call to drum part every beat
  • evaluated midi program change message to put two melodic drums on midi channels 1 and 2
  • added expressions to drum part function to play both drums rhythmically, as a function of beat number mod 16
  • created empty claims list
  • added a few silly claims that could be made about the random items being named
  • modified speech expression to say "[prefix]-[pnoun] are [claim]"
  • heard "interesting-packets are controversial", "sly-waffles are desirable" and others in random rotation
  • factored out speech part as a separate function
  • modified loop to call speech part less often (to avoid excessive overlapping of utterances)
  • added several new prefixes, nouns, and claims
  • noticed that there was now a long time between adding a term to a list and hearing it in a random utterance
  • created an empty function called low part
  • registered calling of low part in the loop
  • added expression to periodically low part of play a long, random note from a given scale
  • evaluated expression to change midi program for channel used by low part to a string sound
  • added a few higher, decorating notes to low part
  • added more prefixes, nouns, and claims
  • created an empty lead-in list
  • added "and", "but", "however" to lead-ins
  • modified speech expression to begin utterances with a lead in
  • heard "and inquisitive-hackers are to be desired, but quasi-cats are unrelated" and others
  • added new empty functions high part and interesting part
  • registered these functions to be called in loop (with mask based on beat number)
  • added playing of note with random pitch and duration selection to each function
  • evaluated midi program change expressions to give each part a distinct voice
  • added several more items to the lists used in utterance construction
  • stopped main loop
  • added checks for beat being greater than various specific values for all non-speech parts
  • restarted loop
  • heard a single utterance with no background music
  • heard several utterances over low part
  • heard several more utterances over low part and drum part
  • (and so on)
  • added a new melodic part called another part
  • added several more pieces for utterance construction
  • removed several silly terms, keeping the more intelligent sounding ones
  • noticed that the utterances were more interesting if they seemed to express a personal belief
  • added "i feel", "you shouln't believe", "i know" to lead-ins list
  • heard "i feel random-constructions are unending"
  • noticed utterances were particularly interesting when they seemdd to express a personal belief about the system itself
  • added more references to words related to generative content, repetitiveness, randomness, and intelligent machines
  • tweaked parameters for a few more hours
  • stopped main loop
  • fell asleep (the sun had risen a while ago)

[edit] "bilingual livecoding"

  • launched impromptu
  • opened included osc example
  • created a new text buffer
  • launched puredata
  • opened included osc example
  • created dumpOSC object connected to a routeOSC object
  • added /pitch to router, connected to a number box for visualization
  • created a sendOSC object, disconnected from the rest
  • added several boxes to allow sending a random midi pitch value via the /pitch address to the rest of the program
  • watched received number change in the number box
  • added expressions back in impromptu to send more random pitches to the pd program
  • added a sine oscillator controlled with frequency controlled with data from /pitch messages
  • added a new address /bang to the router and used this to control a line generator
  • instructed line generator to ramp from 1 to 0 over 125ms, used this as amp for the oscillator
  • connected dsp chain to dac
  • added expressions in impromptu to send the /bang message
  • heard pulsing notes on demand
  • added /decay and /slide patterns to router
  • added logic so that values sent to /decay would adjust the length of the line triggered by /bang
  • added logic so that values sent to /slude would adjust a new line used to slide the pitch of the main oscillator
  • crashed pd (accidentally)
  • recreated pd program from memory, cleaner this time
  • created temporal recursion loop in impromptu
  • started recursion
  • added expressions to send /bang rhythmically
  • heard regularly pulsing notes
  • adjusted note length via /decay from impromptu
  • added expressions to send numbers from a global list of pitches
  • heard repetitive arpeggio
  • added expressions to populate new pitch sequence from random notes from a random chord in a given key every 16 notes
  • heard shifting arpeggio of interesting notes
  • replaced sine oscillator in pd with more complex expression involving lfo-controlled phase shift and wrapping to create overtones
  • added freeverb unit to dsp chain
  • added short delay to right channel
  • modified new sequency selection to happen on the 1st, 32nd, and 56th step of a 64 step pattern
  • added bandpass vcf with sweep triggered by /bang and lengthened by /decay to dsp chain
  • added /q pattern to router and used it to control resonance of filter
  • added expressions in main loop in impromptu to periodically update /q
  • added /kick and /snare patterns to router
  • created simple kick drum by sweeping the freqency of a sine oscillator by the fourth power of a line generator (with 10Hz high-pass filter after)
  • connected kick drum to dsp chain
  • clicked it a few times, heard the drum
  • tweaked line generator
  • connected kick drum with /kick pattern messages
  • added expressions in impromptu to send /kick message every 4 steps
  • added expressions in impromptu to send /snare message rhythmically in a typical snare pattern
  • created simple snare drum in pd by ramping the volume of filtered noise, triggered by /snare messages
  • connected snare drum to dsp chain, immediately heard decent rhythm
  • tweaked both drum rhythms in impromptu
  • added masks to /pitch and /bang messages
  • added occasional octave-up and octave-down notes
  • adjusted overall tempo, exploring half and double speed
  • commented out /kick messages and set /snare to fire every step
  • heard snare roll
  • set /kick to fire every step
  • heard heavy drum roll
  • set masks back to original rhythmic pattern, re-evaluated
  • heard nice, sharp transition to main rhythm
  • tweaked numbers in pd
  • crashed pd (by attempting to save!)
  • recreated entire patch from memory
  • tweaked numbers in pd
  • tweaked numbers in impromptu
  • experimented with different oscillators and lfos in pd
  • saved everything without crashing this time
  • stopped main loop
  • fell asleep (the sun had risen a while ago)

[edit] "music without sound"

no time to write this up right now, but, at a high level...

  • created an impromptu program to send /kick /snare /bass and /lead osc events, with reasonable parameters and patterns
  • created a processing program to visualize these events with lines, circles and boxes with exponentially decaying size from trigger time and position given by pitch
  • did the above stuff in parallel between the two languages, using the processing visualization to tweak patterns and pitches in impromptu (without every listening to them)


[edit] "music without sound, with sound this time"

no time to write this up right now, but, at a high level...

  • started teaching a friend how to use chuck
  • found example of how to wait on osc events
  • loaded the impromptu program from "music without sound"
  • modified it to send osc events to friend's laptop
  • coached friend in mapping osc events to reasonable synthesis methods
  • heard decent music come from an event stream that was design only on the basis of how it looked (in terms of code and event visualization, but never sound)


[edit] Livecoding Narratives (Fiction)

(things I'd like to be able to do, someday)


[edit] "logic livecoding"

--

[edit] "inductive logic livecoding"

--

Personal tools