← Back

ofxadvanced

github.com/abrennec/ofxadvanced · @abrennec
OF 0.11 Templates Sound MIDI/OSC

synth, midi, visuals

1 0 Last commit 6y ago Created 7y ago

README

<!-- --- title: openFrameworks Advanced author: Angela Brennecke affiliation: Film University Babelsberg KONRAD WOLF date: Winter term 2019/20 --- --> openFrameworks Advanced | CTech II

Prof. Dr. Angela Brennecke | a.brennecke@filmuniversitaet.de | Film University Babelsberg KONRAD WOLF

---

Table of Contents ---

Additional content: https://drive.google.com/open?id=144AFP28D90mBaz59AaBJ-yRNwQPf1T81

Overview of the Course



Organization



Course Description



In this course, we will use openFrameworks as our creative coding toolkit to explore its capabilities for developing a visual software synthesizer. To do so, we will first dive into the specifics of how openFrameworks implements audio and provides access to the underlying audio hardware APIs. Following that, we will develop a first synthesizer prototype using openFrameworks' soundbuffers and audio output routines using different types of user interaction. Furthermore, we will extend sound capabilites by adding oscillators interaction. As a part of that we will use MIDI control and the chromatic scale to create melody and interact with the sounds. Finally, we will explore how to visualize certain sound parameters and connect them with graphical sound objects. The interaction will primarily be user-driven yet in a last step we will explore image data to drive our sound generation.

The assignments will help you understanding more advanced programming concepts of openFrameworks. Moreover, the coding assignments are intended to be built upon in the case you would like to extend them further.

Learning Objectives



Grading/ECTS



Attendance is everything, no grading. You will receive 1 ECTS for participation. If you would like to further develop the workshop project, we can agree on a feature set and additional ECTS.

---

Syllabus



Day 1 - Sound Generation with openFrameworks



The first day of the workshop will be dedicated to sound generation and software design. First, we will focus on understanding how openFrameworks implements sound and connects software with the underlying hardware (i.e., audio interface / soundcard). Second we will start exploring an ofApp synthesis example and develop a first prototype of a software synthesizer.

Day 2 - Interaction and Control



The second day of the workshop will be dedicated to interaction and control. We will have the oscillators interact with each other and connect the previously developed synthesizer to a MIDI controller. Moreover, we will explore performance aspects and and check out further generic STL containers to support the object management.

Day 3 - Sound and Images



The third day of the workshop will be dedicated to finalizing the implementation of the syntheszier. Moreover, we will aim for connecting visuals to the sound engine. We will start with a classical "bouncing balls" example and explore image data as an input source for driving the sound generators.

---

Communication & Materials



As a communication platform, we will use GitHub.com to share code, lecture materials, comments, and submit project assignments.

The repository will be used to share lectures, coding examples, homework and project materials. The Wiki will be used to share information that might be useful for everyone.

---

Technical Setup



Pre-requisites



To participate in this workshop, you will need the following:

Note If you would like to borrow a notebook, please get in touch with Angela on 4th Nov the latest.

XCode 11 | Note for MacOS Users



With XCode 11, a new codesigning restriction has been introduced by Apple that requires all dynamic libraries that are used in the development process to be code signed. This is not true for the external libraries required by openFrameworks that ship with the last stable release of openFrameworks v0.10.1. Whenever you try to compile an ofApp v0.10.1, the linker error message "Command /usr/bin/codesign failed with exit code 1 running Xcode project" is thrown and the build process interrupts.

To fix this problem, you have three solutions:



More details can be found here:



---

Further Readings



Books



Main source of the theoretical aspects of the workshop is the book

Creative Coding <!-- omit in toc -->



C/C++ <!-- omit in toc -->



Software Design <!-- omit in toc -->





Online Resources



Get this addon

HTTPS
SSH