Pure Data – DSP System (A Work In Progress)

Pure Data – Harmonic Partial Filter – Phase 2



Using [vcf~] instead of [bp~] to allow an approximation of partials to be reconstructed as harmonic series for manipulation and exploration into the concept of pitch space. This system does not deal with individual sinusoids, but approximate frequency bands with narrow “Q” at specified multiples of a fundamental frequency.

[vcf~] is like [bp~] except it takes an audio signal to set center frequency, which may thus change continuously in time. The “Q” or filter sharpness is still only set by messages. More expensive than bp~ in CPU time but more powerful too (vcf~ help file, Pd-ext).

Any partial (fundamental and multiples) may be selected within the constructed series. Each partial may be placed in any desired order. Each partial may be accentuated or attenuated in amplitude by the user.

[sigmund~] tracks the pitch of a selected string or all strings in sequence. One instance of [sigmund~] does not accommodate chordal (simultaneous) structures in real-time. This is not a concern as this system is developed primarily for the study of sequential pitch structures. Once a fundamental frequency is established, [vcf~] superimposes the relevant “Q”s to achieve the fundamentals harmonic series. The user may superimpose the “Q”s of unrelated harmonic series over another tone, to explore inharmonic content, or simply to achieve more percussive tones (as demonstrated toward the end of the video). By accentuating different harmonic and inharmonic content, we may establish macro and micro music structures on each string in relation to a fundamental frequency.

In this instance, notes which coincide with the set harmonic series will be perceived as more resonant. For example, the “A” note played on the second string (chc. 2) is perceived as more resonant as the channel has a “Q’ of 220hz. Any perceived ringing is a result of a narrow “Q”, which the user will be able to adjust to suit their performance style.


Pure Data – Polygrain Looper – Phase 1

Using [tabread4~] to read from an assigned array per string. This example is with live guitar. The system treats filtered partials as grains and time stretches, freezes, and pans them. This part of the system is still at an early stage.




Pure Data – Harmonic Partial Filter – Phase 1

Pure Data – Harmonic Partial Filter – Phase 1 from Ricky Graham on Vimeo.

Phase one of harmonic partial filter using [bp~] in pure data. [sigmund~] takes incoming pitch from live guitar and converts to frequency using [mtof]. Frequency then specifies 11 overtones of the fundamental. The objective of this patch is to allow the user to compare various harmonic partial groupings. It is a work in progress.

For Posterity: MNDANI

Today, I was reminded of the great charity fund raising events coordinated by my fellow musician friends. A letter sent from the Motor Neurones Disease Association Northern Ireland reminded of me how important it is to give what you can, when you can. “Beautiful Beginning” was released independently in 2009 to raise money for MNDA. The release is available here (at a price that you decide). For more info on MNDANI, please visit: www.mndani.com.


STEIM – Artistic Residency – March, 2010

Polyphonic Audio and MIDI box for Polyphonic Electric Guitar


The premise of this project was to build a hardware unit which provides polyphonic audio (separate audio signal for each string) as well as MIDI data (pitch and velocity) for each note executed which could be utilised for mapping purposes. Such a hardware unit would allow the user to maximize CPU power for signal processing. Following on from a previous “break-out box” project, I purchased the Axon AX-50 board from Terratec (Germany) to allow for MIDI data for each note. The tracking is excellent in combination with Graphtech’s “Hexpander” MIDI interface. Initially, I wanted to hack the board so it supported polyphonic audio and MIDI concurrently, however, the Axon board is inherently noisy and a series of the DIN pins carry a rather unfortunate mains noise rendering the board unusable for audio. So, I devised a separate power supply (9v battery) acting as a piezo amplifier, powering the Axon unit  separately with an adapter. I devised a DIN splitter cable so that the Axon board is able to receive the audio derived from the guitar, whilst maintaining separate power sources, ergo eliminating the ground noise issue. My thanks to Jun Kwon for his assistance with installing a series of isolator transformer to improve the quality of Audio/MIDI data translation.


In separating the ground of the piezo amplifier from the Axon AX-50 board, one is presented with a different noise problem, whereby noise generated by MIDI data is present in the audio signals.  A separate MIDI interface was tested, which reduced the noise but it did not eliminate the noise altogether. To eliminate the ground noise completely, a USB isolator may be required. This project is on-going. 


Mapping Strategies

The premise of this project was to reflect pitch structure in my chosen DSP during real-time performance. I built the following patch in PD (Pure Data), in an attempt to reflect pitch structure in pre-programmed signal processing during real-time performance, which can be dictated by the chosen pitches executed by the performer while maintaining an element of improvisation. The electric guitar is inherently a multi-parameter mapped instrument. For the most part, it maintains a many to one relationship, concerning many attributes of a physical instrumental technique utilised by the performer to produce a desired sonority. It is important to maintain an approach which is conceptually clear, one that maintains musical meaning versus technical mapping. The patch collects pitches played by the performer, then generates random index via a counter. The random index is then re-called from the [coll]. In this example MIDI note 60 (C3) is mapped to an automation clip in Ableton Live. The automation clip triggers a series of signal processes specified by the user.  This example is using the built in mic on my laptop.


Check out PD to Live – Phase 2 from Ricky Graham on Vimeo.


“Killing your Darling”

After some discussion, there is further potential to develop the patch into a more modular, versatile, and interactive performance system, which may allow the patch to operate with a greater degree of independence, encouraging the performer to engage with the system via a new performance approach, versus a learned or repetitive performance practice. I intend to develop the patch to further accommodate statistical analysis of pitch class development and additional string information, such as velocity, and note onset and offset. Thus, temporal phrasing will become an interactive part of the mapping and performance process. Other approaches include the utilisation of pick position data to trigger appropriate timbral processing, resizing the [coll] size in real-time to vary the rate at which a signal process is triggered, and the real-time drawing of automation values. My thanks to Daniel Schorno for his feedback on this project.  

Performance in Antwerp

This was a great opportunity to improvise with themes I have been developing for the forthcoming album by signalsundertests. I scored some motives to work with during the performance, but I am still developing an appropriate method of scoring pitch, timbral, and spatial attributes of each theme. I would like to work with a stave per string in future, and it is my hope that the score will also be applicable to acoustic instrumentation. All in all, an excellent experience. 


signalsundertests performing at the Live Looping festival at Arenberg, Antwerp.

Thank you to those who provided photography on the night, including Ingrid, Sjugge, and Benjamin. My thanks to Sjaak and Ingrid for their hospitality, and to the amazing musicians which were a part of this wonderful event. And of course, thank you to all the staff at STEIM for their support. It was a very productive and enjoyable residency.

“Beautiful Beginning” now on Spotify and iTunes

“Beautiful Beginning” was released in August 2009 to help raise money for the Motor Neurones Disease Association Northern Ireland. Thank you to all those who have made a donation. If you have not made a donation yet, you can do so by purchasing the release from Bandcamp or iTunes. Please continue to donate generously.


“Beautiful Beginning” is now available on Spotify and iTunes. More information on the MNDANI can be found at www.mndani.com

“Live at Verbal Arts” Review in Beat Magazine

signalsundertests – “Live at Verbal Arts” – Beat Magazine Review

“Even though the Irish duo, consisting of Ricky Graham & John King, is actually still working behind the scenes on their first studio album with great attention to detail, this live recording sounds already stunningly mature and in no way like a test. Highly minimal sound grounds, with a high affinity for backward loops, are cut by glamorous jazz-specific guitars and extend up to eleven minutes as in dream time. The enigmatic cover by Walter Logeman congenially complements the music.” Thanks to Uwe Lorenz for the translation.


Download “Live at Verbal Arts”

Visit Beat Magazine (www.beat.de)