Tuesday, 19 November 2013


Cello Patch






Distortion has been added to the cello patch based around examples found at: http://cycling74.com/forums/topic/valve-distortion/ . The chosen distortion uses gen~ to simulate the distortion found in Supercollider. Two of these objects were routed in series with a lores~ object between them. The cutoff and resonance of this filter are slightly modulated by the amplitude of the incoming signal, resulting in a brighter sound when playing louder. 

The effects for this patch are currently routed in series with a state-variable filter following the distortion. The cutoff of the filter is set to 3/4 of the cutoff for the distortion and is modulated by the centre frequency of the input signal. This accentuates the preexisting control over timbre determined by bowing position and is particularly effective when using the sampler as it creates interactions between the live and recorded audio. It could also be interesting to make the relationship between the distortion and filter cutoff values variable.

Also, a frequency shifter has been combined with the ring modulation so that the value for dry/wet now also fades between the two effects. This is a useful technique as it reduces the amount of parameters available for control whilst preserving a wide range of effects.

The SIR2 vst was added in an attempt to compensate for the lack of acoustic resonance in the body of the cello. An impulse response from an acoustic cello was used and can be found here: http://electro-music.com/forum/post-281640.html . A larger reverb has also been added using the gigaverb gen~ patch from the Max examples folder. 

Additionally, the quality of the effects have been improved by using the upsampling feature provided by the poly~ object. However, this has increased the CPU load dramatically and may cause issues in the future.    



Wednesday, 13 November 2013


Wavetable Oscillator



This patch was created as a basic wavetable oscillator and can be used in either monophonic or polyphonic modes. An ADSR envelope can be used to control the amplitude per voice in polyphonic mode and is disabled in monophonic mode.

Frequency modulation is possible using either a dedicated modulator oscillator or an external source. The 2d.wave~ object was used for both the carrier and the modulator to allow for interpolation between multiple sections of a buffer. The default state of the patch loads square, sine and sawtooth waveforms into the buffer. This provides a control over the mix of even and odd harmonics by manipulating the table position.

These 3 waveforms can also be modified using the multislider and peek~ objects. Various preset waveforms can also be selected.
The 2d.wave~ object can also be used for the playback of longer sounds although some adjustment of mapping ranges for the pitch input and setting of loop points may be   necessary. This could also be expanded with the ability to record into the buffer allowing the patch to function as a sampler.




Wednesday, 6 November 2013

Cello Max Patch 


This patch was initially created for sampling the cello using a switch on the bow. When the switch is pressed down the cello signal is recorded into a buffer until either the button is released or the buffer is full. The buffer is then played back and looped. If the button is pressed again it allows for overdubbing of new material into the buffer. To record a new loop the clear button has to be pressed. Currently, this can only be achieved in the software as there is only one button attached to the bow. I briefly experimented with using two presses of the button within 200ms to clear the loop. However, this removed the ability to create loops under 200ms and was later removed. 






After testing the patch the button on the bow was uncomfortable as it was too larger and obstructed the thumb. Whilst searching for smaller buttons I decided to order a slim PSP joystick as it could provide either continuous XY position or discrete switches (up, down, left and right). It could also be interesting to add an FSR mounted either underneath or above the joystick to measure continuous pressure in the Z axis. 

A pitch shifter, ring modulator and filter where also added using the matrix~ object to determine their routing. This will hopefully be expanded allowing dynamic ordering of FX as mentioned previously.

In future versions of this patch I plan to explore:

-Formant Filters / Wah-Wah
-Delays
-Granular playback of the buffer
-FFT and Spectral manipulation
  -Feature Extraction
-Convolution