Author Archives:

PFFT Amplitude Filter

Gravity Sound now allows a user to determine the cutoff amplitude for each string. A pfft~ object then only allows frequencies whose amplitude is below the cutoff value to output. This is useful when a string has modulation, delay, reverb affecting its signal and it’s volume begins to overwhelm the rest of the strings. The value for the filter cutoff is assigned to the absolute value of the string’s x coordinate. So whenever, the string is directly parallel to the camera’s direction vector, the filter cutoff is 0 and technically no signal should go through for that string. If a user has a string selected, they can toggle the filter on and off by pressing the filter button. Each string can have it’s own filter cutoff, depending on its position.

Value from OSC determines the cutoff amplitude

Value from OSC determines the cutoff amplitude

gravity convolution


The following video shows how each string’s convolution reverb can be assigned to a different impulse response. The dry/wet of the reverb can also be assigned. If you look carefully in the video, when a string is selected the left menu will show what impulse response it is using. However, it will not show the proper dry/wet value it is assigned to. If I assigned the string to 40%, deselected and then selected it again, it may not show 40% but it is actually still assigned to 40% until I adjust the slider again.

Impulse Responses: 1) I placed a mic inside a giant singing bowl and recorded it’s decay after being struck 2) Dropped a large flat book in a shower 3) and 4) Stuck a spring in between the piano strings and waited for it to explode out


gravity flanger

Flanger is receiving values via OSC to control delay output of each individual string

Flanger is receiving values via OSC to control delay output of each individual string

Gravity Sound connects strings to planets in our solar system where each string’s tension is equal to the gravitational pull between the two objects it’s connecting. A frequency can then be found, knowing the length and tension of the string.

The strings in Gravity Sound now have delay capabilities. Select the delay button on the left menu and a parallel solar system will appear. If a string is selected (highlighted red when selected), a user can then create a string in the delay solar system which will modulate the selected string. Only one delay string can modulate a selected string at a time. The resulting values that are sent to MAX/MSP over OSC are:

delayTime =  abs(y coordinate of string midpoint)          ….(absolute value)

delayRate =  string length x 3            …units are AU. which is the distance between the Earth&Sun

delayDepth = 4           …changing this in real time didn’t sound so great. 4 sounded okay

delayFeedback = 1 – abs(sin( angle between camera and string midpoint) x 2)    …wanted it to be                                                                                                                                                close to 1

delayWetness = 100 * abs(cos(angle between camera and string midpoint) / 2)


Integrated Circuit Feedback Loop

Using ideas from Nicolas Colin’s book Handmade Electronic Music, I built an original feedback circuit using a CMOS Hex Schmitt Trigger Integrated Circuit (CD40106) and a 9v battery. I have a total of three oscillators. They are all in series, where the output of the first is the input of the second, and so on. The last oscillator has a blinking LED before its output which is taped to a photoresistor in the first oscillator, therefore modifying its signal. The second and third oscillators also have potentiometers and photoresistors which I am modifying by hand and with a bike light (but the photoresistor in the first oscillator remains isolated to the LED).