Difference between revisions of "256a-fall-2009/hw4"
From CCRMA Wiki
Line 4: | Line 4: | ||
* '''part 1''': 2009.11.2 3:15pm (class time - be ready to give 2 minute presentation), Monday | * '''part 1''': 2009.11.2 3:15pm (class time - be ready to give 2 minute presentation), Monday | ||
* '''part 2''': 2009.11.4 11:59:59pm (or thereabout), Wednesday | * '''part 2''': 2009.11.4 11:59:59pm (or thereabout), Wednesday | ||
+ | |||
<div style="text-align: left;">[[Image:computer_networking.jpg]]</div> | <div style="text-align: left;">[[Image:computer_networking.jpg]]</div> | ||
− | In this two-part assignment, you are to put together a proposal for final project | + | |
+ | In this two-part assignment, you are to put together a proposal/presentation for final project. In the second part of the assignment, you are create a simple networked instrument using OSC. | ||
=== Specification (part 1 of 2): Project Proposal === | === Specification (part 1 of 2): Project Proposal === | ||
+ | * put together a proposal for your final project | ||
+ | * recommended number of people on team: 1 or 2 (if 3 or more, please talk to me) | ||
+ | * craft some preliminary design for the product (the vision, for end users) | ||
+ | * architect the software (the engine/framework, for developers) | ||
+ | * make some realistic milestones (2 to 3) leading up the final presentation (in class, finals week) | ||
+ | * for Monday (11/2), present this in a 2-3 minute presentation | ||
=== Specification (part 2 of 2): Networking === | === Specification (part 2 of 2): Networking === | ||
+ | * using OSC, and components from your previous 3 assignments (adding code as necessary), create the the simplest networked instrument you can think of (that is still "expressive") | ||
+ | * prepare a 30-second performance with it (recruit others as needed) | ||
+ | |||
+ | components and ideas: | ||
+ | * real-time audio / synthesis | ||
+ | * interaction (who controls what, and on which machine(s))? | ||
+ | * graphics from hw3? | ||
+ | * ??? | ||
+ | * perhaps a one-to-one musical instrument (two laptops, two people)? | ||
+ | * perhaps a networked musical game (e.g., musical hot potato, some form of marco polo)? | ||
+ | * perhaps ??!?!?!? | ||
+ | |||
+ | questions: | ||
+ | * what is the interface? (e.g., keyboard? text? mouse?) | ||
+ | * how "real-time" is this instrument (it doesn't have to be)? | ||
+ | * what kind of music can the instrument make (as a group)? | ||
+ | * how many people and machines are needed in a performance setting? | ||
+ | * keep it simple! (aesthetically speaking, aim for a ultra-simple networked instrument that is still by some measure still "expressive") | ||
=== Note === | === Note === | ||
Line 30: | Line 56: | ||
* 2) online page for your project (should be viewable at http://ccrma.stanford.edu/~YOURID/256a/hw4/). It should include: | * 2) online page for your project (should be viewable at http://ccrma.stanford.edu/~YOURID/256a/hw4/). It should include: | ||
** links to your files of various kinds | ** links to your files of various kinds | ||
− | ** instructions on building the project (for example, anyone in the class should be able to download | + | ** instructions on building the project (for example, anyone in the class should be able to download and build) |
** a short README text section that: | ** a short README text section that: | ||
*** conveys your ideas/comments in constructing each program | *** conveys your ideas/comments in constructing each program |
Revision as of 13:48, 28 October 2009
Contents
Homework #4: Project Proposal + Networking
Due date:
- part 1: 2009.11.2 3:15pm (class time - be ready to give 2 minute presentation), Monday
- part 2: 2009.11.4 11:59:59pm (or thereabout), Wednesday
In this two-part assignment, you are to put together a proposal/presentation for final project. In the second part of the assignment, you are create a simple networked instrument using OSC.
Specification (part 1 of 2): Project Proposal
- put together a proposal for your final project
- recommended number of people on team: 1 or 2 (if 3 or more, please talk to me)
- craft some preliminary design for the product (the vision, for end users)
- architect the software (the engine/framework, for developers)
- make some realistic milestones (2 to 3) leading up the final presentation (in class, finals week)
- for Monday (11/2), present this in a 2-3 minute presentation
Specification (part 2 of 2): Networking
- using OSC, and components from your previous 3 assignments (adding code as necessary), create the the simplest networked instrument you can think of (that is still "expressive")
- prepare a 30-second performance with it (recruit others as needed)
components and ideas:
- real-time audio / synthesis
- interaction (who controls what, and on which machine(s))?
- graphics from hw3?
- ???
- perhaps a one-to-one musical instrument (two laptops, two people)?
- perhaps a networked musical game (e.g., musical hot potato, some form of marco polo)?
- perhaps ??!?!?!?
questions:
- what is the interface? (e.g., keyboard? text? mouse?)
- how "real-time" is this instrument (it doesn't have to be)?
- what kind of music can the instrument make (as a group)?
- how many people and machines are needed in a performance setting?
- keep it simple! (aesthetically speaking, aim for a ultra-simple networked instrument that is still by some measure still "expressive")
Note
- have fun with it!!!
- your code should compile and run on the CCRMA (or OSX) machines
- comment your code!
- choose your own coding conventions - but be consistent
- you are welcome to work together, but you must do/turn in your own work
Deliverables
turn in all files by putting them in your Library/Web/256a/hw4/ directory, and concise online documentation + readme
- 1) source code to the project (*.h, *.cpp, *.c makefile, etc.)
- 2) online page for your project (should be viewable at http://ccrma.stanford.edu/~YOURID/256a/hw4/). It should include:
- links to your files of various kinds
- instructions on building the project (for example, anyone in the class should be able to download and build)
- a short README text section that:
- conveys your ideas/comments in constructing each program
- describes any difficulties you encountered in the process
- lists any collaborators
- 3) email Ge with the link to your web page, as a confirmation that you are submitting the assignment