Difference between revisions of "256a-fall-2014/hw3"
From CCRMA Wiki
(18 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
− | = Homework #3: AudioVisual | + | = Homework #3: AudioVisual Music Sequencer Thing = |
− | + | <div style="text-align: left;">[[Image:Sequencer-thing.jpg]]</div> | |
− | + | ||
− | + | ||
− | + | '''NOTE from Ge: this image is here mostly for its colors, PLEASE DON'T MAKE IT LOOK LIKE THIS (NECESSARILY)!''' | |
− | + | * part A (research + on-paper design) due: 2014.10.20, in-class Monday (be prepared to present) | |
− | + | * part B (implementation) due: 2014.10.30 11:59:59pm, Thursday. | |
− | + | * part C (demo/mini-performance)) due: 2014.11.03, in-class Wednesday | |
− | * | + | |
− | + | Almost inevitably at some point in one's music software design journey, you'll be asked/tempted to make a step sequencer. In this assignment, we are going to get that off our chest/out of our system, and make a crazy, real-time, audio-visual step sequencer like thing! | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | === | + | === (Part 1 of 3): Research + Preliminary Design + Specs === |
− | * | + | * '''due in-class Monday (10/20)''' |
− | * real-time audio | + | * do research on music sequencers! |
− | * real-time | + | * compile a list of useful references on various types of step sequencers / designs (articles, papers, images, etc.) |
− | * | + | * sketch your own preliminary design of a real-time audio-visual step sequencer! |
+ | * what features to include? | ||
+ | ** what does it look like? linear? circular? spherical? mobius?!? | ||
+ | ** sequencing of pitch? dynamics (loundness)? envelopes (attack/decay/sustain/release)? | ||
+ | ** how many parallel tracks / layers / or different types of sound? (e.g., track 1 synth, track 2 drum etc) | ||
+ | ** how input the sequence (in real-time)? | ||
+ | ** how does it sound? will it use synthesis? load audio samples? soundfonts? MIDI? | ||
+ | ** can you save/load sequences? what file format? should we have a common Music256a/476a format?! | ||
+ | ** how to control/depict tempo? | ||
+ | * sketch as much as detail as possible, even if you don't end up implementing them! | ||
+ | * be ready to hand in design on paper (or send me, imdone256@gmail.com, digital scans if you have them) and be ready to present on Monday! (scans of these design sketches can go onto your website for this project!) | ||
− | === | + | ===(Part 2 of 3): Implementation === |
+ | * '''due 2014.10.30 11:59:59pm, Thursday''' | ||
+ | * decide on a design + set of features for an real-time audio-visual step sequencer; the design decisions should account for the questions raised in part 1 above! | ||
+ | * implement a working prototype of your step sequencer | ||
+ | * welcome (but don't have) to use: | ||
+ | ** [http://ccrma.stanford.edu/~ge/software/mcd-api/ MCD-API] | ||
+ | ** [http://www.mega-nerd.com/libsndfile/ libsndfile] for audio file loading (will need to install library) | ||
+ | ** [http://ccrma.stanford.edu/software/stk/ STK] (synthesis toolkit) | ||
+ | * potential things to sequence: | ||
+ | ** pitch | ||
+ | ** dynamics | ||
+ | ** different timbre's / instruments | ||
+ | ** envelopes | ||
+ | * "hints" | ||
+ | ** think of user/interaction design **and** software/system design | ||
+ | ** create an audio engine, as well as a graphics engine; how do they interact? | ||
+ | * create a webpage for your audiovisual sequencer, which must contain: | ||
+ | ** one or more screenshot(s) | ||
+ | ** your initial design sketches + research, motivate and articulate how you made your design decisions | ||
+ | ** system design: how is your software architected? recommend a class diagram! | ||
+ | ** downloading the code | ||
+ | ** (for part 3: stuff from part 3 below) | ||
+ | |||
+ | |||
+ | ===(Part 3 of 3): Musical Statement + In-Class Presentation=== | ||
+ | * '''due: 2014.11.03, in-class Monday''' | ||
* using your sequencer, create a short musical statement; | * using your sequencer, create a short musical statement; | ||
* either make a video of you performing it, and/or a short recording (mp3)! | * either make a video of you performing it, and/or a short recording (mp3)! | ||
* present your step sequencer and music instrument in class! | * present your step sequencer and music instrument in class! | ||
+ | |||
=== Note === | === Note === | ||
Line 46: | Line 66: | ||
* choose your own coding conventions - but '''be consistent''' | * choose your own coding conventions - but '''be consistent''' | ||
* you are welcome to work together, but you must do/turn in your own work (you'll likely get more out of it this way) | * you are welcome to work together, but you must do/turn in your own work (you'll likely get more out of it this way) | ||
+ | |||
=== Deliverables === | === Deliverables === |
Latest revision as of 16:35, 14 October 2015
Contents
Homework #3: AudioVisual Music Sequencer Thing
NOTE from Ge: this image is here mostly for its colors, PLEASE DON'T MAKE IT LOOK LIKE THIS (NECESSARILY)!
- part A (research + on-paper design) due: 2014.10.20, in-class Monday (be prepared to present)
- part B (implementation) due: 2014.10.30 11:59:59pm, Thursday.
- part C (demo/mini-performance)) due: 2014.11.03, in-class Wednesday
Almost inevitably at some point in one's music software design journey, you'll be asked/tempted to make a step sequencer. In this assignment, we are going to get that off our chest/out of our system, and make a crazy, real-time, audio-visual step sequencer like thing!
(Part 1 of 3): Research + Preliminary Design + Specs
- due in-class Monday (10/20)
- do research on music sequencers!
- compile a list of useful references on various types of step sequencers / designs (articles, papers, images, etc.)
- sketch your own preliminary design of a real-time audio-visual step sequencer!
- what features to include?
- what does it look like? linear? circular? spherical? mobius?!?
- sequencing of pitch? dynamics (loundness)? envelopes (attack/decay/sustain/release)?
- how many parallel tracks / layers / or different types of sound? (e.g., track 1 synth, track 2 drum etc)
- how input the sequence (in real-time)?
- how does it sound? will it use synthesis? load audio samples? soundfonts? MIDI?
- can you save/load sequences? what file format? should we have a common Music256a/476a format?!
- how to control/depict tempo?
- sketch as much as detail as possible, even if you don't end up implementing them!
- be ready to hand in design on paper (or send me, imdone256@gmail.com, digital scans if you have them) and be ready to present on Monday! (scans of these design sketches can go onto your website for this project!)
(Part 2 of 3): Implementation
- due 2014.10.30 11:59:59pm, Thursday
- decide on a design + set of features for an real-time audio-visual step sequencer; the design decisions should account for the questions raised in part 1 above!
- implement a working prototype of your step sequencer
- welcome (but don't have) to use:
- MCD-API
- libsndfile for audio file loading (will need to install library)
- STK (synthesis toolkit)
- potential things to sequence:
- pitch
- dynamics
- different timbre's / instruments
- envelopes
- "hints"
- think of user/interaction design **and** software/system design
- create an audio engine, as well as a graphics engine; how do they interact?
- create a webpage for your audiovisual sequencer, which must contain:
- one or more screenshot(s)
- your initial design sketches + research, motivate and articulate how you made your design decisions
- system design: how is your software architected? recommend a class diagram!
- downloading the code
- (for part 3: stuff from part 3 below)
(Part 3 of 3): Musical Statement + In-Class Presentation
- due: 2014.11.03, in-class Monday
- using your sequencer, create a short musical statement;
- either make a video of you performing it, and/or a short recording (mp3)!
- present your step sequencer and music instrument in class!
Note
- as always, have fun with it!!! make it P.S.!!!
- 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 (you'll likely get more out of it this way)
Deliverables
turn in all files by creating a new CCRMA webpage: http://ccrma.stanford.edu/~YOURID/256a/hw3/
- 0) source code to the project (*.h, *.cpp, *.c makefile, etc.)
- 1) screenshots of your step sequencer in action
- 2) design sketches (scan them in if necessary)
- 3) your musical statement!
- 4) instructions on building the project (for example, anyone in the class should be able to download
- 5) instructions in using your step sequencer
email URL to imdone256 and ge!