S C O T T P E T E R S E N ∞ E L M U C O ∞ S C A C I N T O . C O M

homepage for scott eric petersen, el muco, and all things electronic

Fun with Feedback (and SuperCollider)

You are not the only one, she loves it too!

A couple of weeks ago I posted some audio and code examples of a software matrix mixer I made with SuperCollider.  I thought a post going into some detail about feedback and how to code it may be of help to those new to the concept as a creative tool, or to using it within SuperCollider.  Lets first start with some basics of a feedback circuit.

The necessary components of a feedback system (the bare bones) are an input source (some sound, if only line-level hum) and an independent loop with a gain control.  Check out the diagram below.

diagram showing basic feedback circuit

The feedback loop can be accomplished in a number of ways.  If you have ever used a mic in an auditorium (or been to school for that matter) you have already probably experienced feedback in the form of a high-pitched squeal.  The microphone picks up your voice, is routed to a mixer, is amplified (gain) and played out the room speakers.  The sound coming out the speakers is then picked up by the mic in addition to your voice.  The squeal occurs when the amplitude of the input signal (your voice plus the amplified version coming back over the speakers) is loud enough that with each cycle the overall gain increases.  Cut the amplification out to the speakers and the squeal stops.  The quality of the feedback (the frequencies amplified) have to do with the microphone’s resonant frequencies in combination with a lot of other factors (room size and resonance, quality of the audio gear being used, whether the signal is balanced or unbalanced, matching or mismatched impedance, etc.)

In the mixer feedback post I did a couple weeks back, the input signal was the inherent noise of the analog mixer with gain applied at each stage of the 4-stage feedback loop.  In any analog system there is always noise present because of the nature of electrical circuits and the power required to make them work.  The same is not true for purely digital (software) feedback systems so some generated sound input signal is necessary.

Below is some very simple SuperCollider codez to demonstrate this simplest of feedback loops and a recording so you don’t have to run the code.  If you do run the code in SC, be careful when moving the mouse to the right of the screen.  As you approach 1, the feedback loop will become increasingly loud until at 1 and beyond, it becomes exponentially loud until things break.  (And by ‘things’ I mean your speakers and/or eardrums and/or the SC server :P)  In the recording below, i just move the mouse to the right to “max out” the feedback loop, then drop back after it maxes out.

Here is another version with a simple half-second delay built into the processing section.  Note that this rids us of the ear-piercing noise that occurred in the above example.  In the recording I’m moving the mouse to the right, then back and forth across the screen to make a more interesting texture.  I then just let it build up with the mouse all the way to the right.

The next two examples are of slightly more interesting feedback circuits.  In the first version I have fixed the gain at 1.1 so it the sound eventually reaches saturation and does not return.  I’ve removed the limiter and replaced it ‘.clip’ which squares off the wave form resulting in audible distortion of the signal.  I have also added a random line generator ‘speed’ to control some aspects of the sound, the resonant frequency of a low pass filter and the delay time.

Here is a version that uses the built-in mic and adds some cheesy panning.

While these samples are a few steps away from being art, they show the power of possibility lurking in feedback circuits.  The truth of synthesis is that, with a few exceptions, the more intricate (complex) a sound is, the more realistic and better it sounds.  Adding a feedback loop to a sound introduces a few more layers of complexity and can have beautiful as well as destructive results.

If you are interested in hearing some truly excellent feedback music, check out the work of David Tudor.  The complexity of his circuits is both astounding and elegant, and the sonic results are really fantastic.

Viva la feedback!


Filed under: Code, Music, Phase 1, SC3 - Code - Music - More, , , , , , ,

4 Responses

  1. jf says:

    yes scribd sucks because using his cursor and selecting text does not copy it to the clipboard (like *every* other linux apps do)

    so it’s a PITA to copy-paste your code in emacs/vim

    • scacinto says:

      This is my bad, I forgot to make all of them downloadable. I’ll do so now. Then there will be a link at the top that you can use to download the files as pdf. You can then copy/paste the text into whatever IDE you prefer.

  2. scacinto says:

    Actually, this wasn’t my screwup: the docs are download enabled on scribd. I guess Scribd does suck :P

    • scacinto says:

      Just got through with “support.” their “over zealous” spam watcher marked the first three docs as spam and disabled the download button. Should be good to download now.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

My Other Awesome Sites [•_•]

Assault! 375 Aural Assaults!
About me! About me!
MySpace! MySpace!
Google+! Google+!
My (soon-to-be) Company! My (soon-to-be) Company!

Enter your email address to subscribe to this awesome blog and receive notifications of new posts by email!

Join 76 other followers


P O S T E R S !







INI new haven

Handmade instruments by Scott Petersen and Brian Kane at Artspace New Haven

%d bloggers like this: