Symbolic Sound Capybara320/Kyma X











 


The 'recombinant sound' environment
I use a rather odd piece of equipment called Kyma A husband-and-wife team from the University of Illinois created this instrument about 10 years ago and constantly updgrading its capabilities. It's a sound design tool that can be virtually anything you want, which makes it very flexible and also very difficult. Kyma is an ideal environment for unbridled, interactive sonic exploration and I presume it will serve me well in my long investigation of sound and music. Kyma is nothing but a language, and the vocabulary used consists of 100s of synthesis prototypes...

Affording Kyma is not like buying an ordinary synthesizer, bringin it at home, reading manuals to learn for sure how to use permanently one knob here and a button located there etc...Kyma is just a software + a "black box" called Capybara...the software gives orders to the said "black box" and the "black box" does what the software ordered. However; it's not actually 'orders' given by a software straight away just snapping two fingers. These are orders resulting from a deeply though Sound Design structure that the Kyma user must define and elaborate. Kyma is just a software interface that simplifies the state of the art of Sound Design.

Kyma, like all the other hard disk editors and sequencer, uses a Timeline tool. A Timeline is a common thing in editing softwares : sequencers, DAWs and Timelines are tools for arranging sound objects in the time. Timelines are tools that can be encountered in video editing softwares etc... However, the Kyma's Timeline has something more and can accomplish things that sequencers and DAWs don't do : the Kyma's Timeline could be viewed as a 'process scheduler' or as a time-varying synthesis architecture ! Unlike a static piece of hardware which has fixed resources at all time, the Capybara can be re-used for different purposes at different time, and this changeover is sample accurate, so there is zero latency.

In Kyma, parameters can be controlled live from the Virtual control surface or from an external source of Midi controllers, in automated mode by a time-varying function drawn or recorded into the controller editor of Kyma. The parameter controllers in the Kyma Timeline are not MIDI continuous controllers, they are internal to Kyma. However, among the vast range of prototypes available in kyma, there are specific MIDI functions modules. Hence, the Timeline can be used for creating control functions for external MIDI devices ! For example some Kyma sounds could be performed in parallel to other sounds generated by other MIDI synthesizers, all sharing similar control functions.

In Free running mode, Kyma and the Capybara 320 generate their own clock for controlling the progress of the time. In time code mode, the Capybara 320 reads the time code from the clock inputs : VITC, LTC or MIDI-In, so a video or a MIDI sequencer can control the time over which sounds and synthesis architectures will evoluate. The timeline can be indexed by markers. Some MIDI program change numbers can be affected to these markers such it can be possible to relocate the reading cursor of the Timeline at any time just by 'calling' the associated MIDI program change message.

Scripts and Mathematics in Kyma
One specificity of Kyma is that most of the parameters and expressions are evaluated on a 0 to 1 scale. Hence, the MIDI keynumbers (0 to 127) should be evaluated as values varying between 0 and 1. In such circumstance, a keynumber information must be entered as follow : (!Pitch / 127). So when the A3 (440Hz) is played on a keyboard, according to the previous expression, Kyma understand it as 0.259842519685039370078740

The Formal recursive definition of a Kyma Sound is : An atomic Sound, s / A unary transform of a Sound f(s) / An n-ary transform of two or more Sounds f(s1,s2,s3). Such definition allows to build hierarchical Sounds that have complex structure without necessarily having to refer to traditional notion-based music models (like score, instrument or note)

The most common and simple manifestation of mathematics in Sound Design is the Accoustic Reverberation : A sound is delayed x times, at each time the sound instance is attenuated. What we hear is the actual direct source + many instances of that same sound but delayed and progressively attenuated in a short period of time. We could call this an iterative function : 1 to: x do: [:1 | <some stuff>]

Scripts in kyma are written in "Smalltalk 80" language and permit to create some iterations and a lot of other usefull functions. Sounds can be algorithmically generated.

For example, One of them could be the chaos :
An extremely famous formula : f(x) = a * x * (1-x) has a lot of fascinating properties : Whether the stream of numbers from this function is cyclic, constant or chaotic depends entirely upon the value of "a". Even if you inject random values into x, the output will eventually settle into a cyclic or chaotic pattern associated with the value of "a". So this function has a lot in common with music because it can generate anything from chaotic to quasi-cyclic. It offers a musically interesting alternative to the old standby of uniformity distributed random numbers.

Scripts and parameters entered in Kyma sound structures can also permit to program musical events such as recursive events...Imagine a sequencer that takes each note played on the Keyboard to recursively create three other notes etc. This self-similar elaboration has a graphical analogy called the Koch Snowflake

Scripts mainly help to characterise a sound structure 'behaviour' regarding what is present on the input(s) , some parameters can be eventually considered as variables. So a sound structure can be managed accordingly to specific rules defined by the Kyma user (let's say 'kyma programmer' in that case !).

Expressions can be turned into soud using kyma and there are a lot of reasons why we might want to turn an expression into a sound : some of the parameters filed expect a sound input ; we might want to use a single expression in several different parameter fields or we want to do a signal processing onto an expression ( to apply a low pass filter to the pitch from a MIDI Keyboard so we scale the keynumber to a value between 0 and 1 ).

What Kyma can be used for ?
Kyma can be a central sound design tool on which sounds can be developped, synthesized and processed. Kyma make interactive adjustments to them and eventually sounds obtained will be saved to disk so they can be assembled in a sequencer or a Digital Audio Workstation (DAW) or they can be played back using a sampler. Kyma can be also used on stage as a live effect processor and synthesizer. The Kyma timeline can be used to create spatialized environments with timed sequences of synthesis, looping and live processing of vocal or instrument inputs. Kyma is also used for scientific research : for specifying test signals and to gather responses from test subjects. To trigger certain kind of signals in response to specific phonemes. For data sonification : mapping streams of data generated by an experiment of a simulation to parameters of sound.


Capybara320 Sound Computation Engine

The hardware is basically a slab of DSP. You use the Kyma software and a PC to design the sounds either from scratch or by using samples. You can do any type of synthesis you want : Analog, FM, additive, subtractive. Any of the classic kinds of synthesis can be used, either separately or combined.

You can't do everything in the Kyma. At first, I thought it might be a replacement for a whole workstation, but it's really not meant to be that. You can take any sound you can think of and have it be either the sound or a modifier to another sound. So you can have a sample drum loop and modulate a voice with that drum loop or you can have the drums play the voice.

Kyma is very proficient for special effects. One thing it does is morphing, which is the easiest thing to understand, where you take one sound and change it into another sound, with total control of the speed and amount that it changes. You can go from a baby crying to a siren, for example, over the course of a couple seconds. And you can stop anywhere in between. What's happening is that it's a re-synthesis system, so you take the sound of a baby crying and you analyze it and turn the sound into a controller so that you're controlling a group of oscillators that make the sound based on the waveform of the baby's cry. What you're actually hearing is not a sample of the baby's cry, but this group of 50 to 100 oscillators imitating it.

Once you've established that control, then you go through the same process with the sound you're going to morph to. You have these two sets of instructions of how to control this group of oscillators, and basically you move between the two because it's digitally controlled. You can go anywhere in between the two sounds and come up with a sound that's half baby and half siren and use that.

Morphing is just one tiny thing it can do. It can be used it mostly in spot production for a specialized effect. There's an art to the Kyma as well as a science, and I'm still learning.

I can for example consider Kyma as a 'glitters pen' or a 'highlighter' to touch up some premade or 'past' tonal 'colors'...Considering that sound in general is just as an evoluting harmonic content, I can identify what is 'lacking' at some stage, I can imagine what I would love to highlight from a particular sound. In that perspective, using kyma, I can track some frequencies, amplitudes or whatsoever (tracers) in order to add a tonal accompaniment onto a given sound I wish to improve in a musical way.

How to talk 'Kyma' :
When it comes about parameters and scripts for defining values in the sound editor, Kyma generally expects the following : Nearly every filed expect a number in the range of 0 to 1, with some notable exceptions. Frequency fields expect a number (with units) between 0Hz and half the sample rate. Duration fields expect a number (with units) between 0 seconds and 2 years. TimerIndex fields expect a number between -1 and 1.



The Spectrum Window in Kyma. Here is the spectra of one sound becoming another...

Part of the reason people have a hard time figuring out what this thing does is that it's so wide open. It's not like a box you buy and twiddle the knobs and you get this cool sound...No, you really have to put some thought into it !! This also why Kyma is a very different machine from the other synthesizers.


...Here, a 'granulared' sound displayed in the Spectrum Window of Kyma X.

Downloads

Considering how learning Kyma can be difficult, especially if reading a 600 pages manual isn't an easy task when english isn't the reader's native language, I compiled a document which summurize all the Kyma 5 prototypes, all translated in French. (Pdf document).
Kyma 5 Prototypes in a Nutshell - French Translating.pdf

For a quick view of the Kyma v4.5 and v5 prototypes, here are all the prototypes icons you may encounter when using kyma, about 155 of them...(Pdf document).
Kyma 4.5 Prototypes Icons List.pdf

If you are an intensive Kyma user, to help you in writing your personal notes, you may find handy to have all the prototypes icons as a jpeg file so you can illustrate your own files. (Zip File).
Kyma 5 Prototypes Icons.zip


History

The first version of Kyma was a software-only version designed and written by Carla Scalleti in the falll of 1986. it was written in Apple Smalltalk and ran on a Macintosh 512k. In 1987, she extended Kyma to make use of the CERL Sound Group's Platypus ( a discrete-component DSP developed by Lippod Haken and Kurt Hebel in 1983 ) for real time synthesis.

The real time version of Kyma was shown at the International Computer Music Conference in the summer of 1987, and Kyma ( along with the Mototrola DSP 56000, granular synthesis, and physical modeling ) was identified by Bob Moog as one of the technologies-to-watch in an article he wrote on that conference for keyboard magazine ( December 1987 issue ).

By 1990, the sound-generation and processing part of Kyma had been ported to the multiprocessor Capybara , then the Capbypara-33 in 1995, and the Capybara-66 in 1996. In 1992, the graphic Interface was ported to Windows Computers. In 1996, Kyma and the Capybara hardware was extended to include the PCI bus Macintoshes and PCs. Similarly, PC-Card ( also called PCMCIA card ) support was added in 1997.

The software has been rewritten several times in order to increase the speed and add new features, tools and algorithms. In1995, version 4.0 was twice the speed of the previous version and provided hot parameters for the first time. Version 4.1 in 1996 added MIDI cripts , GA synthesis, and RE synthesis. In 1997, version 4.5 added the spectrum editor, the file organizer, the tools, the vocoder and several new sound synthesis/processing algorithms.


Current Configuration of the Kyma X System : 10 processors / 240 Mb sample RAM / I/O and external sync (see below) / External rackmount (protects the DSPs and converters from the electrically noisy environment inside the computer).
Each Motorola DSP-56309 chip runs at 80 MHz. 10 of these DSPs would be about the same as considering a Pentium 800Mhz totally dedicated to Sound processing.



To give you an order of idea, the Warldof XT Synthesizer uses only one DSP-56303 chip , the only difference is that the 56309 has more on-chip RAM than the 56303. In other words, the current capyabra 320 configuration is about 10 times more powerfull than a Warldof XT synth !


The capybara 320 has been expanded with a total of 3 additional DSP Boards as illustrated above, hence adding 6 Motorola DSPs and 144 Mb of memory.




Inputs and Outputs :

4-8 channels
24-bit 32-100 kHz sample rate
Balanced Analog & Digital (AES/EBU or S/PDIF), XLR connectors
MIDI in / out / thru

Converters : Measurements are in A-weighted dB and were made with an Audio Precision Portable One Dual Domain audio analyzer.

48 kHz SNR DNR
A/D 110 dB 110 dB
D/A 105 dB 107 dB

External Synchronization

Word Clock input
House Sync input
VITC & LTC time code input


The Capybara320 is hooked up to the PC station via a firewire interface specific to Kyma.

Benchmarks
To give some idea of the Capybara·320's capabilities: You can create a real-time 66-band vocoder on a basic system. On a fully loaded system, you can create a 600-band real time vocoder. On a basic system, you can perform additive synthesis with 192 sine wave partials, each sine having its own independent frequency and amplitude envelope with any number of breakpoints in it. On a fully loaded system, you can perform real-time additive synthesis with 1743 partials. You can generate a granular synthesis cloud with 93 simultaneous grains on a basic system. A fully loaded system can generate clouds of 837 simultaneous grains. You can use 60 voices of samples on a basic system, and a fully loaded system gives you 545 voices.


F.A.Q.

What is Kyma? Kyma is a visual sound design environment. It's a graphical language for creating, modifying, and combining sounds.
Kyma is an unusually open-ended, flexible, and real-time controllable environment for creating new sounds. Kyma provides you with hundreds of basic modules and over a thousand complex examples that can combine to create synthesis algorithms, effects algorithms, and forms of sample manipulation that can be performed in real time with responsive controls. There is literally no end to the ways you can combine, chain, and cross- modulate signals (both synthetic and real-world) with each other.

How does Kyma work with the Capybara? The Capybara is a second computer that runs alongside with the PC. It has multiple (8) processors, memory, and like any computer, its function is defined entirely in software. Unlike an ordinary computer, however, the Capybara doesn't have to run a large multi-tasking operating system with graphics special effects. All of its memory and computational resources are dedicated to computing and rendering sound in real time. Kyma uses the Capybara as an audio accelerator, something like the graphics accelerator in your computer; this frees up resources on the main computer.

In Kyma, I design new synthesis and processing algorithms graphically on the desktop computer and then send them via FireWire to the Capybara where they are computed in real time and you can interact with them using MIDI and multiple audio inputs.

Where does Kyma fit in the world of audio and music software? Software for sound and music can be roughly categorized as: Digital audio workstations & Audio sequencers An audio sequencer or DAW is typically a fixed-architecture emulation of a recording studio with a multitrack mixer as the control center and "plug-ins" emulating the hardware modules (such as reverbs, compressors, or even synthesizers) that you might find in the traditional recording studio.

Plug-ins & virtual synthesizers A software plug-in, like a hardware module, is designed to do a specific task like compressing or reverberating a signal. A plug-in is typically modeled after a familiar hardware device in its behavior and sometimes even in its appearance.

Languages for sound design A sound design "language" provides you with the audio equivalent of "words" and a "grammar" for stringing those words together into sentences and paragraphs, allowing you to say whatever you want in that language. Using a sound design language, you can create your own plug-ins, virtual synthesizers/samplers, live performance environments, interactive sound sculptures, psychoacoustic test signals...

Kyma belongs in this last category; it is a language for creating and transforming complex sounds.

How does Kyma differ from other sound design languages? Kyma stands apart from other sound design languages in several respects: Unique, high-quality synthesis, sampling, and effects algorithms Kyma is famous for the sound-quality and uniqueness of its algorithms: for spectral morphing that actually sounds like one person gradually becoming another person (or instrument or sound effect); for the sweetness and intelligibility of its vocoder; for the power and control of its real-time spectral analysis and additive resynthesis.

But the real power of Kyma is not in any one particular algorithm — it's in the fact that those algorithms can be combined, their parameters can be cross modulated, modified with another etc. In short, things can be done in Kyma that even its designers never imagined. That is the power of a truly general sound design language.

An extremely flexible real-time parameter control architecture. Any parameter can be controled from a virtual control surface on the screen or from any MIDI controller. A real time arithmetic on any of the controllers or on combinations of controllers can be performed. The audio output of one module can be used to control the parameter of another module. The live audio input (for example, a pitch or amplitude envelope follower) can be used to control the parameters of synthesis, processing, or sampling algorithms. "patches" that play all by themselves can be built because the control signals are embedded in the parameter fields of each module. There isn't really a strict boundary between an "instrument" and a "score".

An abundance of examples and starting points A Sound Library with over a thousand "patches", a Prototype palette with over 360 basic building block modules, and 50 timelines that you can use as starting points or examples give a running start.

A timeline for creating multi-channel sound collages, live performance environments, and music More than just a virtual synth or sampler, Kyma has a timeline where can assembled individual sounds into larger structures — layering them, sequencing them, drawing the way their parameters should change over time.

A scalable, multiprocessor sound computation engine Having the Capybara•320 as a dedicated multi-processor sound computation engine is a nearly orgiastic experience, resigned to having to share the CPU with all the other applications and a bloated operating system. Animators and graphic designers have used dedicated accelerators for years, and there's no reason why sound and audio should not be accorded the same level of importance.

A dynamic architecture that can change in a single sample tick Rather than providing a fixed mixer-style architecture with a fixed number of tracks and a fixed number of inserts on each track, Kyma leaves the door open for creating any synthesis, processing, sampling, and/or mixing architecture. The architecture can be specified to change over time. So, for example, the Capybara could be a synthesizer at one moment, and in a single sample tick, change into a reverb. A dynamic architecture means that even more sound can be queezed out of the already-powerful Capybara hardware, because there 's no need to run all the algorithms at once.

Is Kyma a Virtual Analog Synthesizer ? Although analog-style patches can be emulated in Kyma, that is just one of many things Kyma can do. Kyma is a language of sound — a language that blurs all of the old boundaries between synthesis, processing, sampling, and recording. A sound is sound and there are no boundaries. Kyma derived some of its inspiration from voltage-controlled modular synthesizers, but the inspiration came from the concept of modularity and the idea of voltage-control (using the output of a module to control the parameter of another). Kyma is not a literal-minded imitation of the old technology.

Think of it this way: the earliest cars looked a lot like horse-drawn carriages without the horses, and the first movie theaters still had curtains and stages. The first films were little more than plays performed in front of a stationary camera in one long take. But over the years, filmmakers have developed new techniques of cutting, close-ups, montage, etc. and film has evolved into an entirely new art form completely separate from live theater. Does anyone still think of their computer screen as the top of a desk and disk files as if they were manilla file folders? When you first start using computers, it can help to have a familiar model to hang onto. But then, once you have an abstract picture of logical data structures in your head, you quickly abandon those old models and move into entirely new forms of art — true computer-based art that could not even have been conceived without this wonderful mind-amplifying tool called the computer.

In other words, Kyma is modular, but it is modular in an abstract way, and it also extends the concept of modularity beyond the physical emulation of analog oscillators and filters.