How does Kyma use the processors on the Capybara? What is the effect of adding more expansion cards?
Each icon in a signal flow diagram represents a short program that runs on the Capybara computer. Some of the icons represent longer programs than others. For example, the icon that represents reading a sample is relatively short; whereas the spectral analysis and additive resynthesis icons are relatively long.
When you chain the icons together into a signal flow graph on the screen, you are creating a longer program by chaining together these shorter programs. (It's a pretty painless way to be writing digital audio software, isn't it?) If you feed the chain into a MIDI voice and set the polyphony to 2, you are effectively doubling the length of your program (so that each voice can have completely independent parameters and start times).
If you want to generate sound in real time, with accuracy down to a single sample, any program you create must be completely evaluated on each and every sample. If you are running at a sample rate of 44.1 kHz, for example, your program will be evaluated 44,100 times per second or once every 22.67 microseconds. If you want to run at 96 kHz, then you have only 10.4 microseconds to compute your entire program.
If you use a lot of icons that represent longer programs, and/or if you create a long enough chain of modules, and/or if you set the polyphony high enough, you could end up with a program that is so long it cannot be completely evaluated in 22 microseconds. At that point, you have several choices:
- You can record the samples into a disk file. If you record the output to the disk, then it doesn't matter if there are gaps in real time; it is still writing all of the samples to the disk file contiguously and you can play back the disk file later.
- You can lower the sample rate. This means that each sample tick is longer, so the processor has more time to compute the program.
- You can use more than one processor. If you split up the work among several processors, then each one of them has a shorter program to run. By shortening the program, you make it possible for the processor to complete its task in a single sample tick, and you can output the result in real time.
That's why the Capybara•320 comes with 4 processors on it, so it can split up the work of computing the samples among three of them (and the fourth one can do the work of communicating with the outside world, handling MIDI messages, handling incoming disk messages, etc).
Each expansion card has two more processors on it, so by adding expansion cards, you are putting even more processors to work on the job, and giving each processor a shorter program that it has to compute in its 22 microseconds of allotted time.
How do I know how many expansion cards I need?
You can do anything on a basic Capybara that you can do on a fully-expanded Capybara (but some things that can be computed in real time on an expanded system must be "rendered" or recorded to disk on a basic system).
The basic Capybara is powerful enough to do all of the different forms of synthesis, analysis, and sample manipulation in Kyma. Of the over 1000 presets in the sound library 90% of them can be played on the basic Capybara•320. (The remaining 10% would require additional expansion cards). On a basic system, however, you might not be able to get as much polyphony or as many timeline tracks as you would on an expanded system.
Choosing the right configuration of expansion cards also depends on how you plan to use your Kyma system
- If you plan to use Kyma to develop one Sound at a time in a studio setting, recording each sound to disk as an AIFF, SD-II, or WAV file then importing it into your DAW or sequencer for arranging and layering the sounds, then you can probably get by very nicely with a basic system.
- If, on the other hand, you want to use Kyma as an effects processor, then real time is of the essence. You don't have the option of recording to disk and multitracking when you are on stage performing. So for real time performance, you might want to consider adding two or more expansion cards to your system to give yourself some breathing room and ensure that you can do whatever you want to do in real time.
- If you are using Kyma in the studio, but your plan is to use a lot of spectral analysis and resynthesis algorithms, or if your plan is to use the timeline to create complex layers of sound and control it in real time...then you, too, might want to consider getting two or more additional expansion cards in order to avoid having to record to disk.
If you are not certain how much processing power you need, we recommend starting with the basic system and getting a feel for what you can do with it. Remember, if you ever do run out of real time, you can still record what you have so far to disk and then read the disk file in Kyma for further processing and layering. (the power of multitracking!)
Then, if you do find that you need more processing power, it's quite easy to add more expansion cards to your system. Just pop the top off the Capybara and slide them into motherboard through the card guides.
I think I am going to want some expansion cards. But how many should I get?
Here are a few benchmarks for some typical algorithms you might be using in Kyma. The last column shows the approximate increase in the number of voices (or bands or partials or grains) you would gain by adding one expansion card. This might aid you in determining how many additional cards you might need for your work.
Algorithm | Basic System (0 cards) | Basic System plus 12 cards | Approx. gain per card |
Vocoder | 66 bands | 600 bands | 45 bands per card |
Oscillator w/ADSR envelope | 42 voices | 380 voices | 28 voices per card |
Four-operator FM | 10 voices | 82 voices | 5 voices per card |
Additive synthesis | 192 partials | 1743 partials | 129 partials per card |
Granular synthesis | 93 grains | 837 grains | 62 grains per card |
Sample | 60 voices | 545 voices | 40 voices per card |
Sample thru LPF w/AR ctrl cutoff | 25 voices | 218 voices | 16 voices per card |
What are the most common configurations?
The most popular configurations are: Basic, 2 expansion cards, and Fully loaded (12 expansion cards).
Do expansion cards have to be added in pairs?
No, you can add any number of additional cards; they don't have to be added in pairs. In other words, you can have zero cards (a basic motherboard system), 1 card, 2 cards, or 3, 4, 5, or any other number up to 12. Each card gives you two more processors and 48 extra MBytes of RAM.
Compared to a special-purpose hardware/software, the polyphony of Kyma seems lower. Why?
There is always tradeoff that one has to make between modularity/flexibility and efficiency. That is not an excuse; it's an inescapable fact of life. Whenever you make something modular and reconfigurable, some of the efficiency has to be diverted into the overhead of making arbitrary connections between modules.
If you want maximum polyphony and are willing to accept the patches that someone else designed for you, then you might prefer to go the special-purpose hardware route. But if you've read this far, it seems likely that you are looking for maximum flexibility and maximum control over your sounds.
That does not mean that we aren't continuously improving the efficiency of Kyma and the Capybara; we are working on that all the time! There were so many optimizations in Kyma.5, for example, that our customers felt like they had gained new expansion cards...purely due to improvements to the software).
Remember also that in Kyma, you can still get "infinite" polyphony if you are willing to drop out of real time and record your sound to disk or if you can take the unvarying parts of the music and record those parts to disk, then you can free up more processing time for the live, interactive parts of your music.