PureData/Gem

Class Experiments

Pure Data is a real-time graphical programming environment for audio, video, and graphical processing. Within the module we were introduced to the basics. As PureData is an open source package we have the opportunity to continue experimenting and building on these basic skills.

Initially we programmed a simple addition/multiplication system to become familiar with objects that pd has to offer and its main functions such as hot and cold inputs, triggers, messages, objects etc.

After the basics were grasped we moved on to more complicated patches containing nested patches. The following patch displays the programming behind a sequencer. The nested patch “mySounds” Reads in audio files from a specific location writes them to an array.The playingmysounds patch plays the sounds as samples and relays the signal out to the main patch. The parent patch allows users to play the sound files in any particular sequence they like and at different rates.

*Please click to enlarge

____________________________________________________

GEM

Gem is an addition to PD as a Graphics Environment for Multimedia. We created some examples in class that manipulated video and geometric shapes. The example below display how a gem window is made and how objects are created and manipulated by changing colours, size, position and arrangement.

Networking

PD can also be connected to other IDE’s. In class we connected PD to arduino. We connected a potentiometer to the arduino that had the ability to control sliders in PD. This done using UDP which allows data to be sent and received over UDP network from specified remote machine.

____________________________________________________

 My Experiments

Mixing Video Files

I completed Video tutorials on Pure Data (Pd) and GEM with Dr. Rafael Hernandez. He has received his PHD in music and is the director of a multimedia graduate program. I found his tutorials to be explained in a clear and concise manner but also holding a quick momentum.

The first tutorial I completed which can be found here explains how to compile a patch that uses the [pix_film] object to play and control video. The patch allows a user to pick a video file of their choice that plays automatically. This patch also allows the user to choose a second video and by using the pix mix object the videos can be merged by different degrees by the use of a knob object.

Please download the patch here

(you may need to right click and save link as (please ensure the .pd file extension is present)

 Manipulating Video

This is again another tutorial from Dr. Rafael Hernandez.

The second tutorial I completed which can be found here is an evolution of the patch above. Again it allows the user to choose video files of their choice and it has the ability to merge the two. The difference is via the dsp object. It takes in sound into the patch and the video reacts to that. The dsp object is not set to a dac object as the user does not need to hear the sound it only needs to affect the video. the adc~ and env~ objects are evaluating the sound and its loudness(amplitude) and passing that to a translateXYZ parameter attached the video files. Now this will move the video as sound is made. The line object smooths the motion of the translation. I also attached these objects to the knob object that controls the merging of the 2 different video files which will also react to sound.

Please download the patch and test it here.

(you may need to right click and save link as (please ensure the .pd file extension is present)

Scridb filter

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>