Difference between revisions of "356-winter-2023/etude1"

From CCRMA Wiki
Jump to: navigation, search
Line 8: Line 8:
 
* next, get the latest [https://ccrma.stanford.edu/courses/356/code/bin/chuck/ '''bleeding edge secret ChucK build''' for this course] -- some important notes:
 
* next, get the latest [https://ccrma.stanford.edu/courses/356/code/bin/chuck/ '''bleeding edge secret ChucK build''' for this course] -- some important notes:
 
** this is the command line <code>chuck</code>, which you will need for this etude (you can use miniAudicle as a text editor only, but it won't have the new functionalities we need); you can either put <code>chuck</code> in your homework folder or (if you are feeling brave) you can overwrite the installed command line chuck; note depending on where you put this bleeding-edge build, you will need to explicitly run it, e.g., <code> > ./chuck program.ck</code> (note the <code>./</code>; this, for example, will explicitly run chuck from the current directory, rather that defaulting to the installed chuck).
 
** this is the command line <code>chuck</code>, which you will need for this etude (you can use miniAudicle as a text editor only, but it won't have the new functionalities we need); you can either put <code>chuck</code> in your homework folder or (if you are feeling brave) you can overwrite the installed command line chuck; note depending on where you put this bleeding-edge build, you will need to explicitly run it, e.g., <code> > ./chuck program.ck</code> (note the <code>./</code>; this, for example, will explicitly run chuck from the current directory, rather that defaulting to the installed chuck).
** Windows users can either use the default <code>cmd</code> command prompt, or might consider downloading a [https://www.puttygen.com/windows-terminal-emulators terminal emulator].
+
** NOTE: using command line <code>chuck</code> makes it possible to get console input, which is not available from the miniAudicle IDE.
** using command line <code>chuck</code> makes it possible to get console input, which is not available from the miniAudicle IDE.
+
** NOTE: Windows users can either use the default <code>cmd</code> command prompt, or might consider downloading a [https://www.puttygen.com/windows-terminal-emulators terminal emulator].
  
 
=== Things to Think With ===
 
=== Things to Think With ===

Revision as of 17:03, 12 January 2023

Programming Etude #1: "Poets of Sound and Time" (Music356/CS470)

Winter 2023 | Course Homepage | by Ge Wang

In this programming exercise, you are to write two programs to help you create some experimental poetry involving text, sound, and time.

Tools to Play With

  • first, download the latest official ChucK release -- This will install both command line chuckand the graphical IDE miniAudicle (on macOS and Windows).
  • next, get the latest bleeding edge secret ChucK build for this course -- some important notes:
    • this is the command line chuck, which you will need for this etude (you can use miniAudicle as a text editor only, but it won't have the new functionalities we need); you can either put chuck in your homework folder or (if you are feeling brave) you can overwrite the installed command line chuck; note depending on where you put this bleeding-edge build, you will need to explicitly run it, e.g., > ./chuck program.ck (note the ./; this, for example, will explicitly run chuck from the current directory, rather that defaulting to the installed chuck).
    • NOTE: using command line chuck makes it possible to get console input, which is not available from the miniAudicle IDE.
    • NOTE: Windows users can either use the default cmd command prompt, or might consider downloading a terminal emulator.

Things to Think With

Express Yourself!

Using the ChucK/ChAI starter code for Word2Vec...

  • write code to help you create some experimental poetry involving text, sound, and time.
    • text: use the Word2Vec object in ChucK and one of the datasets to help you generate some poetry
    • sound: use sound synthesis and map the words (e.g., using their vectors to control parameters such as pitch, volume, timbre, etc.) to sound
    • time: don't forget about time! make words appear when you want them to; synchronize words with sound; visually and sonically "rap" the words in time!
  • create two poetic programs / works / performances:
    • make them as different as possible
    • for example one poem can be fully generated (you only need to run the chuck code, and the poem starts) and the other one interactive (incorporates input from the user, either through a a text prompt, or another means of input such as mouse / keypresses)

Some Prompts / Bad Ideas

  • a poem can be about anything; hint: try starting with how you feel about a particular thing, person, or event
  • starting with an existing poem and use word2vec to morph it over time
  • an experimental love poem
  • stream of consciousness
  • remember "Jabberwocky" by Lewis Carroll? maybe your poem doesn't need to make sense to everyone
  • HINT: try to take advantage of the medium: in addition to printing out text to a terminal (both a limitation and a creative constraint/opportunity) you have control over sound and time at your disposal
  • HINT: experiment with the medium to embody your message -- for example, a poem about chaos where the words gradually become disjointed and nonsensical

Starter Code and Examples

  • here are some starter code:
  • and some examples
  • free to incorporate these or use them as starting points

Reflections

  • write 250 words of reflection on your etude. It can be about your process, or the product, or the medium, or anything else. For example, how did your poems make you feel? Did you show them to a friend? What was their reaction? What makes something "poetry" (versus, say, "prose")?

Deliverables

  • create a CCRMA webpage for this etude
    • ~USERID/356/etude1 or ~USERID/470/etude1
    • you may use Medium or another publishing platform (in this case, please still link to this from your CCRMA webpage)