Sparkle synthesiser

What is sparkle?

It's a synthesiser that plays a cute little demo. When the demo isn't playing you can fiddle with the controls and make pad sounds. More importantly, for me, sparkle is a rudimentary demonstration of continuous parameter control. Heres a picture of it.

sparkle screenshot

Download the patch here. puredata file .pd

Updated August 2006 to avoid using abstractions. Depends [paf~], Millers phase aligned formant unit. There is an error in the morphing score generator, but that is not part of the synth.

If you can't find paf~ grab it here

i386 linux

MacOSX for 0.36 zipped with src Merci Enrique.

What is continous parameter control?

It's what happens when a performance "score" containing a small number of constantly changing values is connected directly to a synthesiser and there are no local time variant functions. In other words no envelope generators allowed.

Why do that?

It shows how a nicely layered synth design tries to separate out the tasks of synthesis, parameter mapping, interface, and score control in a structured way. The aim is to allow the greatest flexibility of control available at the performance level using the fewest parameters.

Interface

This part maps the synth parameters beneath it to smaller set of simpler, easy to understand controls which are presented to the GUI. Each control slider directly affects the synthesiser in real time. Each part of the demo score is achieved by a combination of one or more of these controls.

DSP

There are three parts to the voice. A phasorbank containing 8 phasors detuned by an index relative to a base frequency, a phase aligned formant "paf" unit, and a sinewave scanning patterns of the three most prominent pitch components. Controls for all these are collapsed into three parameters, sparkleyness, extent and shift. The tonal and chordal structure are set by the ratio and interval controls. They affect the phasorbank separation and distribution of two harmonisers which process the mix of both "voice" and "string" sections - "flute sparkles" are only fed into the reverb part of the effects section, all other parts are processed by a chorus too.

Heres just the synth part puredata file .pd

Score

There are three parts to the demo score. The first brute force sequences the synthesiser with a long stream of lists, we hear a range of chordal relations build by using the harmonics and timbre in nice musical combinations. The second part of the score moves to a dynamic control source, the "outersapce" sounds are just a big bunch of LFOs moving a few parameters around. Then the score proceeds to part three, which is a linear morphology between a number of very different points in the parameter space. That's done with 16 line generators.

What can I do with this?

Take it apart and see how it works. Try and break it or improve it in various ways. Create a list storage system with a next and previous button to sequence through stored parameter sets with a variable morph time. Make it so you can load and save them as songs. Global time scale and sync to master clock/midi would improve usability for music making.

Links