This is a master zip file of all the projects:
http://dl.dropbox.com/u/8116598/Advanced%20AV%20processing/advancedAVcourseworkLiepaKuraite.zip
I have written separate posts on this website about each of them with separate downloadable zip files, screenshots and descriptions that might be useful.The executables (for Windows systems) of the projects are in the bin directory in each zip file and should be run from that directory because they have some file dependencies that I did not know how to solve. Also, some of the projects are made using CodeBlocks (simple synth and sample loader/editor) because the openframeworks gui addon I use (ofxUI) have some unresolved bugs running on Visual Studio 2010 with which I usually work. The other two projects (webcam mashup and mesh from image) are done using Visual Studio 2010. All zip files have the workspace/project files that will launch the appropriate IDE but their source code is also included as required in src folders.
DESCRIPTION:
My main projects is a simple two-oscillator sound synthesizer that uses 3 different sound synthesis types that determine the interaction between them – additive synthesis, amplitude modulation and frequency modulation. I have made it as a standalone application with a GUI to control the parameters (waveforms, frequencies and type of synthesis) that can be changed in real-time. My application is written in C++ using OpenFrameworks (for the core of the application and the GUI) and Maximilian library (for sound synthesis). The two oscillators are independent from one another and can have one of the 5 types of waveforms each (sine, cosine, square, sawtooth and triangle). Even though I am happy with the result, especially the GUI and smooth real-time interaction, the sound part of the app needs many improvements. First of all, I found it very hard to determine the ranges of the modulating wave so there would be good variations of sound in AM and FM. Another thing that I came across is clipping and unexpected noises. I still have to investigate how they are created. However this unplanned unpredictability can produce sonically interesting results. Another part of the application that I need to work on if I want it to become scalable is how I manage events – now I have a big decision tree in the audioOut() method that plays back sound and it might produce latency if I’ll add more oscillators and effects.
This project is based on an example from the ofxUI that I stripped and rearranged. It does not share
much code with the original example though – I copied that project because it was easy to compile it
(it has all the includes and file dependencies organized).