In this assignment the real-time generation of various periodic waveforms was implemented using the
RtAudio library. The project's source files include:
In order to build the project, download the individual files from above or download them all in
this .zip file. Makefiles are provided to compile the code for either Mac OS X or Linux by specifying the correct makefile to use. Typing 'make' at a command line in the source directory will output the correct syntax for specifying which of these makefiles to use.
Comments:
The goal of constructing this program was to gain experience using RtAudio to stream real-time audio input and output and to implement a few different waveform generators. I originally implemented this using a large amount of if-then logic to process the different waveform cases, but ultimately ended up implementing the different waveform generators as individual classes, each of which inherit from a general UGen class. Approaching the implementation in this enabled me to take advantage of polymorphism, resulting in much more readable code and enabling good organization of functionality.