Due date: Oct. 12, 2016

Lab and Readings

Read all the GUI Basics JUCE tutorials. Don't spend too much time on that but feel free to look at the details if you have the time for it, of course :).

Read and do the JUCE tutorials on Looping audio using the AudioSampleBuffer class:

Investigate the source code of the following components of the Demo application available in the examples folder of the JUCE distribution:

Feel free to look at other elements of the Demo application but keep in mind that you have other things to do after that :).

Assignment: Making an Advanced Audio Synthesizer

Using one or several of the audio synthesis techniques studied in class, make a musical instrument (synthesizer) with an "advanced" user interface using some of the elements demonstrated in the "Tabs & Widgets" section of the JUCE Demo application. The goal here is not to use everything but to make things look nice and sound good.

Spend some time thinking about the way you would like users to interact with your instrument: try different mappings, prototype different interfaces, etc. Remember that humans only have two hands, so an interface containing only two continuous controllers (e.g. sliders) allowing a very deep, intuitive control of the instrument might be what you need.

You should use the same approach when building the audio portion of your instrument: try different things and don't be scared to break everything. Just be careful if you're using headphones: you can break everything but your ears :).

Don't be afraid to make things look pretty/crazy (actually both): add a unicorn picture in the background of your interface if you want to. However, if you decide to do so, try to find a way to justify it in some way. This video might help you find the inspiration that you need for this task... So your instrument could well be a farting unicorn synthesizer, that's fine!

Obviously, if you want to make something more serious, you can do it, of course.

Final Deliverable


  • Rahul Agnihotri
  • Ziheng Chen
  • Orchisama Das
  • Walker Davis
  • Graham Davis
  • Victoria Grace
  • Cheng Gu
  • Ron Guglielmone
  • Matt Herrero
  • Mark Hertensteiner
  • Adam Jaffe
  • Megan Jurek
  • Hemanth Kini
  • Paula Kusumaputri
  • Yuan Li
  • Prateek Murgai
  • Michael Olsen
  • Mark Rau
  • Jeff Setter
  • Juan Sierra
  • Hanze Tu
  • Maggie Xu
  • Shenli Yuan