Difference between revisions of "256-fall-2008/hw1"

From CCRMA Wiki
Jump to: navigation, search
Line 8: Line 8:
 
* create a minimally compilable program (e.g., HelloWorld):
 
* create a minimally compilable program (e.g., HelloWorld):
 
** if you'd like, you can use this very basic [http://ccrma.stanford.edu/courses/256/hw/1/makefile makefile]
 
** if you'd like, you can use this very basic [http://ccrma.stanford.edu/courses/256/hw/1/makefile makefile]
* next add real-time, using the [http://www.music.mcgill.ca/~gary/rtaudio/ RtAudio Library (4.0.4)]
+
* next add real-time, using the RtAudio Library (version 4.0.4)
 
** download it from [http://www.music.mcgill.ca/~gary/rtaudio/ here]
 
** download it from [http://www.music.mcgill.ca/~gary/rtaudio/ here]
 
** even though it's useful to briefly look through the package, the only files you'll need are:
 
** even though it's useful to briefly look through the package, the only files you'll need are:

Revision as of 21:58, 28 September 2008

Homework #1: Real-time Audio, Buffers, and Waveforms

Due date: 2008.10.8 11:59:59pm (or thereabout), Wednesday.

Specification (part 1 of 2): Real-time Audio

  • create a program that is capable of real-time audio input/output
  • start with a blank C++ program
  • create a minimally compilable program (e.g., HelloWorld):
    • if you'd like, you can use this very basic makefile
  • next add real-time, using the RtAudio Library (version 4.0.4)
    • download it from here
    • even though it's useful to briefly look through the package, the only files you'll need are:
      • RtAudio.h (the header file for RtAudio, it contains the class definitions)
      • RtAudio.cpp (the implementation)
      • RtError.h (header containing various error handling constructs for RtAudio)


Specification (part 2 of 2): Waveforms

Note

  • Have fun with it!!!


Deliverables

turn in all files by putting them in your Library/Web/154/hw1/ 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/154/hw1/). It should include:
  • links to your files of various kinds
  • instructions on building the project
  • a short README that
    • conveys your ideas/comments in constructing each program
    • describes any difficulties you encountered in the process