User:Adamsmith: Difference between revisions

From Toplap
Jump to navigation Jump to search
(New page: = Livecoding Narratives (Non-Fiction) = (things that I really did, reconstructed from memory) == "endless interesting claim generator" == * launched impromptu * opened included speech exa...)
 
Line 1: Line 1:
= Livecoding Narratives (Non-Fiction) =
That's way the bsetest answer so far!
(things that I really did, reconstructed from memory)
 
== "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)
 
== "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)
 
== "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)
 
 
== "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)
 


= Livecoding Narratives (Fiction) =
= Livecoding Narratives (Fiction) =

Revision as of 05:22, 20 April 2011

That's way the bsetest answer so far!

Livecoding Narratives (Fiction)

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


"logic livecoding"

--

"inductive logic livecoding"

--