3 Years of CCRMA Faust Workshop
Romain Michon
CCRMA, Stanford University
Université Jean Monnet (Saint-Etienne, France) - November 3, 2015
Say a couple of words about you: PhD student, teaching DSP for about 5 years. Physical modeling specialty. Contributions to Faust with Android architecture, Faust-STK and Faust online compiler.
Faust very present at CCRMA and taught in many different classes: introduction to computer music along with Chuck, options for students to use Faust for projects in many classes: mobile music, etc. and DSP with Julius' classes. -> 220a, 256a/b, dsp series.
No class only on Faust so will focus here on faust workshops. Will give an overview of the course and provide some evaluation: both on the use of Faust in this context and Faust itself.
CCRMA, Stanford University (USA) - July 2013/14/15
5 days workshop
~7 hours/day
Main idea is to introduce students to Faust and basic signal processing
Intuitive understanding of algorithms: we try to avoid maths as possible
Students with very different background: highschool, college and grad students, egineers, professors, hobbyist, etc.
Get full access to CCRMA for one week: recording studios, etc.
Only $500 for the week...
Idea is to deliver as much material as possible to the students during the workshop and use the mailing list and the wiki to answer questions that students might have. Little bit of time for practice but things go very quick.
Using Wiki and mailing list for interaction with students: show the wiki
Use Julius' book series as a support to go further: may be show that. May be motivation for students to take more advance courses like JOS coursera DSP courses, etc.
Show the table of content of 2015 to give an idea of what is in the course.
Explain that the idea is to do a little bit of everything by avoiding more complex topics or algorithms requiring a deeper mathematical understanding.
Only algorithm working in the time domain only.
For each object, link to a webpage to Julius' website (explain that Julius' books are available online) -> once again idea that students will go back to the content after the workshop: we don't expect them to understand everything... They do: many of them become active contributers and users of Faust: we can see that from the mailing list. We want to make sure that attendees will become active members of the community.
Try to create some kind of social aspect to this: special budget for food drinks (beer): very important
Festival de Audio y Acústica Costarricense October 2014 - San José (Costa Rica)
Fun workshop
Got invited there by someone who took the workshop at CCRMA
Same format as the CCRMA workshop
Interesting cause realized that there is a huge computer music and music technology community in central america. In the frame of computer music conference: more than 200 attendees mostly from Guatemala, Costa Rica, Panama and Mexico.
Interesting teaching experience cause most of the students didn't know anything about programming nor DSP: starting from neutral ground.
Online Course
https://ccrma.stanford.edu/~rmichon/faustWorkshops/2015/
Based on the 2015 faust workshop. Still editing videos but should be ready within a month
Done partly to replace existing video tutorial that date back from 2011.
Thinking about coursera class but a little bit affraid of what comes with it: Julius' example for 320. Same problem even outside of the workshop period. Sometimes, people tend to be shy to ask questions on mailing lists.
Faust Days
January 2013 - 2014 - 2015
One day accelerated Faust course
2/3 of the day give as much informations as possible and then exercices and hacking session
For students, industry professionals
Social component by providing beer, food, drinks all day and encouraging attendees to go to restaurant afterwards: important to create some kind of local community
Emphasis on the generated C++ code: at least 1/2 of the attendees are very experienced C++ programmers and they want to be able to know how Faust can be used to build professional tools.
Evaluation
Both for teaching and as a programming language
We reached a point where we don't have to advertise that kind of events too much: Faust is known enough in the silicon valley to self motivate people to take the course: we had 50 people at our last Faust days in January and we even had to set an enrolment limit to the workshops and have a small admission process!
In particular lots of attention from industry: google, apple, shazam, smule, dolby, izotope, mcdsp, etc.
Faust is a great tool for teaching DSP: students can focus on the algorythmic aspect and don't have to think about the implementation. For example, an echo effect can be implemented with only one line of code and then converted to a VST or AudioUnit plug-in: make and try. We don't have to worry much about the working environment that students and we can focus on designing and implementing the algorithm.
FaustLive made the workflow easier than ever
Faust is great to teach to people with little programming background and can be harder to catch by experienced C++ programmers: it's good to start from a neutral ground. Block diagram paradigm is easy to understand by beginners. Recursion is by very far the hardest concept to understand: no problems conceptually but hard to understand.
The ability to visualize block diagrams is crucial for beginners.
Julius often says that Faust is the best programming language for electrical engineers: close to the electronic circuit paradigm
Lack a set of good tools for debugging algorithm (not the code): explain why.
Usual Faust limitations: FFT, etc.
Fixed point would be great for a certain class DSP chip. Industry is asking for it.
Need for a good exchange platform: Faust is of great interest both for musicians and programmers. The fact that it is possible to generate fully operational programs or plug-ins make it very accessible to performers.
3 Years of CCRMA Faust Workshop
Romain Michon
CCRMA, Stanford University
Université Jean Monnet (Saint-Etienne, France) - November 3, 2015
Say a couple of words about you: PhD student, teaching DSP for about 5 years. Physical modeling specialty. Contributions to Faust with Android architecture, Faust-STK and Faust online compiler.
Faust very present at CCRMA and taught in many different classes: introduction to computer music along with Chuck, options for students to use Faust for projects in many classes: mobile music, etc. and DSP with Julius' classes. -> 220a, 256a/b, dsp series.
No class only on Faust so will focus here on faust workshops. Will give an overview of the course and provide some evaluation: both on the use of Faust in this context and Faust itself.