Stompbox 2016

From CCRMA Wiki
Revision as of 05:01, 15 June 2016 by Eberdahl (Talk | contribs)

Jump to: navigation, search

Digital Stompbox Design Workshop

CCRMA Summer Workshop 2016
July 25-29

Instructors: Esteban Maestre and Romain Michon

Course History and Description

Come design your own flavor of audio effect at Stanford Universityʼs Digital Stompbox Design workshop. We will teach you a new platform for implementing audio effects in hardware that not only allows you to recreate classic types of sound effects but also enables the creation of new sound effects. Our resources for new media design are also at your fingertips if you would like to re-design the concept of a guitar stompbox of effects unit: for example, design the layout and control interface of your effects unit, add accelerometers on your guitar or your hand and use it to control the parameters of an effect, or use some LEDs to simulate the glow of vacuum tubes or fire!

The workshop incorporates:

  • Most basic theory of signal processing
  • Description of operation of prior stompboxes and digital audio effects
  • Laboratory exercise teaching you how to program our own open-source software and hardware platform involving:
    • connecting to your stompbox over an Ethernet connection from your laptop
    • creating new digital audio effects by connecting together basic building blocks in the graphical
    • programming language Pure Data
    • building simple button and knob interfaces to Pure Data
  • Introduction to human-computer interface devices for projects

Further discussion of open-source hardware and software platforms including Satellite CCRMA. Finally, we will round out the workshop with a roundtable presentation of the stompboxes you create followed by an optional evening jam session for fun.

The primary programming language to be used during this workshop is Pure Data. Besides C++ digital audio effects programming (a somehow more classical approach), a programming language becoming more and more popular for signal processing (being lower level and at first less intuitive than Pure Data) is Faust [1], but it will be left out of support for the basic lab exercises. Depending on the interest of participants, Edgar may briefly lecture about the basics on Faust programming so that you can get an idea. Of course, you are very welcome to satisfy you curiosity. An excellent tutorial for audio signal processing in Faust written by Prof. Julius Smith can be found here [2].

This workshop is intended for musicians interested in exploring new possibilities in digital audio effects in a hands-on and technical way; makers, engineers, computer scientists, or product designers interested in exploring artistic outlets for their talents and collaborating with musicians; and/or anyone looking to gain valuable skills in basic audio signal processing and human-computer interfaces, with a focus on invention.

Participants are required to buy a $170 lab kit included in the registration price. The kit contains Satellite CCRMA platform featuring Arduino and the Raspberry Pi 2 as well as a miniature audio I/O digital interface, knobs, buttons, footswitches, a number of other sensors, and a customizable acrylic enclosure. All this leading to a custom programmable effects unit to bring home after the workshop! Participants are encouraged (but by no means required) to bring their own laptop computers (with Ethernet support) and/or musical instruments, so that they bring home a working platform and the associated toolchain configured in their laptop, ready for deploying new effects and control paradigms.

This workshop was created by Edgar Berdahl and Esteban Maestre in 2011. This workshop uses very similar hardware to the New Music Controllers workshop, but the focus is more on applications to stompbox design and audio signal processing.

How to sign up for the workshop.

Course Schedule

We will meet from 9am-5:00pm daily, with mini-breaks at around 10:30am and 3:00pm, and a lunch break approximately between 12:00pm and 1:00pm.

The Week
Date Morning (9am-12noon) Afternoon (1:00pm-5:00pm)
Monday

Introduction and Overview
Pd basics lecture (incl. one digital effect example)
Kit How-To and Lab 0: Making Sound with Satellite CCRMA

Review Lab 0
FX Lecture 1
FX Lecture 2
Lab 1: Making FX In Pd

Tuesday

Review Lab 1
FX Lecture 3
Introduction to Electronics--Sensors1

Faust effects lecture
Lab 2: Controlling an Effect with Real Sensors and Lab 3: Rapid Prototyping

Wednesday

Lab 2 Review
Interfacing With The Rest Of The World (i.e. making cables, etc.) and making circuit boards lecture

FX Lecture 4
Start on project

Thursday

FX Lecture 5
Enclosure How-To and customization
Refine project ideas
Work on project

Work on project

Friday Work on project Project presentations (3:00pm - 4:30pm)


Additional Resources

In this section we provide complementary materials for each day of the workshop. Because of the limited time we have for this workshop as compared to the vast amount of theory and literature behind digital audio effects and their implementation via different programming languages, the contents of these lectures are limited to introducing the very basics of some of the most popular types of audio effects used in stompboxes. For a deeper coverage of signal processing techniques behind digital audio effects, please refer to the CCRMA courses listed below (in the References section) and their complementary materials or books.

Monday

Basic PureData demo patches:

Bear in mind that these Pure Data patches were created to illustrate the basic principles of some elementary digital audio effects. For that purpose, some graphical displays were added as a visual complement to monitor some (control) signals. Remember that, although potentially useful for debugging/monitoring purposes, those graphical displays (i.e. the [table] objects) do not contribute to sound processing. However, they may cause the Raspberry Pi to run very slow, so it's good to remove them (together with the corresponding [tabwrite~] objects), or use the alternative patches not including graphical signal displays!

Lab Resources:

Tuesday

FX Lecture:

Basic PureData Demo Patches:

Lab Resources:

Wednesday

FX Lecture:

Basic PureData Demo Patches:

Thursday

Basic PureData Demo Patches:

Other Related Lectures

Softwares

  • The lectures will primarily be in Pure Data (Pd) Extended for sound synthesis. We will introduce some other alternatives such as writing plug-ins directly in C/C++ or with Faust.
  • The micro SDHC card for your kit will be initialized with Satellite CCRMA so that you can get up and running instantly.
  • The Arduino software could be used to change the Firmata-based firmware that gets data from the Arduino Nano board into Pd.

Workshop Project

One of the goals of this workshop is to help you get hands-on experience building a novel stompbox project of your choosing. You are encouraged to work with other workshop participants on the project, particularly those who might have skills that complement your own. Since the workshop is short, it is a good idea to start thinking of ideas during the first lectures and labs; during the second half of the workshop, you will primarily be working on getting a "demo-able" prototype ready for the project presentations on Friday afternoon.

References

SatelliteCCRMALogoVSmall.jpg

FAQ

Project questions

  • Can I do ____ for my project?

You can do whatever you would like for your project. Keep in mind that you really only have a few days to work on it, so you might want to focus on one crucial aspect of a larger project that you'd like to have working.

  • Can I incorporate my own hardware and software into my project?

Yes, you can, although we have limited time and ability to support hardware and software other than what is introduced in the labs.