Difference between revisions of "Stompbox 2013"

From CCRMA Wiki
Jump to: navigation, search
 
(20 intermediate revisions by 2 users not shown)
Line 6: Line 6:
  
 
[[Image:WorkshopFXPixSmall.jpg]]
 
[[Image:WorkshopFXPixSmall.jpg]]
 +
  
  
 
==COURSE HISTORY AND DESCRIPTION==
 
==COURSE HISTORY AND DESCRIPTION==
  
Description:  Come design your own flavor of stompbox at Stanford Universityʼs Stompbox Design workshop. We will teach you a brand new platform for implementing stompboxes that not only enables you to create any sound effects from the past but also promotes 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: for example, put a Wiimote on your guitar and use it to change the sound of the effect, or use some LEDs to simulate the glow of vacuum tubes, or even incorporate a micro-sized Pico projector into your stompbox! The expanded world of digital audio effects is at your fingertips because the workshop incorporates:
+
Come design your own flavor of stompbox at Stanford Universityʼs Stompbox Design workshop. We will teach you a brand new platform for implementing stompboxes that not only enables you to create any sound effects from the past but also promotes 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: for example, put a Wiimote on your guitar and use it to change the sound of the effect, or use some LEDs to simulate the glow of vacuum tubes, or even incorporate a micro-sized Pico projector into your stompbox! The expanded world of digital audio effects is at your fingertips because the workshop incorporates:
 
* Most basic theory of signal processing
 
* Most basic theory of signal processing
 
* Description of operation of prior stompboxes and digital audio effects
 
* Description of operation of prior stompboxes and digital audio effects
Line 18: Line 19:
 
** programming language Pure Data
 
** programming language Pure Data
 
** building simple button and knob interfaces to Pure Data
 
** building simple button and knob interfaces to Pure Data
** How to program digital audio effects in C++ and/or Faust
 
 
* Introduction to human-computer interface devices for projects
 
* 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.
 
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.
  
This workshop is intended for:  
+
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 [http://faust.grame.fr/], 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 [https://ccrma.stanford.edu/~jos/aspf/aspf.pdf].
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 encouraged (but by no means required) to bring their own laptop computers and/or musical instruments.
+
 
 +
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 encouraged (but by no means required) to bring their own laptop computers and/or musical instruments.
 +
 
 +
This workshop was created by Edgar Berdahl and Esteban Maestre in 2011. This workshop uses very similar hardware to the [https://ccrma.stanford.edu/wiki/NMC_2013 New Music Controllers] workshop, but the focus is more on applications to stompbox design and audio signal processing.
 +
 
 +
[https://ccrma.stanford.edu/workshops/stompbox-design How to sign up] for the workshop.
  
This workshop was created by Edgar Berdahl and Esteban Maestre in 2011. This workshop uses very similar hardware to the [https://ccrma.stanford.edu/wiki/NMC_2011 New Music Controllers] workshop, but the focus is more on applications to stompbox design and audio signal processing.
 
  
How to [https://ccrma.stanford.edu/workshops/stompbox-design sign up] for the workshop!
 
  
 
==COURSE SCHEDULE ==
 
==COURSE SCHEDULE ==
  
We will meet from 9am-5:00pm daily, with mini-breaks at 10:30 and 3:00, and a lunch break from 12-1.
+
We will meet from 9am-5:00pm daily, with mini-breaks at around 10:30am and 3:00pm, and a lunch break aproximately between 12:00pm and 1:00pm.
  
 
{| border="1"
 
{| border="1"
Line 38: Line 41:
 
|'''Date''' || '''Morning (9am-12noon)''' || '''Afternoon (1:00pm-5:00pm)'''
 
|'''Date''' || '''Morning (9am-12noon)''' || '''Afternoon (1:00pm-5:00pm)'''
 
|-
 
|-
|Monday || Introduction, Overview, Pd basics lecture (incl. one digital effect example), Kit How-To, [https://ccrma.stanford.edu/wiki/Stompbox_Lab_0_2013 Lab 0: Making Sound With Pd] || Review [https://ccrma.stanford.edu/wiki/Stompbox_Lab_0_2013 Lab 0], FX Lecture, [https://ccrma.stanford.edu/wiki/Lab1_Making_FX_in_Pd_2013 Lab 1: Making FX In Pd]
+
|Monday || Introduction, Overview, Pd basics lecture (incl. one digital effect example), Kit How-To, [https://ccrma.stanford.edu/wiki/Stompbox_Lab_0_2013 Lab 0: Making Sound with Satellite CCRMA] || Review Lab 0, FX Lectures 1 and 2, [https://ccrma.stanford.edu/wiki/Lab1_Making_FX_in_Pd_2013 Lab 1: Making FX In Pd]
 
|-
 
|-
|Tuesday || Review Lab 1, FX Lecture, [[Introduction to Electronics (condensed) | Introduction to Electronics]]--[[Sensors|Sensors1]] ||[https://ccrma.stanford.edu/wiki/Stompbox_Real_Sensors_2013 Lab 2: Controlling an Effect with Real Sensors]
+
|Tuesday || Review Lab 1, FX Lecture 3, [[Introduction to Electronics (condensed) | Introduction to Electronics]]--[[Sensors|Sensors1]] ||[https://ccrma.stanford.edu/wiki/Stompbox_Real_Sensors_2013 Lab 2: Controlling an Effect with Real Sensors]
 
|-
 
|-
|Wednesday || Lab 2 Review, [[Interfacing With The Rest Of The World]] (i.e. making cables, etc.) || FX Lecture, [https://ccrma.stanford.edu/wiki/Stompbox_Rapid_Prototyping Optional guided laboratory time] or start on project
+
|Wednesday || Lab 2 Review, [[Interfacing With The Rest Of The World]] (i.e. making cables, etc.) || FX Lecture 4, [https://ccrma.stanford.edu/wiki/Stompbox_Rapid_Prototyping Optional guided laboratory time] or start on project
 
|-
 
|-
|Thursday || FX Lecture, Refine project ideas, Work on project, Discuss enclosures || J. Abel Guest lecture, Special topics, Work on project
+
|Thursday || FX Lecture 5, Refine project ideas, Work on project, Enclosure How-To|| Work on project
 
|-
 
|-
|Friday || Work on project  || [[Project presentations]] 3-4:30PM
+
|Friday || Work on project  || [[Project presentations]] (3:00pm - 4:30pm)
 
|}
 
|}
 +
 +
  
 
==FX Basics LECTURES==
 
==FX Basics LECTURES==
  
 +
In this section we provide links to the FX Basics lectures we'll go through during the week, and complementary materials.
 +
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:'''
+
'''MONDAY'''
  
Lectures:
+
FX Introductory lectures:
  
[http://ccrma.stanford.edu/~esteban/stompbox/2012/2012_StompboxDesign_1_Introduction.pdf Fx Basics 1: Introduction]
+
[http://ccrma.stanford.edu/~esteban/stompbox/2013/2013_StompboxDesign_1_Introduction.pdf Fx Basics 1: Introduction]
  
[http://ccrma.stanford.edu/~esteban/stompbox/2012/2012_StompboxDesign_2_Dynamics.pdf Fx Basics 2: Dynamics Effects]
+
[http://ccrma.stanford.edu/~esteban/stompbox/2013/2013_StompboxDesign_2_Dynamics.pdf Fx Basics 2: Dynamics Effects]
  
Demo patches:
 
  
http://ccrma.stanford.edu/~esteban/stompbox/2012/2012_00_stomp_dynamics_1.pd (Boost)
+
Basic PureData demo patches:
  
http://ccrma.stanford.edu/~esteban/stompbox/2012/2012_01_stomp_dynamics_2.pd (Tremolo)
+
[http://ccrma.stanford.edu/~esteban/stompbox/2013/pd/00_stomp_dynamics_1.pd Boost]
  
http://ccrma.stanford.edu/~esteban/stompbox/2012/2012_02_stomp_dynamics_3.pd (Noise gate]
+
[http://ccrma.stanford.edu/~esteban/stompbox/2013/pd/01_stomp_dynamics_2.pd Tremolo]  ([http://ccrma.stanford.edu/~esteban/stompbox/2013/pd/01_stomp_dynamics_2_noPlot.pd here] without graphical signal displays)
  
http://ccrma.stanford.edu/~esteban/stompbox/2012/2012_03_stomp_dynamics_4.pd (Compressor)
+
[http://ccrma.stanford.edu/~esteban/stompbox/2013/pd/02_stomp_dynamics_3.pd Noise gate]  ([http://ccrma.stanford.edu/~esteban/stompbox/2013/pd/01_stomp_dynamics_3_noPlot.pd here] without graphical signal displays)
  
Remember that the graphical displays (i.e. the '''[table]''' objects) will cause the BeagleBoard to go very slow. So it's good to remove them (together with the corresponding '''[tabwrite~]''' objects)!
+
[http://ccrma.stanford.edu/~esteban/stompbox/2013/pd/03_stomp_dynamics_4.pd Compressor] 
 +
([http://ccrma.stanford.edu/~esteban/stompbox/2013/pd/01_stomp_dynamics_4_noPlot.pd here] without graphical signal displays)
  
 +
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!
  
  
'''TUESDAY:'''
+
Lab resources:
  
Lecture:
+
[http://en.flossmanuals.net/pure-data/ch072_introduction/ Categorized list of Pd Objects]
 +
(on a single page [http://protman.com/content/list-puredata-objects-and-extended-objects here])
  
[http://ccrma.stanford.edu/~esteban/stompbox/2012/2012_StompboxDesign_3_Filtering.pdf Fx Basics 3: Filtering]
+
[http://ccrma.stanford.edu/~esteban/stompbox/solo_man.wav Ugly guitar track 'solo_man.wav']
  
 +
[http://ccrma.stanford.edu/~esteban/stompbox/moreSamples.zip More guitar/bass tracks (compressed ZIP)]
  
Demo patches:
+
[http://ccrma.stanford.edu/~carlsonc/DryGuitarTracks.zip Nicer guitar tracks]  Courtesy of Jonathan Abel, please do not distribute.
  
http://ccrma.stanford.edu/~esteban/stompbox/2012/2012_04_stomp_filtering_1.pd (Biquad block example)
 
  
http://ccrma.stanford.edu/~esteban/stompbox/2012/2012_05_stomp_filtering_2.pd (Wah example)
+
'''TUESDAY'''
 +
 
 +
FX Introductory lecture:
 +
 
 +
[http://ccrma.stanford.edu/~esteban/stompbox/2013/2013_StompboxDesign_3_Filtering.pdf Fx Basics 3: Filtering]
 +
 
 +
 
 +
Basic PureData demo patches:
 +
 
 +
[http://ccrma.stanford.edu/~esteban/stompbox/2013/pd/04_stomp_filtering_1.pd Biquad block example]  ([http://ccrma.stanford.edu/~esteban/stompbox/2013/pd/04_stomp_filtering_1_noPlot.pd here] without graphical displays)
 +
 
 +
[http://ccrma.stanford.edu/~esteban/stompbox/2013/pd/05_stomp_filtering_2.pd Wah example using a 2nd order peaking filter]
 +
([http://ccrma.stanford.edu/~esteban/stompbox/2013/pd/05_stomp_filtering_2_noPlot.pd here] without graphical displays)
 +
 
  
 
Lab resources:
 
Lab resources:
  
[http://en.flossmanuals.net/pure-data/ch072_introduction/ Categorized list of Pd Objects]
+
[http://ccrma.stanford.edu/~esteban/stompbox/2013/pd/filters_by_mmb.zip filters_by_mmb.zip] Basic Pd filtering library by Mike Moser-Booth - Latest version (not checked) of the above library can be found at https://github.com/dotmmb/mmb .
(on a single page [http://protman.com/content/list-puredata-objects-and-extended-objects here])
+
  
http://ccrma.stanford.edu/~esteban/stompbox/solo_man.wav ('solo_man.wan' ugly sound example)
+
<!-- Extra material:
 +
[http://ccrma.stanford.edu/~esteban/stompbox/2013/pd/filters_by_mmb.txt filters_by_mmb.txt] Short intro on why and how we use the above library -->
  
 +
<!-- Extra material:
 +
[http://ccrma.stanford.edu/~esteban/stompbox/2012/2012_11_stomp_wah_model.pd Cry baby wah model] -->
  
  
'''WEDNESDAY:'''
 
  
Lecture:
+
'''WEDNESDAY'''
  
[http://ccrma.stanford.edu/~esteban/stompbox/StompboxDesign_FXBasics_4_Distortion.pdf Fx Basics 4: Distortion]
+
FX Introductory lecture:
  
Demo patch:
+
[http://ccrma.stanford.edu/~esteban/stompbox/2013/2013_StompboxDesign_4_Distortion.pdf Fx Basics 4: Distortion]
  
http://ccrma.stanford.edu/~esteban/stompbox/06_stomp_distortion.pd  (Distortion / Fuzz)
 
  
 +
Basic PureData demo patch:
  
 +
[http://ccrma.stanford.edu/~esteban/stompbox/2013/pd/06_stomp_distortion.pd  Distortion / Fuzz] 
 +
([http://ccrma.stanford.edu/~esteban/stompbox/2013/pd/06_stomp_distortion_noPlot.pd here] without graphical displays)
  
'''THURSDAY:'''
 
  
Lecture:
 
  
[http://ccrma.stanford.edu/~esteban/stompbox/StompboxDesign_FXBasics_5_Time.pdf Fx Basics 5: Time Effects]
+
'''THURSDAY'''
  
Demo patches for Delay and Flanger Effects:
+
FX Introductory lecture:
  
http://ccrma.stanford.edu/~esteban/stompbox/07_stomp_time_1.pd (Simple delay)
+
[http://ccrma.stanford.edu/~esteban/stompbox/2013/2013_StompboxDesign_5_Time.pdf Fx Basics 5: Time Effects]
  
http://ccrma.stanford.edu/~esteban/stompbox/08_stomp_time_2.pd (Simple tapped delay)
 
  
http://ccrma.stanford.edu/~esteban/stompbox/09_stomp_time_3.pd (Feedback Delay)
+
Basic PureData demo patches:
  
http://ccrma.stanford.edu/~esteban/stompbox/10_stomp_time_4.pd (Flanger)
+
[http://ccrma.stanford.edu/~esteban/stompbox/2013/pd/07_stomp_time_1.pd Simple delay]
  
 +
[http://ccrma.stanford.edu/~esteban/stompbox/2013/pd/08_stomp_time_2.pd Simple tapped delay]
  
[http://ccrma.stanford.edu/~carlsonc/DryGuitarTracks.zip More guitar tracks] courtesy of Jonathan Abel  (Please do not distribute)
+
[http://ccrma.stanford.edu/~esteban/stompbox/2013/pd/09_stomp_time_3.pd Feedback Delay]
 +
 
 +
[http://ccrma.stanford.edu/~esteban/stompbox/2013/pd/10_stomp_time_4.pd Flanger]
 +
 
 +
 
 +
 
 +
'''FRIDAY'''
 +
 
 +
(No lectures on Friday)
  
[http://ccrma.stanford.edu/~esteban/stompbox/2012/2012_11_stomp_wah_model.pd] Cry baby
 
  
'''FRIDAY:'''
 
  
 
==WORKSHOP PROJECT==
 
==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.
 
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.
 +
 +
[http://ccrma.stanford.edu/~esteban/stompbox/2013/stomp_raspberryPI_2014.svg Here] is the template we used to laser-cut the enclosure parts you'll be using for the raspBerryPI.
 +
These could be modified to meet your own needs/taste, so they can be sent to cut by [http://www.ponoko.com Ponoko].
 +
 +
  
  
  
 +
==RELATED LECTURES==
  
==RELATED LECTURES==
 
 
*[[PID Introduction]]
 
*[[PID Introduction]]
 
*[[Survey of Physical Interfaces for Music]]
 
*[[Survey of Physical Interfaces for Music]]
Line 146: Line 180:
 
*[[Microcontroller Architecture]]
 
*[[Microcontroller Architecture]]
 
*[[Interaction Design Framework]]
 
*[[Interaction Design Framework]]
 +
 +
  
 
==LABS==
 
==LABS==
  
 
(see links in course schedule)
 
(see links in course schedule)
 +
 +
  
 
==SOFTWARE==
 
==SOFTWARE==
 +
 
* The lectures will primarily be in [http://puredata.info/downloads 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 lectures will primarily be in [http://puredata.info/downloads 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 [http://ccrma.stanford.edu/~eberdahl/Satellite Satellite CCRMA] so that you can get up and running instantly.
 
* The micro SDHC card for your kit will be initialized with [http://ccrma.stanford.edu/~eberdahl/Satellite Satellite CCRMA] so that you can get up and running instantly.
* The [http://beagleboard.org/ Beagle Board] platform enables linux to be run on a high-power 720MHz CPU. It can execute floating point operations natively, which is essential for rapid prototyping of audio algorithms.
+
* The [http://www.raspberrypi.org/ Raspberry Pi] platform enables linux to run on a high-power 700MHz CPU. It can execute floating point operations natively, which is essential for rapid prototyping of audio algorithms.
 
* The [http://arduino.cc/en/Main/Software Arduino software] could be used to change the [http://firmata.org Firmata-based] firmware that gets data from the Arduino Nano board into Pd.
 
* The [http://arduino.cc/en/Main/Software Arduino software] could be used to change the [http://firmata.org Firmata-based] firmware that gets data from the Arduino Nano board into Pd.
 +
 +
  
 
==REFERENCES==
 
==REFERENCES==
 +
 
* [[MaxLab]]
 
* [[MaxLab]]
 
* [[PID Links]]
 
* [[PID Links]]
 
* [http://puredata.info/downloads Pure Data (Pd) Extended]
 
* [http://puredata.info/downloads Pure Data (Pd) Extended]
* [http://beagleboard.org/ Beagle Board]
+
* [http://www.raspberrypi.org/ Raspberry Pi]
 
* [http://arduino.cc/en/Main/Software Arduino software]  
 
* [http://arduino.cc/en/Main/Software Arduino software]  
 
* [http://firmata.org Firmata]
 
* [http://firmata.org Firmata]
Line 170: Line 212:
 
* [http://ccrma.stanford.edu/~eberdahl/Satellite Satellite CCRMA]
 
* [http://ccrma.stanford.edu/~eberdahl/Satellite Satellite CCRMA]
 
[[Image:SatelliteCCRMALogoVSmall.jpg]]
 
[[Image:SatelliteCCRMALogoVSmall.jpg]]
 +
 +
  
 
==FAQ==
 
==FAQ==
 +
 
'''Project questions'''
 
'''Project questions'''
  
Line 191: Line 236:
  
  
[[Image:StompboxFlyer2011JPG.jpg]]
+
[[Image:StompboxFlyer_2013_small.jpg]]
  
 
[[Category:Stompbox_2013]][[Category:PID]]
 
[[Category:Stompbox_2013]][[Category:PID]]

Latest revision as of 16:16, 6 August 2014

Stompbox Design Workshop

CCRMA Summer Workshop 2013
August 19-23

Instructors: Edgar Berdahl eberdahl@ccrma.stanford.edu and Esteban Maestre esteban@ccrma.Stanford.EDU

WorkshopFXPixSmall.jpg


COURSE HISTORY AND DESCRIPTION

Come design your own flavor of stompbox at Stanford Universityʼs Stompbox Design workshop. We will teach you a brand new platform for implementing stompboxes that not only enables you to create any sound effects from the past but also promotes 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: for example, put a Wiimote on your guitar and use it to change the sound of the effect, or use some LEDs to simulate the glow of vacuum tubes, or even incorporate a micro-sized Pico projector into your stompbox! The expanded world of digital audio effects is at your fingertips because 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 encouraged (but by no means required) to bring their own laptop computers and/or musical instruments.

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 aproximately between 12:00pm and 1:00pm.

The Week
Date Morning (9am-12noon) Afternoon (1:00pm-5:00pm)
Monday Introduction, Overview, Pd basics lecture (incl. one digital effect example), Kit How-To, Lab 0: Making Sound with Satellite CCRMA Review Lab 0, FX Lectures 1 and 2, Lab 1: Making FX In Pd
Tuesday Review Lab 1, FX Lecture 3, Introduction to Electronics--Sensors1 Lab 2: Controlling an Effect with Real Sensors
Wednesday Lab 2 Review, Interfacing With The Rest Of The World (i.e. making cables, etc.) FX Lecture 4, Optional guided laboratory time or start on project
Thursday FX Lecture 5, Refine project ideas, Work on project, Enclosure How-To Work on project
Friday Work on project Project presentations (3:00pm - 4:30pm)


FX Basics LECTURES

In this section we provide links to the FX Basics lectures we'll go through during the week, and complementary materials. 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

FX Introductory lectures:

Fx Basics 1: Introduction

Fx Basics 2: Dynamics Effects


Basic PureData demo patches:

Boost

Tremolo (here without graphical signal displays)

Noise gate (here without graphical signal displays)

Compressor (here without graphical signal displays)

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:

Categorized list of Pd Objects (on a single page here)

Ugly guitar track 'solo_man.wav'

More guitar/bass tracks (compressed ZIP)

Nicer guitar tracks Courtesy of Jonathan Abel, please do not distribute.


TUESDAY

FX Introductory lecture:

Fx Basics 3: Filtering


Basic PureData demo patches:

Biquad block example (here without graphical displays)

Wah example using a 2nd order peaking filter (here without graphical displays)


Lab resources:

filters_by_mmb.zip Basic Pd filtering library by Mike Moser-Booth - Latest version (not checked) of the above library can be found at https://github.com/dotmmb/mmb .



WEDNESDAY

FX Introductory lecture:

Fx Basics 4: Distortion


Basic PureData demo patch:

Distortion / Fuzz (here without graphical displays)


THURSDAY

FX Introductory lecture:

Fx Basics 5: Time Effects


Basic PureData demo patches:

Simple delay

Simple tapped delay

Feedback Delay

Flanger


FRIDAY

(No lectures on Friday)


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.

Here is the template we used to laser-cut the enclosure parts you'll be using for the raspBerryPI. These could be modified to meet your own needs/taste, so they can be sent to cut by Ponoko.



RELATED LECTURES


LABS

(see links in course schedule)


SOFTWARE

  • 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 Raspberry Pi platform enables linux to run on a high-power 700MHz CPU. It can execute floating point operations natively, which is essential for rapid prototyping of audio algorithms.
  • The Arduino software could be used to change the Firmata-based firmware that gets data from the Arduino Nano board into Pd.


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.

  • Can I keep the tools we use during the workshop?

If you buy the kit!




StompboxFlyer 2013 small.jpg