Pure Data – DSP System (A Work In Progress)

Pure Data – Harmonic Partial Filter – Phase 2


[youtube http://www.youtube.com/watch?v=3EOlvgd5-2I]


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.




Leave a Reply

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