Lab 3: “Hybrid” Instruments

Download this lab’s code here.

The goal of this lab is to make a musical instrument combining acoustic sound excitations with digital elements. Sounds excitations are fed into a digital resonator (e.g., a waveguide, a comb filter, a reverb, etc.). The parameters of the resonator can be changed to modify the properties of the generated sound.

Connecting a Microphone or a Piezo to Faust

process = _;
process = _ <: _,_;
mult2(x) = x*2;
process = mult2;

or even:

mult(y,x) = x*y;
process = mult(2);
process = _ <: _,_;

Note About Audio Latency

Using the web browser as our main prototyping platform has some drawbacks. One them is audio latency. Indeed, you might have noticed that it takes some time to process a sound and then play it back. You might be able to reduce this effect by decreasing the buffer size in the Faust web editor configuration panel. Be aware that this might introduce some glitches in the generated sound.

A more efficient solution is to generate a native application, but for that, you’d have to install Faust on your computer. If you’re feeling adventurous and want to give it a try, feel free to get in touch with Romain (solutions will vary depending on your target platform).

For this lab, it is likely that latency might not be an issue for the type of instrument that you will make. If your final project for this class involves the use of an audio input, we’ll dig things a bit more but for now you should not think too much about it.

Exercise: Adding Sensor Control to the Previous Instruments

Assignment (Due on Jan. 30, 2019)


  • Luigi Sambuy
  • Adison Chang
  • Justin Cheung
  • Jason Choi
  • Jatin Chowdhury
  • Marina Barbara Cottrell
  • Cole DePasquale
  • Raul Gallo Dagir
  • Elisa Lupin-Jimenez
  • Lee Marom
  • Doug Turnbull McCausland
  • Matthew Molina
  • Camille Noufi
  • Salvador Perez
  • Austen Poteet
  • Andrea Stein
  • Michael Svolos
  • Arjun Tambe
  • Ye Akira Wang
  • Shenli Yuan
  • Austin Zambito-Valente