Kaleidoscope from 2CAudio – Graphic Synthesis (and More) Taken to the Next Level
by Warren Burt, Mar. 2015
Kaleidoscope is a new approach to the use of graphics to control sound. Very powerful, and flexible, it uses a new paradigm – physically modeled resonators controlled by graphics to produce and modify sound. Intrigued? Find out more here.
Kaleidoscope (http://www.2caudio.com/products/kaleidoscope) (Windows 7 and 8; and Mac OSX.7 and higher; 64 bit and 32 bit; $249.95, $324.95 with the Galbanum Architecture Waveforms Vol. 1 add on) is a new product from 2CAudio, the maker of such superb reverb plugins as Aether, Breeze, and B2. It uses a new take on an old technique – using graphics to control sound. Back in the 1950s, Percy Grainger in Australia and New York, Daphne Oram in the UK, and Evgeny Murzhin in Russia, had all devised means of using graphics to control oscillators. Of these, the one that survived was Murzhin’s ANS synth, which is today available as the Virtual ANS softsynth for just about all platforms. And other graphic programs, such as Coagula, Meta-Synth, AudioPaint and Photosounder, among others, have all used a similar method to produce sound controlled by graphics. In some of these programs, a sound is analysed with a Fast Fourier Transform (FFT) to produce a sonogram of the sound. This, or a graphic specially made in a drawing program is then converted into sound with sine-wave, or other waveform, oscillators, one per horizontal row of pixels, summed to make the final sound.
Kaleidoscope does not do this. Instead, it uses a massively parallel bank of physically-modeled resonators, one per horizontal row of pixels to make the sound. And the tuning of these resonators can be controlled incredibly precisely. The timbre of these resonators is controlled with a series of feedback, damping, and “soft” (a kind of wave-shaping) controls. And then the amplitude of the resonators is controlled with graphics, which are here called “image maps.” There are two of these, and they can be scanned through at different rates, combining to produce very long sequences of sound. If a sound is fed through the resonators and they are tuned properly, one can get quite amazing processing of the input sound with the use of interesting tunings and image maps. If no sound is fed through, but the “white noise” source is turned up full, Kaleidoscope can act as a sound synthesizer. And if the base frequency of the given scale is tuned very low, Kaleidoscope can even act as a filter, a delay or other effects generator.
It’s designed to be used as a plugin in a wide variety of hosts. For this review, I used it in AudioMulch (32 bit), Plogue Bidlule (32 bit), and Reaper (32 and 64 bit) on a Windows 8.1 Intel Core i5 laptop. Although an i7 processor or greater is recommended, It functioned very well on the i5 in all three platforms, although, for some reason, Reaper was the most efficient. A typical “preset” on AudioMulch used 31.3% of the CPU, the same preset in Plogue Bidule used 32.97% of the CPU, but in Reaper, the CPU use was 23.4%. This more efficient behaviour was found in both the 32 and 64 bit versions in Reaper. Kaleidoscope can also function in offline mode to do synthesis tasks which stress out one’s CPU to the max.
This is a superb program, very detailed and deep. As I went through the manual and checked out the presets, I was continually impressed as to how each aspect of each parameter had been thought out, and each control provided a number of possibilities. It goes well beyond any previous graphic synthesis system in its abilities. The headline for this article says “to the next level.” In fact, that’s an understatement, this has taken graphic synthesis several levels beyond anything previously possible.
So how does it work? Basically, there are four stages, or steps, in making a sound (or modifying a sound) in Kaleidoscope.
First, tuning. First of all, one assigns a tuning to the horizontal rows of pixels. Kaleidoscope comes with hundreds of tuning files, and in the appendix, there are instructions for making one’s own – based on, but slightly different to the Scala file format. I converted some of my Scala files to Kaleidoscope tuning files, and the process was easy, and they worked fine in the program.
There is another form of tuning, and that is to use a 64-bit wav file exactly 2048 samples long as a “tuning waveform.” This is quite a revolutionary way of assembling tunings, and there are a number of ways to control the resulting pitch gamut. (The manual says that the waveforms should be 64-bit floating point – I used 32-bit floating point wavs, and the results were quite useable.) Again, Kaleidoscope comes with hundreds of these waveforms, and if one gets the Galbanum Architecture Vol. 1 extensions, then many hundreds more of both tuning files and tuning waveforms are available. And one can import one’s own tuning files and waveform tuning files.
For many users, simply tuning the pixels to the normal chromatic scale, or to one of the harmonics scales will be sufficient. For those who want to explore, however, there are resources aplenty here. Once a tuning file is assigned to the pixels, then one has the option to have the tuning repeating at octaves, add harmonic partials to the tuning, or to duplicate pitches. For example, if I have a pentatonic scale I want to assign to a pixel set, the pentatonic scale itself will only give me five pitches, which will tune five pixels. Since the “image maps” are 1024 x 1024 pixels, this obviously doesn’t cover a lot of the picture. But if I set the additional octaves control on, we’re now up to 50 pixels (5 pitches x 10 octaves). Then I could set “Partials” to 4, and that adds the first four partials to each pitch, either directly above that pitch, or sorted into an ascending or descending scale. That now gives us 200 pixels to control. (Although the graphic is 1024 pixels high, only 512 of these, i.e. every other one, are used for tuning.) Now if we add four duplicates to each pitch, that is, you get a new pitch setting only every four pixels horizontally, we’re now up to 800 pixels, which is more than the 512 pixels we can use for a tuning. So we can now adjust the bottom pitch and work with any portion of the scale desired.
If this sounds complicated, at first it is, but one quickly gets one’s head around what is happening, and indeed, both the tuning files and the waveform tunings provide quite wonderful and powerfully flexible ways of controlling the tuning of a pitch map. None of the graphic synthesis programs I’ve worked with offered anywhere near the power or flexibility of this approach to tuning. Just for tuning, this is a radically new set of abilities for contemporary synthesis.
Resonators and Image Maps, Part One
The input sound, or the internal white noise source, is then fed through a bank of resonators, which have just been tuned by the tuning files. These resonators are physical models of either a spring (which produces sine-wave and related timbres), or a string (which produce a series of harmonics, somewhat related to sawtooth waves). The precise timbre of the resonators is set with a series of controls for feedback, modulation, damping, and a “soft” waveshaping. Again, these can seem confusing at first, but a quick play with them (and a quick read of the excellent, informative, clearly written and easy to search manual) makes their function clear. The amplitude of the resonators is controlled by a graphic, called an “image map.” One can choose to use all of the image map, or just a portion of it. One can have the image map in any one of eight “orders” (forward, backwards, upside down, upside down and backwards, rotated 90 degrees, rotated 90 degrees backwards, rotated 90 degrees upside down, and rotated 90 degrees upside down and backwards), and one can compress the image horizontally by powers of 2 to get a different spread of pitches.
The image map is read through at a user-specified tempo. But the number of fractional rates of reading this tempo through the map is very great, from incredibly slow to incredibly fast. Since there are two image maps available, called “input” and “output,” and they can both be read at different rates, this means that one can get all sorts of different rhythmic relations between various parts of the processing of the sound, or the synthesis of the sound. For example, one could have the input image map set to act like a low pass filter sweep (it would be a solid color, shaped like a half a circle, with the background black), and the output map could be set to a rhythmic riff (it would be a series of vertical bars of solid color with black in between them). Now if one runs the input map with the low pass sweep on it at a slow rate, and the output map with the rhythmic riff on it at a fast rate, one will get a rhythmic bopping sound that gradually grows and decays in frequency. On the other hand, if one sets the filter map to run fast, and the rhythm map to run slowly, then one would get a series of slow notes which have a kind of filter-tremolo to them.
Stereo spread of sound is also available – the image maps use red for sound in the left channel, green for sound in the right channel, and yellow for sound in the middle. Other color schemes are also available in the program. And this spread of color is controllable, so that each image map can have a different width of stereo spread.
Kaleidoscope does not merely provide a few image maps to get you going – it provides THOUSANDS of them, even more with the Galbanum Architecture Vol. 1 extensions. There are enough image maps (well organized into various families) to keep one exploring for a lifetime, although if, like me, you’ve been exploring image synthesis for the better part of twenty years, you’ll quickly be making your own image maps and importing them into the program.
Resonators and Image Maps, Part Two
The sound then goes through a second image map, which may optionally be turned off. In fact, either input or output image maps can be turned off, or set to “static” mode, which reads the first pixels of the image map as a constant. As stated above, the second image map can be scanned though at a different rate than the first one. And each image map can have different settings with the various spread, equalization, wave-shaping, etc. controls.
Timbre Controls and Presets
Finally, there are the controls – high pass and low pass filters, with several different modes, the wave-shaping controls, the width control for stereo spread, and a random pitch control, which can, for example, randomize pitch levels in the case where duplicates of given pitches have been selected. This can be very subtle, producing phasing and beating if several pixels are selected at once which are set to the same pitch (with settings up to about 66%), or it can be quite radical, producing variations of up to a semitone or two more for adjacent “duplicated” pitches (for settings of 90% and above).
All of these controls are saved in the presets. Again, THOUSANDS of presets are supplied. Many of these are by Andrew Souter, the designer himself, and there are a number of other sound designers who have contributed to the project. Among these are Austin Noble, Denis Malygin (who has done most of the hard-core programming on the project), Duncan Farmer, Jim Hurley, Sonic Mayhem and Simon Stockhausen. The latter’s presets are particularly delicious, featuring luscious harmonic sweeps and deep orchestral textures. Knowing a bit of his work, this did not surprise me, but I was very pleasantly surprised by them, being a bit of a preset-cynic. But these presets, by all of the designers, have a higher percentage of really attractive sounds than most sets of presets I’ve heard. Every parameter in the program is included in the presets, so that one can indeed get accurate reproduction of sound results from use to use.
There is also a Browser page, which features very easy searching for resources, and an Info page, on which are displayed explanations of the tuning file currently being used, various system settings and registration information.
Currently, the program is at version 1.0.2, with an upgrade to version 1.1 expected soon. Among the new features mentioned for the new version is the ability to convert MIDI files to graphics for use in the program. Given the flexibility of tuning available in the program, I’m eagerly awaiting this upgrade – I can see enormous possibilities with this.
The program is a tweaker’s paradise. There are so many ways to modify the program’s functioning that one can start off at just about any preset, substitute different tunings, image maps, rates of scanning the images, tempo, stereo width of the images, etc. and hours will just fly by. In the three weeks I’ve had the program, it has totally absorbed my attention, and all my spare time. It really is just a totally captivating musical environment to explore, one that hasn’t been available before. As a set of “found-objects,” the program is superb. As an environment for using one’s own tunings and image maps, it’s awesome. Interestingly, all the elements of the program – tuning, image maps, physically-modeled resonators, have been available in some form before this, but never in this combination, or with this level of sophisticated engineering and control. As they said in the 19th century, “Hats off, gentlemen, a genius.”
To conclude, we repeat the screen image shown at the top of this article, with a detailed explanation as to what it is you are seeing.
Above is the interface for Kaleidoscope, by 2CAudio. Across the top are the preset controls, and the resonator type selectors. Below that are the tuning, image map, and timing controls. The large central area contains one of the two image maps. Sound amplitude is shown in red, yellow and green. The tuning of the pixels is shown in blue. The panels on the left and right contain timbre and tuning controls. The upper left panel is a mixer to set dry and internal white noise sources in balance, and to set the output level of the wet signal. The upper right panel selects which image maps are currently active and in which mode, and contains controls to display wave-shaping curves and aspects of the interface.